New formatting

This commit is contained in:
Willy-JL
2024-07-15 22:32:17 +01:00
parent 8a02a2c8dd
commit 2eaf1ffc95
101 changed files with 431 additions and 431 deletions
@@ -20,7 +20,7 @@
#define TAG "SubGhzDeviceCc1101Ext" #define TAG "SubGhzDeviceCc1101Ext"
#define SUBGHZ_DEVICE_CC1101_EXT_TX_GPIO (&gpio_ext_pb2) #define SUBGHZ_DEVICE_CC1101_EXT_TX_GPIO (&gpio_ext_pb2)
#define SUBGHZ_DEVICE_CC1101_EXT_E07M20S_AMP_GPIO &gpio_ext_pc3 #define SUBGHZ_DEVICE_CC1101_EXT_E07M20S_AMP_GPIO &gpio_ext_pc3
#define SUBGHZ_DEVICE_CC1101_CONFIG_VER 1 #define SUBGHZ_DEVICE_CC1101_CONFIG_VER 1
+3 -3
View File
@@ -2,7 +2,7 @@
#include <storage/storage.h> #include <storage/storage.h>
#define BAD_KB_APP_BASE_FOLDER EXT_PATH("badusb") #define BAD_KB_APP_BASE_FOLDER EXT_PATH("badusb")
#define BAD_KB_KEYS_PATH BAD_KB_APP_BASE_FOLDER "/.badkb.keys" #define BAD_KB_KEYS_PATH BAD_KB_APP_BASE_FOLDER "/.badkb.keys"
#define BAD_KB_SETTINGS_PATH BAD_KB_APP_BASE_FOLDER "/.badkb.settings" #define BAD_KB_SETTINGS_PATH BAD_KB_APP_BASE_FOLDER "/.badkb.settings"
#define BAD_KB_APP_PATH_LAYOUT_FOLDER BAD_KB_APP_BASE_FOLDER "/assets/layouts" #define BAD_KB_APP_PATH_LAYOUT_FOLDER BAD_KB_APP_BASE_FOLDER "/assets/layouts"
+4 -4
View File
@@ -9,12 +9,12 @@
#include <usb_hid.h> #include <usb_hid.h>
#include <ble/ble.h> #include <ble/ble.h>
#define HID_INFO_BASE_USB_SPECIFICATION (0x0101) #define HID_INFO_BASE_USB_SPECIFICATION (0x0101)
#define HID_INFO_COUNTRY_CODE (0x00) #define HID_INFO_COUNTRY_CODE (0x00)
#define BLE_PROFILE_HID_INFO_FLAG_REMOTE_WAKE_MSK (0x01) #define BLE_PROFILE_HID_INFO_FLAG_REMOTE_WAKE_MSK (0x01)
#define BLE_PROFILE_HID_INFO_FLAG_NORMALLY_CONNECTABLE_MSK (0x02) #define BLE_PROFILE_HID_INFO_FLAG_NORMALLY_CONNECTABLE_MSK (0x02)
#define BLE_PROFILE_HID_KB_MAX_KEYS (6) #define BLE_PROFILE_HID_KB_MAX_KEYS (6)
#define BLE_PROFILE_CONSUMER_MAX_KEYS (1) #define BLE_PROFILE_CONSUMER_MAX_KEYS (1)
// Report ids cant be 0 // Report ids cant be 0
@@ -10,13 +10,13 @@
#define TAG "BleHid" #define TAG "BleHid"
#define BLE_SVC_HID_REPORT_MAP_MAX_LEN (255) #define BLE_SVC_HID_REPORT_MAP_MAX_LEN (255)
#define BLE_SVC_HID_REPORT_MAX_LEN (255) #define BLE_SVC_HID_REPORT_MAX_LEN (255)
#define BLE_SVC_HID_REPORT_REF_LEN (2) #define BLE_SVC_HID_REPORT_REF_LEN (2)
#define BLE_SVC_HID_INFO_LEN (4) #define BLE_SVC_HID_INFO_LEN (4)
#define BLE_SVC_HID_CONTROL_POINT_LEN (1) #define BLE_SVC_HID_CONTROL_POINT_LEN (1)
#define BLE_SVC_HID_INPUT_REPORT_COUNT (3) #define BLE_SVC_HID_INPUT_REPORT_COUNT (3)
#define BLE_SVC_HID_OUTPUT_REPORT_COUNT (0) #define BLE_SVC_HID_OUTPUT_REPORT_COUNT (0)
#define BLE_SVC_HID_FEATURE_REPORT_COUNT (0) #define BLE_SVC_HID_FEATURE_REPORT_COUNT (0)
#define BLE_SVC_HID_REPORT_COUNT \ #define BLE_SVC_HID_REPORT_COUNT \
(BLE_SVC_HID_INPUT_REPORT_COUNT + BLE_SVC_HID_OUTPUT_REPORT_COUNT + \ (BLE_SVC_HID_INPUT_REPORT_COUNT + BLE_SVC_HID_OUTPUT_REPORT_COUNT + \
@@ -26,4 +26,4 @@ bool ble_svc_hid_update_info(BleServiceHid* service, uint8_t* data);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
@@ -5,8 +5,8 @@
#include <furi_hal_i2c.h> #include <furi_hal_i2c.h>
#define FIRST_NON_RESERVED_I2C_ADDRESS 8 #define FIRST_NON_RESERVED_I2C_ADDRESS 8
#define HIGHEST_I2C_ADDRESS 127 #define HIGHEST_I2C_ADDRESS 127
#define AVAILABLE_NONRESVERED_I2C_ADDRESSES 120 #define AVAILABLE_NONRESVERED_I2C_ADDRESSES 120
typedef struct { typedef struct {
@@ -5,10 +5,10 @@
#include <furi_hal_i2c.h> #include <furi_hal_i2c.h>
#define FIRST_NON_RESERVED_I2C_ADDRESS 8 #define FIRST_NON_RESERVED_I2C_ADDRESS 8
#define HIGHEST_I2C_ADDRESS 127 #define HIGHEST_I2C_ADDRESS 127
#define AVAILABLE_NONRESVERED_I2C_ADDRESSES 120 #define AVAILABLE_NONRESVERED_I2C_ADDRESSES 120
#define SFP_I2C_ADDRESS 0x50 #define SFP_I2C_ADDRESS 0x50
typedef struct { typedef struct {
char vendor[32]; char vendor[32];
@@ -125,4 +125,4 @@ void gpio_scene_start_on_exit(void* context) {
variable_item_list_reset(app->var_item_list); variable_item_list_reset(app->var_item_list);
} }
#endif // __GPIO_SCENE_START_H__ #endif // __GPIO_SCENE_START_H__
+2 -2
View File
@@ -17,9 +17,9 @@ typedef struct InfraredApp InfraredApp;
#include <storage/storage.h> #include <storage/storage.h>
#include <furi_hal_infrared.h> #include <furi_hal_infrared.h>
#define INFRARED_SETTINGS_PATH EXT_PATH("infrared/.infrared.settings") #define INFRARED_SETTINGS_PATH EXT_PATH("infrared/.infrared.settings")
#define INFRARED_SETTINGS_VERSION (1) #define INFRARED_SETTINGS_VERSION (1)
#define INFRARED_SETTINGS_MAGIC (0x1F) #define INFRARED_SETTINGS_MAGIC (0x1F)
typedef struct { typedef struct {
FuriHalInfraredTxPin tx_pin; FuriHalInfraredTxPin tx_pin;
+1 -1
View File
@@ -157,4 +157,4 @@ void lfrfid_widget_callback(GuiButtonType result, InputType type, void* context)
void lfrfid_text_input_callback(void* context); void lfrfid_text_input_callback(void* context);
const uint32_t* lfrfid_get_t5577_default_passwords(uint8_t* len); const uint32_t* lfrfid_get_t5577_default_passwords(uint8_t* len);
@@ -8,10 +8,10 @@ enum VarItemListIndex {
VarItemListIndexUartGeneralChannel, VarItemListIndexUartGeneralChannel,
}; };
#define SPI_DEFAULT "Default 4" #define SPI_DEFAULT "Default 4"
#define SPI_EXTRA "Extra 7" #define SPI_EXTRA "Extra 7"
#define UART_DEFAULT "Default 13,14" #define UART_DEFAULT "Default 13,14"
#define UART_EXTRA "Extra 15,16" #define UART_EXTRA "Extra 15,16"
void momentum_app_scene_protocols_gpio_var_item_list_callback(void* context, uint32_t index) { void momentum_app_scene_protocols_gpio_var_item_list_callback(void* context, uint32_t index) {
MomentumApp* app = context; MomentumApp* app = context;
@@ -27,4 +27,4 @@ void nfc_render_emv_transactions(const EmvApplication* data, FuriString* str);
void nfc_render_emv_uid(const uint8_t* uid, const uint8_t uid_len, FuriString* str); void nfc_render_emv_uid(const uint8_t* uid, const uint8_t uid_len, FuriString* str);
void nfc_render_emv_header(FuriString* str); void nfc_render_emv_header(FuriString* str);
@@ -9,11 +9,11 @@
#define TAG "Bip" #define TAG "Bip"
#define BIP_CARD_ID_SECTOR_NUMBER (0) #define BIP_CARD_ID_SECTOR_NUMBER (0)
#define BIP_BALANCE_SECTOR_NUMBER (8) #define BIP_BALANCE_SECTOR_NUMBER (8)
#define BIP_TRIP_TIME_WINDOW_SECTOR_NUMBER (5) #define BIP_TRIP_TIME_WINDOW_SECTOR_NUMBER (5)
#define BIP_LAST_TOP_UPS_SECTOR_NUMBER (10) #define BIP_LAST_TOP_UPS_SECTOR_NUMBER (10)
#define BIP_TRIPS_INFO_SECTOR_NUMBER (11) #define BIP_TRIPS_INFO_SECTOR_NUMBER (11)
typedef struct { typedef struct {
DateTime datetime; DateTime datetime;
@@ -92,10 +92,10 @@
0, 0, 0, 1, 1, 2003, 4 \ 0, 0, 0, 1, 1, 2003, 4 \
} }
// timestep is one minute // timestep is one minute
#define CHARLIE_TIME_DELTA_SECS 60 #define CHARLIE_TIME_DELTA_SECS 60
#define CHARLIE_END_VALID_DELTA_SECS 60 * 8 #define CHARLIE_END_VALID_DELTA_SECS 60 * 8
#define CHARLIE_N_TRANSACTION_HISTORY 10 #define CHARLIE_N_TRANSACTION_HISTORY 10
#define CHARLIE_N_PASSES 4 #define CHARLIE_N_PASSES 4
typedef struct { typedef struct {
uint64_t a; uint64_t a;
@@ -146,4 +146,4 @@ static const FlipperAppPluginDescriptor csc_plugin_descriptor = {
/* Plugin entry point - must return a pointer to const descriptor */ /* Plugin entry point - must return a pointer to const descriptor */
const FlipperAppPluginDescriptor* csc_plugin_ep(void) { const FlipperAppPluginDescriptor* csc_plugin_ep(void) {
return &csc_plugin_descriptor; return &csc_plugin_descriptor;
} }
@@ -201,4 +201,4 @@ static const FlipperAppPluginDescriptor emv_plugin_descriptor = {
/* Plugin entry point - must return a pointer to const descriptor */ /* Plugin entry point - must return a pointer to const descriptor */
const FlipperAppPluginDescriptor* emv_plugin_ep(void) { const FlipperAppPluginDescriptor* emv_plugin_ep(void) {
return &emv_plugin_descriptor; return &emv_plugin_descriptor;
} }
@@ -411,4 +411,4 @@ static const FlipperAppPluginDescriptor kazan_plugin_descriptor = {
/* Plugin entry point - must return a pointer to const descriptor */ /* Plugin entry point - must return a pointer to const descriptor */
const FlipperAppPluginDescriptor* kazan_plugin_ep(void) { const FlipperAppPluginDescriptor* kazan_plugin_ep(void) {
return &kazan_plugin_descriptor; return &kazan_plugin_descriptor;
} }
@@ -187,4 +187,4 @@ static const FlipperAppPluginDescriptor metromoney_plugin_descriptor = {
/* Plugin entry point - must return a pointer to const descriptor */ /* Plugin entry point - must return a pointer to const descriptor */
const FlipperAppPluginDescriptor* metromoney_plugin_ep(void) { const FlipperAppPluginDescriptor* metromoney_plugin_ep(void) {
return &metromoney_plugin_descriptor; return &metromoney_plugin_descriptor;
} }
@@ -154,4 +154,4 @@ static const FlipperAppPluginDescriptor mykey_plugin_descriptor = {
/* Plugin entry point - must return a pointer to const descriptor */ /* Plugin entry point - must return a pointer to const descriptor */
const FlipperAppPluginDescriptor* mykey_plugin_ep(void) { const FlipperAppPluginDescriptor* mykey_plugin_ep(void) {
return &mykey_plugin_descriptor; return &mykey_plugin_descriptor;
} }
@@ -148,16 +148,16 @@ static void parse_ndef_vcard(FuriString* str, const uint8_t* payload, uint32_t p
static void parse_ndef_wifi(FuriString* str, const uint8_t* payload, uint32_t payload_len) { static void parse_ndef_wifi(FuriString* str, const uint8_t* payload, uint32_t payload_len) {
// https://android.googlesource.com/platform/packages/apps/Nfc/+/refs/heads/main/src/com/android/nfc/NfcWifiProtectedSetup.java // https://android.googlesource.com/platform/packages/apps/Nfc/+/refs/heads/main/src/com/android/nfc/NfcWifiProtectedSetup.java
#define CREDENTIAL_FIELD_ID (0x100E) #define CREDENTIAL_FIELD_ID (0x100E)
#define SSID_FIELD_ID (0x1045) #define SSID_FIELD_ID (0x1045)
#define NETWORK_KEY_FIELD_ID (0x1027) #define NETWORK_KEY_FIELD_ID (0x1027)
#define AUTH_TYPE_FIELD_ID (0x1003) #define AUTH_TYPE_FIELD_ID (0x1003)
#define AUTH_TYPE_EXPECTED_SIZE (2) #define AUTH_TYPE_EXPECTED_SIZE (2)
#define AUTH_TYPE_OPEN (0x0001) #define AUTH_TYPE_OPEN (0x0001)
#define AUTH_TYPE_WPA_PSK (0x0002) #define AUTH_TYPE_WPA_PSK (0x0002)
#define AUTH_TYPE_WPA_EAP (0x0008) #define AUTH_TYPE_WPA_EAP (0x0008)
#define AUTH_TYPE_WPA2_EAP (0x0010) #define AUTH_TYPE_WPA2_EAP (0x0010)
#define AUTH_TYPE_WPA2_PSK (0x0020) #define AUTH_TYPE_WPA2_PSK (0x0020)
#define AUTH_TYPE_WPA_AND_WPA2_PSK (0x0022) #define AUTH_TYPE_WPA_AND_WPA2_PSK (0x0022)
#define MAX_NETWORK_KEY_SIZE_BYTES (64) #define MAX_NETWORK_KEY_SIZE_BYTES (64)
@@ -29,9 +29,9 @@
#define TAG "Zolotaya Korona" #define TAG "Zolotaya Korona"
#define TRIP_SECTOR_NUM (4) #define TRIP_SECTOR_NUM (4)
#define PURSE_SECTOR_NUM (6) #define PURSE_SECTOR_NUM (6)
#define INFO_SECTOR_NUM (15) #define INFO_SECTOR_NUM (15)
// Sector 15 data. Byte [11] contains the mistake. If byte [11] was 0xEF, bytes [1-18] means "ЗАО Золотая Корона" // Sector 15 data. Byte [11] contains the mistake. If byte [11] was 0xEF, bytes [1-18] means "ЗАО Золотая Корона"
static const uint8_t info_sector_signature[] = {0xE2, 0x87, 0x80, 0x8E, 0x20, 0x87, 0xAE, static const uint8_t info_sector_signature[] = {0xE2, 0x87, 0x80, 0x8E, 0x20, 0x87, 0xAE,
@@ -211,4 +211,4 @@ static const FlipperAppPluginDescriptor zolotaya_korona_plugin_descriptor = {
/* Plugin entry point - must return a pointer to const descriptor */ /* Plugin entry point - must return a pointer to const descriptor */
const FlipperAppPluginDescriptor* zolotaya_korona_plugin_ep(void) { const FlipperAppPluginDescriptor* zolotaya_korona_plugin_ep(void) {
return &zolotaya_korona_plugin_descriptor; return &zolotaya_korona_plugin_descriptor;
} }
@@ -141,4 +141,4 @@ static const FlipperAppPluginDescriptor zolotaya_korona_online_plugin_descriptor
/* Plugin entry point - must return a pointer to const descriptor */ /* Plugin entry point - must return a pointer to const descriptor */
const FlipperAppPluginDescriptor* zolotaya_korona_online_plugin_ep(void) { const FlipperAppPluginDescriptor* zolotaya_korona_online_plugin_ep(void) {
return &zolotaya_korona_online_plugin_descriptor; return &zolotaya_korona_online_plugin_descriptor;
} }
@@ -77,4 +77,4 @@ void subghz_frequency_analyzer_worker_set_trigger_level(
* @param instance SubGhzFrequencyAnalyzerWorker instance * @param instance SubGhzFrequencyAnalyzerWorker instance
* @return RSSI trigger level * @return RSSI trigger level
*/ */
float subghz_frequency_analyzer_worker_get_trigger_level(SubGhzFrequencyAnalyzerWorker* instance); float subghz_frequency_analyzer_worker_get_trigger_level(SubGhzFrequencyAnalyzerWorker* instance);
@@ -381,4 +381,4 @@ bool subghz_txrx_gen_secplus_v1_protocol(
ret = true; ret = true;
} }
return ret; return ret;
} }
@@ -23,4 +23,4 @@ ADD_SCENE(subghz, decode_raw, DecodeRAW)
ADD_SCENE(subghz, delete_raw, DeleteRAW) ADD_SCENE(subghz, delete_raw, DeleteRAW)
ADD_SCENE(subghz, need_saving, NeedSaving) ADD_SCENE(subghz, need_saving, NeedSaving)
ADD_SCENE(subghz, rpc, Rpc) ADD_SCENE(subghz, rpc, Rpc)
ADD_SCENE(subghz, show_gps, ShowGps) ADD_SCENE(subghz, show_gps, ShowGps)
@@ -43,4 +43,4 @@ void subghz_scene_set_fix_on_exit(void* context) {
// Clear view // Clear view
byte_input_set_result_callback(subghz->byte_input, NULL, NULL, NULL, NULL, 0); byte_input_set_result_callback(subghz->byte_input, NULL, NULL, NULL, NULL, 0);
byte_input_set_header_text(subghz->byte_input, ""); byte_input_set_header_text(subghz->byte_input, "");
} }
@@ -85,4 +85,4 @@ void subghz_scene_show_gps_on_exit(void* context) {
} }
widget_reset(subghz->widget); widget_reset(subghz->widget);
} }
+1 -1
View File
@@ -41,7 +41,7 @@
#include "helpers/subghz_txrx.h" #include "helpers/subghz_txrx.h"
#include "helpers/subghz_gps.h" #include "helpers/subghz_gps.h"
#define SUBGHZ_MAX_LEN_NAME 64 #define SUBGHZ_MAX_LEN_NAME 64
#define SUBGHZ_EXT_PRESET_NAME true #define SUBGHZ_EXT_PRESET_NAME true
#define SUBGHZ_MEASURE_LOADING false #define SUBGHZ_MEASURE_LOADING false
+15 -15
View File
@@ -3,26 +3,26 @@
#define TAG "SubGhzLastSettings" #define TAG "SubGhzLastSettings"
#define SUBGHZ_LAST_SETTING_FILE_TYPE "Flipper SubGhz Last Setting File" #define SUBGHZ_LAST_SETTING_FILE_TYPE "Flipper SubGhz Last Setting File"
#define SUBGHZ_LAST_SETTING_FILE_VERSION 3 #define SUBGHZ_LAST_SETTING_FILE_VERSION 3
#define SUBGHZ_LAST_SETTINGS_PATH EXT_PATH("subghz/assets/last_subghz.settings") #define SUBGHZ_LAST_SETTINGS_PATH EXT_PATH("subghz/assets/last_subghz.settings")
#define SUBGHZ_LAST_SETTING_FIELD_FREQUENCY "Frequency" #define SUBGHZ_LAST_SETTING_FIELD_FREQUENCY "Frequency"
#define SUBGHZ_LAST_SETTING_FIELD_PRESET "Preset" // AKA Modulation #define SUBGHZ_LAST_SETTING_FIELD_PRESET "Preset" // AKA Modulation
#define SUBGHZ_LAST_SETTING_FIELD_FREQUENCY_ANALYZER_FEEDBACK_LEVEL "FeedbackLevel" #define SUBGHZ_LAST_SETTING_FIELD_FREQUENCY_ANALYZER_FEEDBACK_LEVEL "FeedbackLevel"
#define SUBGHZ_LAST_SETTING_FIELD_FREQUENCY_ANALYZER_TRIGGER "FATrigger" #define SUBGHZ_LAST_SETTING_FIELD_FREQUENCY_ANALYZER_TRIGGER "FATrigger"
#define SUBGHZ_LAST_SETTING_FIELD_PROTOCOL_FILE_NAMES "ProtocolNames" #define SUBGHZ_LAST_SETTING_FIELD_PROTOCOL_FILE_NAMES "ProtocolNames"
#define SUBGHZ_LAST_SETTING_FIELD_HOPPING_ENABLE "Hopping" #define SUBGHZ_LAST_SETTING_FIELD_HOPPING_ENABLE "Hopping"
#define SUBGHZ_LAST_SETTING_FIELD_IGNORE_FILTER "IgnoreFilter" #define SUBGHZ_LAST_SETTING_FIELD_IGNORE_FILTER "IgnoreFilter"
#define SUBGHZ_LAST_SETTING_FIELD_FILTER "Filter" #define SUBGHZ_LAST_SETTING_FIELD_FILTER "Filter"
#define SUBGHZ_LAST_SETTING_FIELD_RSSI_THRESHOLD "RSSI" #define SUBGHZ_LAST_SETTING_FIELD_RSSI_THRESHOLD "RSSI"
#define SUBGHZ_LAST_SETTING_FIELD_DELETE_OLD "DelOldSignals" #define SUBGHZ_LAST_SETTING_FIELD_DELETE_OLD "DelOldSignals"
#define SUBGHZ_LAST_SETTING_FIELD_GPS_BAUDRATE "GpsBaudrate" #define SUBGHZ_LAST_SETTING_FIELD_GPS_BAUDRATE "GpsBaudrate"
#define SUBGHZ_LAST_SETTING_FIELD_REMOVE_DUPLICATES "RemoveDuplicates" #define SUBGHZ_LAST_SETTING_FIELD_REMOVE_DUPLICATES "RemoveDuplicates"
#define SUBGHZ_LAST_SETTING_FIELD_REPEATER "Repeater" #define SUBGHZ_LAST_SETTING_FIELD_REPEATER "Repeater"
#define SUBGHZ_LAST_SETTING_FIELD_ENABLE_SOUND "Sound" #define SUBGHZ_LAST_SETTING_FIELD_ENABLE_SOUND "Sound"
#define SUBGHZ_LAST_SETTING_FIELD_AUTOSAVE "Autosave" #define SUBGHZ_LAST_SETTING_FIELD_AUTOSAVE "Autosave"
#define SUBGHZ_LAST_SETTING_FIELD_HOPPING_THRESHOLD "HoppingThreshold" #define SUBGHZ_LAST_SETTING_FIELD_HOPPING_THRESHOLD "HoppingThreshold"
SubGhzLastSettings* subghz_last_settings_alloc(void) { SubGhzLastSettings* subghz_last_settings_alloc(void) {
@@ -6,11 +6,11 @@
#include <storage/storage.h> #include <storage/storage.h>
#include <lib/subghz/types.h> #include <lib/subghz/types.h>
#define SUBGHZ_LAST_SETTING_FREQUENCY_ANALYZER_TRIGGER (-93.0f) #define SUBGHZ_LAST_SETTING_FREQUENCY_ANALYZER_TRIGGER (-93.0f)
// 1 = "AM650" // 1 = "AM650"
// "AM270", "AM650", "FM238", "FM476", // "AM270", "AM650", "FM238", "FM476",
#define SUBGHZ_LAST_SETTING_DEFAULT_PRESET 1 #define SUBGHZ_LAST_SETTING_DEFAULT_PRESET 1
#define SUBGHZ_LAST_SETTING_DEFAULT_FREQUENCY 433920000 #define SUBGHZ_LAST_SETTING_DEFAULT_FREQUENCY 433920000
#define SUBGHZ_LAST_SETTING_FREQUENCY_ANALYZER_FEEDBACK_LEVEL 2 #define SUBGHZ_LAST_SETTING_FREQUENCY_ANALYZER_FEEDBACK_LEVEL 2
typedef struct { typedef struct {
+4 -4
View File
@@ -6,11 +6,11 @@ extern "C" {
#include <furi.h> #include <furi.h>
#define U2F_DATA_FOLDER EXT_PATH("u2f/") #define U2F_DATA_FOLDER EXT_PATH("u2f/")
#define U2F_CERT_FILE U2F_DATA_FOLDER "assets/cert.der" #define U2F_CERT_FILE U2F_DATA_FOLDER "assets/cert.der"
#define U2F_CERT_KEY_FILE U2F_DATA_FOLDER "assets/cert_key.u2f" #define U2F_CERT_KEY_FILE U2F_DATA_FOLDER "assets/cert_key.u2f"
#define U2F_CNT_FILE U2F_DATA_FOLDER "cnt.u2f" #define U2F_CNT_FILE U2F_DATA_FOLDER "cnt.u2f"
#define U2F_KEY_FILE INT_PATH(".key.u2f") #define U2F_KEY_FILE INT_PATH(".key.u2f")
bool u2f_data_check(bool cert_only); bool u2f_data_check(bool cert_only);
+1 -1
View File
@@ -65,7 +65,7 @@ void cli_stdout_callback(void* _cookie, const char* data, size_t size);
// Wraps CLI commands to load from plugin file // Wraps CLI commands to load from plugin file
// Must call from CLI context, like dummy CLI command callback // Must call from CLI context, like dummy CLI command callback
// You need to setup the plugin to compile correctly separately // You need to setup the plugin to compile correctly separately
#define CLI_PLUGIN_APP_ID "cli" #define CLI_PLUGIN_APP_ID "cli"
#define CLI_PLUGIN_API_VERSION 1 #define CLI_PLUGIN_API_VERSION 1
void cli_plugin_wrapper(const char* name, Cli* cli, FuriString* args, void* context); void cli_plugin_wrapper(const char* name, Cli* cli, FuriString* args, void* context);
+1 -1
View File
@@ -487,4 +487,4 @@ bool view_dispatcher_run_ascii_callback(FuriMessageQueue* queue, void* context)
view_dispatcher_handle_ascii(instance, &ascii); view_dispatcher_handle_ascii(instance, &ascii);
return true; return true;
} }
@@ -69,4 +69,4 @@ bool view_dispatcher_run_event_callback(FuriMessageQueue* queue, void* context);
bool view_dispatcher_run_input_callback(FuriMessageQueue* queue, void* context); bool view_dispatcher_run_input_callback(FuriMessageQueue* queue, void* context);
/** ViewDispatcher run event loop ascii callback */ /** ViewDispatcher run event loop ascii callback */
bool view_dispatcher_run_ascii_callback(FuriMessageQueue* queue, void* context); bool view_dispatcher_run_ascii_callback(FuriMessageQueue* queue, void* context);
+1 -1
View File
@@ -3,7 +3,7 @@
#define POWER_SETTINGS_VER (1) #define POWER_SETTINGS_VER (1)
#define POWER_SETTINGS_PATH CFG_PATH("power.settings") #define POWER_SETTINGS_PATH CFG_PATH("power.settings")
#define POWER_SETTINGS_MAGIC (0x21) #define POWER_SETTINGS_MAGIC (0x21)
#ifdef __cplusplus #ifdef __cplusplus
+1 -1
View File
@@ -161,4 +161,4 @@ const char* storage_file_get_path(File* file, StorageData* storage) {
StorageFile* storage_file_ref = storage_get_file(file, storage); StorageFile* storage_file_ref = storage_get_file(file, storage);
if(!storage_file_ref) return ""; if(!storage_file_ref) return "";
return furi_string_get_cstr(storage_file_ref->path); return furi_string_get_cstr(storage_file_ref->path);
} }
@@ -1 +1 @@
#include <applications/settings/about/about.c> #include <applications/settings/about/about.c>
@@ -1,7 +1,7 @@
#include "../power_settings_app.h" #include "../power_settings_app.h"
#include <lib/toolbox/value_index.h> #include <lib/toolbox/value_index.h>
#define SHUTDOWN_IDLE_DELAY_COUNT 9 #define SHUTDOWN_IDLE_DELAY_COUNT 9
#define SCENE_EVENT_SELECT_SHUTDOWN_IDLE_DELAY 0 #define SCENE_EVENT_SELECT_SHUTDOWN_IDLE_DELAY 0
const char* const shutdown_idle_delay_text[SHUTDOWN_IDLE_DELAY_COUNT] = const char* const shutdown_idle_delay_text[SHUTDOWN_IDLE_DELAY_COUNT] =
@@ -8,4 +8,4 @@ ADD_SCENE(storage_settings, internal_info, InternalInfo)
ADD_SCENE(storage_settings, benchmark_confirm, BenchmarkConfirm) ADD_SCENE(storage_settings, benchmark_confirm, BenchmarkConfirm)
ADD_SCENE(storage_settings, benchmark, Benchmark) ADD_SCENE(storage_settings, benchmark, Benchmark)
ADD_SCENE(storage_settings, factory_reset, FactoryReset) ADD_SCENE(storage_settings, factory_reset, FactoryReset)
ADD_SCENE(storage_settings, wipe_device, WipeDevice) ADD_SCENE(storage_settings, wipe_device, WipeDevice)
+1 -1
View File
@@ -139,4 +139,4 @@ void furi_hal_bt_reverse_mac_addr(uint8_t mac_addr[GAP_MAC_ADDR_SIZE]) {
mac_addr[i] = mac_addr[GAP_MAC_ADDR_SIZE - 1 - i]; mac_addr[i] = mac_addr[GAP_MAC_ADDR_SIZE - 1 - i];
mac_addr[GAP_MAC_ADDR_SIZE - 1 - i] = tmp; mac_addr[GAP_MAC_ADDR_SIZE - 1 - i] = tmp;
} }
} }
+6 -6
View File
@@ -3,13 +3,13 @@
#include <extra_beacon.h> #include <extra_beacon.h>
#define FINDMY_STATE_HEADER "FindMy Flipper State" #define FINDMY_STATE_HEADER "FindMy Flipper State"
#define FINDMY_STATE_VER 1 #define FINDMY_STATE_VER 1
#define FINDMY_STATE_DIR EXT_PATH("apps_data/findmy") #define FINDMY_STATE_DIR EXT_PATH("apps_data/findmy")
#define FINDMY_STATE_PATH FINDMY_STATE_DIR "/findmy_state.txt" #define FINDMY_STATE_PATH FINDMY_STATE_DIR "/findmy_state.txt"
#define BATTERY_FULL 0x00 #define BATTERY_FULL 0x00
#define BATTERY_MEDIUM 0x50 #define BATTERY_MEDIUM 0x50
#define BATTERY_LOW 0xA0 #define BATTERY_LOW 0xA0
#define BATTERY_CRITICAL 0xF0 #define BATTERY_CRITICAL 0xF0
typedef enum { typedef enum {
+1 -1
View File
@@ -10,7 +10,7 @@
#include "base64.h" #include "base64.h"
#define os_malloc malloc #define os_malloc malloc
#define os_free free #define os_free free
#define os_memset memset #define os_memset memset
static const unsigned char base64_table[65] = static const unsigned char base64_table[65] =
+1 -1
View File
@@ -18,4 +18,4 @@
unsigned char* base64_encode(const unsigned char* src, size_t len, size_t* out_len); unsigned char* base64_encode(const unsigned char* src, size_t len, size_t* out_len);
unsigned char* base64_decode(const unsigned char* src, size_t len, size_t* out_len); unsigned char* base64_decode(const unsigned char* src, size_t len, size_t* out_len);
#endif /* BASE64_H */ #endif /* BASE64_H */
@@ -28,4 +28,4 @@ const SceneManagerHandlers findmy_scene_handlers = {
.on_event_handlers = findmy_on_event_handlers, .on_event_handlers = findmy_on_event_handlers,
.on_exit_handlers = findmy_on_exit_handlers, .on_exit_handlers = findmy_on_exit_handlers,
.scene_num = FindMySceneNum, .scene_num = FindMySceneNum,
}; };
@@ -27,4 +27,4 @@ extern const SceneManagerHandlers findmy_scene_handlers;
// Generate scene on_exit handlers declaration // Generate scene on_exit handlers declaration
#define ADD_SCENE(prefix, name, id) void prefix##_scene_##name##_on_exit(void* context); #define ADD_SCENE(prefix, name, id) void prefix##_scene_##name##_on_exit(void* context);
#include "findmy_scenes.h" #include "findmy_scenes.h"
#undef ADD_SCENE #undef ADD_SCENE
@@ -114,4 +114,4 @@ void findmy_scene_config_on_exit(void* context) {
VariableItemList* var_item_list = app->var_item_list; VariableItemList* var_item_list = app->var_item_list;
variable_item_list_reset(var_item_list); variable_item_list_reset(var_item_list);
} }
@@ -228,4 +228,4 @@ void findmy_scene_config_import_on_exit(void* context) {
VariableItemList* var_item_list = app->var_item_list; VariableItemList* var_item_list = app->var_item_list;
variable_item_list_reset(var_item_list); variable_item_list_reset(var_item_list);
} }
@@ -57,4 +57,4 @@ void findmy_scene_config_mac_on_exit(void* context) {
byte_input_set_result_callback(app->byte_input, NULL, NULL, NULL, NULL, 0); byte_input_set_result_callback(app->byte_input, NULL, NULL, NULL, NULL, 0);
byte_input_set_header_text(app->byte_input, ""); byte_input_set_header_text(app->byte_input, "");
} }
@@ -55,4 +55,4 @@ void findmy_scene_config_packet_on_exit(void* context) {
byte_input_set_result_callback(app->byte_input, NULL, NULL, NULL, NULL, 0); byte_input_set_result_callback(app->byte_input, NULL, NULL, NULL, NULL, 0);
byte_input_set_header_text(app->byte_input, ""); byte_input_set_header_text(app->byte_input, "");
} }
@@ -67,4 +67,4 @@ void findmy_scene_config_tagtype_on_exit(void* context) {
VariableItemList* var_item_list = app->var_item_list; VariableItemList* var_item_list = app->var_item_list;
variable_item_list_reset(var_item_list); variable_item_list_reset(var_item_list);
} }
@@ -53,4 +53,4 @@ bool findmy_scene_main_on_event(void* context, SceneManagerEvent event) {
void findmy_scene_main_on_exit(void* context) { void findmy_scene_main_on_exit(void* context) {
FindMy* app = context; FindMy* app = context;
UNUSED(app); UNUSED(app);
} }
@@ -190,4 +190,4 @@ void findmy_main_update_interval(FindMyMain* findmy_main, uint8_t interval) {
void findmy_main_update_type(FindMyMain* findmy_main, FindMyType type) { void findmy_main_update_type(FindMyMain* findmy_main, FindMyType type) {
furi_assert(findmy_main); furi_assert(findmy_main);
with_view_model(findmy_main->view, FindMyMainModel * model, { model->type = type; }, true); with_view_model(findmy_main->view, FindMyMainModel * model, { model->type = type; }, true);
} }
@@ -29,4 +29,4 @@ void findmy_main_update_active(FindMyMain* findmy_main, bool active);
void findmy_main_update_interval(FindMyMain* findmy_main, uint8_t interval); void findmy_main_update_interval(FindMyMain* findmy_main, uint8_t interval);
void findmy_main_toggle_mac(FindMyMain* findmy_main, bool show_mac); void findmy_main_toggle_mac(FindMyMain* findmy_main, bool show_mac);
void findmy_main_update_mac(FindMyMain* findmy_main, uint8_t* mac); void findmy_main_update_mac(FindMyMain* findmy_main, uint8_t* mac);
void findmy_main_update_type(FindMyMain* findmy_main, FindMyType type); void findmy_main_update_type(FindMyMain* findmy_main, FindMyType type);
@@ -38,12 +38,12 @@ typedef struct {
int8_t y; int8_t y;
} HidNumpadPoint; } HidNumpadPoint;
#define MARGIN_TOP 32 #define MARGIN_TOP 32
#define MARGIN_LEFT 1 #define MARGIN_LEFT 1
#define KEY_WIDTH 20 #define KEY_WIDTH 20
#define KEY_HEIGHT 15 #define KEY_HEIGHT 15
#define KEY_PADDING 1 #define KEY_PADDING 1
#define ROW_COUNT 6 #define ROW_COUNT 6
#define COLUMN_COUNT 3 #define COLUMN_COUNT 3
const HidNumpadKey hid_numpad_keyset[ROW_COUNT][COLUMN_COUNT] = { const HidNumpadKey hid_numpad_keyset[ROW_COUNT][COLUMN_COUNT] = {
@@ -26,4 +26,4 @@ void ptt_menu_add_item_to_list(
PushToTalkMenuItemCallback callback, PushToTalkMenuItemCallback callback,
void* callback_context); void* callback_context);
void ptt_menu_add_list(HidPushToTalkMenu* hid_ptt_menu, const char* label, uint32_t index); void ptt_menu_add_list(HidPushToTalkMenu* hid_ptt_menu, const char* label, uint32_t index);
@@ -241,4 +241,4 @@ static const FlipperAppPluginDescriptor plugin_descriptor = {
const FlipperAppPluginDescriptor* js_blebeacon_ep(void) { const FlipperAppPluginDescriptor* js_blebeacon_ep(void) {
return &plugin_descriptor; return &plugin_descriptor;
} }
+1 -1
View File
@@ -392,4 +392,4 @@ static const FlipperAppPluginDescriptor plugin_descriptor = {
const FlipperAppPluginDescriptor* js_gpio_ep(void) { const FlipperAppPluginDescriptor* js_gpio_ep(void) {
return &plugin_descriptor; return &plugin_descriptor;
} }
@@ -205,4 +205,4 @@ static const FlipperAppPluginDescriptor plugin_descriptor = {
const FlipperAppPluginDescriptor* js_keyboard_ep(void) { const FlipperAppPluginDescriptor* js_keyboard_ep(void) {
return &plugin_descriptor; return &plugin_descriptor;
} }
@@ -61,4 +61,4 @@ void radio_device_loader_end(const SubGhzDevice* radio_device) {
if(radio_device != subghz_devices_get_by_name(SUBGHZ_DEVICE_CC1101_INT_NAME)) { if(radio_device != subghz_devices_get_by_name(SUBGHZ_DEVICE_CC1101_INT_NAME)) {
subghz_devices_end(radio_device); subghz_devices_end(radio_device);
} }
} }
@@ -12,4 +12,4 @@ const SubGhzDevice* radio_device_loader_set(
const SubGhzDevice* current_radio_device, const SubGhzDevice* current_radio_device,
SubGhzRadioDeviceType radio_device_type); SubGhzRadioDeviceType radio_device_type);
void radio_device_loader_end(const SubGhzDevice* radio_device); void radio_device_loader_end(const SubGhzDevice* radio_device);
@@ -4,16 +4,16 @@
#define TAG "MassStorageSCSI" #define TAG "MassStorageSCSI"
#define SCSI_TEST_UNIT_READY (0x00) #define SCSI_TEST_UNIT_READY (0x00)
#define SCSI_REQUEST_SENSE (0x03) #define SCSI_REQUEST_SENSE (0x03)
#define SCSI_INQUIRY (0x12) #define SCSI_INQUIRY (0x12)
#define SCSI_READ_FORMAT_CAPACITIES (0x23) #define SCSI_READ_FORMAT_CAPACITIES (0x23)
#define SCSI_READ_CAPACITY_10 (0x25) #define SCSI_READ_CAPACITY_10 (0x25)
#define SCSI_MODE_SENSE_6 (0x1A) #define SCSI_MODE_SENSE_6 (0x1A)
#define SCSI_READ_10 (0x28) #define SCSI_READ_10 (0x28)
#define SCSI_PREVENT_MEDIUM_REMOVAL (0x1E) #define SCSI_PREVENT_MEDIUM_REMOVAL (0x1E)
#define SCSI_START_STOP_UNIT (0x1B) #define SCSI_START_STOP_UNIT (0x1B)
#define SCSI_WRITE_10 (0x2A) #define SCSI_WRITE_10 (0x2A)
bool scsi_cmd_start(SCSISession* scsi, uint8_t* cmd, uint8_t len) { bool scsi_cmd_start(SCSISession* scsi, uint8_t* cmd, uint8_t len) {
if(!len) { if(!len) {
@@ -7,8 +7,8 @@
#define SCSI_SK_ILLEGAL_REQUEST (5) #define SCSI_SK_ILLEGAL_REQUEST (5)
#define SCSI_ASC_INVALID_COMMAND_OPERATION_CODE (0x20) #define SCSI_ASC_INVALID_COMMAND_OPERATION_CODE (0x20)
#define SCSI_ASC_LBA_OOB (0x21) #define SCSI_ASC_LBA_OOB (0x21)
#define SCSI_ASC_INVALID_FIELD_IN_CDB (0x24) #define SCSI_ASC_INVALID_FIELD_IN_CDB (0x24)
typedef struct { typedef struct {
void* ctx; void* ctx;
@@ -53,4 +53,4 @@ typedef struct {
bool scsi_cmd_start(SCSISession* scsi, uint8_t* cmd, uint8_t len); bool scsi_cmd_start(SCSISession* scsi, uint8_t* cmd, uint8_t len);
bool scsi_cmd_rx_data(SCSISession* scsi, uint8_t* data, uint32_t len); bool scsi_cmd_rx_data(SCSISession* scsi, uint8_t* data, uint32_t len);
bool scsi_cmd_tx_data(SCSISession* scsi, uint8_t* data, uint32_t* len, uint32_t cap); bool scsi_cmd_tx_data(SCSISession* scsi, uint8_t* data, uint32_t* len, uint32_t cap);
bool scsi_cmd_end(SCSISession* scsi); bool scsi_cmd_end(SCSISession* scsi);
@@ -10,14 +10,14 @@
#define USB_MSC_TX_EP_SIZE (64UL) #define USB_MSC_TX_EP_SIZE (64UL)
#define USB_MSC_BOT_GET_MAX_LUN (0xFE) #define USB_MSC_BOT_GET_MAX_LUN (0xFE)
#define USB_MSC_BOT_RESET (0xFF) #define USB_MSC_BOT_RESET (0xFF)
#define CBW_SIG (0x43425355) #define CBW_SIG (0x43425355)
#define CBW_FLAGS_DEVICE_TO_HOST (0x80) #define CBW_FLAGS_DEVICE_TO_HOST (0x80)
#define CSW_SIG (0x53425355) #define CSW_SIG (0x53425355)
#define CSW_STATUS_OK (0) #define CSW_STATUS_OK (0)
#define CSW_STATUS_NOK (1) #define CSW_STATUS_NOK (1)
#define CSW_STATUS_PHASE_ERROR (2) #define CSW_STATUS_PHASE_ERROR (2)
// must be SCSI_BLOCK_SIZE aligned // must be SCSI_BLOCK_SIZE aligned
@@ -124,4 +124,4 @@ bool icm42688_fifo_read(ICM42688P* icm42688p, ICM42688PFifoPacket* data);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
@@ -3,174 +3,174 @@
#define ICM42688_WHOAMI 0x47 #define ICM42688_WHOAMI 0x47
// Bank 0 // Bank 0
#define ICM42688_DEVICE_CONFIG 0x11 #define ICM42688_DEVICE_CONFIG 0x11
#define ICM42688_DRIVE_CONFIG 0x13 #define ICM42688_DRIVE_CONFIG 0x13
#define ICM42688_INT_CONFIG 0x14 #define ICM42688_INT_CONFIG 0x14
#define ICM42688_FIFO_CONFIG 0x16 #define ICM42688_FIFO_CONFIG 0x16
#define ICM42688_TEMP_DATA1 0x1D #define ICM42688_TEMP_DATA1 0x1D
#define ICM42688_TEMP_DATA0 0x1E #define ICM42688_TEMP_DATA0 0x1E
#define ICM42688_ACCEL_DATA_X1 0x1F #define ICM42688_ACCEL_DATA_X1 0x1F
#define ICM42688_ACCEL_DATA_X0 0x20 #define ICM42688_ACCEL_DATA_X0 0x20
#define ICM42688_ACCEL_DATA_Y1 0x21 #define ICM42688_ACCEL_DATA_Y1 0x21
#define ICM42688_ACCEL_DATA_Y0 0x22 #define ICM42688_ACCEL_DATA_Y0 0x22
#define ICM42688_ACCEL_DATA_Z1 0x23 #define ICM42688_ACCEL_DATA_Z1 0x23
#define ICM42688_ACCEL_DATA_Z0 0x24 #define ICM42688_ACCEL_DATA_Z0 0x24
#define ICM42688_GYRO_DATA_X1 0x25 #define ICM42688_GYRO_DATA_X1 0x25
#define ICM42688_GYRO_DATA_X0 0x26 #define ICM42688_GYRO_DATA_X0 0x26
#define ICM42688_GYRO_DATA_Y1 0x27 #define ICM42688_GYRO_DATA_Y1 0x27
#define ICM42688_GYRO_DATA_Y0 0x28 #define ICM42688_GYRO_DATA_Y0 0x28
#define ICM42688_GYRO_DATA_Z1 0x29 #define ICM42688_GYRO_DATA_Z1 0x29
#define ICM42688_GYRO_DATA_Z0 0x2A #define ICM42688_GYRO_DATA_Z0 0x2A
#define ICM42688_TMST_FSYNCH 0x2B #define ICM42688_TMST_FSYNCH 0x2B
#define ICM42688_TMST_FSYNCL 0x2C #define ICM42688_TMST_FSYNCL 0x2C
#define ICM42688_INT_STATUS 0x2D #define ICM42688_INT_STATUS 0x2D
#define ICM42688_FIFO_COUNTH 0x2E #define ICM42688_FIFO_COUNTH 0x2E
#define ICM42688_FIFO_COUNTL 0x2F #define ICM42688_FIFO_COUNTL 0x2F
#define ICM42688_FIFO_DATA 0x30 #define ICM42688_FIFO_DATA 0x30
#define ICM42688_APEX_DATA0 0x31 #define ICM42688_APEX_DATA0 0x31
#define ICM42688_APEX_DATA1 0x32 #define ICM42688_APEX_DATA1 0x32
#define ICM42688_APEX_DATA2 0x33 #define ICM42688_APEX_DATA2 0x33
#define ICM42688_APEX_DATA3 0x34 #define ICM42688_APEX_DATA3 0x34
#define ICM42688_APEX_DATA4 0x35 #define ICM42688_APEX_DATA4 0x35
#define ICM42688_APEX_DATA5 0x36 #define ICM42688_APEX_DATA5 0x36
#define ICM42688_INT_STATUS2 0x37 #define ICM42688_INT_STATUS2 0x37
#define ICM42688_INT_STATUS3 0x38 #define ICM42688_INT_STATUS3 0x38
#define ICM42688_SIGNAL_PATH_RESET 0x4B #define ICM42688_SIGNAL_PATH_RESET 0x4B
#define ICM42688_INTF_CONFIG0 0x4C #define ICM42688_INTF_CONFIG0 0x4C
#define ICM42688_INTF_CONFIG1 0x4D #define ICM42688_INTF_CONFIG1 0x4D
#define ICM42688_PWR_MGMT0 0x4E #define ICM42688_PWR_MGMT0 0x4E
#define ICM42688_GYRO_CONFIG0 0x4F #define ICM42688_GYRO_CONFIG0 0x4F
#define ICM42688_ACCEL_CONFIG0 0x50 #define ICM42688_ACCEL_CONFIG0 0x50
#define ICM42688_GYRO_CONFIG1 0x51 #define ICM42688_GYRO_CONFIG1 0x51
#define ICM42688_GYRO_ACCEL_CONFIG0 0x52 #define ICM42688_GYRO_ACCEL_CONFIG0 0x52
#define ICM42688_ACCEL_CONFIG1 0x53 #define ICM42688_ACCEL_CONFIG1 0x53
#define ICM42688_TMST_CONFIG 0x54 #define ICM42688_TMST_CONFIG 0x54
#define ICM42688_APEX_CONFIG0 0x56 #define ICM42688_APEX_CONFIG0 0x56
#define ICM42688_SMD_CONFIG 0x57 #define ICM42688_SMD_CONFIG 0x57
#define ICM42688_FIFO_CONFIG1 0x5F #define ICM42688_FIFO_CONFIG1 0x5F
#define ICM42688_FIFO_CONFIG2 0x60 #define ICM42688_FIFO_CONFIG2 0x60
#define ICM42688_FIFO_CONFIG3 0x61 #define ICM42688_FIFO_CONFIG3 0x61
#define ICM42688_FSYNC_CONFIG 0x62 #define ICM42688_FSYNC_CONFIG 0x62
#define ICM42688_INT_CONFIG0 0x63 #define ICM42688_INT_CONFIG0 0x63
#define ICM42688_INT_CONFIG1 0x64 #define ICM42688_INT_CONFIG1 0x64
#define ICM42688_INT_SOURCE0 0x65 #define ICM42688_INT_SOURCE0 0x65
#define ICM42688_INT_SOURCE1 0x66 #define ICM42688_INT_SOURCE1 0x66
#define ICM42688_INT_SOURCE3 0x68 #define ICM42688_INT_SOURCE3 0x68
#define ICM42688_INT_SOURCE4 0x69 #define ICM42688_INT_SOURCE4 0x69
#define ICM42688_FIFO_LOST_PKT0 0x6C #define ICM42688_FIFO_LOST_PKT0 0x6C
#define ICM42688_FIFO_LOST_PKT1 0x6D #define ICM42688_FIFO_LOST_PKT1 0x6D
#define ICM42688_SELF_TEST_CONFIG 0x70 #define ICM42688_SELF_TEST_CONFIG 0x70
#define ICM42688_WHO_AM_I 0x75 #define ICM42688_WHO_AM_I 0x75
#define ICM42688_REG_BANK_SEL 0x76 #define ICM42688_REG_BANK_SEL 0x76
// Bank 1 // Bank 1
#define ICM42688_SENSOR_CONFIG0 0x03 #define ICM42688_SENSOR_CONFIG0 0x03
#define ICM42688_GYRO_CONFIG_STATIC2 0x0B #define ICM42688_GYRO_CONFIG_STATIC2 0x0B
#define ICM42688_GYRO_CONFIG_STATIC3 0x0C #define ICM42688_GYRO_CONFIG_STATIC3 0x0C
#define ICM42688_GYRO_CONFIG_STATIC4 0x0D #define ICM42688_GYRO_CONFIG_STATIC4 0x0D
#define ICM42688_GYRO_CONFIG_STATIC5 0x0E #define ICM42688_GYRO_CONFIG_STATIC5 0x0E
#define ICM42688_GYRO_CONFIG_STATIC6 0x0F #define ICM42688_GYRO_CONFIG_STATIC6 0x0F
#define ICM42688_GYRO_CONFIG_STATIC7 0x10 #define ICM42688_GYRO_CONFIG_STATIC7 0x10
#define ICM42688_GYRO_CONFIG_STATIC8 0x11 #define ICM42688_GYRO_CONFIG_STATIC8 0x11
#define ICM42688_GYRO_CONFIG_STATIC9 0x12 #define ICM42688_GYRO_CONFIG_STATIC9 0x12
#define ICM42688_GYRO_CONFIG_STATIC10 0x13 #define ICM42688_GYRO_CONFIG_STATIC10 0x13
#define ICM42688_XG_ST_DATA 0x5F #define ICM42688_XG_ST_DATA 0x5F
#define ICM42688_YG_ST_DATA 0x60 #define ICM42688_YG_ST_DATA 0x60
#define ICM42688_ZG_ST_DATA 0x61 #define ICM42688_ZG_ST_DATA 0x61
#define ICM42688_TMSTVAL0 0x62 #define ICM42688_TMSTVAL0 0x62
#define ICM42688_TMSTVAL1 0x63 #define ICM42688_TMSTVAL1 0x63
#define ICM42688_TMSTVAL2 0x64 #define ICM42688_TMSTVAL2 0x64
#define ICM42688_INTF_CONFIG4 0x7A #define ICM42688_INTF_CONFIG4 0x7A
#define ICM42688_INTF_CONFIG5 0x7B #define ICM42688_INTF_CONFIG5 0x7B
#define ICM42688_INTF_CONFIG6 0x7C #define ICM42688_INTF_CONFIG6 0x7C
// Bank 2 // Bank 2
#define ICM42688_ACCEL_CONFIG_STATIC2 0x03 #define ICM42688_ACCEL_CONFIG_STATIC2 0x03
#define ICM42688_ACCEL_CONFIG_STATIC3 0x04 #define ICM42688_ACCEL_CONFIG_STATIC3 0x04
#define ICM42688_ACCEL_CONFIG_STATIC4 0x05 #define ICM42688_ACCEL_CONFIG_STATIC4 0x05
#define ICM42688_XA_ST_DATA 0x3B #define ICM42688_XA_ST_DATA 0x3B
#define ICM42688_YA_ST_DATA 0x3C #define ICM42688_YA_ST_DATA 0x3C
#define ICM42688_ZA_ST_DATA 0x3D #define ICM42688_ZA_ST_DATA 0x3D
// Bank 4 // Bank 4
#define ICM42688_APEX_CONFIG1 0x40 #define ICM42688_APEX_CONFIG1 0x40
#define ICM42688_APEX_CONFIG2 0x41 #define ICM42688_APEX_CONFIG2 0x41
#define ICM42688_APEX_CONFIG3 0x42 #define ICM42688_APEX_CONFIG3 0x42
#define ICM42688_APEX_CONFIG4 0x43 #define ICM42688_APEX_CONFIG4 0x43
#define ICM42688_APEX_CONFIG5 0x44 #define ICM42688_APEX_CONFIG5 0x44
#define ICM42688_APEX_CONFIG6 0x45 #define ICM42688_APEX_CONFIG6 0x45
#define ICM42688_APEX_CONFIG7 0x46 #define ICM42688_APEX_CONFIG7 0x46
#define ICM42688_APEX_CONFIG8 0x47 #define ICM42688_APEX_CONFIG8 0x47
#define ICM42688_APEX_CONFIG9 0x48 #define ICM42688_APEX_CONFIG9 0x48
#define ICM42688_ACCEL_WOM_X_THR 0x4A #define ICM42688_ACCEL_WOM_X_THR 0x4A
#define ICM42688_ACCEL_WOM_Y_THR 0x4B #define ICM42688_ACCEL_WOM_Y_THR 0x4B
#define ICM42688_ACCEL_WOM_Z_THR 0x4C #define ICM42688_ACCEL_WOM_Z_THR 0x4C
#define ICM42688_INT_SOURCE6 0x4D #define ICM42688_INT_SOURCE6 0x4D
#define ICM42688_INT_SOURCE7 0x4E #define ICM42688_INT_SOURCE7 0x4E
#define ICM42688_INT_SOURCE8 0x4F #define ICM42688_INT_SOURCE8 0x4F
#define ICM42688_INT_SOURCE9 0x50 #define ICM42688_INT_SOURCE9 0x50
#define ICM42688_INT_SOURCE10 0x51 #define ICM42688_INT_SOURCE10 0x51
#define ICM42688_OFFSET_USER0 0x77 #define ICM42688_OFFSET_USER0 0x77
#define ICM42688_OFFSET_USER1 0x78 #define ICM42688_OFFSET_USER1 0x78
#define ICM42688_OFFSET_USER2 0x79 #define ICM42688_OFFSET_USER2 0x79
#define ICM42688_OFFSET_USER3 0x7A #define ICM42688_OFFSET_USER3 0x7A
#define ICM42688_OFFSET_USER4 0x7B #define ICM42688_OFFSET_USER4 0x7B
#define ICM42688_OFFSET_USER5 0x7C #define ICM42688_OFFSET_USER5 0x7C
#define ICM42688_OFFSET_USER6 0x7D #define ICM42688_OFFSET_USER6 0x7D
#define ICM42688_OFFSET_USER7 0x7E #define ICM42688_OFFSET_USER7 0x7E
#define ICM42688_OFFSET_USER8 0x7F #define ICM42688_OFFSET_USER8 0x7F
// PWR_MGMT0 // PWR_MGMT0
#define ICM42688_PWR_TEMP_ON (0 << 5) #define ICM42688_PWR_TEMP_ON (0 << 5)
#define ICM42688_PWR_TEMP_OFF (1 << 5) #define ICM42688_PWR_TEMP_OFF (1 << 5)
#define ICM42688_PWR_IDLE (1 << 4) #define ICM42688_PWR_IDLE (1 << 4)
#define ICM42688_PWR_GYRO_MODE_OFF (0 << 2) #define ICM42688_PWR_GYRO_MODE_OFF (0 << 2)
#define ICM42688_PWR_GYRO_MODE_LN (3 << 2) #define ICM42688_PWR_GYRO_MODE_LN (3 << 2)
#define ICM42688_PWR_ACCEL_MODE_OFF (0 << 0) #define ICM42688_PWR_ACCEL_MODE_OFF (0 << 0)
#define ICM42688_PWR_ACCEL_MODE_LP (2 << 0) #define ICM42688_PWR_ACCEL_MODE_LP (2 << 0)
#define ICM42688_PWR_ACCEL_MODE_LN (3 << 0) #define ICM42688_PWR_ACCEL_MODE_LN (3 << 0)
// GYRO_CONFIG0 // GYRO_CONFIG0
#define ICM42688_GFS_2000DPS (0x00 << 5) #define ICM42688_GFS_2000DPS (0x00 << 5)
#define ICM42688_GFS_1000DPS (0x01 << 5) #define ICM42688_GFS_1000DPS (0x01 << 5)
#define ICM42688_GFS_500DPS (0x02 << 5) #define ICM42688_GFS_500DPS (0x02 << 5)
#define ICM42688_GFS_250DPS (0x03 << 5) #define ICM42688_GFS_250DPS (0x03 << 5)
#define ICM42688_GFS_125DPS (0x04 << 5) #define ICM42688_GFS_125DPS (0x04 << 5)
#define ICM42688_GFS_62_5DPS (0x05 << 5) #define ICM42688_GFS_62_5DPS (0x05 << 5)
#define ICM42688_GFS_31_25DPS (0x06 << 5) #define ICM42688_GFS_31_25DPS (0x06 << 5)
#define ICM42688_GFS_15_625DPS (0x07 << 5) #define ICM42688_GFS_15_625DPS (0x07 << 5)
#define ICM42688_GODR_32kHz 0x01 #define ICM42688_GODR_32kHz 0x01
#define ICM42688_GODR_16kHz 0x02 #define ICM42688_GODR_16kHz 0x02
#define ICM42688_GODR_8kHz 0x03 #define ICM42688_GODR_8kHz 0x03
#define ICM42688_GODR_4kHz 0x04 #define ICM42688_GODR_4kHz 0x04
#define ICM42688_GODR_2kHz 0x05 #define ICM42688_GODR_2kHz 0x05
#define ICM42688_GODR_1kHz 0x06 #define ICM42688_GODR_1kHz 0x06
#define ICM42688_GODR_200Hz 0x07 #define ICM42688_GODR_200Hz 0x07
#define ICM42688_GODR_100Hz 0x08 #define ICM42688_GODR_100Hz 0x08
#define ICM42688_GODR_50Hz 0x09 #define ICM42688_GODR_50Hz 0x09
#define ICM42688_GODR_25Hz 0x0A #define ICM42688_GODR_25Hz 0x0A
#define ICM42688_GODR_12_5Hz 0x0B #define ICM42688_GODR_12_5Hz 0x0B
#define ICM42688_GODR_500Hz 0x0F #define ICM42688_GODR_500Hz 0x0F
// ACCEL_CONFIG0 // ACCEL_CONFIG0
#define ICM42688_AFS_16G (0x00 << 5) #define ICM42688_AFS_16G (0x00 << 5)
#define ICM42688_AFS_8G (0x01 << 5) #define ICM42688_AFS_8G (0x01 << 5)
#define ICM42688_AFS_4G (0x02 << 5) #define ICM42688_AFS_4G (0x02 << 5)
#define ICM42688_AFS_2G (0x03 << 5) #define ICM42688_AFS_2G (0x03 << 5)
#define ICM42688_AODR_32kHz 0x01 #define ICM42688_AODR_32kHz 0x01
#define ICM42688_AODR_16kHz 0x02 #define ICM42688_AODR_16kHz 0x02
#define ICM42688_AODR_8kHz 0x03 #define ICM42688_AODR_8kHz 0x03
#define ICM42688_AODR_4kHz 0x04 #define ICM42688_AODR_4kHz 0x04
#define ICM42688_AODR_2kHz 0x05 #define ICM42688_AODR_2kHz 0x05
#define ICM42688_AODR_1kHz 0x06 #define ICM42688_AODR_1kHz 0x06
#define ICM42688_AODR_200Hz 0x07 #define ICM42688_AODR_200Hz 0x07
#define ICM42688_AODR_100Hz 0x08 #define ICM42688_AODR_100Hz 0x08
#define ICM42688_AODR_50Hz 0x09 #define ICM42688_AODR_50Hz 0x09
#define ICM42688_AODR_25Hz 0x0A #define ICM42688_AODR_25Hz 0x0A
#define ICM42688_AODR_12_5Hz 0x0B #define ICM42688_AODR_12_5Hz 0x0B
#define ICM42688_AODR_6_25Hz 0x0C #define ICM42688_AODR_6_25Hz 0x0C
#define ICM42688_AODR_3_125Hz 0x0D #define ICM42688_AODR_3_125Hz 0x0D
#define ICM42688_AODR_1_5625Hz 0x0E #define ICM42688_AODR_1_5625Hz 0x0E
#define ICM42688_AODR_500Hz 0x0F #define ICM42688_AODR_500Hz 0x0F
@@ -7,12 +7,12 @@
#define ACCEL_GYRO_RATE DataRate100Hz #define ACCEL_GYRO_RATE DataRate100Hz
#define FILTER_SAMPLE_FREQ 100.f #define FILTER_SAMPLE_FREQ 100.f
#define FILTER_BETA 0.08f #define FILTER_BETA 0.08f
#define SAMPLE_RATE_DIV 5 #define SAMPLE_RATE_DIV 5
#define SENSITIVITY_K 30.f #define SENSITIVITY_K 30.f
#define EXP_RATE 1.1f #define EXP_RATE 1.1f
#define IMU_CALI_AVG 64 #define IMU_CALI_AVG 64
@@ -325,4 +325,4 @@ float imu_roll_get(Imu* imu) {
float imu_yaw_get(Imu* imu) { float imu_yaw_get(Imu* imu) {
// we pretend that reading a float is an atomic operation // we pretend that reading a float is an atomic operation
return imu->thread->lefty ? -imu->thread->processed_data.yaw : imu->thread->processed_data.yaw; return imu->thread->lefty ? -imu->thread->processed_data.yaw : imu->thread->processed_data.yaw;
} }
@@ -12,4 +12,4 @@ float imu_pitch_get(Imu* imu);
float imu_roll_get(Imu* imu); float imu_roll_get(Imu* imu);
float imu_yaw_get(Imu* imu); float imu_yaw_get(Imu* imu);
+1 -1
View File
@@ -29,7 +29,7 @@
#define DEBUG_INIT() \ #define DEBUG_INIT() \
furi_hal_gpio_init(DEBUG_PIN, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh) furi_hal_gpio_init(DEBUG_PIN, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh)
#define DEBUG_SET_HIGH() furi_hal_gpio_write(DEBUG_PIN, true) #define DEBUG_SET_HIGH() furi_hal_gpio_write(DEBUG_PIN, true)
#define DEBUG_SET_LOW() furi_hal_gpio_write(DEBUG_PIN, false) #define DEBUG_SET_LOW() furi_hal_gpio_write(DEBUG_PIN, false)
#else #else
#define DEBUG_INIT() #define DEBUG_INIT()
#define DEBUG_SET_HIGH() #define DEBUG_SET_HIGH()
+2 -2
View File
@@ -22,9 +22,9 @@
#include <storage/storage.h> #include <storage/storage.h>
#include <toolbox/saved_struct.h> #include <toolbox/saved_struct.h>
#define RGB_BACKLIGHT_SETTINGS_MAGIC 0x15 #define RGB_BACKLIGHT_SETTINGS_MAGIC 0x15
#define RGB_BACKLIGHT_SETTINGS_VERSION 6 #define RGB_BACKLIGHT_SETTINGS_VERSION 6
#define RGB_BACKLIGHT_SETTINGS_PATH CFG_PATH("rgb_backlight.settings") #define RGB_BACKLIGHT_SETTINGS_PATH CFG_PATH("rgb_backlight.settings")
static struct { static struct {
RgbColor colors[SK6805_LED_COUNT]; RgbColor colors[SK6805_LED_COUNT];
+19 -19
View File
@@ -15,14 +15,14 @@
#define INSTAFOB_DECODED_DATA_SIZE_BYTES (8) #define INSTAFOB_DECODED_DATA_SIZE_BYTES (8)
#define INSTAFOB_ENCODED_DATA_SIZE_BYTES ((4 * 7) + 1) #define INSTAFOB_ENCODED_DATA_SIZE_BYTES ((4 * 7) + 1)
#define INSTAFOB_ENCODED_DATA_SIZE_BITS ((8 * 4 * 7) + 1) #define INSTAFOB_ENCODED_DATA_SIZE_BITS ((8 * 4 * 7) + 1)
#define INSTAFOB_ENCODED_DATA_OFFSET (7) #define INSTAFOB_ENCODED_DATA_OFFSET (7)
#define INSTAFOB_BLOCK1 (0x00107060) #define INSTAFOB_BLOCK1 (0x00107060)
#define LFRFID_FREQUENCY (125000) #define LFRFID_FREQUENCY (125000)
#define INSTAFOB_CLOCK_PER_BIT (32) #define INSTAFOB_CLOCK_PER_BIT (32)
#define INSTAFOB_READ_LONG_TIME_BASE (1000000 / (LFRFID_FREQUENCY / INSTAFOB_CLOCK_PER_BIT)) #define INSTAFOB_READ_LONG_TIME_BASE (1000000 / (LFRFID_FREQUENCY / INSTAFOB_CLOCK_PER_BIT))
#define INSTAFOB_READ_SHORT_TIME_BASE (INSTAFOB_READ_LONG_TIME_BASE / 2) #define INSTAFOB_READ_SHORT_TIME_BASE (INSTAFOB_READ_LONG_TIME_BASE / 2)
#define INSTAFOB_READ_SEQTERM_TIME_BASE \ #define INSTAFOB_READ_SEQTERM_TIME_BASE \
(1000000 / (LFRFID_FREQUENCY * 32 / 50 / INSTAFOB_CLOCK_PER_BIT)) (1000000 / (LFRFID_FREQUENCY * 32 / 50 / INSTAFOB_CLOCK_PER_BIT))
@@ -57,16 +57,16 @@ ProtocolInstaFob* protocol_insta_fob_alloc(void) {
bit_lib_num_to_bytes_be(INSTAFOB_BLOCK1, 4, protocol->data); bit_lib_num_to_bytes_be(INSTAFOB_BLOCK1, 4, protocol->data);
protocol->debug_string = furi_string_alloc(); protocol->debug_string = furi_string_alloc();
return (void*)protocol; return (void*)protocol;
}; }
void protocol_insta_fob_free(ProtocolInstaFob* protocol) { void protocol_insta_fob_free(ProtocolInstaFob* protocol) {
free(protocol->debug_string); free(protocol->debug_string);
free(protocol); free(protocol);
}; }
uint8_t* protocol_insta_fob_get_data(ProtocolInstaFob* protocol) { uint8_t* protocol_insta_fob_get_data(ProtocolInstaFob* protocol) {
return protocol->data; return protocol->data;
}; }
void protocol_insta_fob_decoder_start(ProtocolInstaFob* protocol) { void protocol_insta_fob_decoder_start(ProtocolInstaFob* protocol) {
memset(protocol->data, 0, INSTAFOB_DECODED_DATA_SIZE_BYTES); memset(protocol->data, 0, INSTAFOB_DECODED_DATA_SIZE_BYTES);
@@ -78,7 +78,7 @@ void protocol_insta_fob_decoder_start(ProtocolInstaFob* protocol) {
NULL); NULL);
protocol->encoded_polarity = false; protocol->encoded_polarity = false;
protocol->encoded_term_state = ProtocolInstaFobSeqTermNone; protocol->encoded_term_state = ProtocolInstaFobSeqTermNone;
}; }
static const char* protocol_insta_fob_get_encoded_data(ProtocolInstaFob* protocol) { static const char* protocol_insta_fob_get_encoded_data(ProtocolInstaFob* protocol) {
furi_string_reset(protocol->debug_string); furi_string_reset(protocol->debug_string);
@@ -87,7 +87,7 @@ static const char* protocol_insta_fob_get_encoded_data(ProtocolInstaFob* protoco
protocol->debug_string, bit_lib_get_bit(protocol->encoded_data, i) ? "1" : "0"); protocol->debug_string, bit_lib_get_bit(protocol->encoded_data, i) ? "1" : "0");
} }
return furi_string_get_cstr(protocol->debug_string); return furi_string_get_cstr(protocol->debug_string);
}; }
static bool protocol_insta_fob_can_be_decoded(ProtocolInstaFob* protocol) { static bool protocol_insta_fob_can_be_decoded(ProtocolInstaFob* protocol) {
return bit_lib_get_bits_32(protocol->encoded_data, INSTAFOB_ENCODED_DATA_OFFSET, 32) == return bit_lib_get_bits_32(protocol->encoded_data, INSTAFOB_ENCODED_DATA_OFFSET, 32) ==
@@ -96,11 +96,11 @@ static bool protocol_insta_fob_can_be_decoded(ProtocolInstaFob* protocol) {
static void protocol_insta_fob_decode(ProtocolInstaFob* protocol) { static void protocol_insta_fob_decode(ProtocolInstaFob* protocol) {
bit_lib_copy_bits(protocol->data, 0, 64, protocol->encoded_data, INSTAFOB_ENCODED_DATA_OFFSET); bit_lib_copy_bits(protocol->data, 0, 64, protocol->encoded_data, INSTAFOB_ENCODED_DATA_OFFSET);
}; }
static bool protocol_insta_fob_in_range(uint32_t value, uint32_t base, uint32_t jitter) { static bool protocol_insta_fob_in_range(uint32_t value, uint32_t base, uint32_t jitter) {
return (value > (base - jitter)) && (value < (base + jitter)); return (value > (base - jitter)) && (value < (base + jitter));
}; }
static ManchesterEvent protocol_insta_fob_manchester_event(bool level, uint32_t duration_us) { static ManchesterEvent protocol_insta_fob_manchester_event(bool level, uint32_t duration_us) {
ManchesterEvent event = ManchesterEventReset; ManchesterEvent event = ManchesterEventReset;
@@ -122,12 +122,12 @@ static ManchesterEvent protocol_insta_fob_manchester_event(bool level, uint32_t
} }
return event; return event;
}; }
static bool protocol_insta_fob_is_sequence_terminator(uint32_t duration_us) { static bool protocol_insta_fob_is_sequence_terminator(uint32_t duration_us) {
return protocol_insta_fob_in_range( return protocol_insta_fob_in_range(
duration_us, INSTAFOB_READ_SEQTERM_TIME_BASE, INSTAFOB_READ_JITTER_TIME_BASE); duration_us, INSTAFOB_READ_SEQTERM_TIME_BASE, INSTAFOB_READ_JITTER_TIME_BASE);
}; }
static bool protocol_insta_fob_decoder_seq_terminator( static bool protocol_insta_fob_decoder_seq_terminator(
ProtocolInstaFob* protocol, ProtocolInstaFob* protocol,
@@ -221,7 +221,7 @@ bool protocol_insta_fob_decoder_feed(ProtocolInstaFob* protocol, bool level, uin
} }
return decoded_signal; return decoded_signal;
}; }
bool protocol_insta_fob_encoder_start(ProtocolInstaFob* protocol) { bool protocol_insta_fob_encoder_start(ProtocolInstaFob* protocol) {
uint32_t block1 = bit_lib_get_bits_32(protocol->data, 0, 32); uint32_t block1 = bit_lib_get_bits_32(protocol->data, 0, 32);
@@ -301,7 +301,7 @@ LevelDuration protocol_insta_fob_encoder_yield(ProtocolInstaFob* protocol) {
} }
return level_duration_make(level, duration_cycles); return level_duration_make(level, duration_cycles);
}; }
void protocol_insta_fob_render_data(ProtocolInstaFob* protocol, FuriString* result) { void protocol_insta_fob_render_data(ProtocolInstaFob* protocol, FuriString* result) {
furi_string_printf( furi_string_printf(
@@ -309,7 +309,7 @@ void protocol_insta_fob_render_data(ProtocolInstaFob* protocol, FuriString* resu
"InstaFob\nBlk[1]: %08lX\nBlk[2]: %08lX", "InstaFob\nBlk[1]: %08lX\nBlk[2]: %08lX",
bit_lib_get_bits_32(protocol->data, 0, 32), bit_lib_get_bits_32(protocol->data, 0, 32),
bit_lib_get_bits_32(protocol->data, 32, 32)); bit_lib_get_bits_32(protocol->data, 32, 32));
}; }
void protocol_insta_fob_render_brief_data(ProtocolInstaFob* protocol, FuriString* result) { void protocol_insta_fob_render_brief_data(ProtocolInstaFob* protocol, FuriString* result) {
furi_string_printf( furi_string_printf(
@@ -317,7 +317,7 @@ void protocol_insta_fob_render_brief_data(ProtocolInstaFob* protocol, FuriString
"Fob %08lX %08lX", "Fob %08lX %08lX",
bit_lib_get_bits_32(protocol->data, 0, 32), bit_lib_get_bits_32(protocol->data, 0, 32),
bit_lib_get_bits_32(protocol->data, 32, 32)); bit_lib_get_bits_32(protocol->data, 32, 32));
}; }
bool protocol_insta_fob_write_data(ProtocolInstaFob* protocol, void* data) { bool protocol_insta_fob_write_data(ProtocolInstaFob* protocol, void* data) {
LFRFIDWriteRequest* request = (LFRFIDWriteRequest*)data; LFRFIDWriteRequest* request = (LFRFIDWriteRequest*)data;
@@ -347,7 +347,7 @@ bool protocol_insta_fob_write_data(ProtocolInstaFob* protocol, void* data) {
request->t5577.block[2]); request->t5577.block[2]);
} }
return result; return result;
}; }
const ProtocolBase protocol_insta_fob = { const ProtocolBase protocol_insta_fob = {
.name = "InstaFob", .name = "InstaFob",
+1 -1
View File
@@ -1,4 +1,4 @@
#pragma once #pragma once
#include <toolbox/protocols/protocol.h> #include <toolbox/protocols/protocol.h>
extern const ProtocolBase protocol_insta_fob; extern const ProtocolBase protocol_insta_fob;
+3 -3
View File
@@ -12,9 +12,9 @@ extern "C" {
#endif #endif
#define MOMENTUM_SETTINGS_PATH CFG_PATH("momentum_settings.txt") #define MOMENTUM_SETTINGS_PATH CFG_PATH("momentum_settings.txt")
#define ASSET_PACKS_PATH EXT_PATH("asset_packs") #define ASSET_PACKS_PATH EXT_PATH("asset_packs")
#define MAINMENU_APPS_PATH CFG_PATH("mainmenu_apps.txt") #define MAINMENU_APPS_PATH CFG_PATH("mainmenu_apps.txt")
#define ASSET_PACKS_NAME_LEN 32 #define ASSET_PACKS_NAME_LEN 32
typedef enum { typedef enum {
BatteryIconOff, BatteryIconOff,
+2 -2
View File
@@ -1,7 +1,7 @@
#pragma once #pragma once
#define NAMESPOOF_HEADER "Flipper Name File" #define NAMESPOOF_HEADER "Flipper Name File"
#define NAMESPOOF_VERSION 1 #define NAMESPOOF_VERSION 1
#define NAMESPOOF_PATH EXT_PATH("dolphin/name.txt") #define NAMESPOOF_PATH EXT_PATH("dolphin/name.txt")
void namespoof_init(void); void namespoof_init(void);
+6 -6
View File
@@ -68,13 +68,13 @@ static const struct {
uint8_t u_sz; uint8_t u_sz;
}; };
}; };
#define setting(t, n) .type = momentum_settings_type##t, .key = #n, .val = &momentum_settings.n #define setting(t, n) .type = momentum_settings_type##t, .key = #n, .val = &momentum_settings.n
#define setting_str(n) setting(_str, n), .str_len = sizeof(momentum_settings.n) #define setting_str(n) setting(_str, n), .str_len = sizeof(momentum_settings.n)
#define num(t, n, min, max) .t##_min = min, .t##_max = max, .t##_sz = sizeof(momentum_settings.n) #define num(t, n, min, max) .t##_min = min, .t##_max = max, .t##_sz = sizeof(momentum_settings.n)
#define setting_int(n, min, max) setting(_int, n), num(i, n, min, max) #define setting_int(n, min, max) setting(_int, n), num(i, n, min, max)
#define setting_uint(n, min, max) setting(_uint, n), num(u, n, min, max) #define setting_uint(n, min, max) setting(_uint, n), num(u, n, min, max)
#define setting_enum(n, cnt) setting_uint(n, 0, cnt - 1) #define setting_enum(n, cnt) setting_uint(n, 0, cnt - 1)
#define setting_bool(n) setting(_bool, n) #define setting_bool(n) setting(_bool, n)
} momentum_settings_entries[] = { } momentum_settings_entries[] = {
{setting_str(asset_pack)}, {setting_str(asset_pack)},
{setting_uint(anim_speed, 25, 300)}, {setting_uint(anim_speed, 25, 300)},
+6 -6
View File
@@ -7,16 +7,16 @@
#define ISO14443_4_BLOCK_PCB_R (5U << 5) #define ISO14443_4_BLOCK_PCB_R (5U << 5)
#define ISO14443_4_BLOCK_PCB_S (3U << 6) #define ISO14443_4_BLOCK_PCB_S (3U << 6)
#define ISO14443_4_BLOCK_PCB_I_ (0U << 6) #define ISO14443_4_BLOCK_PCB_I_ (0U << 6)
#define ISO14443_4_BLOCK_PCB_R_ (2U << 6) #define ISO14443_4_BLOCK_PCB_R_ (2U << 6)
#define ISO14443_4_BLOCK_PCB_TYPE_MASK (3U << 6) #define ISO14443_4_BLOCK_PCB_TYPE_MASK (3U << 6)
#define ISO14443_4_BLOCK_PCB_S_DESELECT (0U << 4) #define ISO14443_4_BLOCK_PCB_S_DESELECT (0U << 4)
#define ISO14443_4_BLOCK_PCB_S_WTX (3U << 4) #define ISO14443_4_BLOCK_PCB_S_WTX (3U << 4)
#define ISO14443_4_BLOCK_PCB_BLOCK_NUMBER (1U << 0) #define ISO14443_4_BLOCK_PCB_BLOCK_NUMBER (1U << 0)
#define ISO14443_4_BLOCK_PCB_NAD (1U << 2) #define ISO14443_4_BLOCK_PCB_NAD (1U << 2)
#define ISO14443_4_BLOCK_PCB_CID (1U << 3) #define ISO14443_4_BLOCK_PCB_CID (1U << 3)
#define ISO14443_4_BLOCK_PCB_CHAINING (1U << 4) #define ISO14443_4_BLOCK_PCB_CHAINING (1U << 4)
struct Iso14443_4Layer { struct Iso14443_4Layer {
+1 -1
View File
@@ -213,4 +213,4 @@ Iso14443_4aData* emv_get_base_data(const EmvData* data) {
furi_assert(data); furi_assert(data);
return data->iso14443_4a_data; return data->iso14443_4a_data;
} }
+29 -29
View File
@@ -12,44 +12,44 @@ extern "C" {
#define UNKNOWN_TAG 0x0B #define UNKNOWN_TAG 0x0B
#define EMV_TAG_AID 0x4F #define EMV_TAG_AID 0x4F
#define EMV_TAG_PRIORITY 0x87 #define EMV_TAG_PRIORITY 0x87
#define EMV_TAG_APPL_INTERCHANGE_PROFILE 0x82 #define EMV_TAG_APPL_INTERCHANGE_PROFILE 0x82
#define EMV_TAG_PDOL 0x9F38 #define EMV_TAG_PDOL 0x9F38
#define EMV_TAG_APPL_LABEL 0x50 #define EMV_TAG_APPL_LABEL 0x50
#define EMV_TAG_APPL_NAME 0x9F12 #define EMV_TAG_APPL_NAME 0x9F12
#define EMV_TAG_APPL_EFFECTIVE 0x5F25 #define EMV_TAG_APPL_EFFECTIVE 0x5F25
#define EMV_TAG_PIN_TRY_COUNTER 0x9F17 #define EMV_TAG_PIN_TRY_COUNTER 0x9F17
#define EMV_TAG_LOG_ENTRY 0x9F4D #define EMV_TAG_LOG_ENTRY 0x9F4D
#define EMV_TAG_LOG_FMT 0x9F4F #define EMV_TAG_LOG_FMT 0x9F4F
#define EMV_TAG_LAST_ONLINE_ATC 0x9F13 #define EMV_TAG_LAST_ONLINE_ATC 0x9F13
#define EMV_TAG_ATC 0x9F36 #define EMV_TAG_ATC 0x9F36
#define EMV_TAG_LOG_AMOUNT 0x9F02 #define EMV_TAG_LOG_AMOUNT 0x9F02
#define EMV_TAG_LOG_COUNTRY 0x9F1A #define EMV_TAG_LOG_COUNTRY 0x9F1A
#define EMV_TAG_LOG_CURRENCY 0x5F2A #define EMV_TAG_LOG_CURRENCY 0x5F2A
#define EMV_TAG_LOG_DATE 0x9A #define EMV_TAG_LOG_DATE 0x9A
#define EMV_TAG_LOG_TIME 0x9F21 #define EMV_TAG_LOG_TIME 0x9F21
#define EMV_TAG_TRACK_1_EQUIV 0x56 #define EMV_TAG_TRACK_1_EQUIV 0x56
#define EMV_TAG_TRACK_2_EQUIV 0x57 #define EMV_TAG_TRACK_2_EQUIV 0x57
#define EMV_TAG_PAN 0x5A #define EMV_TAG_PAN 0x5A
#define EMV_TAG_AFL 0x94 #define EMV_TAG_AFL 0x94
#define EMV_TAG_EXP_DATE 0x5F24 #define EMV_TAG_EXP_DATE 0x5F24
#define EMV_TAG_COUNTRY_CODE 0x5F28 #define EMV_TAG_COUNTRY_CODE 0x5F28
#define EMV_TAG_CURRENCY_CODE 0x9F42 #define EMV_TAG_CURRENCY_CODE 0x9F42
#define EMV_TAG_CARDHOLDER_NAME 0x5F20 #define EMV_TAG_CARDHOLDER_NAME 0x5F20
#define EMV_TAG_CARDHOLDER_NAME_EXTENDED 0x9F0B #define EMV_TAG_CARDHOLDER_NAME_EXTENDED 0x9F0B
#define EMV_TAG_TRACK_2_DATA 0x9F6B #define EMV_TAG_TRACK_2_DATA 0x9F6B
#define EMV_TAG_GPO_FMT1 0x80 #define EMV_TAG_GPO_FMT1 0x80
#define EMV_TAG_RESP_BUF_SIZE 0x6C #define EMV_TAG_RESP_BUF_SIZE 0x6C
#define EMV_TAG_RESP_BYTES_AVAILABLE 0x61 #define EMV_TAG_RESP_BYTES_AVAILABLE 0x61
// Not used tags // Not used tags
#define EMV_TAG_FORM_FACTOR 0x9F6E #define EMV_TAG_FORM_FACTOR 0x9F6E
#define EMV_TAG_APP_TEMPLATE 0x61 #define EMV_TAG_APP_TEMPLATE 0x61
#define EMV_TAG_FCI 0xBF0C #define EMV_TAG_FCI 0xBF0C
#define EMV_TAG_DEPOSIT_LOG_ENTRY 0xDF4D #define EMV_TAG_DEPOSIT_LOG_ENTRY 0xDF4D
typedef struct { typedef struct {
+1 -1
View File
@@ -203,4 +203,4 @@ const NfcPollerBase emv_poller = {
.run = (NfcPollerRun)emv_poller_run, .run = (NfcPollerRun)emv_poller_run,
.detect = (NfcPollerDetect)emv_poller_detect, .detect = (NfcPollerDetect)emv_poller_detect,
.get_data = (NfcPollerGetData)emv_poller_get_data, .get_data = (NfcPollerGetData)emv_poller_get_data,
}; };
+1 -1
View File
@@ -56,4 +56,4 @@ EmvError emv_poller_get_last_online_atc(EmvPoller* instance);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
+1 -1
View File
@@ -2,4 +2,4 @@
#include <nfc/protocols/nfc_poller_base.h> #include <nfc/protocols/nfc_poller_base.h>
extern const NfcPollerBase emv_poller; extern const NfcPollerBase emv_poller;
+4 -4
View File
@@ -9,10 +9,10 @@ extern "C" {
#endif #endif
// Default btn ID // Default btn ID
#define SUBGHZ_CUSTOM_BTN_OK (0U) #define SUBGHZ_CUSTOM_BTN_OK (0U)
#define SUBGHZ_CUSTOM_BTN_UP (1U) #define SUBGHZ_CUSTOM_BTN_UP (1U)
#define SUBGHZ_CUSTOM_BTN_DOWN (2U) #define SUBGHZ_CUSTOM_BTN_DOWN (2U)
#define SUBGHZ_CUSTOM_BTN_LEFT (3U) #define SUBGHZ_CUSTOM_BTN_LEFT (3U)
#define SUBGHZ_CUSTOM_BTN_RIGHT (4U) #define SUBGHZ_CUSTOM_BTN_RIGHT (4U)
bool subghz_custom_btn_set(uint8_t btn_id); bool subghz_custom_btn_set(uint8_t btn_id);
+3 -3
View File
@@ -2,10 +2,10 @@
#include "custom_btn.h" #include "custom_btn.h"
#define PROG_MODE_OFF (0U) #define PROG_MODE_OFF (0U)
#define PROG_MODE_KEELOQ_BFT (1U) #define PROG_MODE_KEELOQ_BFT (1U)
#define PROG_MODE_KEELOQ_APRIMATIC (2U) #define PROG_MODE_KEELOQ_APRIMATIC (2U)
#define PROG_MODE_KEELOQ_DEA_MIO (3U) #define PROG_MODE_KEELOQ_DEA_MIO (3U)
typedef uint8_t ProgMode; typedef uint8_t ProgMode;
+1 -1
View File
@@ -12,4 +12,4 @@
SubGhzProtocolStatus subghz_block_generic_serialize_common( SubGhzProtocolStatus subghz_block_generic_serialize_common(
const char* protocol_name, const char* protocol_name,
FlipperFormat* flipper_format, FlipperFormat* flipper_format,
SubGhzRadioPreset* preset); SubGhzRadioPreset* preset);
+1 -1
View File
@@ -479,4 +479,4 @@ const uint8_t subghz_device_cc1101_preset_gfsk_9_99kb_async_regs[] = {
// 0x00, // 0x00,
// 0x00, // 0x00,
// 0x00, // 0x00,
// 0x00}; // 0x00};
+1 -1
View File
@@ -85,4 +85,4 @@ bool ws_protocol_encoder_acurite_592txr_get_upload(WSProtocolEncoderAcurite_592T
SubGhzProtocolStatus SubGhzProtocolStatus
ws_protocol_encoder_acurite_592txr_deserialize(void* context, FlipperFormat* flipper_format); ws_protocol_encoder_acurite_592txr_deserialize(void* context, FlipperFormat* flipper_format);
LevelDuration ws_protocol_encoder_acurite_592txr_yield(void* context); LevelDuration ws_protocol_encoder_acurite_592txr_yield(void* context);
void ws_protocol_encoder_acurite_592txr_stop(void* context); void ws_protocol_encoder_acurite_592txr_stop(void* context);
+2 -2
View File
@@ -31,8 +31,8 @@
* and on decoding also 0xffd45 * and on decoding also 0xffd45
*/ */
#define AMBIENT_WEATHER_PACKET_HEADER_1 0xFFD440000000000 //0xffd45 .. 0xffd46 #define AMBIENT_WEATHER_PACKET_HEADER_1 0xFFD440000000000 //0xffd45 .. 0xffd46
#define AMBIENT_WEATHER_PACKET_HEADER_2 0x001440000000000 //0x00145 .. 0x00146 #define AMBIENT_WEATHER_PACKET_HEADER_2 0x001440000000000 //0x00145 .. 0x00146
#define AMBIENT_WEATHER_PACKET_HEADER_MASK 0xFFFFC0000000000 #define AMBIENT_WEATHER_PACKET_HEADER_MASK 0xFFFFC0000000000
static const SubGhzBlockConst ws_protocol_ambient_weather_const = { static const SubGhzBlockConst ws_protocol_ambient_weather_const = {
+5 -5
View File
@@ -35,12 +35,12 @@
* - Temperature and Humidity are sent in different messages bursts. * - Temperature and Humidity are sent in different messages bursts.
*/ */
#define LACROSSE_TX_GAP 1000 #define LACROSSE_TX_GAP 1000
#define LACROSSE_TX_BIT_SIZE 44 #define LACROSSE_TX_BIT_SIZE 44
#define LACROSSE_TX_SUNC_PATTERN 0x0A000000000 #define LACROSSE_TX_SUNC_PATTERN 0x0A000000000
#define LACROSSE_TX_SUNC_MASK 0x0F000000000 #define LACROSSE_TX_SUNC_MASK 0x0F000000000
#define LACROSSE_TX_MSG_TYPE_TEMP 0x00 #define LACROSSE_TX_MSG_TYPE_TEMP 0x00
#define LACROSSE_TX_MSG_TYPE_HUM 0x0E #define LACROSSE_TX_MSG_TYPE_HUM 0x0E
static const SubGhzBlockConst ws_protocol_lacrosse_tx_const = { static const SubGhzBlockConst ws_protocol_lacrosse_tx_const = {
.te_short = 550, .te_short = 550,
+29 -29
View File
@@ -20,7 +20,7 @@ static const SubGhzBlockConst ws_oregon2_const = {
#define OREGON2_PREAMBLE_BITS 19 #define OREGON2_PREAMBLE_BITS 19
#define OREGON2_PREAMBLE_MASK 0b1111111111111111111 #define OREGON2_PREAMBLE_MASK 0b1111111111111111111
#define OREGON2_SENSOR_ID(d) (((d) >> 16) & 0xFFFF) #define OREGON2_SENSOR_ID(d) (((d) >> 16) & 0xFFFF)
#define OREGON2_CHECKSUM_BITS 8 #define OREGON2_CHECKSUM_BITS 8
// 15 ones + 0101 (inverted A) // 15 ones + 0101 (inverted A)
@@ -32,34 +32,34 @@ static const SubGhzBlockConst ws_oregon2_const = {
/// Documentation for Oregon Scientific protocols can be found here: /// Documentation for Oregon Scientific protocols can be found here:
/// http://wmrx00.sourceforge.net/Arduino/OregonScientific-RF-Protocols.pdf /// http://wmrx00.sourceforge.net/Arduino/OregonScientific-RF-Protocols.pdf
// Sensors ID // Sensors ID
#define ID_THGR122N 0x1d20 #define ID_THGR122N 0x1d20
#define ID_THGR968 0x1d30 #define ID_THGR968 0x1d30
#define ID_BTHR918 0x5d50 #define ID_BTHR918 0x5d50
#define ID_BHTR968 0x5d60 #define ID_BHTR968 0x5d60
#define ID_RGR968 0x2d10 #define ID_RGR968 0x2d10
#define ID_THR228N 0xec40 #define ID_THR228N 0xec40
#define ID_THN132N 0xec40 // same as THR228N but different packet size #define ID_THN132N 0xec40 // same as THR228N but different packet size
#define ID_RTGN318 0x0cc3 // warning: id is from 0x0cc3 and 0xfcc3 #define ID_RTGN318 0x0cc3 // warning: id is from 0x0cc3 and 0xfcc3
#define ID_RTGN129 0x0cc3 // same as RTGN318 but different packet size #define ID_RTGN129 0x0cc3 // same as RTGN318 but different packet size
#define ID_THGR810 0xf824 // This might be ID_THGR81, but what's true is lost in (git) history #define ID_THGR810 0xf824 // This might be ID_THGR81, but what's true is lost in (git) history
#define ID_THGR810a 0xf8b4 // unconfirmed version #define ID_THGR810a 0xf8b4 // unconfirmed version
#define ID_THN802 0xc844 #define ID_THN802 0xc844
#define ID_PCR800 0x2914 #define ID_PCR800 0x2914
#define ID_PCR800a 0x2d14 // Different PCR800 ID - AU version I think #define ID_PCR800a 0x2d14 // Different PCR800 ID - AU version I think
#define ID_WGR800 0x1984 #define ID_WGR800 0x1984
#define ID_WGR800a 0x1994 // unconfirmed version #define ID_WGR800a 0x1994 // unconfirmed version
#define ID_WGR968 0x3d00 #define ID_WGR968 0x3d00
#define ID_UV800 0xd874 #define ID_UV800 0xd874
#define ID_THN129 0xcc43 // THN129 Temp only #define ID_THN129 0xcc43 // THN129 Temp only
#define ID_RTHN129 0x0cd3 // RTHN129 Temp, clock sensors #define ID_RTHN129 0x0cd3 // RTHN129 Temp, clock sensors
#define ID_RTHN129_1 0x9cd3 #define ID_RTHN129_1 0x9cd3
#define ID_RTHN129_2 0xacd3 #define ID_RTHN129_2 0xacd3
#define ID_RTHN129_3 0xbcd3 #define ID_RTHN129_3 0xbcd3
#define ID_RTHN129_4 0xccd3 #define ID_RTHN129_4 0xccd3
#define ID_RTHN129_5 0xdcd3 #define ID_RTHN129_5 0xdcd3
#define ID_BTHGN129 0x5d53 // Baro, Temp, Hygro sensor #define ID_BTHGN129 0x5d53 // Baro, Temp, Hygro sensor
#define ID_UVR128 0xec70 #define ID_UVR128 0xec70
#define ID_THGR328N 0xcc23 // Temp & Hygro sensor similar to THR228N with 5 channel instead of 3 #define ID_THGR328N 0xcc23 // Temp & Hygro sensor similar to THR228N with 5 channel instead of 3
#define ID_RTGR328N_1 0xdcc3 // RTGR328N_[1-5] RFclock(date &time)&Temp&Hygro sensor #define ID_RTGR328N_1 0xdcc3 // RTGR328N_[1-5] RFclock(date &time)&Temp&Hygro sensor
#define ID_RTGR328N_2 0xccc3 #define ID_RTGR328N_2 0xccc3
#define ID_RTGR328N_3 0xbcc3 #define ID_RTGR328N_3 0xbcc3
+3 -3
View File
@@ -21,7 +21,7 @@ static const SubGhzBlockConst ws_oregon3_const = {
#define OREGON3_PREAMBLE_BITS 28 #define OREGON3_PREAMBLE_BITS 28
#define OREGON3_PREAMBLE_MASK 0b1111111111111111111111111111 #define OREGON3_PREAMBLE_MASK 0b1111111111111111111111111111
// 24 ones + 0101 (inverted A) // 24 ones + 0101 (inverted A)
#define OREGON3_PREAMBLE 0b1111111111111111111111110101 #define OREGON3_PREAMBLE 0b1111111111111111111111110101
// Fixed part contains: // Fixed part contains:
// - Sensor type: 16 bits // - Sensor type: 16 bits
@@ -29,8 +29,8 @@ static const SubGhzBlockConst ws_oregon3_const = {
// - ID (changes when batteries are changed): 8 bits // - ID (changes when batteries are changed): 8 bits
// - Battery status: 4 bits // - Battery status: 4 bits
#define OREGON3_FIXED_PART_BITS (16 + 4 + 8 + 4) #define OREGON3_FIXED_PART_BITS (16 + 4 + 8 + 4)
#define OREGON3_SENSOR_ID(d) (((d) >> 16) & 0xFFFF) #define OREGON3_SENSOR_ID(d) (((d) >> 16) & 0xFFFF)
#define OREGON3_CHECKSUM_BITS 8 #define OREGON3_CHECKSUM_BITS 8
// bit indicating the low battery // bit indicating the low battery
#define OREGON3_FLAG_BAT_LOW 0x4 #define OREGON3_FLAG_BAT_LOW 0x4
+1 -1
View File
@@ -37,4 +37,4 @@ SubGhzProtocolStatus
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
+7 -7
View File
@@ -22,15 +22,15 @@ static const SubGhzBlockConst pocsag2400_const = {
}; };
// Minimal amount of sync bits (interleaving zeros and ones) // Minimal amount of sync bits (interleaving zeros and ones)
#define POCSAG_MIN_SYNC_BITS 24 #define POCSAG_MIN_SYNC_BITS 24
#define POCSAG_CW_BITS 32 #define POCSAG_CW_BITS 32
#define POCSAG_CW_MASK 0xFFFFFFFF #define POCSAG_CW_MASK 0xFFFFFFFF
#define POCSAG_FRAME_SYNC_CODE 0x7CD215D8 #define POCSAG_FRAME_SYNC_CODE 0x7CD215D8
#define POCSAG_IDLE_CODE_WORD 0x7A89C197 #define POCSAG_IDLE_CODE_WORD 0x7A89C197
#define POCSAG_FUNC_NUM 0 #define POCSAG_FUNC_NUM 0
#define POCSAG_FUNC_ALERT1 1 #define POCSAG_FUNC_ALERT1 1
#define POCSAG_FUNC_ALERT2 2 #define POCSAG_FUNC_ALERT2 2
#define POCSAG_FUNC_ALPHANUM 3 #define POCSAG_FUNC_ALPHANUM 3
static const char* func_msg[] = {"\e#Num:\e# ", "\e#Alert\e#", "\e#Alert:\e# ", "\e#Msg:\e# "}; static const char* func_msg[] = {"\e#Num:\e# ", "\e#Alert\e#", "\e#Alert:\e# ", "\e#Msg:\e# "};
+1 -1
View File
@@ -40,7 +40,7 @@ Data layout:
- C: 8 bit Checksum (CRC8, Poly 0x7, Init 0x0) - C: 8 bit Checksum (CRC8, Poly 0x7, Init 0x0)
*/ */
#define PREAMBLE 0b000 #define PREAMBLE 0b000
#define PREAMBLE_BITS_LEN 3 #define PREAMBLE_BITS_LEN 3
static const SubGhzBlockConst tpms_protocol_schrader_gg4_const = { static const SubGhzBlockConst tpms_protocol_schrader_gg4_const = {
+1 -1
View File
@@ -165,4 +165,4 @@ SubGhzProtocolStatus tpms_block_generic_deserialize_check_count_bit(
} }
} while(false); } while(false);
return ret; return ret;
} }
+1 -1
View File
@@ -61,4 +61,4 @@ SubGhzProtocolStatus tpms_block_generic_deserialize_check_count_bit(
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
+1 -1
View File
@@ -234,4 +234,4 @@ void ws_block_generic_get_string(WSBlockGeneric* instance, FuriString* output) {
if(instance->humidity != WS_NO_HUMIDITY) { if(instance->humidity != WS_NO_HUMIDITY) {
furi_string_cat_printf(output, "Hum: %d%%", instance->humidity); furi_string_cat_printf(output, "Hum: %d%%", instance->humidity);
} }
} }
+6 -6
View File
@@ -8,11 +8,11 @@
extern "C" { extern "C" {
#endif #endif
#define WS_NO_ID 0xFFFFFFFF #define WS_NO_ID 0xFFFFFFFF
#define WS_NO_BATT 0xFF #define WS_NO_BATT 0xFF
#define WS_NO_HUMIDITY 0xFF #define WS_NO_HUMIDITY 0xFF
#define WS_NO_CHANNEL 0xFF #define WS_NO_CHANNEL 0xFF
#define WS_NO_BTN 0xFF #define WS_NO_BTN 0xFF
#define WS_NO_TEMPERATURE -273.0f #define WS_NO_TEMPERATURE -273.0f
typedef struct WSBlockGeneric WSBlockGeneric; typedef struct WSBlockGeneric WSBlockGeneric;
@@ -72,4 +72,4 @@ void ws_block_generic_get_string(WSBlockGeneric* instance, FuriString* output);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
+1 -1
View File
@@ -11,7 +11,7 @@
extern "C" { extern "C" {
#endif #endif
#define SUBGHZ_SETTING_FILE_TYPE "Flipper SubGhz Setting File" #define SUBGHZ_SETTING_FILE_TYPE "Flipper SubGhz Setting File"
#define SUBGHZ_SETTING_FILE_VERSION 1 #define SUBGHZ_SETTING_FILE_VERSION 1
#define SUBGHZ_SETTING_DEFAULT_PRESET_COUNT 4 #define SUBGHZ_SETTING_DEFAULT_PRESET_COUNT 4
+1 -1
View File
@@ -54,7 +54,7 @@ typedef struct {
int8_t rolling_counter_mult; int8_t rolling_counter_mult;
bool extended_range : 1; bool extended_range : 1;
bool bypass_region : 1; bool bypass_region : 1;
} FuriHalSubGhz; } FuriHalSubGhz;
volatile FuriHalSubGhz furi_hal_subghz = { volatile FuriHalSubGhz furi_hal_subghz = {
+1 -1
View File
@@ -6,4 +6,4 @@ bool furi_hal_subghz_get_extended_range(void);
void furi_hal_subghz_set_bypass_region(bool enabled); void furi_hal_subghz_set_bypass_region(bool enabled);
bool furi_hal_subghz_get_bypass_region(void); bool furi_hal_subghz_get_bypass_region(void);

Some files were not shown because too many files have changed in this diff Show More