From 79e76365070a4cf7d4ac29b8d7eedb429fab9db7 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Fri, 29 Jul 2022 19:34:41 +0300 Subject: [PATCH] fmt --- applications/mousejacker/mousejacker.c | 22 +--- .../wifi_marauder_scene_console_output.c | 18 +-- .../scenes/wifi_marauder_scene_start.c | 78 +++++++------ .../scenes/wifi_marauder_scene_text_input.c | 17 ++- .../wifi_marauder_app.c | 6 +- .../wifi_marauder_uart.c | 17 +-- .../wifi_marauder_uart.h | 6 +- lib/drivers/nrf24.h | 109 ++++++++---------- lib/subghz/types.h | 6 +- 9 files changed, 136 insertions(+), 143 deletions(-) diff --git a/applications/mousejacker/mousejacker.c b/applications/mousejacker/mousejacker.c index 4a755a359..7e86bbaa6 100644 --- a/applications/mousejacker/mousejacker.c +++ b/applications/mousejacker/mousejacker.c @@ -36,7 +36,6 @@ typedef struct { int y; bool ducky_err; bool addr_err; - bool ducky_running; } PluginState; uint8_t addrs_count = 0; @@ -55,7 +54,7 @@ static void render_callback(Canvas* const canvas, void* ctx) { canvas_draw_frame(canvas, 0, 0, 128, 64); canvas_set_font(canvas, FontSecondary); - if(!plugin_state->addr_err && !plugin_state->ducky_err && !plugin_state->ducky_running) { + if(!plugin_state->addr_err && !plugin_state->ducky_err) { sprintf(target_text, target_fmt_text, target_address_str); canvas_draw_str_aligned(canvas, 7, 10, AlignLeft, AlignBottom, target_text); canvas_draw_str_aligned(canvas, 22, 20, AlignLeft, AlignBottom, "<- select address ->"); @@ -74,10 +73,6 @@ static void render_callback(Canvas* const canvas, void* ctx) { canvas, 10, 10, AlignLeft, AlignBottom, "Error: No mousejacker folder"); canvas_draw_str_aligned(canvas, 10, 20, AlignLeft, AlignBottom, "or duckyscript file"); canvas_draw_str_aligned(canvas, 10, 30, AlignLeft, AlignBottom, "loading error"); - } else if(plugin_state->ducky_running) { - sprintf(target_text, target_fmt_text, target_address_str); - canvas_draw_str_aligned(canvas, 7, 10, AlignLeft, AlignBottom, target_text); - canvas_draw_str_aligned(canvas, 10, 30, AlignLeft, AlignBottom, "Running duckyscript..."); } release_mutex((ValueMutex*)ctx, plugin_state); @@ -142,13 +137,8 @@ static bool open_addrs_file(Stream* stream) { return result; } -static bool process_ducky_file( - ViewPort* view_port, - PluginState* plugin_state, - Stream* file_stream, - uint8_t* addr, - uint8_t addr_size, - uint8_t rate) { +static bool + process_ducky_file(Stream* file_stream, uint8_t* addr, uint8_t addr_size, uint8_t rate) { size_t file_size = 0; size_t bytes_read = 0; uint8_t* file_buf; @@ -164,13 +154,9 @@ static bool process_ducky_file( memset(file_buf, 0, file_size); bytes_read = stream_read(file_stream, file_buf, file_size); if(bytes_read == file_size) { - plugin_state->ducky_running = true; - view_port_update(view_port); FURI_LOG_I(TAG, "executing ducky script"); mj_process_ducky_script(nrf24_HANDLE, addr, addr_size, rate, (char*)file_buf); FURI_LOG_I(TAG, "finished execution"); - furi_delay_ms(300); - plugin_state->ducky_running = false; loaded = true; } else { FURI_LOG_I(TAG, "load failed. file size: %d", file_size); @@ -311,8 +297,6 @@ int32_t mousejacker_app(void* p) { LOGITECH_MAX_CHANNEL, true); ducky_ok = process_ducky_file( - view_port, - plugin_state, file_stream, loaded_addrs[addr_idx] + 1, 5, diff --git a/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_console_output.c b/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_console_output.c index 7f1c14892..2aba66306 100644 --- a/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_console_output.c +++ b/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_console_output.c @@ -1,12 +1,12 @@ #include "../wifi_marauder_app_i.h" -void wifi_marauder_console_output_handle_rx_data_cb(uint8_t *buf, size_t len, void* context) { +void wifi_marauder_console_output_handle_rx_data_cb(uint8_t* buf, size_t len, void* context) { furi_assert(context); WifiMarauderApp* app = context; // If text box store gets too big, then truncate it app->text_box_store_strlen += len; - if (app->text_box_store_strlen >= WIFI_MARAUDER_TEXT_BOX_STORE_SIZE - 1) { + if(app->text_box_store_strlen >= WIFI_MARAUDER_TEXT_BOX_STORE_SIZE - 1) { string_right(app->text_box_store, app->text_box_store_strlen / 2); app->text_box_store_strlen = string_size(app->text_box_store); } @@ -24,12 +24,12 @@ void wifi_marauder_scene_console_output_on_enter(void* context) { TextBox* text_box = app->text_box; text_box_reset(app->text_box); text_box_set_font(text_box, TextBoxFontText); - if (app->focus_console_start) { + if(app->focus_console_start) { text_box_set_focus(text_box, TextBoxFocusStart); } else { text_box_set_focus(text_box, TextBoxFocusEnd); } - if (app->is_command) { + if(app->is_command) { string_reset(app->text_box_store); app->text_box_store_strlen = 0; } else { // "View Log" menu action @@ -40,11 +40,13 @@ void wifi_marauder_scene_console_output_on_enter(void* context) { view_dispatcher_switch_to_view(app->view_dispatcher, WifiMarauderAppViewConsoleOutput); // Register callback to receive data - wifi_marauder_uart_set_handle_rx_data_cb(app->uart, wifi_marauder_console_output_handle_rx_data_cb); // setup callback for rx thread + wifi_marauder_uart_set_handle_rx_data_cb( + app->uart, wifi_marauder_console_output_handle_rx_data_cb); // setup callback for rx thread // Send command with newline '\n' - if (app->is_command && app->selected_tx_string) { - wifi_marauder_uart_tx((uint8_t*)(app->selected_tx_string), strlen(app->selected_tx_string)); + if(app->is_command && app->selected_tx_string) { + wifi_marauder_uart_tx( + (uint8_t*)(app->selected_tx_string), strlen(app->selected_tx_string)); wifi_marauder_uart_tx((uint8_t*)("\n"), 1); } } @@ -71,7 +73,7 @@ void wifi_marauder_scene_console_output_on_exit(void* context) { wifi_marauder_uart_set_handle_rx_data_cb(app->uart, NULL); // Automatically stop the scan when exiting view - if (app->is_command) { + if(app->is_command) { wifi_marauder_uart_tx((uint8_t*)("stopscan\n"), strlen("stopscan\n")); } } \ No newline at end of file diff --git a/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_start.c b/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_start.c index bc5e5641c..03d463462 100644 --- a/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_start.c +++ b/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_start.c @@ -5,10 +5,10 @@ // For each command, define whether additional arguments are needed // (enabling text input to fill them out), and whether the console // text box should focus at the start of the output or the end -#define INPUT_ARGS (true) -#define NO_ARGS (false) +#define INPUT_ARGS (true) +#define NO_ARGS (false) #define FOCUS_CONSOLE_START (true) -#define FOCUS_CONSOLE_END (false) +#define FOCUS_CONSOLE_END (false) struct WifiMarauderItem { const char* item_string; bool needs_keyboard; @@ -16,35 +16,35 @@ struct WifiMarauderItem { }; const struct WifiMarauderItem items[NUM_MENU_ITEMS] = { - { "View Log (start)", NO_ARGS, FOCUS_CONSOLE_START }, - { "View Log (end)", NO_ARGS, FOCUS_CONSOLE_END }, - { "attack -t beacon -l", NO_ARGS, FOCUS_CONSOLE_END }, - { "attack -t beacon -r", NO_ARGS, FOCUS_CONSOLE_END }, - { "attack -t beacon -a", NO_ARGS, FOCUS_CONSOLE_END }, - { "attack -t deauth", NO_ARGS, FOCUS_CONSOLE_END }, - { "attack -t probe", NO_ARGS, FOCUS_CONSOLE_END }, - { "attack -t rickroll", NO_ARGS, FOCUS_CONSOLE_END }, - { "channel", NO_ARGS, FOCUS_CONSOLE_END }, - { "channel -s", INPUT_ARGS, FOCUS_CONSOLE_END }, - { "clearlist -a", NO_ARGS, FOCUS_CONSOLE_END }, - { "clearlist -s", NO_ARGS, FOCUS_CONSOLE_END }, - { "help", NO_ARGS, FOCUS_CONSOLE_START }, - { "list -a", NO_ARGS, FOCUS_CONSOLE_START }, - { "list -s", NO_ARGS, FOCUS_CONSOLE_START }, - { "reboot", NO_ARGS, FOCUS_CONSOLE_END }, - { "scanap", NO_ARGS, FOCUS_CONSOLE_END }, - { "select -a", INPUT_ARGS, FOCUS_CONSOLE_END }, - { "select -s", INPUT_ARGS, FOCUS_CONSOLE_END }, - { "sniffbeacon", NO_ARGS, FOCUS_CONSOLE_END }, - { "sniffdeauth", NO_ARGS, FOCUS_CONSOLE_END }, - { "sniffesp", NO_ARGS, FOCUS_CONSOLE_END }, - { "sniffpmkid", NO_ARGS, FOCUS_CONSOLE_END }, - { "sniffpmkid -c", INPUT_ARGS, FOCUS_CONSOLE_END }, - { "sniffpwn", NO_ARGS, FOCUS_CONSOLE_END }, - { "ssid -a -g", INPUT_ARGS, FOCUS_CONSOLE_END }, - { "ssid -a -n", INPUT_ARGS, FOCUS_CONSOLE_END }, - { "ssid -r", INPUT_ARGS, FOCUS_CONSOLE_END }, - { "update -w", NO_ARGS, FOCUS_CONSOLE_END }, + {"View Log (start)", NO_ARGS, FOCUS_CONSOLE_START}, + {"View Log (end)", NO_ARGS, FOCUS_CONSOLE_END}, + {"attack -t beacon -l", NO_ARGS, FOCUS_CONSOLE_END}, + {"attack -t beacon -r", NO_ARGS, FOCUS_CONSOLE_END}, + {"attack -t beacon -a", NO_ARGS, FOCUS_CONSOLE_END}, + {"attack -t deauth", NO_ARGS, FOCUS_CONSOLE_END}, + {"attack -t probe", NO_ARGS, FOCUS_CONSOLE_END}, + {"attack -t rickroll", NO_ARGS, FOCUS_CONSOLE_END}, + {"channel", NO_ARGS, FOCUS_CONSOLE_END}, + {"channel -s", INPUT_ARGS, FOCUS_CONSOLE_END}, + {"clearlist -a", NO_ARGS, FOCUS_CONSOLE_END}, + {"clearlist -s", NO_ARGS, FOCUS_CONSOLE_END}, + {"help", NO_ARGS, FOCUS_CONSOLE_START}, + {"list -a", NO_ARGS, FOCUS_CONSOLE_START}, + {"list -s", NO_ARGS, FOCUS_CONSOLE_START}, + {"reboot", NO_ARGS, FOCUS_CONSOLE_END}, + {"scanap", NO_ARGS, FOCUS_CONSOLE_END}, + {"select -a", INPUT_ARGS, FOCUS_CONSOLE_END}, + {"select -s", INPUT_ARGS, FOCUS_CONSOLE_END}, + {"sniffbeacon", NO_ARGS, FOCUS_CONSOLE_END}, + {"sniffdeauth", NO_ARGS, FOCUS_CONSOLE_END}, + {"sniffesp", NO_ARGS, FOCUS_CONSOLE_END}, + {"sniffpmkid", NO_ARGS, FOCUS_CONSOLE_END}, + {"sniffpmkid -c", INPUT_ARGS, FOCUS_CONSOLE_END}, + {"sniffpwn", NO_ARGS, FOCUS_CONSOLE_END}, + {"ssid -a -g", INPUT_ARGS, FOCUS_CONSOLE_END}, + {"ssid -a -n", INPUT_ARGS, FOCUS_CONSOLE_END}, + {"ssid -r", INPUT_ARGS, FOCUS_CONSOLE_END}, + {"update -w", NO_ARGS, FOCUS_CONSOLE_END}, }; static void wifi_marauder_scene_start_var_list_enter_callback(void* context, uint32_t index) { @@ -55,7 +55,7 @@ static void wifi_marauder_scene_start_var_list_enter_callback(void* context, uin app->is_custom_tx_string = false; app->selected_menu_index = index; app->focus_console_start = items[index].focus_console_start; - if (items[index].needs_keyboard) { + if(items[index].needs_keyboard) { view_dispatcher_send_custom_event(app->view_dispatcher, WifiMarauderEventStartKeyboard); } else { view_dispatcher_send_custom_event(app->view_dispatcher, WifiMarauderEventStartConsole); @@ -70,7 +70,7 @@ void wifi_marauder_scene_start_on_enter(void* context) { var_item_list, wifi_marauder_scene_start_var_list_enter_callback, app); // TODO: organize menu - for (int i = 0; i < NUM_MENU_ITEMS; ++i) { + for(int i = 0; i < NUM_MENU_ITEMS; ++i) { variable_item_list_add(var_item_list, items[i].item_string, 0, NULL, NULL); } @@ -86,11 +86,13 @@ bool wifi_marauder_scene_start_on_event(void* context, SceneManagerEvent event) bool consumed = false; if(event.type == SceneManagerEventTypeCustom) { - if (event.event == WifiMarauderEventStartKeyboard) { - scene_manager_set_scene_state(app->scene_manager, WifiMarauderSceneStart, app->selected_menu_index); + if(event.event == WifiMarauderEventStartKeyboard) { + scene_manager_set_scene_state( + app->scene_manager, WifiMarauderSceneStart, app->selected_menu_index); scene_manager_next_scene(app->scene_manager, WifiMarauderAppViewTextInput); - } else if (event.event == WifiMarauderEventStartConsole) { - scene_manager_set_scene_state(app->scene_manager, WifiMarauderSceneStart, app->selected_menu_index); + } else if(event.event == WifiMarauderEventStartConsole) { + scene_manager_set_scene_state( + app->scene_manager, WifiMarauderSceneStart, app->selected_menu_index); scene_manager_next_scene(app->scene_manager, WifiMarauderAppViewConsoleOutput); } consumed = true; diff --git a/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_text_input.c b/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_text_input.c index eb77ebb6c..d4e7020d7 100644 --- a/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_text_input.c +++ b/applications/wifi_marauder_companion/scenes/wifi_marauder_scene_text_input.c @@ -1,6 +1,5 @@ #include "../wifi_marauder_app_i.h" - void wifi_marauder_scene_text_input_callback(void* context) { WifiMarauderApp* app = context; @@ -10,7 +9,7 @@ void wifi_marauder_scene_text_input_callback(void* context) { void wifi_marauder_scene_text_input_on_enter(void* context) { WifiMarauderApp* app = context; - if (false == app->is_custom_tx_string) { + if(false == app->is_custom_tx_string) { // Fill text input with selected string so that user can add to it size_t length = strlen(app->selected_tx_string); furi_assert(length < WIFI_MARAUDER_TEXT_INPUT_STORE_SIZE); @@ -19,14 +18,20 @@ void wifi_marauder_scene_text_input_on_enter(void* context) { // Add space - because flipper keyboard currently doesn't have a space app->text_input_store[length] = ' '; - app->text_input_store[length+1] = '\0'; + app->text_input_store[length + 1] = '\0'; app->is_custom_tx_string = true; } // Setup view TextInput* text_input = app->text_input; text_input_set_header_text(text_input, "Add command arguments"); - text_input_set_result_callback(text_input, wifi_marauder_scene_text_input_callback, app, app->text_input_store, WIFI_MARAUDER_TEXT_INPUT_STORE_SIZE, false); + text_input_set_result_callback( + text_input, + wifi_marauder_scene_text_input_callback, + app, + app->text_input_store, + WIFI_MARAUDER_TEXT_INPUT_STORE_SIZE, + false); view_dispatcher_switch_to_view(app->view_dispatcher, WifiMarauderAppViewTextInput); } @@ -35,8 +40,8 @@ bool wifi_marauder_scene_text_input_on_event(void* context, SceneManagerEvent ev WifiMarauderApp* app = context; bool consumed = false; - if (event.type == SceneManagerEventTypeCustom) { - if (event.event == WifiMarauderEventStartConsole) { + if(event.type == SceneManagerEventTypeCustom) { + if(event.event == WifiMarauderEventStartConsole) { // Point to custom string to send app->selected_tx_string = app->text_input_store; scene_manager_next_scene(app->scene_manager, WifiMarauderAppViewConsoleOutput); diff --git a/applications/wifi_marauder_companion/wifi_marauder_app.c b/applications/wifi_marauder_companion/wifi_marauder_app.c index 506e89b10..76a802d8a 100644 --- a/applications/wifi_marauder_companion/wifi_marauder_app.c +++ b/applications/wifi_marauder_companion/wifi_marauder_app.c @@ -47,12 +47,14 @@ WifiMarauderApp* wifi_marauder_app_alloc() { variable_item_list_get_view(app->var_item_list)); app->text_box = text_box_alloc(); - view_dispatcher_add_view(app->view_dispatcher, WifiMarauderAppViewConsoleOutput, text_box_get_view(app->text_box)); + view_dispatcher_add_view( + app->view_dispatcher, WifiMarauderAppViewConsoleOutput, text_box_get_view(app->text_box)); string_init(app->text_box_store); string_reserve(app->text_box_store, WIFI_MARAUDER_TEXT_BOX_STORE_SIZE); app->text_input = text_input_alloc(); - view_dispatcher_add_view(app->view_dispatcher, WifiMarauderAppViewTextInput, text_input_get_view(app->text_input)); + view_dispatcher_add_view( + app->view_dispatcher, WifiMarauderAppViewTextInput, text_input_get_view(app->text_input)); scene_manager_next_scene(app->scene_manager, WifiMarauderSceneStart); diff --git a/applications/wifi_marauder_companion/wifi_marauder_uart.c b/applications/wifi_marauder_companion/wifi_marauder_uart.c index 6297ea83b..a7dc26e8b 100644 --- a/applications/wifi_marauder_companion/wifi_marauder_uart.c +++ b/applications/wifi_marauder_companion/wifi_marauder_uart.c @@ -10,8 +10,8 @@ struct WifiMarauderUart { WifiMarauderApp* app; FuriThread* rx_thread; StreamBufferHandle_t rx_stream; - uint8_t rx_buf[RX_BUF_SIZE+1]; - void (*handle_rx_data_cb)(uint8_t *buf, size_t len, void* context); + uint8_t rx_buf[RX_BUF_SIZE + 1]; + void (*handle_rx_data_cb)(uint8_t* buf, size_t len, void* context); }; typedef enum { @@ -19,7 +19,9 @@ typedef enum { WorkerEvtRxDone = (1 << 1), } WorkerEvtFlags; -void wifi_marauder_uart_set_handle_rx_data_cb(WifiMarauderUart* uart, void (*handle_rx_data_cb)(uint8_t *buf, size_t len, void* context)) { +void wifi_marauder_uart_set_handle_rx_data_cb( + WifiMarauderUart* uart, + void (*handle_rx_data_cb)(uint8_t* buf, size_t len, void* context)) { furi_assert(uart); uart->handle_rx_data_cb = handle_rx_data_cb; } @@ -48,10 +50,9 @@ static int32_t uart_worker(void* context) { furi_check((events & FuriFlagError) == 0); if(events & WorkerEvtStop) break; if(events & WorkerEvtRxDone) { - size_t len = - xStreamBufferReceive(uart->rx_stream, uart->rx_buf, RX_BUF_SIZE, 0); + size_t len = xStreamBufferReceive(uart->rx_stream, uart->rx_buf, RX_BUF_SIZE, 0); if(len > 0) { - if (uart->handle_rx_data_cb) uart->handle_rx_data_cb(uart->rx_buf, len, uart->app); + if(uart->handle_rx_data_cb) uart->handle_rx_data_cb(uart->rx_buf, len, uart->app); } } } @@ -61,12 +62,12 @@ static int32_t uart_worker(void* context) { return 0; } -void wifi_marauder_uart_tx(uint8_t *data, size_t len) { +void wifi_marauder_uart_tx(uint8_t* data, size_t len) { furi_hal_uart_tx(UART_CH, data, len); } WifiMarauderUart* wifi_marauder_uart_init(WifiMarauderApp* app) { - WifiMarauderUart *uart = malloc(sizeof(WifiMarauderUart)); + WifiMarauderUart* uart = malloc(sizeof(WifiMarauderUart)); furi_hal_console_disable(); furi_hal_uart_set_br(UART_CH, BAUDRATE); diff --git a/applications/wifi_marauder_companion/wifi_marauder_uart.h b/applications/wifi_marauder_companion/wifi_marauder_uart.h index 85dd7ee08..e38c18dd2 100644 --- a/applications/wifi_marauder_companion/wifi_marauder_uart.h +++ b/applications/wifi_marauder_companion/wifi_marauder_uart.h @@ -6,7 +6,9 @@ typedef struct WifiMarauderUart WifiMarauderUart; -void wifi_marauder_uart_set_handle_rx_data_cb(WifiMarauderUart* uart, void (*handle_rx_data_cb)(uint8_t *buf, size_t len, void* context)); -void wifi_marauder_uart_tx(uint8_t *data, size_t len); +void wifi_marauder_uart_set_handle_rx_data_cb( + WifiMarauderUart* uart, + void (*handle_rx_data_cb)(uint8_t* buf, size_t len, void* context)); +void wifi_marauder_uart_tx(uint8_t* data, size_t len); WifiMarauderUart* wifi_marauder_uart_init(WifiMarauderApp* app); void wifi_marauder_uart_free(WifiMarauderUart* uart); diff --git a/lib/drivers/nrf24.h b/lib/drivers/nrf24.h index ea0f58377..584eaaea7 100644 --- a/lib/drivers/nrf24.h +++ b/lib/drivers/nrf24.h @@ -7,45 +7,43 @@ extern "C" { #endif -#define R_REGISTER 0x00 -#define W_REGISTER 0x20 -#define REGISTER_MASK 0x1F -#define ACTIVATE 0x50 -#define R_RX_PL_WID 0x60 -#define R_RX_PAYLOAD 0x61 -#define W_TX_PAYLOAD 0xA0 -#define W_TX_PAYLOAD_NOACK 0xB0 -#define W_ACK_PAYLOAD 0xA8 -#define FLUSH_TX 0xE1 -#define FLUSH_RX 0xE2 -#define REUSE_TX_PL 0xE3 -#define RF24_NOP 0xFF +#define R_REGISTER 0x00 +#define W_REGISTER 0x20 +#define REGISTER_MASK 0x1F +#define ACTIVATE 0x50 +#define R_RX_PL_WID 0x60 +#define R_RX_PAYLOAD 0x61 +#define W_TX_PAYLOAD 0xA0 +#define W_TX_PAYLOAD_NOACK 0xB0 +#define W_ACK_PAYLOAD 0xA8 +#define FLUSH_TX 0xE1 +#define FLUSH_RX 0xE2 +#define REUSE_TX_PL 0xE3 +#define RF24_NOP 0xFF -#define REG_CONFIG 0x00 -#define REG_EN_AA 0x01 -#define REG_EN_RXADDR 0x02 -#define REG_SETUP_AW 0x03 -#define REG_SETUP_RETR 0x04 -#define REG_DYNPD 0x1C -#define REG_FEATURE 0x1D -#define REG_RF_SETUP 0x06 -#define REG_STATUS 0x07 -#define REG_RX_ADDR_P0 0x0A -#define REG_RF_CH 0x05 -#define REG_TX_ADDR 0x10 +#define REG_CONFIG 0x00 +#define REG_EN_AA 0x01 +#define REG_EN_RXADDR 0x02 +#define REG_SETUP_AW 0x03 +#define REG_SETUP_RETR 0x04 +#define REG_DYNPD 0x1C +#define REG_FEATURE 0x1D +#define REG_RF_SETUP 0x06 +#define REG_STATUS 0x07 +#define REG_RX_ADDR_P0 0x0A +#define REG_RF_CH 0x05 +#define REG_TX_ADDR 0x10 -#define RX_PW_P0 0x11 -#define TX_DS 0x20 -#define MAX_RT 0x10 +#define RX_PW_P0 0x11 +#define TX_DS 0x20 +#define MAX_RT 0x10 #define nrf24_TIMEOUT 500 #define nrf24_CE_PIN &gpio_ext_pb2 #define nrf24_HANDLE &furi_hal_spi_bus_handle_external - /* Low level API */ - /** Write device register * * @param handle - pointer to FuriHalSpiHandle @@ -56,7 +54,6 @@ extern "C" { */ uint8_t nrf24_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data); - /** Write buffer to device register * * @param handle - pointer to FuriHalSpiHandle @@ -68,7 +65,6 @@ uint8_t nrf24_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data); */ uint8_t nrf24_write_buf_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size); - /** Read device register * * @param handle - pointer to FuriHalSpiHandle @@ -79,7 +75,6 @@ uint8_t nrf24_write_buf_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* d */ uint8_t nrf24_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size); - /** Power up the radio for operation * * @param handle - pointer to FuriHalSpiHandle @@ -88,7 +83,6 @@ uint8_t nrf24_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, */ uint8_t nrf24_power_up(FuriHalSpiBusHandle* handle); - /** Power down the radio * * @param handle - pointer to FuriHalSpiHandle @@ -97,7 +91,6 @@ uint8_t nrf24_power_up(FuriHalSpiBusHandle* handle); */ uint8_t nrf24_set_idle(FuriHalSpiBusHandle* handle); - /** Sets the radio to RX mode * * @param handle - pointer to FuriHalSpiHandle @@ -106,7 +99,6 @@ uint8_t nrf24_set_idle(FuriHalSpiBusHandle* handle); */ uint8_t nrf24_set_rx_mode(FuriHalSpiBusHandle* handle); - /** Sets the radio to TX mode * * @param handle - pointer to FuriHalSpiHandle @@ -121,10 +113,9 @@ uint8_t nrf24_set_tx_mode(FuriHalSpiBusHandle* handle); /** Must call this before using any other nrf24 API * - */ + */ void nrf24_init(); - /** Send flush rx command * * @param handle - pointer to FuriHalSpiHandle @@ -141,7 +132,6 @@ uint8_t nrf24_flush_rx(FuriHalSpiBusHandle* handle); */ uint8_t nrf24_flush_tx(FuriHalSpiBusHandle* handle); - /** Gets the RX packet length in data pipe 0 * * @param handle - pointer to FuriHalSpiHandle @@ -150,7 +140,6 @@ uint8_t nrf24_flush_tx(FuriHalSpiBusHandle* handle); */ uint8_t nrf24_get_packetlen(FuriHalSpiBusHandle* handle); - /** Sets the RX packet length in data pipe 0 * * @param handle - pointer to FuriHalSpiHandle @@ -160,7 +149,6 @@ uint8_t nrf24_get_packetlen(FuriHalSpiBusHandle* handle); */ uint8_t nrf24_set_packetlen(FuriHalSpiBusHandle* handle, uint8_t len); - /** Gets configured length of MAC address * * @param handle - pointer to FuriHalSpiHandle @@ -212,7 +200,6 @@ uint8_t nrf24_set_rate(FuriHalSpiBusHandle* handle, uint32_t rate); */ uint8_t nrf24_get_chan(FuriHalSpiBusHandle* handle); - /** Sets the channel * * @param handle - pointer to FuriHalSpiHandle @@ -222,7 +209,6 @@ uint8_t nrf24_get_chan(FuriHalSpiBusHandle* handle); */ uint8_t nrf24_set_chan(FuriHalSpiBusHandle* handle, uint8_t chan); - /** Gets the source mac address * * @param handle - pointer to FuriHalSpiHandle @@ -230,8 +216,7 @@ uint8_t nrf24_set_chan(FuriHalSpiBusHandle* handle, uint8_t chan); * * @return device status */ -uint8_t nrf24_get_src_mac(FuriHalSpiBusHandle* handle, uint8_t *mac); - +uint8_t nrf24_get_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac); /** Sets the source mac address * @@ -243,7 +228,6 @@ uint8_t nrf24_get_src_mac(FuriHalSpiBusHandle* handle, uint8_t *mac); */ uint8_t nrf24_set_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size); - /** Gets the dest mac address * * @param handle - pointer to FuriHalSpiHandle @@ -251,8 +235,7 @@ uint8_t nrf24_set_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t siz * * @return device status */ -uint8_t nrf24_get_dst_mac(FuriHalSpiBusHandle* handle, uint8_t *mac); - +uint8_t nrf24_get_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac); /** Sets the dest mac address * @@ -264,7 +247,6 @@ uint8_t nrf24_get_dst_mac(FuriHalSpiBusHandle* handle, uint8_t *mac); */ uint8_t nrf24_set_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size); - /** Reads RX packet * * @param handle - pointer to FuriHalSpiHandle @@ -274,8 +256,8 @@ uint8_t nrf24_set_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t siz * * @return device status */ -uint8_t nrf24_rxpacket(FuriHalSpiBusHandle* handle, uint8_t* packet, uint8_t* packetsize, bool full); - +uint8_t + nrf24_rxpacket(FuriHalSpiBusHandle* handle, uint8_t* packet, uint8_t* packetsize, bool full); /** Sends TX packet * @@ -288,7 +270,6 @@ uint8_t nrf24_rxpacket(FuriHalSpiBusHandle* handle, uint8_t* packet, uint8_t* pa */ uint8_t nrf24_txpacket(FuriHalSpiBusHandle* handle, uint8_t* payload, uint8_t size, bool ack); - /** Configure the radio * This is not comprehensive, but covers a lot of the common configuration options that may be changed * @param handle - pointer to FuriHalSpiHandle @@ -301,7 +282,15 @@ uint8_t nrf24_txpacket(FuriHalSpiBusHandle* handle, uint8_t* payload, uint8_t si * @param disable_aa - if true, disable ShockBurst * */ -void nrf24_configure(FuriHalSpiBusHandle* handle, uint8_t rate, uint8_t* srcmac, uint8_t* dstmac, uint8_t maclen, uint8_t channel, bool noack, bool disable_aa); +void nrf24_configure( + FuriHalSpiBusHandle* handle, + uint8_t rate, + uint8_t* srcmac, + uint8_t* dstmac, + uint8_t maclen, + uint8_t channel, + bool noack, + bool disable_aa); /** Configures the radio for "promiscuous mode" and primes it for rx * This is not an actual mode of the nrf24, but this function exploits a few bugs in the chip that allows it to act as if it were. @@ -312,7 +301,6 @@ void nrf24_configure(FuriHalSpiBusHandle* handle, uint8_t rate, uint8_t* srcmac, */ void nrf24_init_promisc_mode(FuriHalSpiBusHandle* handle, uint8_t channel, uint8_t rate); - /** Listens for a packet and returns first possible address sniffed * Call this only after calling nrf24_init_promisc_mode * @param handle - pointer to FuriHalSpiHandle @@ -336,8 +324,15 @@ bool nrf24_sniff_address(FuriHalSpiBusHandle* handle, uint8_t maclen, uint8_t* a * * @return channel that the address is listening on, if this value is above the max_channel param, it failed */ -uint8_t nrf24_find_channel(FuriHalSpiBusHandle* handle, uint8_t* srcmac, uint8_t* dstmac, uint8_t maclen, uint8_t rate, uint8_t min_channel, uint8_t max_channel, bool autoinit); - +uint8_t nrf24_find_channel( + FuriHalSpiBusHandle* handle, + uint8_t* srcmac, + uint8_t* dstmac, + uint8_t maclen, + uint8_t rate, + uint8_t min_channel, + uint8_t max_channel, + bool autoinit); /** Converts 64 bit value into uint8_t array * @param val - 64-bit integer @@ -346,7 +341,6 @@ uint8_t nrf24_find_channel(FuriHalSpiBusHandle* handle, uint8_t* srcmac, uint8_t */ void int64_to_bytes(uint64_t val, uint8_t* out, bool bigendian); - /** Converts 32 bit value into uint8_t array * @param val - 32-bit integer * @param[out] out - bytes out @@ -354,7 +348,6 @@ void int64_to_bytes(uint64_t val, uint8_t* out, bool bigendian); */ void int32_to_bytes(uint32_t val, uint8_t* out, bool bigendian); - /** Converts uint8_t array into 32 bit value * @param bytes - uint8_t array * @param bigendian - if true, convert as big endian, otherwise little endian diff --git a/lib/subghz/types.h b/lib/subghz/types.h index e4d1cea98..32b70b651 100644 --- a/lib/subghz/types.h +++ b/lib/subghz/types.h @@ -31,8 +31,10 @@ typedef void* (*SubGhzAlloc)(SubGhzEnvironment* environment); typedef void (*SubGhzFree)(void* context); // Serialize and Deserialize -typedef bool ( - *SubGhzSerialize)(void* context, FlipperFormat* flipper_format, SubGhzPresetDefinition* preset); +typedef bool (*SubGhzSerialize)( + void* context, + FlipperFormat* flipper_format, + SubGhzPresetDefinition* preset); typedef bool (*SubGhzDeserialize)(void* context, FlipperFormat* flipper_format); // Decoder specific