mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-12-01 00:39:12 +00:00
3de856f8d5
* FuriHal: add bus abstraction and port some subsystem to it * Make PVS happy, cleanup code * Update API symbols for f18 * F18: backport bus changes from f7 * Revert to STOP2 sleep mode * Fix downgrading the firmware via updater * Port iButton TIM1 to furi_hal_bus * Port Infrared TIM1 and TIM2 to furi_hal_bus * Just enable the timer bus * Port furi_hal_pwm to bus API * Fix include statement * Port furi_hal_rfid to bus API * Port furi_hal_subghz and others to bus API * Remove unneeded include * Improve furi_hal_infrared defines * Reset LPTIM1 via furi_hal_bus API * Crash when trying to enable an already enabled peripheral * Better defines * Improved checks * Lots of macro wrappers * Copy spi changes for f18 * Fix crashes in LFRFID system * Fix crashes in NFC system * Improve comments * Create FuriHalBus.md * Update FuriHalBus.md * Fix crash when launching updater * Documentation: couple small fixes in FuriHalBus * FuriHal: fix copypaste in furi_hal_rfid_tim_reset * FuriHal: reset radio core related peripherals on restart * FuriHalBus: is enabled routine and bug fix for uart * RFID HAL: accomodate furi hal bus Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com> Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com> Co-authored-by: SG <who.just.the.doctor@gmail.com>
64 lines
1.3 KiB
C++
64 lines
1.3 KiB
C++
/**
|
|
* @file furi_hal.h
|
|
* Furi HAL API
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
template <unsigned int N>
|
|
struct STOP_EXTERNING_ME {};
|
|
#endif
|
|
|
|
#include <furi_hal_cortex.h>
|
|
#include <furi_hal_clock.h>
|
|
#include <furi_hal_bus.h>
|
|
#include <furi_hal_crypto.h>
|
|
#include <furi_hal_console.h>
|
|
#include <furi_hal_debug.h>
|
|
#include <furi_hal_dma.h>
|
|
#include <furi_hal_os.h>
|
|
#include <furi_hal_sd.h>
|
|
#include <furi_hal_i2c.h>
|
|
#include <furi_hal_region.h>
|
|
#include <furi_hal_resources.h>
|
|
#include <furi_hal_rtc.h>
|
|
#include <furi_hal_speaker.h>
|
|
#include <furi_hal_gpio.h>
|
|
#include <furi_hal_light.h>
|
|
#include <furi_hal_power.h>
|
|
#include <furi_hal_interrupt.h>
|
|
#include <furi_hal_version.h>
|
|
#include <furi_hal_bt.h>
|
|
#include <furi_hal_spi.h>
|
|
#include <furi_hal_flash.h>
|
|
#include <furi_hal_vibro.h>
|
|
#include <furi_hal_usb.h>
|
|
#include <furi_hal_usb_hid.h>
|
|
#include <furi_hal_uart.h>
|
|
#include <furi_hal_info.h>
|
|
#include <furi_hal_random.h>
|
|
#include <furi_hal_target_hw.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/** Early FuriHal init, only essential subsystems */
|
|
void furi_hal_init_early();
|
|
|
|
/** Early FuriHal deinit */
|
|
void furi_hal_deinit_early();
|
|
|
|
/** Init FuriHal */
|
|
void furi_hal_init();
|
|
|
|
/** Transfer execution to address
|
|
*
|
|
* @param[in] address pointer to new executable
|
|
*/
|
|
void furi_hal_switch(void* address);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|