[FL-2733] multitarget support for fbt (#2209)

* First part of multitarget porting
* Delete firmware/targets/f7/Inc directory
* Delete firmware/targets/f7/Src directory
* gpio: cli fixes; about: using version from HAL
* sdk: path fixes
* gui: include fixes
* applications: more include fixes
* gpio: ported to new apis
* hal: introduced furi_hal_target_hw.h; libs: added one_wire
* hal: f18 target
* github: also build f18 by default
* typo fix
* fbt: removed extra checks on app list
* api: explicitly bundling select mlib headers with sdk
* hal: f18: changed INPUT_DEBOUNCE_TICKS to match f7
* cleaned up commented out code
* docs: added info on hw targets
* docs: targets: formatting fixes
* f18: fixed link error
* f18: fixed API version to match f7
* docs: hardware: minor wording fixes
* faploader: added fw target check
* docs: typo fixes
* github: not building komi target by default
* fbt: support for `targets` field for built-in apps
* github: reworked build flow to exclude app_set; fbt: removed komi-specific appset; added additional target buildset check
* github: fixed build; nfc: fixed pvs warnings
* attempt to fix target id
* f7, f18: removed certain HAL function from public API
* apps: debug: enabled bt_debug_app for f18
* Targets: backport input pins configuration routine from F7 to F18

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
hedger
2023-02-07 19:33:05 +03:00
committed by GitHub
parent 1eda913367
commit 224d0aefe4
152 changed files with 4140 additions and 495 deletions

View File

@@ -0,0 +1,136 @@
/**
* @file furi_hal_rfid.h
* RFID HAL API
*/
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
/** Initialize RFID subsystem
*/
void furi_hal_rfid_init();
/** Config rfid pins to reset state
*/
void furi_hal_rfid_pins_reset();
/** Config rfid pins to emulate state
*/
void furi_hal_rfid_pins_emulate();
/** Config rfid pins to read state
*/
void furi_hal_rfid_pins_read();
/** Release rfid pull pin
*/
void furi_hal_rfid_pin_pull_release();
/** Pulldown rfid pull pin
*/
void furi_hal_rfid_pin_pull_pulldown();
/** Config rfid timer to read state
*
* @param freq timer frequency
* @param duty_cycle timer duty cycle, 0.0-1.0
*/
void furi_hal_rfid_tim_read(float freq, float duty_cycle);
/** Start read timer
*/
void furi_hal_rfid_tim_read_start();
/** Stop read timer
*/
void furi_hal_rfid_tim_read_stop();
/** Config rfid timer to emulate state
*
* @param freq timer frequency
*/
void furi_hal_rfid_tim_emulate(float freq);
typedef void (*FuriHalRfidEmulateCallback)(void* context);
/** Start emulation timer
*/
void furi_hal_rfid_tim_emulate_start(FuriHalRfidEmulateCallback callback, void* context);
typedef void (*FuriHalRfidReadCaptureCallback)(bool level, uint32_t duration, void* context);
void furi_hal_rfid_tim_read_capture_start(FuriHalRfidReadCaptureCallback callback, void* context);
void furi_hal_rfid_tim_read_capture_stop();
typedef void (*FuriHalRfidDMACallback)(bool half, void* context);
void furi_hal_rfid_tim_emulate_dma_start(
uint32_t* duration,
uint32_t* pulse,
size_t length,
FuriHalRfidDMACallback callback,
void* context);
void furi_hal_rfid_tim_emulate_dma_stop();
/** Stop emulation timer
*/
void furi_hal_rfid_tim_emulate_stop();
/** Config rfid timers to reset state
*/
void furi_hal_rfid_tim_reset();
/** Set emulation timer period
*
* @param period overall duration
*/
void furi_hal_rfid_set_emulate_period(uint32_t period);
/** Set emulation timer pulse
*
* @param pulse duration of high level
*/
void furi_hal_rfid_set_emulate_pulse(uint32_t pulse);
/** Set read timer period
*
* @param period overall duration
*/
void furi_hal_rfid_set_read_period(uint32_t period);
/** Set read timer pulse
*
* @param pulse duration of high level
*/
void furi_hal_rfid_set_read_pulse(uint32_t pulse);
/** Сhanges the configuration of the RFID timer "on a fly"
*
* @param freq new frequency
* @param duty_cycle new duty cycle
*/
void furi_hal_rfid_change_read_config(float freq, float duty_cycle);
/** Start/Enable comparator */
void furi_hal_rfid_comp_start();
/** Stop/Disable comparator */
void furi_hal_rfid_comp_stop();
typedef void (*FuriHalRfidCompCallback)(bool level, void* context);
/** Set comparator callback */
void furi_hal_rfid_comp_set_callback(FuriHalRfidCompCallback callback, void* context);
#ifdef __cplusplus
}
#endif