1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 04:34:43 +04:00

[FL-3867] Code formatting update (#3765)

* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
hedger
2024-07-15 07:38:49 +03:00
committed by GitHub
parent a5e89315ae
commit ffa3996a5e
475 changed files with 3187 additions and 3159 deletions

View File

@@ -11,9 +11,9 @@ AlignConsecutiveAssignments:
AlignFunctionPointers: false AlignFunctionPointers: false
PadOperators: true PadOperators: true
AlignConsecutiveBitFields: AlignConsecutiveBitFields:
Enabled: false Enabled: true
AcrossEmptyLines: false AcrossEmptyLines: true
AcrossComments: false AcrossComments: true
AlignCompound: false AlignCompound: false
AlignFunctionPointers: false AlignFunctionPointers: false
PadOperators: true PadOperators: true
@@ -25,10 +25,10 @@ AlignConsecutiveDeclarations:
AlignFunctionPointers: false AlignFunctionPointers: false
PadOperators: true PadOperators: true
AlignConsecutiveMacros: AlignConsecutiveMacros:
Enabled: false Enabled: true
AcrossEmptyLines: false AcrossEmptyLines: false
AcrossComments: false AcrossComments: true
AlignCompound: false AlignCompound: true
AlignFunctionPointers: false AlignFunctionPointers: false
PadOperators: true PadOperators: true
AlignConsecutiveShortCaseStatements: AlignConsecutiveShortCaseStatements:
@@ -47,7 +47,7 @@ AllowBreakBeforeNoexceptSpecifier: Never
AllowShortBlocksOnASingleLine: Never AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: true AllowShortCompoundRequirementOnASingleLine: true
AllowShortEnumsOnASingleLine: true AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: WithoutElse AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLambdasOnASingleLine: All AllowShortLambdasOnASingleLine: All
@@ -108,6 +108,7 @@ ForEachMacros:
- foreach - foreach
- Q_FOREACH - Q_FOREACH
- BOOST_FOREACH - BOOST_FOREACH
- M_EACH
IfMacros: IfMacros:
- KJ_IF_MAYBE - KJ_IF_MAYBE
IncludeBlocks: Preserve IncludeBlocks: Preserve
@@ -136,7 +137,7 @@ IndentRequiresClause: false
IndentWidth: 4 IndentWidth: 4
IndentWrappedFunctionNames: true IndentWrappedFunctionNames: true
InsertBraces: false InsertBraces: false
InsertNewlineAtEOF: false InsertNewlineAtEOF: true
InsertTrailingCommas: None InsertTrailingCommas: None
IntegerLiteralSeparator: IntegerLiteralSeparator:
Binary: 0 Binary: 0
@@ -179,7 +180,7 @@ ReferenceAlignment: Pointer
ReflowComments: false ReflowComments: false
RemoveBracesLLVM: false RemoveBracesLLVM: false
RemoveParentheses: Leave RemoveParentheses: Leave
RemoveSemicolon: false RemoveSemicolon: true
RequiresClausePosition: OwnLine RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave SeparateDefinitionBlocks: Leave
@@ -226,7 +227,7 @@ SpacesInParensOptions:
InEmptyParentheses: false InEmptyParentheses: false
Other: false Other: false
SpacesInSquareBrackets: false SpacesInSquareBrackets: false
Standard: c++03 Standard: c++20
StatementAttributeLikeMacros: StatementAttributeLikeMacros:
- Q_EMIT - Q_EMIT
StatementMacros: StatementMacros:

View File

@@ -3,7 +3,7 @@
#include <gui/elements.h> #include <gui/elements.h>
#include <assets_icons.h> #include <assets_icons.h>
#define LOW_CHARGE_THRESHOLD 10 #define LOW_CHARGE_THRESHOLD 10
#define HIGH_DRAIN_CURRENT_THRESHOLD 100 #define HIGH_DRAIN_CURRENT_THRESHOLD 100
struct BatteryInfo { struct BatteryInfo {
@@ -17,7 +17,7 @@ static void draw_stat(Canvas* canvas, int x, int y, const Icon* icon, char* val)
canvas_draw_box(canvas, x - 4, y + 16, 24, 6); canvas_draw_box(canvas, x - 4, y + 16, 24, 6);
canvas_set_color(canvas, ColorBlack); canvas_set_color(canvas, ColorBlack);
canvas_draw_str_aligned(canvas, x + 8, y + 22, AlignCenter, AlignBottom, val); canvas_draw_str_aligned(canvas, x + 8, y + 22, AlignCenter, AlignBottom, val);
}; }
static void draw_battery(Canvas* canvas, BatteryInfoModel* data, int x, int y) { static void draw_battery(Canvas* canvas, BatteryInfoModel* data, int x, int y) {
char emote[20] = {}; char emote[20] = {};
@@ -85,7 +85,7 @@ static void draw_battery(Canvas* canvas, BatteryInfoModel* data, int x, int y) {
canvas_draw_str_aligned(canvas, 92, y + 3, AlignCenter, AlignCenter, emote); canvas_draw_str_aligned(canvas, 92, y + 3, AlignCenter, AlignCenter, emote);
canvas_draw_str_aligned(canvas, 92, y + 15, AlignCenter, AlignCenter, header); canvas_draw_str_aligned(canvas, 92, y + 15, AlignCenter, AlignCenter, header);
canvas_draw_str_aligned(canvas, 92, y + 27, AlignCenter, AlignCenter, value); canvas_draw_str_aligned(canvas, 92, y + 27, AlignCenter, AlignCenter, value);
}; }
static void battery_info_draw_callback(Canvas* canvas, void* context) { static void battery_info_draw_callback(Canvas* canvas, void* context) {
furi_assert(context); furi_assert(context);

View File

@@ -39,7 +39,7 @@ typedef struct {
} BtTestModel; } BtTestModel;
#define BT_TEST_START_MESSAGE "Ok - Start" #define BT_TEST_START_MESSAGE "Ok - Start"
#define BT_TEST_STOP_MESSAGE "Ok - Stop" #define BT_TEST_STOP_MESSAGE "Ok - Stop"
static void bt_test_process_up(BtTest* bt_test); static void bt_test_process_up(BtTest* bt_test);
static void bt_test_process_down(BtTest* bt_test); static void bt_test_process_down(BtTest* bt_test);

View File

@@ -2,11 +2,11 @@
#define ISO7816_RESPONSE_OK 0x9000 #define ISO7816_RESPONSE_OK 0x9000
#define ISO7816_RESPONSE_WRONG_LENGTH 0x6700 #define ISO7816_RESPONSE_WRONG_LENGTH 0x6700
#define ISO7816_RESPONSE_WRONG_PARAMETERS_P1_P2 0x6A00 #define ISO7816_RESPONSE_WRONG_PARAMETERS_P1_P2 0x6A00
#define ISO7816_RESPONSE_WRONG_LE 0x6C00 #define ISO7816_RESPONSE_WRONG_LE 0x6C00
#define ISO7816_RESPONSE_INSTRUCTION_NOT_SUPPORTED 0x6D00 #define ISO7816_RESPONSE_INSTRUCTION_NOT_SUPPORTED 0x6D00
#define ISO7816_RESPONSE_CLASS_NOT_SUPPORTED 0x6E00 #define ISO7816_RESPONSE_CLASS_NOT_SUPPORTED 0x6E00
#define ISO7816_RESPONSE_INTERNAL_EXCEPTION 0x6F00 #define ISO7816_RESPONSE_INTERNAL_EXCEPTION 0x6F00
void iso7816_set_response(ISO7816_Response_APDU* responseAPDU, uint16_t responseCode); void iso7816_set_response(ISO7816_Response_APDU* responseAPDU, uint16_t responseCode);

View File

@@ -4,8 +4,8 @@
#include "iso7816_atr.h" #include "iso7816_atr.h"
#include "core/common_defines.h" #include "core/common_defines.h"
#define ISO7816_READ_COMMAND_APDU_OK 0 #define ISO7816_READ_COMMAND_APDU_OK 0
#define ISO7816_READ_COMMAND_APDU_ERROR_WRONG_LE 1 #define ISO7816_READ_COMMAND_APDU_ERROR_WRONG_LE 1
#define ISO7816_READ_COMMAND_APDU_ERROR_WRONG_LENGTH 2 #define ISO7816_READ_COMMAND_APDU_ERROR_WRONG_LENGTH 2
typedef struct { typedef struct {

View File

@@ -40,11 +40,11 @@
#define TAG "ExpansionTest" #define TAG "ExpansionTest"
#define TEST_DIR_PATH EXT_PATH(TAG) #define TEST_DIR_PATH EXT_PATH(TAG)
#define TEST_FILE_NAME "test.txt" #define TEST_FILE_NAME "test.txt"
#define TEST_FILE_PATH EXT_PATH(TAG "/" TEST_FILE_NAME) #define TEST_FILE_PATH EXT_PATH(TAG "/" TEST_FILE_NAME)
#define HOST_SERIAL_ID (FuriHalSerialIdLpuart) #define HOST_SERIAL_ID (FuriHalSerialIdLpuart)
#define MODULE_SERIAL_ID (FuriHalSerialIdUsart) #define MODULE_SERIAL_ID (FuriHalSerialIdUsart)
#define RECEIVE_BUFFER_SIZE (sizeof(ExpansionFrame) + sizeof(ExpansionFrameChecksum)) #define RECEIVE_BUFFER_SIZE (sizeof(ExpansionFrame) + sizeof(ExpansionFrameChecksum))

View File

@@ -2,7 +2,7 @@
#include <furi.h> #include <furi.h>
#define DEFAULT_PATH "/" #define DEFAULT_PATH "/"
#define EXTENSION "*" #define EXTENSION "*"
bool file_browser_scene_browser_on_event(void* context, SceneManagerEvent event) { bool file_browser_scene_browser_on_event(void* context, SceneManagerEvent event) {
UNUSED(context); UNUSED(context);

View File

@@ -5,6 +5,7 @@
#include <toolbox/args.h> #include <toolbox/args.h>
#define TAG "SpeakerDebug" #define TAG "SpeakerDebug"
#define CLI_COMMAND "speaker_debug" #define CLI_COMMAND "speaker_debug"
typedef enum { typedef enum {

View File

@@ -4,8 +4,8 @@
#include <furi_hal.h> #include <furi_hal.h>
#define SUBGHZ_TEST_VERSION_APP "0.1" #define SUBGHZ_TEST_VERSION_APP "0.1"
#define SUBGHZ_TEST_DEVELOPED "SkorP" #define SUBGHZ_TEST_DEVELOPED "SkorP"
#define SUBGHZ_TEST_GITHUB "https://github.com/flipperdevices/flipperzero-firmware" #define SUBGHZ_TEST_GITHUB "https://github.com/flipperdevices/flipperzero-firmware"
typedef enum { typedef enum {
SubGhzTestViewVariableItemList, SubGhzTestViewVariableItemList,

View File

@@ -16,7 +16,7 @@
(value) &= ~(_one << (bit)); \ (value) &= ~(_one << (bit)); \
}) })
#define bit_write(value, bit, bitvalue) (bitvalue ? bit_set(value, bit) : bit_clear(value, bit)) #define bit_write(value, bit, bitvalue) (bitvalue ? bit_set(value, bit) : bit_clear(value, bit))
#define DURATION_DIFF(x, y) (((x) < (y)) ? ((y) - (x)) : ((x) - (y))) #define DURATION_DIFF(x, y) (((x) < (y)) ? ((y) - (x)) : ((x) - (y)))
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {

View File

@@ -9,13 +9,13 @@
* *
*/ */
#define SUBGHZ_PT_SHORT 300 #define SUBGHZ_PT_SHORT 300
#define SUBGHZ_PT_LONG (SUBGHZ_PT_SHORT * 3) #define SUBGHZ_PT_LONG (SUBGHZ_PT_SHORT * 3)
#define SUBGHZ_PT_GUARD (SUBGHZ_PT_SHORT * 30) #define SUBGHZ_PT_GUARD (SUBGHZ_PT_SHORT * 30)
#define SUBGHZ_PT_COUNT_KEY_433 9 #define SUBGHZ_PT_COUNT_KEY_433 9
#define SUBGHZ_PT_TIMEOUT_433 900 #define SUBGHZ_PT_TIMEOUT_433 900
#define SUBGHZ_PT_COUNT_KEY_868 9 #define SUBGHZ_PT_COUNT_KEY_868 9
#define SUBGHZ_PT_TIMEOUT_868 14000 #define SUBGHZ_PT_TIMEOUT_868 14000
#define TAG "SubGhzProtocolPrinceton" #define TAG "SubGhzProtocolPrinceton"

View File

@@ -9,9 +9,10 @@
#include <notification/notification.h> #include <notification/notification.h>
#include <notification/notification_messages.h> #include <notification/notification_messages.h>
#define LINES_ON_SCREEN 6
#define COLUMNS_ON_SCREEN 21
#define TAG "UartEcho" #define TAG "UartEcho"
#define LINES_ON_SCREEN 6
#define COLUMNS_ON_SCREEN 21
#define DEFAULT_BAUD_RATE 230400 #define DEFAULT_BAUD_RATE 230400
typedef struct UartDumpModel UartDumpModel; typedef struct UartDumpModel UartDumpModel;
@@ -147,7 +148,7 @@ static void uart_echo_push_to_list(UartDumpModel* model, const char data) {
bool new_string_needed = false; bool new_string_needed = false;
if(furi_string_size(model->list[model->line]->text) >= COLUMNS_ON_SCREEN) { if(furi_string_size(model->list[model->line]->text) >= COLUMNS_ON_SCREEN) {
new_string_needed = true; new_string_needed = true;
} else if((data == '\n' || data == '\r')) { } else if(data == '\n' || data == '\r') {
// pack line breaks // pack line breaks
if(model->last_char != '\n' && model->last_char != '\r') { if(model->last_char != '\n' && model->last_char != '\r') {
new_string_needed = true; new_string_needed = true;

View File

@@ -72,7 +72,7 @@ void test_runner_free(TestRunner* instance) {
free(instance); free(instance);
} }
#define TEST_RUNNER_TMP_DIR EXT_PATH(".tmp") #define TEST_RUNNER_TMP_DIR EXT_PATH(".tmp")
#define TEST_RUNNER_TMP_UNIT_TESTS_DIR TEST_RUNNER_TMP_DIR "/unit_tests" #define TEST_RUNNER_TMP_UNIT_TESTS_DIR TEST_RUNNER_TMP_DIR "/unit_tests"
static bool test_runner_run_plugin(TestRunner* instance, const char* path) { static bool test_runner_run_plugin(TestRunner* instance, const char* path) {

View File

@@ -6,7 +6,7 @@
#include <storage/storage.h> #include <storage/storage.h>
#define BT_TEST_KEY_STORAGE_FILE_PATH EXT_PATH("unit_tests/bt_test.keys") #define BT_TEST_KEY_STORAGE_FILE_PATH EXT_PATH("unit_tests/bt_test.keys")
#define BT_TEST_NVM_RAM_BUFF_SIZE (507 * 4) // The same as in ble NVM storage #define BT_TEST_NVM_RAM_BUFF_SIZE (507 * 4) // The same as in ble NVM storage
typedef struct { typedef struct {
Storage* storage; Storage* storage;

View File

@@ -173,7 +173,7 @@ It was compressed with heatshrink using the following command:
`python3 -m heatshrink2 compress -w 9 -l 4 hsstream.out.bin hsstream.in.bin` `python3 -m heatshrink2 compress -w 9 -l 4 hsstream.out.bin hsstream.in.bin`
*/ */
#define HSSTREAM_IN COMPRESS_UNIT_TESTS_PATH("hsstream.in.bin") #define HSSTREAM_IN COMPRESS_UNIT_TESTS_PATH("hsstream.in.bin")
#define HSSTREAM_OUT COMPRESS_UNIT_TESTS_PATH("hsstream.out.bin") #define HSSTREAM_OUT COMPRESS_UNIT_TESTS_PATH("hsstream.out.bin")
static void compress_test_heatshrink_stream() { static void compress_test_heatshrink_stream() {
@@ -239,7 +239,7 @@ static void compress_test_heatshrink_stream() {
furi_record_close(RECORD_STORAGE); furi_record_close(RECORD_STORAGE);
} }
#define HS_TAR_PATH COMPRESS_UNIT_TESTS_PATH("test.ths") #define HS_TAR_PATH COMPRESS_UNIT_TESTS_PATH("test.ths")
#define HS_TAR_EXTRACT_PATH COMPRESS_UNIT_TESTS_PATH("tar_out") #define HS_TAR_EXTRACT_PATH COMPRESS_UNIT_TESTS_PATH("tar_out")
static bool file_counter(const char* name, bool is_dir, void* context) { static bool file_counter(const char* name, bool is_dir, void* context) {

View File

@@ -5,8 +5,8 @@
#include <expansion/expansion_protocol.h> #include <expansion/expansion_protocol.h>
#define EXPANSION_TEST_GARBAGE_MAGIC (0xB19AF) #define EXPANSION_TEST_GARBAGE_MAGIC (0xB19AF)
#define EXPANSION_TEST_GARBAGE_BUF_SIZE (0x100U) #define EXPANSION_TEST_GARBAGE_BUF_SIZE (0x100U)
#define EXPANSION_TEST_GARBAGE_ITERATIONS (100U) #define EXPANSION_TEST_GARBAGE_ITERATIONS (100U)
MU_TEST(test_expansion_encoded_size) { MU_TEST(test_expansion_encoded_size) {

View File

@@ -5,7 +5,7 @@
#include "../test.h" // IWYU pragma: keep #include "../test.h" // IWYU pragma: keep
#define TEST_DIR_NAME EXT_PATH(".tmp/unit_tests/ff") #define TEST_DIR_NAME EXT_PATH(".tmp/unit_tests/ff")
#define TEST_DIR TEST_DIR_NAME "/" #define TEST_DIR TEST_DIR_NAME "/"
static const char* test_filetype = "Flipper File test"; static const char* test_filetype = "Flipper File test";
static const uint32_t test_version = 666; static const uint32_t test_version = 666;

View File

@@ -5,11 +5,11 @@
#include <lp5562_reg.h> #include <lp5562_reg.h>
#include "../test.h" // IWYU pragma: keep #include "../test.h" // IWYU pragma: keep
#define DATA_SIZE 4 #define DATA_SIZE 4
#define EEPROM_ADDRESS 0b10101000 #define EEPROM_ADDRESS 0b10101000
#define EEPROM_ADDRESS_HIGH (EEPROM_ADDRESS | 0b10) #define EEPROM_ADDRESS_HIGH (EEPROM_ADDRESS | 0b10)
#define EEPROM_SIZE 512 #define EEPROM_SIZE 512
#define EEPROM_PAGE_SIZE 16 #define EEPROM_PAGE_SIZE 16
#define EEPROM_WRITE_DELAY_MS 6 #define EEPROM_WRITE_DELAY_MS 6
static void furi_hal_i2c_int_setup(void) { static void furi_hal_i2c_int_setup(void) {

View File

@@ -4,7 +4,7 @@
#include <common/infrared_common_i.h> #include <common/infrared_common_i.h>
#include "../test.h" // IWYU pragma: keep #include "../test.h" // IWYU pragma: keep
#define IR_TEST_FILES_DIR EXT_PATH("unit_tests/infrared/") #define IR_TEST_FILES_DIR EXT_PATH("unit_tests/infrared/")
#define IR_TEST_FILE_PREFIX "test_" #define IR_TEST_FILE_PREFIX "test_"
#define IR_TEST_FILE_SUFFIX ".irtest" #define IR_TEST_FILE_SUFFIX ".irtest"

View File

@@ -6,8 +6,8 @@
#define LF_RFID_READ_TIMING_MULTIPLIER 8 #define LF_RFID_READ_TIMING_MULTIPLIER 8
#define EM_TEST_DATA {0x58, 0x00, 0x85, 0x64, 0x02} #define EM_TEST_DATA {0x58, 0x00, 0x85, 0x64, 0x02}
#define EM_TEST_DATA_SIZE 5 #define EM_TEST_DATA_SIZE 5
#define EM_TEST_EMULATION_TIMINGS_COUNT (64 * 2) #define EM_TEST_EMULATION_TIMINGS_COUNT (64 * 2)
const int8_t em_test_timings[EM_TEST_EMULATION_TIMINGS_COUNT] = { const int8_t em_test_timings[EM_TEST_EMULATION_TIMINGS_COUNT] = {
@@ -20,8 +20,8 @@ const int8_t em_test_timings[EM_TEST_EMULATION_TIMINGS_COUNT] = {
-32, 32, 32, -32, -32, 32, -32, 32, -32, 32, -32, 32, -32, 32, -32, 32, 32, -32, -32, 32, -32, 32, -32, 32, -32, 32, -32, 32,
}; };
#define HID10301_TEST_DATA {0x8D, 0x48, 0xA8} #define HID10301_TEST_DATA {0x8D, 0x48, 0xA8}
#define HID10301_TEST_DATA_SIZE 3 #define HID10301_TEST_DATA_SIZE 3
#define HID10301_TEST_EMULATION_TIMINGS_COUNT (541 * 2) #define HID10301_TEST_EMULATION_TIMINGS_COUNT (541 * 2)
const int8_t hid10301_test_timings[HID10301_TEST_EMULATION_TIMINGS_COUNT] = { const int8_t hid10301_test_timings[HID10301_TEST_EMULATION_TIMINGS_COUNT] = {
@@ -69,8 +69,8 @@ const int8_t hid10301_test_timings[HID10301_TEST_EMULATION_TIMINGS_COUNT] = {
5, -5, 4, -4, 4, -4, 4, -4, 4, -4, 4, -4, 4, -4, 4, -4, 5, -5, 4, -4, 4, -4, 4, -4, 4, -4, 4, -4, 4, -4, 4, -4,
}; };
#define IOPROX_XSF_TEST_DATA {0x65, 0x01, 0x05, 0x39} #define IOPROX_XSF_TEST_DATA {0x65, 0x01, 0x05, 0x39}
#define IOPROX_XSF_TEST_DATA_SIZE 4 #define IOPROX_XSF_TEST_DATA_SIZE 4
#define IOPROX_XSF_TEST_EMULATION_TIMINGS_COUNT (468 * 2) #define IOPROX_XSF_TEST_EMULATION_TIMINGS_COUNT (468 * 2)
const int8_t ioprox_xsf_test_timings[IOPROX_XSF_TEST_EMULATION_TIMINGS_COUNT] = { const int8_t ioprox_xsf_test_timings[IOPROX_XSF_TEST_EMULATION_TIMINGS_COUNT] = {
@@ -113,8 +113,8 @@ const int8_t ioprox_xsf_test_timings[IOPROX_XSF_TEST_EMULATION_TIMINGS_COUNT] =
}; };
#define INDALA26_EMULATION_TIMINGS_COUNT (1024 * 2) #define INDALA26_EMULATION_TIMINGS_COUNT (1024 * 2)
#define INDALA26_TEST_DATA {0x3B, 0x73, 0x64, 0xA8} #define INDALA26_TEST_DATA {0x3B, 0x73, 0x64, 0xA8}
#define INDALA26_TEST_DATA_SIZE 4 #define INDALA26_TEST_DATA_SIZE 4
const int8_t indala26_test_timings[INDALA26_EMULATION_TIMINGS_COUNT] = { const int8_t indala26_test_timings[INDALA26_EMULATION_TIMINGS_COUNT] = {
1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1,
@@ -205,8 +205,8 @@ const int8_t indala26_test_timings[INDALA26_EMULATION_TIMINGS_COUNT] = {
-1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1,
}; };
#define FDXB_TEST_DATA {0x44, 0x88, 0x23, 0xF2, 0x5A, 0x6F, 0x00, 0x01, 0x00, 0x00, 0x00} #define FDXB_TEST_DATA {0x44, 0x88, 0x23, 0xF2, 0x5A, 0x6F, 0x00, 0x01, 0x00, 0x00, 0x00}
#define FDXB_TEST_DATA_SIZE 11 #define FDXB_TEST_DATA_SIZE 11
#define FDXB_TEST_EMULATION_TIMINGS_COUNT (206) #define FDXB_TEST_EMULATION_TIMINGS_COUNT (206)
const int8_t fdxb_test_timings[FDXB_TEST_EMULATION_TIMINGS_COUNT] = { const int8_t fdxb_test_timings[FDXB_TEST_EMULATION_TIMINGS_COUNT] = {

View File

@@ -71,7 +71,7 @@ extern "C" {
/* Maximum length of last message */ /* Maximum length of last message */
#define MINUNIT_MESSAGE_LEN 1024 #define MINUNIT_MESSAGE_LEN 1024
/* Accuracy with which floats are compared */ /* Accuracy with which floats are compared */
#define MINUNIT_EPSILON 1E-12 #define MINUNIT_EPSILON 1E-12
#include "minunit_vars_ex.h" #include "minunit_vars_ex.h"
@@ -84,9 +84,9 @@ void minunit_print_fail(const char* error);
void minunit_printf_warning(const char* format, ...); void minunit_printf_warning(const char* format, ...);
/* Definitions */ /* Definitions */
#define MU_TEST(method_name) static void method_name(void) #define MU_TEST(method_name) static void method_name(void)
#define MU_TEST_1(method_name, arg_1) static void method_name(arg_1) #define MU_TEST_1(method_name, arg_1) static void method_name(arg_1)
#define MU_TEST_SUITE(suite_name) static void suite_name(void) #define MU_TEST_SUITE(suite_name) static void suite_name(void)
#define MU__SAFE_BLOCK(block) \ #define MU__SAFE_BLOCK(block) \
do { \ do { \

View File

@@ -30,7 +30,7 @@
#define TAG "NfcTest" #define TAG "NfcTest"
#define NFC_TEST_NFC_DEV_PATH EXT_PATH("unit_tests/nfc/nfc_device_test.nfc") #define NFC_TEST_NFC_DEV_PATH EXT_PATH("unit_tests/nfc/nfc_device_test.nfc")
#define NFC_APP_MF_CLASSIC_DICT_UNIT_TEST_PATH EXT_PATH("unit_tests/mf_dict.nfc") #define NFC_APP_MF_CLASSIC_DICT_UNIT_TEST_PATH EXT_PATH("unit_tests/mf_dict.nfc")
#define NFC_TEST_FLAG_WORKER_DONE (1) #define NFC_TEST_FLAG_WORKER_DONE (1)

View File

@@ -43,14 +43,15 @@ typedef struct {
static RpcSessionContext rpc_session[TEST_RPC_SESSIONS]; static RpcSessionContext rpc_session[TEST_RPC_SESSIONS];
#define TAG "UnitTestsRpc" #define TAG "UnitTestsRpc"
#define MAX_RECEIVE_OUTPUT_TIMEOUT 3000
#define MAX_NAME_LENGTH 255
#define MAX_DATA_SIZE 512u // have to be exact as in rpc_storage.c
#define TEST_DIR_NAME EXT_PATH(".tmp/unit_tests/rpc")
#define TEST_DIR TEST_DIR_NAME "/"
#define MD5SUM_SIZE 16
#define PING_REQUEST 0 #define MAX_RECEIVE_OUTPUT_TIMEOUT 3000
#define MAX_NAME_LENGTH 255
#define MAX_DATA_SIZE 512u // have to be exact as in rpc_storage.c
#define TEST_DIR_NAME EXT_PATH(".tmp/unit_tests/rpc")
#define TEST_DIR TEST_DIR_NAME "/"
#define MD5SUM_SIZE 16
#define PING_REQUEST 0
#define PING_RESPONSE 1 #define PING_RESPONSE 1
#define WRITE_REQUEST 0 #define WRITE_REQUEST 0
#define READ_RESPONSE 1 #define READ_RESPONSE 1
@@ -554,7 +555,7 @@ static bool test_rpc_pb_stream_read(pb_istream_t* istream, pb_byte_t* buf, size_
time_left = MAX(time_left, 0); time_left = MAX(time_left, 0);
bytes_received = bytes_received =
furi_stream_buffer_receive(session_context->output_stream, buf, count, time_left); furi_stream_buffer_receive(session_context->output_stream, buf, count, time_left);
return (count == bytes_received); return count == bytes_received;
} }
static void static void
@@ -971,7 +972,7 @@ MU_TEST(test_storage_info) {
} }
#define TEST_DIR_STAT_NAME TEST_DIR "stat_dir" #define TEST_DIR_STAT_NAME TEST_DIR "stat_dir"
#define TEST_DIR_STAT TEST_DIR_STAT_NAME "/" #define TEST_DIR_STAT TEST_DIR_STAT_NAME "/"
MU_TEST(test_storage_stat) { MU_TEST(test_storage_stat) {
test_create_dir(TEST_DIR_STAT_NAME); test_create_dir(TEST_DIR_STAT_NAME);
test_create_file(TEST_DIR_STAT "empty.txt", 0); test_create_file(TEST_DIR_STAT "empty.txt", 0);
@@ -1212,7 +1213,7 @@ static void test_storage_delete_run(
} }
#define TEST_DIR_RMRF_NAME TEST_DIR "rmrf_test" #define TEST_DIR_RMRF_NAME TEST_DIR "rmrf_test"
#define TEST_DIR_RMRF TEST_DIR_RMRF_NAME "/" #define TEST_DIR_RMRF TEST_DIR_RMRF_NAME "/"
MU_TEST(test_storage_delete_recursive) { MU_TEST(test_storage_delete_recursive) {
test_create_dir(TEST_DIR_RMRF_NAME); test_create_dir(TEST_DIR_RMRF_NAME);

View File

@@ -9,7 +9,7 @@
#define UNIT_TESTS_PATH(path) EXT_PATH("unit_tests/" path) #define UNIT_TESTS_PATH(path) EXT_PATH("unit_tests/" path)
#define STORAGE_LOCKED_FILE EXT_PATH("locked_file.test") #define STORAGE_LOCKED_FILE EXT_PATH("locked_file.test")
#define STORAGE_LOCKED_DIR STORAGE_INT_PATH_PREFIX #define STORAGE_LOCKED_DIR STORAGE_INT_PATH_PREFIX
#define STORAGE_TEST_DIR UNIT_TESTS_PATH("test_dir") #define STORAGE_TEST_DIR UNIT_TESTS_PATH("test_dir")

View File

@@ -11,13 +11,14 @@
#include <lib/subghz/devices/cc1101_configs.h> #include <lib/subghz/devices/cc1101_configs.h>
#define TAG "SubGhzTest" #define TAG "SubGhzTest"
#define KEYSTORE_DIR_NAME EXT_PATH("subghz/assets/keeloq_mfcodes")
#define CAME_ATOMO_DIR_NAME EXT_PATH("subghz/assets/came_atomo") #define KEYSTORE_DIR_NAME EXT_PATH("subghz/assets/keeloq_mfcodes")
#define NICE_FLOR_S_DIR_NAME EXT_PATH("subghz/assets/nice_flor_s") #define CAME_ATOMO_DIR_NAME EXT_PATH("subghz/assets/came_atomo")
#define ALUTECH_AT_4N_DIR_NAME EXT_PATH("subghz/assets/alutech_at_4n") #define NICE_FLOR_S_DIR_NAME EXT_PATH("subghz/assets/nice_flor_s")
#define TEST_RANDOM_DIR_NAME EXT_PATH("unit_tests/subghz/test_random_raw.sub") #define ALUTECH_AT_4N_DIR_NAME EXT_PATH("subghz/assets/alutech_at_4n")
#define TEST_RANDOM_DIR_NAME EXT_PATH("unit_tests/subghz/test_random_raw.sub")
#define TEST_RANDOM_COUNT_PARSE 329 #define TEST_RANDOM_COUNT_PARSE 329
#define TEST_TIMEOUT 10000 #define TEST_TIMEOUT 10000
static SubGhzEnvironment* environment_handler; static SubGhzEnvironment* environment_handler;
static SubGhzReceiver* receiver_handler; static SubGhzReceiver* receiver_handler;

View File

@@ -2,7 +2,7 @@
#include <flipper_application/flipper_application.h> #include <flipper_application/flipper_application.h>
#define APPID "UnitTest" #define APPID "UnitTest"
#define API_VERSION (0u) #define API_VERSION (0u)
typedef struct { typedef struct {

View File

@@ -4,7 +4,7 @@
#include <input/input.h> #include <input/input.h>
#define MOUSE_MOVE_SHORT 5 #define MOUSE_MOVE_SHORT 5
#define MOUSE_MOVE_LONG 20 #define MOUSE_MOVE_LONG 20
typedef enum { typedef enum {
EventTypeInput, EventTypeInput,

View File

@@ -21,11 +21,11 @@
#define SUBGHZ_DEVICE_CC1101_EXT_TX_GPIO (&gpio_ext_pb2) #define SUBGHZ_DEVICE_CC1101_EXT_TX_GPIO (&gpio_ext_pb2)
/* DMA Channels definition */ /* DMA Channels definition */
#define SUBGHZ_DEVICE_CC1101_EXT_DMA (DMA2) #define SUBGHZ_DEVICE_CC1101_EXT_DMA (DMA2)
#define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH3_CHANNEL (LL_DMA_CHANNEL_3) #define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH3_CHANNEL (LL_DMA_CHANNEL_3)
#define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH4_CHANNEL (LL_DMA_CHANNEL_4) #define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH4_CHANNEL (LL_DMA_CHANNEL_4)
#define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH5_CHANNEL (LL_DMA_CHANNEL_5) #define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH5_CHANNEL (LL_DMA_CHANNEL_5)
#define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH3_IRQ (FuriHalInterruptIdDma2Ch3) #define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH3_IRQ (FuriHalInterruptIdDma2Ch3)
#define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH3_DEF \ #define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH3_DEF \
SUBGHZ_DEVICE_CC1101_EXT_DMA, SUBGHZ_DEVICE_CC1101_EXT_DMA_CH3_CHANNEL SUBGHZ_DEVICE_CC1101_EXT_DMA, SUBGHZ_DEVICE_CC1101_EXT_DMA_CH3_CHANNEL
#define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH4_DEF \ #define SUBGHZ_DEVICE_CC1101_EXT_DMA_CH4_DEF \
@@ -365,7 +365,7 @@ bool subghz_device_cc1101_ext_is_rx_data_crc_valid(void) {
cc1101_read_reg( cc1101_read_reg(
subghz_device_cc1101_ext->spi_bus_handle, CC1101_STATUS_LQI | CC1101_BURST, data); subghz_device_cc1101_ext->spi_bus_handle, CC1101_STATUS_LQI | CC1101_BURST, data);
furi_hal_spi_release(subghz_device_cc1101_ext->spi_bus_handle); furi_hal_spi_release(subghz_device_cc1101_ext->spi_bus_handle);
if(((data[0] >> 7) & 0x01)) { if((data[0] >> 7) & 0x01) {
return true; return true;
} else { } else {
return false; return false;
@@ -826,9 +826,8 @@ bool subghz_device_cc1101_ext_start_async_tx(SubGhzDeviceCC1101ExtCallback callb
} }
bool subghz_device_cc1101_ext_is_async_tx_complete(void) { bool subghz_device_cc1101_ext_is_async_tx_complete(void) {
return ( return (subghz_device_cc1101_ext->state == SubGhzDeviceCC1101ExtStateAsyncTx) &&
(subghz_device_cc1101_ext->state == SubGhzDeviceCC1101ExtStateAsyncTx) && (LL_TIM_GetAutoReload(TIM17) == 0);
(LL_TIM_GetAutoReload(TIM17) == 0));
} }
void subghz_device_cc1101_ext_stop_async_tx(void) { void subghz_device_cc1101_ext_stop_async_tx(void) {

View File

@@ -5,7 +5,7 @@
#include <string.h> #include <string.h>
#define TAG "ble_beacon_app" #define TAG "BleBeaconApp"
static bool ble_beacon_app_custom_event_callback(void* context, uint32_t event) { static bool ble_beacon_app_custom_event_callback(void* context, uint32_t event) {
furi_assert(context); furi_assert(context);

View File

@@ -6,7 +6,7 @@
*/ */
#pragma once #pragma once
#define PLUGIN_APP_ID "example_plugins" #define PLUGIN_APP_ID "example_plugins"
#define PLUGIN_API_VERSION 1 #define PLUGIN_API_VERSION 1
typedef struct { typedef struct {

View File

@@ -6,7 +6,7 @@
*/ */
#pragma once #pragma once
#define PLUGIN_APP_ID "example_plugins_advanced" #define PLUGIN_APP_ID "example_plugins_advanced"
#define PLUGIN_API_VERSION 1 #define PLUGIN_API_VERSION 1
typedef struct { typedef struct {

View File

@@ -25,15 +25,15 @@
#include <furi_hal_power.h> #include <furi_hal_power.h>
#define UPDATE_PERIOD_MS 1000UL #define UPDATE_PERIOD_MS 1000UL
#define TEXT_STORE_SIZE 64U #define TEXT_STORE_SIZE 64U
#define DS18B20_CMD_SKIP_ROM 0xccU #define DS18B20_CMD_SKIP_ROM 0xccU
#define DS18B20_CMD_CONVERT 0x44U #define DS18B20_CMD_CONVERT 0x44U
#define DS18B20_CMD_READ_SCRATCHPAD 0xbeU #define DS18B20_CMD_READ_SCRATCHPAD 0xbeU
#define DS18B20_CFG_RESOLUTION_POS 5U #define DS18B20_CFG_RESOLUTION_POS 5U
#define DS18B20_CFG_RESOLUTION_MASK 0x03U #define DS18B20_CFG_RESOLUTION_MASK 0x03U
#define DS18B20_DECIMAL_PART_MASK 0x0fU #define DS18B20_DECIMAL_PART_MASK 0x0fU
#define DS18B20_SIGN_MASK 0xf0U #define DS18B20_SIGN_MASK 0xf0U

View File

@@ -360,7 +360,7 @@ bool archive_is_home(ArchiveBrowserView* browser) {
} }
const char* default_path = archive_get_default_path(archive_get_tab(browser)); const char* default_path = archive_get_default_path(archive_get_tab(browser));
return (furi_string_cmp_str(browser->path, default_path) == 0); return furi_string_cmp_str(browser->path, default_path) == 0;
} }
const char* archive_get_name(ArchiveBrowserView* browser) { const char* archive_get_name(ArchiveBrowserView* browser) {

View File

@@ -3,8 +3,8 @@
#include "../archive_i.h" #include "../archive_i.h"
#include <storage/storage.h> #include <storage/storage.h>
#define TAB_RIGHT InputKeyRight // Default tab switch direction #define TAB_RIGHT InputKeyRight // Default tab switch direction
#define TAB_DEFAULT ArchiveTabFavorites // Start tab #define TAB_DEFAULT ArchiveTabFavorites // Start tab
#define FILE_LIST_BUF_LEN 50 #define FILE_LIST_BUF_LEN 50
static const char* tab_default_paths[] = { static const char* tab_default_paths[] = {
@@ -62,7 +62,7 @@ static inline const char* archive_get_default_path(ArchiveTabEnum tab) {
} }
inline bool archive_is_known_app(ArchiveFileTypeEnum type) { inline bool archive_is_known_app(ArchiveFileTypeEnum type) {
return (type != ArchiveFileTypeFolder && type != ArchiveFileTypeUnknown); return type != ArchiveFileTypeFolder && type != ArchiveFileTypeUnknown;
} }
bool archive_is_item_in_array(ArchiveBrowserViewModel* model, uint32_t idx); bool archive_is_item_in_array(ArchiveBrowserViewModel* model, uint32_t idx);

View File

@@ -2,7 +2,7 @@
#include <storage/storage.h> #include <storage/storage.h>
#define ARCHIVE_FAV_PATH ANY_PATH("favorites.txt") #define ARCHIVE_FAV_PATH ANY_PATH("favorites.txt")
#define ARCHIVE_FAV_TEMP_PATH ANY_PATH("favorites.tmp") #define ARCHIVE_FAV_TEMP_PATH ANY_PATH("favorites.tmp")
uint16_t archive_favorites_count(void* context); uint16_t archive_favorites_count(void* context);

View File

@@ -8,7 +8,7 @@
#define TAG "ArchiveSceneBrowser" #define TAG "ArchiveSceneBrowser"
#define SCENE_STATE_DEFAULT (0) #define SCENE_STATE_DEFAULT (0)
#define SCENE_STATE_NEED_REFRESH (1) #define SCENE_STATE_NEED_REFRESH (1)
static const char* archive_get_flipper_app_name(ArchiveFileTypeEnum file_type) { static const char* archive_get_flipper_app_name(ArchiveFileTypeEnum file_type) {

View File

@@ -5,7 +5,7 @@
#include "toolbox/path.h" #include "toolbox/path.h"
#define SCENE_DELETE_CUSTOM_EVENT (0UL) #define SCENE_DELETE_CUSTOM_EVENT (0UL)
#define MAX_TEXT_INPUT_LEN 22 #define MAX_TEXT_INPUT_LEN 22
void archive_scene_delete_widget_callback(GuiButtonType result, InputType type, void* context) { void archive_scene_delete_widget_callback(GuiButtonType result, InputType type, void* context) {
furi_assert(context); furi_assert(context);

View File

@@ -6,7 +6,7 @@
#include "toolbox/path.h" #include "toolbox/path.h"
#define SCENE_RENAME_CUSTOM_EVENT (0UL) #define SCENE_RENAME_CUSTOM_EVENT (0UL)
#define MAX_TEXT_INPUT_LEN 22 #define MAX_TEXT_INPUT_LEN 22
void archive_scene_rename_text_input_callback(void* context) { void archive_scene_rename_text_input_callback(void* context) {
ArchiveApp* archive = (ArchiveApp*)context; ArchiveApp* archive = (ArchiveApp*)context;

View File

@@ -5,7 +5,7 @@
#include "../helpers/archive_browser.h" #include "../helpers/archive_browser.h"
#define SCROLL_INTERVAL (333) #define SCROLL_INTERVAL (333)
#define SCROLL_DELAY (2) #define SCROLL_DELAY (2)
static const char* ArchiveTabNames[] = { static const char* ArchiveTabNames[] = {
[ArchiveTabFavorites] = "Favorites", [ArchiveTabFavorites] = "Favorites",

View File

@@ -11,12 +11,12 @@
#include <storage/storage.h> #include <storage/storage.h>
#include <furi.h> #include <furi.h>
#define MAX_LEN_PX 110 #define MAX_LEN_PX 110
#define MAX_NAME_LEN 255 #define MAX_NAME_LEN 255
#define MAX_EXT_LEN 6 #define MAX_EXT_LEN 6
#define FRAME_HEIGHT 12 #define FRAME_HEIGHT 12
#define MENU_ITEMS 4u #define MENU_ITEMS 4u
#define MOVE_OFFSET 5u #define MOVE_OFFSET 5u
typedef enum { typedef enum {
ArchiveTabFavorites, ArchiveTabFavorites,

View File

@@ -5,9 +5,9 @@
#include <lib/toolbox/path.h> #include <lib/toolbox/path.h>
#include <flipper_format/flipper_format.h> #include <flipper_format/flipper_format.h>
#define BAD_USB_SETTINGS_PATH BAD_USB_APP_BASE_FOLDER "/.badusb.settings" #define BAD_USB_SETTINGS_PATH BAD_USB_APP_BASE_FOLDER "/.badusb.settings"
#define BAD_USB_SETTINGS_FILE_TYPE "Flipper BadUSB Settings File" #define BAD_USB_SETTINGS_FILE_TYPE "Flipper BadUSB Settings File"
#define BAD_USB_SETTINGS_VERSION 1 #define BAD_USB_SETTINGS_VERSION 1
#define BAD_USB_SETTINGS_DEFAULT_LAYOUT BAD_USB_APP_PATH_LAYOUT_FOLDER "/en-US.kl" #define BAD_USB_SETTINGS_DEFAULT_LAYOUT BAD_USB_APP_PATH_LAYOUT_FOLDER "/en-US.kl"
static bool bad_usb_app_custom_event_callback(void* context, uint32_t event) { static bool bad_usb_app_custom_event_callback(void* context, uint32_t event) {

View File

@@ -16,10 +16,10 @@
#include "views/bad_usb_view.h" #include "views/bad_usb_view.h"
#include <furi_hal_usb.h> #include <furi_hal_usb.h>
#define BAD_USB_APP_BASE_FOLDER ANY_PATH("badusb") #define BAD_USB_APP_BASE_FOLDER ANY_PATH("badusb")
#define BAD_USB_APP_PATH_LAYOUT_FOLDER BAD_USB_APP_BASE_FOLDER "/assets/layouts" #define BAD_USB_APP_PATH_LAYOUT_FOLDER BAD_USB_APP_BASE_FOLDER "/assets/layouts"
#define BAD_USB_APP_SCRIPT_EXTENSION ".txt" #define BAD_USB_APP_SCRIPT_EXTENSION ".txt"
#define BAD_USB_APP_LAYOUT_EXTENSION ".kl" #define BAD_USB_APP_LAYOUT_EXTENSION ".kl"
typedef enum { typedef enum {
BadUsbAppErrorNoFiles, BadUsbAppErrorNoFiles,

View File

@@ -9,6 +9,7 @@
#include <dolphin/dolphin.h> #include <dolphin/dolphin.h>
#define TAG "BadUsb" #define TAG "BadUsb"
#define WORKER_TAG TAG "Worker" #define WORKER_TAG TAG "Worker"
#define BADUSB_ASCII_TO_KEY(script, x) \ #define BADUSB_ASCII_TO_KEY(script, x) \
@@ -46,7 +47,7 @@ uint32_t ducky_get_command_len(const char* line) {
} }
bool ducky_is_line_end(const char chr) { bool ducky_is_line_end(const char chr) {
return ((chr == ' ') || (chr == '\0') || (chr == '\r') || (chr == '\n')); return (chr == ' ') || (chr == '\0') || (chr == '\r') || (chr == '\n');
} }
uint16_t ducky_get_keycode(BadUsbScript* bad_usb, const char* param, bool accept_chars) { uint16_t ducky_get_keycode(BadUsbScript* bad_usb, const char* param, bool accept_chars) {
@@ -56,7 +57,7 @@ uint16_t ducky_get_keycode(BadUsbScript* bad_usb, const char* param, bool accept
} }
if((accept_chars) && (strlen(param) > 0)) { if((accept_chars) && (strlen(param) > 0)) {
return (BADUSB_ASCII_TO_KEY(bad_usb, param[0]) & 0xFF); return BADUSB_ASCII_TO_KEY(bad_usb, param[0]) & 0xFF;
} }
return 0; return 0;
} }
@@ -305,7 +306,7 @@ static int32_t ducky_script_execute_next(BadUsbScript* bad_usb, File* script_fil
FURI_LOG_E(WORKER_TAG, "Unknown command at line %zu", bad_usb->st.line_cur - 1U); FURI_LOG_E(WORKER_TAG, "Unknown command at line %zu", bad_usb->st.line_cur - 1U);
return SCRIPT_STATE_ERROR; return SCRIPT_STATE_ERROR;
} else { } else {
return (delay_val + bad_usb->defdelay); return delay_val + bad_usb->defdelay;
} }
} }
@@ -344,7 +345,7 @@ static int32_t ducky_script_execute_next(BadUsbScript* bad_usb, File* script_fil
FURI_LOG_E(WORKER_TAG, "Unknown command at line %zu", bad_usb->st.line_cur); FURI_LOG_E(WORKER_TAG, "Unknown command at line %zu", bad_usb->st.line_cur);
return SCRIPT_STATE_ERROR; return SCRIPT_STATE_ERROR;
} else { } else {
return (delay_val + bad_usb->defdelay); return delay_val + bad_usb->defdelay;
} }
} else { } else {
furi_string_push_back(bad_usb->line, bad_usb->file_buf[i]); furi_string_push_back(bad_usb->line, bad_usb->file_buf[i]);

View File

@@ -216,6 +216,7 @@ static const DuckyCmd ducky_commands[] = {
}; };
#define TAG "BadUsb" #define TAG "BadUsb"
#define WORKER_TAG TAG "Worker" #define WORKER_TAG TAG "Worker"
int32_t ducky_execute_cmd(BadUsbScript* bad_usb, const char* line) { int32_t ducky_execute_cmd(BadUsbScript* bad_usb, const char* line) {
@@ -231,7 +232,7 @@ int32_t ducky_execute_cmd(BadUsbScript* bad_usb, const char* line) {
if(ducky_commands[i].callback == NULL) { if(ducky_commands[i].callback == NULL) {
return 0; return 0;
} else { } else {
return ((ducky_commands[i].callback)(bad_usb, line, ducky_commands[i].param)); return (ducky_commands[i].callback)(bad_usb, line, ducky_commands[i].param);
} }
} }
} }

View File

@@ -9,10 +9,10 @@ extern "C" {
#include "ducky_script.h" #include "ducky_script.h"
#include "bad_usb_hid.h" #include "bad_usb_hid.h"
#define SCRIPT_STATE_ERROR (-1) #define SCRIPT_STATE_ERROR (-1)
#define SCRIPT_STATE_END (-2) #define SCRIPT_STATE_END (-2)
#define SCRIPT_STATE_NEXT_LINE (-3) #define SCRIPT_STATE_NEXT_LINE (-3)
#define SCRIPT_STATE_CMD_UNKNOWN (-4) #define SCRIPT_STATE_CMD_UNKNOWN (-4)
#define SCRIPT_STATE_STRING_START (-5) #define SCRIPT_STATE_STRING_START (-5)
#define SCRIPT_STATE_WAIT_FOR_BTN (-6) #define SCRIPT_STATE_WAIT_FOR_BTN (-6)

View File

@@ -10,11 +10,11 @@
#include <stm32wbxx_ll_lpuart.h> #include <stm32wbxx_ll_lpuart.h>
#include <stm32wbxx_ll_usart.h> #include <stm32wbxx_ll_usart.h>
#define USB_CDC_PKT_LEN CDC_DATA_SZ #define USB_CDC_PKT_LEN CDC_DATA_SZ
#define USB_UART_RX_BUF_SIZE (USB_CDC_PKT_LEN * 5) #define USB_UART_RX_BUF_SIZE (USB_CDC_PKT_LEN * 5)
#define USB_CDC_BIT_DTR (1 << 0) #define USB_CDC_BIT_DTR (1 << 0)
#define USB_CDC_BIT_RTS (1 << 1) #define USB_CDC_BIT_RTS (1 << 1)
#define USB_USART_DE_RE_PIN &gpio_ext_pa4 #define USB_USART_DE_RE_PIN &gpio_ext_pa4
static const GpioPin* flow_pins[][2] = { static const GpioPin* flow_pins[][2] = {

View File

@@ -31,7 +31,7 @@ static void ibutton_cli_print_usage(void) {
printf("\tCyfral (2 bytes key_data)\r\n"); printf("\tCyfral (2 bytes key_data)\r\n");
printf("\tMetakom (4 bytes key_data), must contain correct parity\r\n"); printf("\tMetakom (4 bytes key_data), must contain correct parity\r\n");
printf("\t<key_data> are hex-formatted\r\n"); printf("\t<key_data> are hex-formatted\r\n");
}; }
static bool ibutton_cli_parse_key(iButtonProtocols* protocols, iButtonKey* key, FuriString* args) { static bool ibutton_cli_parse_key(iButtonProtocols* protocols, iButtonKey* key, FuriString* args) {
bool result = false; bool result = false;
@@ -124,7 +124,7 @@ static void ibutton_cli_read(Cli* cli) {
ibutton_protocols_free(protocols); ibutton_protocols_free(protocols);
furi_event_flag_free(event); furi_event_flag_free(event);
}; }
typedef struct { typedef struct {
FuriEventFlag* event; FuriEventFlag* event;
@@ -226,7 +226,7 @@ void ibutton_cli_emulate(Cli* cli, FuriString* args) {
ibutton_key_free(key); ibutton_key_free(key);
ibutton_worker_free(worker); ibutton_worker_free(worker);
ibutton_protocols_free(protocols); ibutton_protocols_free(protocols);
}; }
void ibutton_cli(Cli* cli, FuriString* args, void* context) { void ibutton_cli(Cli* cli, FuriString* args, void* context) {
UNUSED(cli); UNUSED(cli);

View File

@@ -28,8 +28,8 @@
#include "ibutton_custom_event.h" #include "ibutton_custom_event.h"
#include "scenes/ibutton_scene.h" #include "scenes/ibutton_scene.h"
#define IBUTTON_APP_FOLDER ANY_PATH("ibutton") #define IBUTTON_APP_FOLDER ANY_PATH("ibutton")
#define IBUTTON_APP_FILENAME_PREFIX "iBtn" #define IBUTTON_APP_FILENAME_PREFIX "iBtn"
#define IBUTTON_APP_FILENAME_EXTENSION ".ibtn" #define IBUTTON_APP_FILENAME_EXTENSION ".ibtn"
#define IBUTTON_KEY_NAME_SIZE 22 #define IBUTTON_KEY_NAME_SIZE 22

View File

@@ -10,11 +10,11 @@
#define TAG "InfraredApp" #define TAG "InfraredApp"
#define INFRARED_TX_MIN_INTERVAL_MS (50U) #define INFRARED_TX_MIN_INTERVAL_MS (50U)
#define INFRARED_TASK_STACK_SIZE (2048UL) #define INFRARED_TASK_STACK_SIZE (2048UL)
#define INFRARED_SETTINGS_PATH INT_PATH(".infrared.settings") #define INFRARED_SETTINGS_PATH INT_PATH(".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;

View File

@@ -39,18 +39,18 @@
#include "views/infrared_debug_view.h" #include "views/infrared_debug_view.h"
#include "views/infrared_move_view.h" #include "views/infrared_move_view.h"
#define INFRARED_FILE_NAME_SIZE 100 #define INFRARED_FILE_NAME_SIZE 100
#define INFRARED_TEXT_STORE_NUM 2 #define INFRARED_TEXT_STORE_NUM 2
#define INFRARED_TEXT_STORE_SIZE 128 #define INFRARED_TEXT_STORE_SIZE 128
#define INFRARED_MAX_BUTTON_NAME_LENGTH 22 #define INFRARED_MAX_BUTTON_NAME_LENGTH 22
#define INFRARED_MAX_REMOTE_NAME_LENGTH 22 #define INFRARED_MAX_REMOTE_NAME_LENGTH 22
#define INFRARED_APP_FOLDER ANY_PATH("infrared") #define INFRARED_APP_FOLDER ANY_PATH("infrared")
#define INFRARED_APP_EXTENSION ".ir" #define INFRARED_APP_EXTENSION ".ir"
#define INFRARED_DEFAULT_REMOTE_NAME "Remote" #define INFRARED_DEFAULT_REMOTE_NAME "Remote"
#define INFRARED_LOG_TAG "InfraredApp" #define INFRARED_LOG_TAG "InfraredApp"
/** /**
* @brief Enumeration of invalid remote button indices. * @brief Enumeration of invalid remote button indices.
@@ -86,7 +86,7 @@ typedef struct {
bool is_transmitting; /**< Whether a signal is currently being transmitted. */ bool is_transmitting; /**< Whether a signal is currently being transmitted. */
bool is_otg_enabled; /**< Whether OTG power (external 5V) is enabled. */ bool is_otg_enabled; /**< Whether OTG power (external 5V) is enabled. */
InfraredEditTarget edit_target : 8; /**< Selected editing target (a remote or a button). */ InfraredEditTarget edit_target : 8; /**< Selected editing target (a remote or a button). */
InfraredEditMode edit_mode : 8; /**< Selected editing operation (rename or delete). */ InfraredEditMode edit_mode : 8; /**< Selected editing operation (rename or delete). */
int32_t current_button_index; /**< Selected button index (move destination). */ int32_t current_button_index; /**< Selected button index (move destination). */
int32_t prev_button_index; /**< Previous button index (move source). */ int32_t prev_button_index; /**< Previous button index (move source). */
uint32_t last_transmit_time; /**< Lat time a signal was transmitted. */ uint32_t last_transmit_time; /**< Lat time a signal was transmitted. */

View File

@@ -10,10 +10,10 @@
#include "infrared_signal.h" #include "infrared_signal.h"
#include "infrared_brute_force.h" #include "infrared_brute_force.h"
#define INFRARED_CLI_BUF_SIZE (10U) #define INFRARED_CLI_BUF_SIZE (10U)
#define INFRARED_CLI_FILE_NAME_SIZE (256U) #define INFRARED_CLI_FILE_NAME_SIZE (256U)
#define INFRARED_FILE_EXTENSION ".ir" #define INFRARED_FILE_EXTENSION ".ir"
#define INFRARED_ASSETS_FOLDER EXT_PATH("infrared/assets") #define INFRARED_ASSETS_FOLDER EXT_PATH("infrared/assets")
#define INFRARED_BRUTE_FORCE_DUMMY_INDEX 0 #define INFRARED_BRUTE_FORCE_DUMMY_INDEX 0
DICT_DEF2(dict_signals, FuriString*, FURI_STRING_OPLIST, int, M_DEFAULT_OPLIST) DICT_DEF2(dict_signals, FuriString*, FURI_STRING_OPLIST, int, M_DEFAULT_OPLIST)

View File

@@ -8,7 +8,7 @@
#define TAG "InfraredRemote" #define TAG "InfraredRemote"
#define INFRARED_FILE_HEADER "IR signals file" #define INFRARED_FILE_HEADER "IR signals file"
#define INFRARED_FILE_VERSION (1) #define INFRARED_FILE_VERSION (1)
ARRAY_DEF(StringArray, const char*, M_CSTR_DUP_OPLIST); //-V575 ARRAY_DEF(StringArray, const char*, M_CSTR_DUP_OPLIST); //-V575

View File

@@ -13,18 +13,18 @@
#define INFRARED_SIGNAL_TYPE_KEY "type" #define INFRARED_SIGNAL_TYPE_KEY "type"
// Type key values // Type key values
#define INFRARED_SIGNAL_TYPE_RAW "raw" #define INFRARED_SIGNAL_TYPE_RAW "raw"
#define INFRARED_SIGNAL_TYPE_PARSED "parsed" #define INFRARED_SIGNAL_TYPE_PARSED "parsed"
// Raw signal keys // Raw signal keys
#define INFRARED_SIGNAL_DATA_KEY "data" #define INFRARED_SIGNAL_DATA_KEY "data"
#define INFRARED_SIGNAL_FREQUENCY_KEY "frequency" #define INFRARED_SIGNAL_FREQUENCY_KEY "frequency"
#define INFRARED_SIGNAL_DUTY_CYCLE_KEY "duty_cycle" #define INFRARED_SIGNAL_DUTY_CYCLE_KEY "duty_cycle"
// Parsed signal keys // Parsed signal keys
#define INFRARED_SIGNAL_PROTOCOL_KEY "protocol" #define INFRARED_SIGNAL_PROTOCOL_KEY "protocol"
#define INFRARED_SIGNAL_ADDRESS_KEY "address" #define INFRARED_SIGNAL_ADDRESS_KEY "address"
#define INFRARED_SIGNAL_COMMAND_KEY "command" #define INFRARED_SIGNAL_COMMAND_KEY "command"
struct InfraredSignal { struct InfraredSignal {
bool is_raw; bool is_raw;

View File

@@ -7,9 +7,9 @@
#include <toolbox/m_cstr_dup.h> #include <toolbox/m_cstr_dup.h>
#define LIST_ITEMS 4U #define LIST_ITEMS 4U
#define LIST_LINE_H 13U #define LIST_LINE_H 13U
#define HEADER_H 12U #define HEADER_H 12U
#define MOVE_X_OFFSET 5U #define MOVE_X_OFFSET 5U
struct InfraredMoveView { struct InfraredMoveView {
@@ -98,7 +98,7 @@ static bool infrared_move_view_input_callback(InputEvent* event, void* context)
bool consumed = false; bool consumed = false;
if(((event->type == InputTypeShort || event->type == InputTypeRepeat)) && if((event->type == InputTypeShort || event->type == InputTypeRepeat) &&
((event->key == InputKeyUp) || (event->key == InputKeyDown))) { ((event->key == InputKeyUp) || (event->key == InputKeyDown))) {
with_view_model( with_view_model(
move_view->view, move_view->view,

View File

@@ -32,7 +32,7 @@ static void lfrfid_cli_print_usage(void) {
"rfid raw_emulate <filename> - emulate raw data (not very useful, but helps debug protocols)\r\n"); "rfid raw_emulate <filename> - emulate raw data (not very useful, but helps debug protocols)\r\n");
printf( printf(
"rfid raw_analyze <filename> - outputs raw data to the cli and tries to decode it (useful for protocol development)\r\n"); "rfid raw_analyze <filename> - outputs raw data to the cli and tries to decode it (useful for protocol development)\r\n");
}; }
typedef struct { typedef struct {
ProtocolId protocol; ProtocolId protocol;

View File

@@ -35,13 +35,13 @@
#include <lfrfid/scenes/lfrfid_scene.h> #include <lfrfid/scenes/lfrfid_scene.h>
#define LFRFID_KEY_NAME_SIZE 22 #define LFRFID_KEY_NAME_SIZE 22
#define LFRFID_TEXT_STORE_SIZE 40 #define LFRFID_TEXT_STORE_SIZE 40
#define LFRFID_APP_FOLDER ANY_PATH("lfrfid") #define LFRFID_APP_FOLDER ANY_PATH("lfrfid")
#define LFRFID_SD_FOLDER EXT_PATH("lfrfid") #define LFRFID_SD_FOLDER EXT_PATH("lfrfid")
#define LFRFID_APP_FILENAME_PREFIX "RFID" #define LFRFID_APP_FILENAME_PREFIX "RFID"
#define LFRFID_APP_FILENAME_EXTENSION ".rfid" #define LFRFID_APP_FILENAME_EXTENSION ".rfid"
#define LFRFID_APP_SHADOW_FILENAME_EXTENSION ".shd" #define LFRFID_APP_SHADOW_FILENAME_EXTENSION ".shd"
#define LFRFID_APP_RAW_ASK_EXTENSION ".ask.raw" #define LFRFID_APP_RAW_ASK_EXTENSION ".ask.raw"

View File

@@ -3,7 +3,7 @@
#include <furi/furi.h> #include <furi/furi.h>
#include <storage/storage.h> #include <storage/storage.h>
#define NFC_APP_KEYS_EXTENSION ".keys" #define NFC_APP_KEYS_EXTENSION ".keys"
#define NFC_APP_KEY_CACHE_FOLDER "/ext/nfc/.cache" #define NFC_APP_KEY_CACHE_FOLDER "/ext/nfc/.cache"
static const char* mf_classic_key_cache_file_header = "Flipper NFC keys"; static const char* mf_classic_key_cache_file_header = "Flipper NFC keys";

View File

@@ -4,7 +4,7 @@
#include <nfc/protocols/mf_classic/mf_classic.h> #include <nfc/protocols/mf_classic/mf_classic.h>
#include <furi/furi.h> #include <furi/furi.h>
#define NFC_APP_FOLDER ANY_PATH("nfc") #define NFC_APP_FOLDER ANY_PATH("nfc")
#define NFC_APP_MF_CLASSIC_DICT_USER_PATH (NFC_APP_FOLDER "/assets/mf_classic_dict_user.nfc") #define NFC_APP_MF_CLASSIC_DICT_USER_PATH (NFC_APP_FOLDER "/assets/mf_classic_dict_user.nfc")
struct MfUserDict { struct MfUserDict {

View File

@@ -14,7 +14,7 @@
#define TAG "NfcSupportedCards" #define TAG "NfcSupportedCards"
#define NFC_SUPPORTED_CARDS_PLUGINS_PATH APP_DATA_PATH("plugins") #define NFC_SUPPORTED_CARDS_PLUGINS_PATH APP_DATA_PATH("plugins")
#define NFC_SUPPORTED_CARDS_PLUGIN_SUFFIX "_parser.fal" #define NFC_SUPPORTED_CARDS_PLUGIN_SUFFIX "_parser.fal"
typedef enum { typedef enum {

View File

@@ -61,19 +61,19 @@
#include <toolbox/name_generator.h> #include <toolbox/name_generator.h>
#include <dolphin/dolphin.h> #include <dolphin/dolphin.h>
#define NFC_NAME_SIZE 22 #define NFC_NAME_SIZE 22
#define NFC_TEXT_STORE_SIZE 128 #define NFC_TEXT_STORE_SIZE 128
#define NFC_BYTE_INPUT_STORE_SIZE 10 #define NFC_BYTE_INPUT_STORE_SIZE 10
#define NFC_LOG_SIZE_MAX (1024) #define NFC_LOG_SIZE_MAX (1024)
#define NFC_APP_FOLDER ANY_PATH("nfc") #define NFC_APP_FOLDER ANY_PATH("nfc")
#define NFC_APP_EXTENSION ".nfc" #define NFC_APP_EXTENSION ".nfc"
#define NFC_APP_SHADOW_EXTENSION ".shd" #define NFC_APP_SHADOW_EXTENSION ".shd"
#define NFC_APP_FILENAME_PREFIX "NFC" #define NFC_APP_FILENAME_PREFIX "NFC"
#define NFC_APP_MFKEY32_LOGS_FILE_NAME ".mfkey32.log" #define NFC_APP_MFKEY32_LOGS_FILE_NAME ".mfkey32.log"
#define NFC_APP_MFKEY32_LOGS_FILE_PATH (NFC_APP_FOLDER "/" NFC_APP_MFKEY32_LOGS_FILE_NAME) #define NFC_APP_MFKEY32_LOGS_FILE_PATH (NFC_APP_FOLDER "/" NFC_APP_MFKEY32_LOGS_FILE_NAME)
#define NFC_APP_MF_CLASSIC_DICT_USER_PATH (NFC_APP_FOLDER "/assets/mf_classic_dict_user.nfc") #define NFC_APP_MF_CLASSIC_DICT_USER_PATH (NFC_APP_FOLDER "/assets/mf_classic_dict_user.nfc")
#define NFC_APP_MF_CLASSIC_DICT_SYSTEM_PATH (NFC_APP_FOLDER "/assets/mf_classic_dict.nfc") #define NFC_APP_MF_CLASSIC_DICT_SYSTEM_PATH (NFC_APP_FOLDER "/assets/mf_classic_dict.nfc")
typedef enum { typedef enum {

View File

@@ -5,9 +5,10 @@
#include <nfc/protocols/mf_classic/mf_classic_poller_sync.h> #include <nfc/protocols/mf_classic/mf_classic_poller_sync.h>
#define TAG "HI!" #define TAG "HI!"
#define KEY_LENGTH 6
#define KEY_LENGTH 6
#define HI_KEY_TO_GEN 5 #define HI_KEY_TO_GEN 5
#define UID_LENGTH 7 #define UID_LENGTH 7
typedef struct { typedef struct {
uint64_t a; uint64_t a;

View File

@@ -5,6 +5,7 @@
#include <nfc/protocols/mf_classic/mf_classic_poller_sync.h> #include <nfc/protocols/mf_classic/mf_classic_poller_sync.h>
#define TAG "Microel" #define TAG "Microel"
#define KEY_LENGTH 6 #define KEY_LENGTH 6
#define UID_LENGTH 4 #define UID_LENGTH 4

View File

@@ -5,9 +5,10 @@
#include <nfc/protocols/mf_classic/mf_classic_poller_sync.h> #include <nfc/protocols/mf_classic/mf_classic_poller_sync.h>
#define TAG "MiZIP" #define TAG "MiZIP"
#define KEY_LENGTH 6
#define KEY_LENGTH 6
#define MIZIP_KEY_TO_GEN 5 #define MIZIP_KEY_TO_GEN 5
#define UID_LENGTH 4 #define UID_LENGTH 4
typedef struct { typedef struct {
uint64_t a; uint64_t a;

View File

@@ -62,18 +62,18 @@ static const char* opal_usages[14] = {
// Opal file 0x7 structure. Assumes a little-endian CPU. // Opal file 0x7 structure. Assumes a little-endian CPU.
typedef struct FURI_PACKED { typedef struct FURI_PACKED {
uint32_t serial : 32; uint32_t serial : 32;
uint8_t check_digit : 4; uint8_t check_digit : 4;
bool blocked : 1; bool blocked : 1;
uint16_t txn_number : 16; uint16_t txn_number : 16;
int32_t balance : 21; int32_t balance : 21;
uint16_t days : 15; uint16_t days : 15;
uint16_t minutes : 11; uint16_t minutes : 11;
uint8_t mode : 3; uint8_t mode : 3;
uint16_t usage : 4; uint16_t usage : 4;
bool auto_topup : 1; bool auto_topup : 1;
uint8_t weekly_journeys : 4; uint8_t weekly_journeys : 4;
uint16_t checksum : 16; uint16_t checksum : 16;
} OpalFile; } OpalFile;
static_assert(sizeof(OpalFile) == 16, "OpalFile"); static_assert(sizeof(OpalFile) == 16, "OpalFile");

View File

@@ -40,7 +40,7 @@ bool parse_datetime(uint16_t date, DateTime* result) {
result->year = 2000 + (date >> 9); result->year = 2000 + (date >> 9);
result->month = date >> 5 & 0x0F; result->month = date >> 5 & 0x0F;
result->day = date & 0x1F; result->day = date & 0x1F;
return (date != 0); return date != 0;
} }
static bool umarsh_parse(const NfcDevice* device, FuriString* parsed_data) { static bool umarsh_parse(const NfcDevice* device, FuriString* parsed_data) {

View File

@@ -4,7 +4,7 @@
#define NXP_MANUFACTURER_ID (0x04) #define NXP_MANUFACTURER_ID (0x04)
#define NFC_SCENE_DETECT_READER_PAIR_NONCES_MAX (10U) #define NFC_SCENE_DETECT_READER_PAIR_NONCES_MAX (10U)
#define NFC_SCENE_DETECT_READER_WAIT_NONCES_TIMEOUT_MS (1000) #define NFC_SCENE_DETECT_READER_WAIT_NONCES_TIMEOUT_MS (1000)
static const NotificationSequence sequence_detect_reader = { static const NotificationSequence sequence_detect_reader = {

View File

@@ -21,7 +21,7 @@ void onewire_on_system_start(void) {
static void onewire_cli_print_usage(void) { static void onewire_cli_print_usage(void) {
printf("Usage:\r\n"); printf("Usage:\r\n");
printf("onewire search\r\n"); printf("onewire search\r\n");
}; }
static void onewire_cli_search(Cli* cli) { static void onewire_cli_search(Cli* cli) {
UNUSED(cli); UNUSED(cli);

View File

@@ -2,6 +2,7 @@
#include <lib/subghz/subghz_tx_rx_worker.h> #include <lib/subghz/subghz_tx_rx_worker.h>
#define TAG "SubGhzChat" #define TAG "SubGhzChat"
#define SUBGHZ_CHAT_WORKER_TIMEOUT_BETWEEN_MESSAGES 500 #define SUBGHZ_CHAT_WORKER_TIMEOUT_BETWEEN_MESSAGES 500
struct SubGhzChatWorker { struct SubGhzChatWorker {

View File

@@ -3,6 +3,7 @@
#include <float_tools.h> #include <float_tools.h>
#define TAG "SubGhzThresholdRssi" #define TAG "SubGhzThresholdRssi"
#define THRESHOLD_RSSI_LOW_COUNT 10 #define THRESHOLD_RSSI_LOW_COUNT 10
struct SubGhzThresholdRssi { struct SubGhzThresholdRssi {

View File

@@ -508,22 +508,19 @@ SubGhzProtocolDecoderBase* subghz_txrx_get_decoder(SubGhzTxRx* instance) {
bool subghz_txrx_protocol_is_serializable(SubGhzTxRx* instance) { bool subghz_txrx_protocol_is_serializable(SubGhzTxRx* instance) {
furi_assert(instance); furi_assert(instance);
return ( return (instance->decoder_result->protocol->flag & SubGhzProtocolFlag_Save) ==
(instance->decoder_result->protocol->flag & SubGhzProtocolFlag_Save) == SubGhzProtocolFlag_Save;
SubGhzProtocolFlag_Save);
} }
bool subghz_txrx_protocol_is_transmittable(SubGhzTxRx* instance, bool check_type) { bool subghz_txrx_protocol_is_transmittable(SubGhzTxRx* instance, bool check_type) {
furi_assert(instance); furi_assert(instance);
const SubGhzProtocol* protocol = instance->decoder_result->protocol; const SubGhzProtocol* protocol = instance->decoder_result->protocol;
if(check_type) { if(check_type) {
return ( return ((protocol->flag & SubGhzProtocolFlag_Send) == SubGhzProtocolFlag_Send) &&
((protocol->flag & SubGhzProtocolFlag_Send) == SubGhzProtocolFlag_Send) && protocol->encoder->deserialize && protocol->type == SubGhzProtocolTypeStatic;
protocol->encoder->deserialize && protocol->type == SubGhzProtocolTypeStatic);
} }
return ( return ((protocol->flag & SubGhzProtocolFlag_Send) == SubGhzProtocolFlag_Send) &&
((protocol->flag & SubGhzProtocolFlag_Send) == SubGhzProtocolFlag_Send) && protocol->encoder->deserialize;
protocol->encoder->deserialize);
} }
void subghz_txrx_receiver_set_filter(SubGhzTxRx* instance, SubGhzProtocolFlag filter) { void subghz_txrx_receiver_set_filter(SubGhzTxRx* instance, SubGhzProtocolFlag filter) {

View File

@@ -4,9 +4,10 @@
#include <lib/subghz/protocols/raw.h> #include <lib/subghz/protocols/raw.h>
#include <toolbox/path.h> #include <toolbox/path.h>
#define RAW_FILE_NAME "Raw_signal_"
#define TAG "SubGhzSceneReadRaw" #define TAG "SubGhzSceneReadRaw"
#define RAW_FILE_NAME "Raw_signal_"
bool subghz_scene_read_raw_update_filename(SubGhz* subghz) { bool subghz_scene_read_raw_update_filename(SubGhz* subghz) {
bool ret = false; bool ret = false;
//set the path to read the file //set the path to read the file

View File

@@ -1203,7 +1203,7 @@ static bool
subghz_on_system_start_istream_read(pb_istream_t* istream, pb_byte_t* buf, size_t count) { subghz_on_system_start_istream_read(pb_istream_t* istream, pb_byte_t* buf, size_t count) {
File* file = istream->state; File* file = istream->state;
size_t ret = storage_file_read(file, buf, count); size_t ret = storage_file_read(file, buf, count);
return (count == ret); return count == ret;
} }
static bool subghz_on_system_start_istream_decode_band( static bool subghz_on_system_start_istream_decode_band(

View File

@@ -4,8 +4,9 @@
#include <furi.h> #include <furi.h>
#define SUBGHZ_HISTORY_MAX 50 #define SUBGHZ_HISTORY_MAX 50
#define SUBGHZ_HISTORY_FREE_HEAP 20480 #define SUBGHZ_HISTORY_FREE_HEAP 20480
#define TAG "SubGhzHistory" #define TAG "SubGhzHistory"
typedef struct { typedef struct {

View File

@@ -408,7 +408,7 @@ void subghz_unlock(SubGhz* subghz) {
bool subghz_is_locked(SubGhz* subghz) { bool subghz_is_locked(SubGhz* subghz) {
furi_assert(subghz); furi_assert(subghz);
return (subghz->lock == SubGhzLockOn); return subghz->lock == SubGhzLockOn;
} }
void subghz_rx_key_state_set(SubGhz* subghz, SubGhzRxKeyState state) { void subghz_rx_key_state_set(SubGhz* subghz, SubGhzRxKeyState state) {

View File

@@ -7,9 +7,9 @@
#include <m-array.h> #include <m-array.h>
#define FRAME_HEIGHT 12 #define FRAME_HEIGHT 12
#define MAX_LEN_PX 111 #define MAX_LEN_PX 111
#define MENU_ITEMS 4u #define MENU_ITEMS 4u
#define UNLOCK_CNT 3 #define UNLOCK_CNT 3
#define SUBGHZ_RAW_THRESHOLD_MIN -90.0f #define SUBGHZ_RAW_THRESHOLD_MIN -90.0f
@@ -145,7 +145,7 @@ void subghz_view_receiver_add_item_to_menu(
SubGhzReceiverMenuItemArray_push_raw(model->history->data); SubGhzReceiverMenuItemArray_push_raw(model->history->data);
item_menu->item_str = furi_string_alloc_set(name); item_menu->item_str = furi_string_alloc_set(name);
item_menu->type = type; item_menu->type = type;
if((model->idx == model->history_item - 1)) { if(model->idx == model->history_item - 1) {
model->history_item++; model->history_item++;
model->idx++; model->idx++;
} else { } else {

View File

@@ -46,8 +46,7 @@ typedef struct {
} SubGhzFrequencyAnalyzerModel; } SubGhzFrequencyAnalyzerModel;
static inline uint8_t rssi_sanitize(float rssi) { static inline uint8_t rssi_sanitize(float rssi) {
return ( return !float_is_equal(rssi, 0.f) ? (uint8_t)(rssi - SUBGHZ_FREQUENCY_ANALYZER_THRESHOLD) : 0;
!float_is_equal(rssi, 0.f) ? (uint8_t)(rssi - SUBGHZ_FREQUENCY_ANALYZER_THRESHOLD) : 0);
} }
void subghz_frequency_analyzer_set_callback( void subghz_frequency_analyzer_set_callback(

View File

@@ -6,9 +6,11 @@
#include <gui/elements.h> #include <gui/elements.h>
#include <assets_icons.h> #include <assets_icons.h>
#define SUBGHZ_READ_RAW_RSSI_HISTORY_SIZE 100
#define TAG "SubGhzReadRaw" #define TAG "SubGhzReadRaw"
#define SUBGHZ_READ_RAW_RSSI_HISTORY_SIZE 100
struct SubGhzReadRAW { struct SubGhzReadRAW {
View* view; View* view;
SubGhzReadRAWCallback callback; SubGhzReadRAWCallback callback;

View File

@@ -12,13 +12,14 @@
#include <mbedtls/error.h> #include <mbedtls/error.h>
#define TAG "U2f" #define TAG "U2f"
#define WORKER_TAG TAG "Worker" #define WORKER_TAG TAG "Worker"
#define MCHECK(expr) furi_check((expr) == 0) #define MCHECK(expr) furi_check((expr) == 0)
#define U2F_CMD_REGISTER 0x01 #define U2F_CMD_REGISTER 0x01
#define U2F_CMD_AUTHENTICATE 0x02 #define U2F_CMD_AUTHENTICATE 0x02
#define U2F_CMD_VERSION 0x03 #define U2F_CMD_VERSION 0x03
typedef enum { typedef enum {
U2fCheckOnly = 0x07, // "check-only" - only check key handle, don't send auth response U2fCheckOnly = 0x07, // "check-only" - only check key handle, don't send auth response
@@ -28,14 +29,14 @@ typedef enum {
0x08, // "dont-enforce-user-presence-and-sign" - send auth response even if user is missing 0x08, // "dont-enforce-user-presence-and-sign" - send auth response even if user is missing
} U2fAuthMode; } U2fAuthMode;
#define U2F_HASH_SIZE 32 #define U2F_HASH_SIZE 32
#define U2F_NONCE_SIZE 32 #define U2F_NONCE_SIZE 32
#define U2F_CHALLENGE_SIZE 32 #define U2F_CHALLENGE_SIZE 32
#define U2F_APP_ID_SIZE 32 #define U2F_APP_ID_SIZE 32
#define U2F_EC_KEY_SIZE 32 #define U2F_EC_KEY_SIZE 32
#define U2F_EC_BIGNUM_SIZE 32 #define U2F_EC_BIGNUM_SIZE 32
#define U2F_EC_POINT_SIZE 65 #define U2F_EC_POINT_SIZE 65
typedef struct { typedef struct {
uint8_t format; uint8_t format;
@@ -315,7 +316,7 @@ static uint16_t u2f_register(U2fData* U2F, uint8_t* buf) {
uint8_t signature_len = u2f_der_encode_signature(resp->cert + cert_len, signature); uint8_t signature_len = u2f_der_encode_signature(resp->cert + cert_len, signature);
memcpy(resp->cert + cert_len + signature_len, state_no_error, 2); memcpy(resp->cert + cert_len + signature_len, state_no_error, 2);
return (sizeof(U2fRegisterResp) + cert_len + signature_len + 2); return sizeof(U2fRegisterResp) + cert_len + signature_len + 2;
} }
static uint16_t u2f_authenticate(U2fData* U2F, uint8_t* buf) { static uint16_t u2f_authenticate(U2fData* U2F, uint8_t* buf) {
@@ -410,7 +411,7 @@ static uint16_t u2f_authenticate(U2fData* U2F, uint8_t* buf) {
if(U2F->callback != NULL) U2F->callback(U2fNotifyAuthSuccess, U2F->context); if(U2F->callback != NULL) U2F->callback(U2fNotifyAuthSuccess, U2F->context);
return (sizeof(U2fAuthResp) + signature_len + 2); return sizeof(U2fAuthResp) + signature_len + 2;
} }
uint16_t u2f_msg_parse(U2fData* U2F, uint8_t* buf, uint16_t len) { uint16_t u2f_msg_parse(U2fData* U2F, uint8_t* buf, uint16_t len) {

View File

@@ -7,28 +7,28 @@
#define TAG "U2f" #define TAG "U2f"
#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_KEY_FILE U2F_DATA_FOLDER "key.u2f" #define U2F_KEY_FILE U2F_DATA_FOLDER "key.u2f"
#define U2F_CNT_FILE U2F_DATA_FOLDER "cnt.u2f" #define U2F_CNT_FILE U2F_DATA_FOLDER "cnt.u2f"
#define U2F_DATA_FILE_ENCRYPTION_KEY_SLOT_FACTORY 2 #define U2F_DATA_FILE_ENCRYPTION_KEY_SLOT_FACTORY 2
#define U2F_DATA_FILE_ENCRYPTION_KEY_SLOT_UNIQUE FURI_HAL_CRYPTO_ENCLAVE_UNIQUE_KEY_SLOT #define U2F_DATA_FILE_ENCRYPTION_KEY_SLOT_UNIQUE FURI_HAL_CRYPTO_ENCLAVE_UNIQUE_KEY_SLOT
#define U2F_CERT_STOCK 0 // Stock certificate, private key is encrypted with factory key #define U2F_CERT_STOCK 0 // Stock certificate, private key is encrypted with factory key
#define U2F_CERT_USER 1 // User certificate, private key is encrypted with unique key #define U2F_CERT_USER 1 // User certificate, private key is encrypted with unique key
#define U2F_CERT_USER_UNENCRYPTED \ #define U2F_CERT_USER_UNENCRYPTED \
2 // Unencrypted user certificate, will be encrypted after first load 2 // Unencrypted user certificate, will be encrypted after first load
#define U2F_CERT_KEY_FILE_TYPE "Flipper U2F Certificate Key File" #define U2F_CERT_KEY_FILE_TYPE "Flipper U2F Certificate Key File"
#define U2F_CERT_KEY_VERSION 1 #define U2F_CERT_KEY_VERSION 1
#define U2F_DEVICE_KEY_FILE_TYPE "Flipper U2F Device Key File" #define U2F_DEVICE_KEY_FILE_TYPE "Flipper U2F Device Key File"
#define U2F_DEVICE_KEY_VERSION 1 #define U2F_DEVICE_KEY_VERSION 1
#define U2F_COUNTER_FILE_TYPE "Flipper U2F Counter File" #define U2F_COUNTER_FILE_TYPE "Flipper U2F Counter File"
#define U2F_COUNTER_VERSION 2 #define U2F_COUNTER_VERSION 2
#define U2F_COUNTER_VERSION_OLD 1 #define U2F_COUNTER_VERSION_OLD 1
#define U2F_COUNTER_CONTROL_VAL 0xAA5500FF #define U2F_COUNTER_CONTROL_VAL 0xAA5500FF

View File

@@ -9,6 +9,7 @@
#include <storage/storage.h> #include <storage/storage.h>
#define TAG "U2fHid" #define TAG "U2fHid"
#define WORKER_TAG TAG "Worker" #define WORKER_TAG TAG "Worker"
#define U2F_HID_MAX_PAYLOAD_LEN ((HID_U2F_PACKET_LEN - 7) + 128 * (HID_U2F_PACKET_LEN - 5)) #define U2F_HID_MAX_PAYLOAD_LEN ((HID_U2F_PACKET_LEN - 7) + 128 * (HID_U2F_PACKET_LEN - 5))
@@ -17,23 +18,23 @@
#define U2F_HID_TYPE_INIT 0x80 // Initial frame identifier #define U2F_HID_TYPE_INIT 0x80 // Initial frame identifier
#define U2F_HID_TYPE_CONT 0x00 // Continuation frame identifier #define U2F_HID_TYPE_CONT 0x00 // Continuation frame identifier
#define U2F_HID_PING (U2F_HID_TYPE_INIT | 0x01) // Echo data through local processor only #define U2F_HID_PING (U2F_HID_TYPE_INIT | 0x01) // Echo data through local processor only
#define U2F_HID_MSG (U2F_HID_TYPE_INIT | 0x03) // Send U2F message frame #define U2F_HID_MSG (U2F_HID_TYPE_INIT | 0x03) // Send U2F message frame
#define U2F_HID_LOCK (U2F_HID_TYPE_INIT | 0x04) // Send lock channel command #define U2F_HID_LOCK (U2F_HID_TYPE_INIT | 0x04) // Send lock channel command
#define U2F_HID_INIT (U2F_HID_TYPE_INIT | 0x06) // Channel initialization #define U2F_HID_INIT (U2F_HID_TYPE_INIT | 0x06) // Channel initialization
#define U2F_HID_WINK (U2F_HID_TYPE_INIT | 0x08) // Send device identification wink #define U2F_HID_WINK (U2F_HID_TYPE_INIT | 0x08) // Send device identification wink
#define U2F_HID_ERROR (U2F_HID_TYPE_INIT | 0x3f) // Error response #define U2F_HID_ERROR (U2F_HID_TYPE_INIT | 0x3f) // Error response
#define U2F_HID_ERR_NONE 0x00 // No error #define U2F_HID_ERR_NONE 0x00 // No error
#define U2F_HID_ERR_INVALID_CMD 0x01 // Invalid command #define U2F_HID_ERR_INVALID_CMD 0x01 // Invalid command
#define U2F_HID_ERR_INVALID_PAR 0x02 // Invalid parameter #define U2F_HID_ERR_INVALID_PAR 0x02 // Invalid parameter
#define U2F_HID_ERR_INVALID_LEN 0x03 // Invalid message length #define U2F_HID_ERR_INVALID_LEN 0x03 // Invalid message length
#define U2F_HID_ERR_INVALID_SEQ 0x04 // Invalid message sequencing #define U2F_HID_ERR_INVALID_SEQ 0x04 // Invalid message sequencing
#define U2F_HID_ERR_MSG_TIMEOUT 0x05 // Message has timed out #define U2F_HID_ERR_MSG_TIMEOUT 0x05 // Message has timed out
#define U2F_HID_ERR_CHANNEL_BUSY 0x06 // Channel busy #define U2F_HID_ERR_CHANNEL_BUSY 0x06 // Channel busy
#define U2F_HID_ERR_LOCK_REQUIRED 0x0a // Command requires channel lock #define U2F_HID_ERR_LOCK_REQUIRED 0x0a // Command requires channel lock
#define U2F_HID_ERR_SYNC_FAIL 0x0b // SYNC command failed #define U2F_HID_ERR_SYNC_FAIL 0x0b // SYNC command failed
#define U2F_HID_ERR_OTHER 0x7f // Other unspecified error #define U2F_HID_ERR_OTHER 0x7f // Other unspecified error
#define U2F_HID_BROADCAST_CID 0xFFFFFFFF #define U2F_HID_BROADCAST_CID 0xFFFFFFFF

View File

@@ -11,9 +11,9 @@
#define TAG "BtSrv" #define TAG "BtSrv"
#define BT_RPC_EVENT_BUFF_SENT (1UL << 0) #define BT_RPC_EVENT_BUFF_SENT (1UL << 0)
#define BT_RPC_EVENT_DISCONNECTED (1UL << 1) #define BT_RPC_EVENT_DISCONNECTED (1UL << 1)
#define BT_RPC_EVENT_ALL (BT_RPC_EVENT_BUFF_SENT | BT_RPC_EVENT_DISCONNECTED) #define BT_RPC_EVENT_ALL (BT_RPC_EVENT_BUFF_SENT | BT_RPC_EVENT_DISCONNECTED)
#define ICON_SPACER 2 #define ICON_SPACER 2

View File

@@ -6,7 +6,7 @@
#include <storage/storage.h> #include <storage/storage.h>
#define BT_KEYS_STORAGE_VERSION (0) #define BT_KEYS_STORAGE_VERSION (0)
#define BT_KEYS_STORAGE_MAGIC (0x18) #define BT_KEYS_STORAGE_MAGIC (0x18)
#define TAG "BtKeyStorage" #define TAG "BtKeyStorage"

View File

@@ -4,9 +4,9 @@
#include <lib/toolbox/saved_struct.h> #include <lib/toolbox/saved_struct.h>
#include <storage/storage.h> #include <storage/storage.h>
#define BT_SETTINGS_PATH INT_PATH(BT_SETTINGS_FILE_NAME) #define BT_SETTINGS_PATH INT_PATH(BT_SETTINGS_FILE_NAME)
#define BT_SETTINGS_VERSION (0) #define BT_SETTINGS_VERSION (0)
#define BT_SETTINGS_MAGIC (0x19) #define BT_SETTINGS_MAGIC (0x19)
bool bt_settings_load(BtSettings* bt_settings) { bool bt_settings_load(BtSettings* bt_settings) {
furi_assert(bt_settings); furi_assert(bt_settings);

View File

@@ -75,7 +75,7 @@ size_t cli_read_timeout(Cli* cli, uint8_t* buffer, size_t size, uint32_t timeout
bool cli_is_connected(Cli* cli) { bool cli_is_connected(Cli* cli) {
furi_check(cli); furi_check(cli);
if(cli->session != NULL) { if(cli->session != NULL) {
return (cli->session->is_connected()); return cli->session->is_connected();
} }
return false; return false;
} }

View File

@@ -168,7 +168,7 @@ void cli_command_date(Cli* cli, FuriString* args, void* context) {
} }
} }
#define CLI_COMMAND_LOG_RING_SIZE 2048 #define CLI_COMMAND_LOG_RING_SIZE 2048
#define CLI_COMMAND_LOG_BUFFER_SIZE 64 #define CLI_COMMAND_LOG_BUFFER_SIZE 64
void cli_command_log_tx_callback(const uint8_t* buffer, size_t size, void* context) { void cli_command_log_tx_callback(const uint8_t* buffer, size_t size, void* context) {

View File

@@ -15,7 +15,7 @@ void crypto_cli_print_usage(void) {
printf("\thas_key <key_slot:int>\t - Check if secure enclave has key in slot\r\n"); printf("\thas_key <key_slot:int>\t - Check if secure enclave has key in slot\r\n");
printf( printf(
"\tstore_key <key_slot:int> <key_type:str> <key_size:int> <key_data:hex>\t - Store key in secure enclave. !!! NON-REVERSABLE OPERATION - READ MANUAL FIRST !!!\r\n"); "\tstore_key <key_slot:int> <key_type:str> <key_size:int> <key_data:hex>\t - Store key in secure enclave. !!! NON-REVERSABLE OPERATION - READ MANUAL FIRST !!!\r\n");
}; }
void crypto_cli_encrypt(Cli* cli, FuriString* args) { void crypto_cli_encrypt(Cli* cli, FuriString* args) {
int key_slot = 0; int key_slot = 0;

View File

@@ -14,14 +14,14 @@
#define TAG "AnimationManager" #define TAG "AnimationManager"
#define HARDCODED_ANIMATION_NAME "L1_Tv_128x47" #define HARDCODED_ANIMATION_NAME "L1_Tv_128x47"
#define NO_SD_ANIMATION_NAME "L1_NoSd_128x49" #define NO_SD_ANIMATION_NAME "L1_NoSd_128x49"
#define BAD_BATTERY_ANIMATION_NAME "L1_BadBattery_128x47" #define BAD_BATTERY_ANIMATION_NAME "L1_BadBattery_128x47"
#define NO_DB_ANIMATION_NAME "L0_NoDb_128x51" #define NO_DB_ANIMATION_NAME "L0_NoDb_128x51"
#define BAD_SD_ANIMATION_NAME "L0_SdBad_128x51" #define BAD_SD_ANIMATION_NAME "L0_SdBad_128x51"
#define SD_OK_ANIMATION_NAME "L0_SdOk_128x51" #define SD_OK_ANIMATION_NAME "L0_SdOk_128x51"
#define URL_ANIMATION_NAME "L0_Url_128x51" #define URL_ANIMATION_NAME "L0_Url_128x51"
#define NEW_MAIL_ANIMATION_NAME "L0_NewMail_128x51" #define NEW_MAIL_ANIMATION_NAME "L0_NewMail_128x51"
typedef enum { typedef enum {
@@ -47,13 +47,13 @@ struct AnimationManager {
int32_t freezed_animation_time_left; int32_t freezed_animation_time_left;
ViewStack* view_stack; ViewStack* view_stack;
bool dummy_mode : 1; bool dummy_mode : 1;
bool blocking_shown_url : 1; bool blocking_shown_url : 1;
bool blocking_shown_sd_bad : 1; bool blocking_shown_sd_bad : 1;
bool blocking_shown_no_db : 1; bool blocking_shown_no_db : 1;
bool blocking_shown_sd_ok : 1; bool blocking_shown_sd_ok : 1;
bool levelup_pending : 1; bool levelup_pending : 1;
bool levelup_active : 1; bool levelup_active : 1;
}; };
static StorageAnimation* static StorageAnimation*

View File

@@ -11,11 +11,12 @@
#include <assets_dolphin_internal.h> #include <assets_dolphin_internal.h>
#include <assets_dolphin_blocking.h> #include <assets_dolphin_blocking.h>
#define ANIMATION_META_FILE "meta.txt"
#define ANIMATION_DIR EXT_PATH("dolphin")
#define ANIMATION_MANIFEST_FILE ANIMATION_DIR "/manifest.txt"
#define TAG "AnimationStorage" #define TAG "AnimationStorage"
#define ANIMATION_META_FILE "meta.txt"
#define ANIMATION_DIR EXT_PATH("dolphin")
#define ANIMATION_MANIFEST_FILE ANIMATION_DIR "/manifest.txt"
static void animation_storage_free_bubbles(BubbleAnimation* animation); static void animation_storage_free_bubbles(BubbleAnimation* animation);
static void animation_storage_free_frames(BubbleAnimation* animation); static void animation_storage_free_frames(BubbleAnimation* animation);
static void animation_storage_free_animation(BubbleAnimation** storage_animation); static void animation_storage_free_animation(BubbleAnimation** storage_animation);

View File

@@ -84,7 +84,7 @@ struct Desktop {
DesktopClock clock; DesktopClock clock;
bool in_transition : 1; bool in_transition : 1;
bool locked : 1; bool locked : 1;
FuriSemaphore* animation_semaphore; FuriSemaphore* animation_semaphore;
}; };

View File

@@ -10,9 +10,9 @@
#define DESKTOP_SETTINGS_VER (10) #define DESKTOP_SETTINGS_VER (10)
#define DESKTOP_SETTINGS_PATH INT_PATH(DESKTOP_SETTINGS_FILE_NAME) #define DESKTOP_SETTINGS_PATH INT_PATH(DESKTOP_SETTINGS_FILE_NAME)
#define DESKTOP_SETTINGS_MAGIC (0x17) #define DESKTOP_SETTINGS_MAGIC (0x17)
#define PIN_MAX_LENGTH 12 #define PIN_MAX_LENGTH 12
#define DESKTOP_SETTINGS_RUN_PIN_SETUP_ARG "run_pin_setup" #define DESKTOP_SETTINGS_RUN_PIN_SETUP_ARG "run_pin_setup"
@@ -32,8 +32,8 @@
DESKTOP_SETTINGS_MAGIC, \ DESKTOP_SETTINGS_MAGIC, \
DESKTOP_SETTINGS_VER) DESKTOP_SETTINGS_VER)
#define MAX_PIN_SIZE 10 #define MAX_PIN_SIZE 10
#define MIN_PIN_SIZE 4 #define MIN_PIN_SIZE 4
#define MAX_APP_LENGTH 128 #define MAX_APP_LENGTH 128
typedef enum { typedef enum {

View File

@@ -5,7 +5,7 @@
#include <gui/icon_i.h> #include <gui/icon_i.h>
#include <core/dangerous_defines.h> #include <core/dangerous_defines.h>
#define SLIDESHOW_MAGIC 0x72676468 #define SLIDESHOW_MAGIC 0x72676468
#define SLIDESHOW_MAX_SUPPORTED_VERSION 1 #define SLIDESHOW_MAX_SUPPORTED_VERSION 1
struct Slideshow { struct Slideshow {

View File

@@ -1,4 +1,4 @@
#pragma once #pragma once
#define SCENE_LOCKED_FIRST_ENTER 0 #define SCENE_LOCKED_FIRST_ENTER 0
#define SCENE_LOCKED_REPEAT_ENTER 1 #define SCENE_LOCKED_REPEAT_ENTER 1

View File

@@ -14,7 +14,7 @@
#include "desktop_scene_i.h" #include "desktop_scene_i.h"
#define WRONG_PIN_HEADER_TIMEOUT 3000 #define WRONG_PIN_HEADER_TIMEOUT 3000
#define INPUT_PIN_VIEW_TIMEOUT 15000 #define INPUT_PIN_VIEW_TIMEOUT 15000
static void desktop_scene_locked_callback(DesktopEvent event, void* context) { static void desktop_scene_locked_callback(DesktopEvent event, void* context) {
Desktop* desktop = (Desktop*)context; Desktop* desktop = (Desktop*)context;

View File

@@ -14,7 +14,7 @@
#include "desktop_scene.h" #include "desktop_scene.h"
#define WRONG_PIN_HEADER_TIMEOUT 3000 #define WRONG_PIN_HEADER_TIMEOUT 3000
#define INPUT_PIN_VIEW_TIMEOUT 15000 #define INPUT_PIN_VIEW_TIMEOUT 15000
typedef struct { typedef struct {
FuriTimer* timer; FuriTimer* timer;

View File

@@ -10,17 +10,17 @@
#include "../desktop_i.h" #include "../desktop_i.h"
#include "desktop_view_locked.h" #include "desktop_view_locked.h"
#define DOOR_MOVING_INTERVAL_MS (1000 / 16) #define DOOR_MOVING_INTERVAL_MS (1000 / 16)
#define LOCKED_HINT_TIMEOUT_MS (1000) #define LOCKED_HINT_TIMEOUT_MS (1000)
#define UNLOCKED_HINT_TIMEOUT_MS (2000) #define UNLOCKED_HINT_TIMEOUT_MS (2000)
#define DOOR_OFFSET_START (-55) #define DOOR_OFFSET_START (-55)
#define DOOR_OFFSET_END (0) #define DOOR_OFFSET_END (0)
#define DOOR_L_FINAL_POS (0) #define DOOR_L_FINAL_POS (0)
#define DOOR_R_FINAL_POS (60) #define DOOR_R_FINAL_POS (60)
#define UNLOCK_CNT (3) #define UNLOCK_CNT (3)
#define UNLOCK_RST_TIMEOUT (600) #define UNLOCK_RST_TIMEOUT (600)
struct DesktopViewLocked { struct DesktopViewLocked {

View File

@@ -11,8 +11,8 @@
#define NO_ACTIVITY_TIMEOUT 15000 #define NO_ACTIVITY_TIMEOUT 15000
#define PIN_CELL_WIDTH 13 #define PIN_CELL_WIDTH 13
#define DEFAULT_PIN_X 64 #define DEFAULT_PIN_X 64
#define DEFAULT_PIN_Y 32 #define DEFAULT_PIN_Y 32
struct DesktopViewPinInput { struct DesktopViewPinInput {
View* view; View* view;

View File

@@ -6,7 +6,7 @@
#include "../helpers/slideshow.h" #include "../helpers/slideshow.h"
#define DESKTOP_SLIDESHOW_POWEROFF_SHORT 5000 #define DESKTOP_SLIDESHOW_POWEROFF_SHORT 5000
#define DESKTOP_SLIDESHOW_POWEROFF_LONG (60 * 60 * 1000) #define DESKTOP_SLIDESHOW_POWEROFF_LONG (60 * 60 * 1000)
struct DesktopSlideshowView { struct DesktopSlideshowView {
View* view; View* view;

View File

@@ -5,22 +5,22 @@
#define TAG "Dolphin" #define TAG "Dolphin"
#define DOLPHIN_LOCK_EVENT_FLAG (0x1) #define DOLPHIN_LOCK_EVENT_FLAG (0x1)
#define EVENT_QUEUE_SIZE (8) #define EVENT_QUEUE_SIZE (8)
#define SECONDS_IN_TICKS(x) ((x) * 1000UL) #define SECONDS_IN_TICKS(x) ((x) * 1000UL)
#define MINUTES_IN_TICKS(x) (SECONDS_IN_TICKS(x) * 60UL) #define MINUTES_IN_TICKS(x) (SECONDS_IN_TICKS(x) * 60UL)
#define HOURS_IN_TICKS(x) (MINUTES_IN_TICKS(x) * 60UL) #define HOURS_IN_TICKS(x) (MINUTES_IN_TICKS(x) * 60UL)
#define DATE_IN_TICKS(h, m, s) (HOURS_IN_TICKS(h) + MINUTES_IN_TICKS(m) + SECONDS_IN_TICKS(s)) #define DATE_IN_TICKS(h, m, s) (HOURS_IN_TICKS(h) + MINUTES_IN_TICKS(m) + SECONDS_IN_TICKS(s))
#define FLUSH_TIMEOUT_TICKS (SECONDS_IN_TICKS(30UL)) #define FLUSH_TIMEOUT_TICKS (SECONDS_IN_TICKS(30UL))
#ifndef DOLPHIN_DEBUG #ifndef DOLPHIN_DEBUG
#define BUTTHURT_INCREASE_PERIOD_TICKS (HOURS_IN_TICKS(48UL)) #define BUTTHURT_INCREASE_PERIOD_TICKS (HOURS_IN_TICKS(48UL))
#define CLEAR_LIMITS_PERIOD_TICKS (HOURS_IN_TICKS(24UL)) #define CLEAR_LIMITS_PERIOD_TICKS (HOURS_IN_TICKS(24UL))
#define CLEAR_LIMITS_UPDATE_PERIOD_TICKS (HOURS_IN_TICKS(1UL)) #define CLEAR_LIMITS_UPDATE_PERIOD_TICKS (HOURS_IN_TICKS(1UL))
#else #else
#define BUTTHURT_INCREASE_PERIOD_TICKS (SECONDS_IN_TICKS(30UL)) #define BUTTHURT_INCREASE_PERIOD_TICKS (SECONDS_IN_TICKS(30UL))
#define CLEAR_LIMITS_PERIOD_TICKS (MINUTES_IN_TICKS(1)) #define CLEAR_LIMITS_PERIOD_TICKS (MINUTES_IN_TICKS(1))
#define CLEAR_LIMITS_UPDATE_PERIOD_TICKS (SECONDS_IN_TICKS(5UL)) #define CLEAR_LIMITS_UPDATE_PERIOD_TICKS (SECONDS_IN_TICKS(5UL))
#endif #endif

View File

@@ -10,13 +10,13 @@
#define TAG "DolphinState" #define TAG "DolphinState"
#define DOLPHIN_STATE_PATH INT_PATH(DOLPHIN_STATE_FILE_NAME) #define DOLPHIN_STATE_PATH INT_PATH(DOLPHIN_STATE_FILE_NAME)
#define DOLPHIN_STATE_HEADER_MAGIC 0xD0 #define DOLPHIN_STATE_HEADER_MAGIC 0xD0
#define DOLPHIN_STATE_HEADER_VERSION 0x01 #define DOLPHIN_STATE_HEADER_VERSION 0x01
#define LEVEL2_THRESHOLD 300 #define LEVEL2_THRESHOLD 300
#define LEVEL3_THRESHOLD 1800 #define LEVEL3_THRESHOLD 1800
#define BUTTHURT_MAX 14 #define BUTTHURT_MAX 14
#define BUTTHURT_MIN 0 #define BUTTHURT_MIN 0
DolphinState* dolphin_state_alloc(void) { DolphinState* dolphin_state_alloc(void) {
return malloc(sizeof(DolphinState)); return malloc(sizeof(DolphinState));

View File

@@ -5,9 +5,9 @@
#include "expansion_settings_filename.h" #include "expansion_settings_filename.h"
#define EXPANSION_SETTINGS_PATH INT_PATH(EXPANSION_SETTINGS_FILE_NAME) #define EXPANSION_SETTINGS_PATH INT_PATH(EXPANSION_SETTINGS_FILE_NAME)
#define EXPANSION_SETTINGS_VERSION (0) #define EXPANSION_SETTINGS_VERSION (0)
#define EXPANSION_SETTINGS_MAGIC (0xEA) #define EXPANSION_SETTINGS_MAGIC (0xEA)
bool expansion_settings_load(ExpansionSettings* settings) { bool expansion_settings_load(ExpansionSettings* settings) {
furi_assert(settings); furi_assert(settings);

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