[FL-3400] External menu apps (#2849)

* FBT, applications: add MENUEXTERNAL app type
* FBT, uFBT: build MENUEXTERNAL as EXTERNAL app
* Loader menu: show external menu apps
* LFRFID: move to sd card
* FBT: always build External Applications list
* Archive: look for external apps path
* Infrared: move to sd card
* Apps: add "start" apps
* iButton: move to sd card
* BadUSB: move to sd card
* External apps: update icons
* GPIO: move to sd card
* Loader: look for external apps path
* U2F: move to sd
* SubGHz: move to sd
* Apps: "on_start" metapackage
* NFC: move to sd
* Sync f7 and f18

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Sergey Gavrilov
2023-07-10 12:03:41 +04:00
committed by GitHub
co-authored by Aleksandr Kutuzov
parent 4736fa876d
commit 9b2d80d6b7
38 changed files with 258 additions and 98 deletions
+8
View File
@@ -3,6 +3,10 @@
#include <stdint.h>
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
uint32_t odd;
uint32_t even;
@@ -35,3 +39,7 @@ void crypto1_encrypt(
uint16_t plain_data_bits,
uint8_t* encrypted_data,
uint8_t* encrypted_parity);
#ifdef __cplusplus
}
#endif
+8
View File
@@ -4,6 +4,10 @@
#include "crypto1.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MF_CLASSIC_BLOCK_SIZE (16)
#define MF_CLASSIC_TOTAL_BLOCKS_MAX (256)
#define MF_MINI_TOTAL_SECTORS_NUM (5)
@@ -241,3 +245,7 @@ bool mf_classic_write_sector(
MfClassicData* dest_data,
MfClassicData* src_data,
uint8_t sec_num);
#ifdef __cplusplus
}
#endif
+8
View File
@@ -5,6 +5,10 @@
#include <furi_hal_nfc.h>
#ifdef __cplusplus
extern "C" {
#endif
#define MF_DF_GET_VERSION (0x60)
#define MF_DF_GET_FREE_MEMORY (0x6E)
#define MF_DF_GET_KEY_SETTINGS (0x45)
@@ -169,3 +173,7 @@ uint16_t mf_df_prepare_read_records(uint8_t* dest, uint8_t file_id, uint32_t off
bool mf_df_parse_read_data_response(uint8_t* buf, uint16_t len, MifareDesfireFile* out);
bool mf_df_read_card(FuriHalNfcTxRxContext* tx_rx, MifareDesfireData* data);
#ifdef __cplusplus
}
#endif
+8
View File
@@ -2,6 +2,10 @@
#include <furi_hal_nfc.h>
#ifdef __cplusplus
extern "C" {
#endif
// Largest tag is NTAG I2C Plus 2K, both data sectors plus SRAM
#define MF_UL_MAX_DUMP_SIZE ((238 + 256 + 16) * 4)
@@ -259,3 +263,7 @@ uint32_t mf_ul_pwdgen_amiibo(FuriHalNfcDevData* data);
uint32_t mf_ul_pwdgen_xiaomi(FuriHalNfcDevData* data);
bool mf_ul_is_full_capture(MfUltralightData* data);
#ifdef __cplusplus
}
#endif