From 67a85f2c113f2871830c18ac9b665db4ebd656d8 Mon Sep 17 00:00:00 2001 From: Mitchell M Date: Mon, 20 Jul 2026 15:48:07 -0500 Subject: [PATCH] move bbnow code --- components/blk_box_lib | 2 +- dependencies.lock | 12 ++++- main/main.cpp | 99 +----------------------------------------- 3 files changed, 12 insertions(+), 101 deletions(-) diff --git a/components/blk_box_lib b/components/blk_box_lib index 59d038e..562b6ce 160000 --- a/components/blk_box_lib +++ b/components/blk_box_lib @@ -1 +1 @@ -Subproject commit 59d038efc2c78a98aec32bf5da38b77f3ca13313 +Subproject commit 562b6cea8b3ab81cbcb34355dcd6f47d38626197 diff --git a/dependencies.lock b/dependencies.lock index 822dde8..7aacfcb 100644 --- a/dependencies.lock +++ b/dependencies.lock @@ -20,11 +20,19 @@ dependencies: idf: source: type: idf - version: 6.0.1 + version: 6.0.0 + lvgl/lvgl: + component_hash: d7c1ac037ae6e85d94897f807d6e7ba0946a83e720074fc95a4f6241da9f9f53 + dependencies: [] + source: + registry_url: https://components.espressif.com/ + type: service + version: 8.4.0 direct_dependencies: - atanisoft/esp_lcd_ili9488 - espressif/led_strip - idf -manifest_hash: 104ee01597639c0b6c90ebbe71e61d9642bbc422f80747aa239202863e58174a +- lvgl/lvgl +manifest_hash: 5310bc9c053335562a91430b060b867c038be3618c4dd8d268b10627680fe2d0 target: esp32s3 version: 3.0.0 diff --git a/main/main.cpp b/main/main.cpp index b5261d4..83179cb 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -1,4 +1,3 @@ -#include "bbnow.hpp" #include "freertos/FreeRTOS.h" #include #include @@ -17,6 +16,7 @@ #include "blk_box_drivers/ssegs.hpp" #include "blk_box_drivers/helpers.hpp" #include "blk_box_drivers/tft.hpp" +#include "blk_box_drivers/bbnow.hpp" #include @@ -30,97 +30,8 @@ #include "esp_crc.h" #include "nvs_flash.h" - -#define ESPNOW_CHANNEL 6 -#define ESPNOW_DATA_MAX_LEN 24 - const static char TAG[] = "main"; - -const static uint8_t ESPNOW_PMK[16] = {0x4F, 0xA2, 0x8E, 0x11, 0xD7, 0x6C, 0xB5, 0x3E, 0x94, 0xF0, 0x2A, 0x83, 0xC6, 0x9D, 0x1B, 0x5E}; - -const static uint8_t BROADCAST_MAC[ESP_NOW_ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; - -static void example_espnow_send_cb(const esp_now_send_info_t *tx_info, esp_now_send_status_t status); -static void example_espnow_recv_cb(const esp_now_recv_info_t *recv_info, const uint8_t *data, int len); - - -void init_nvs(void) { - esp_err_t ret = nvs_flash_init(); - if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { - ESP_ERROR_CHECK( nvs_flash_erase() ); - ret = nvs_flash_init(); - } - ESP_ERROR_CHECK( ret ); -} - -void init_wifi(void) -{ - ESP_ERROR_CHECK(esp_netif_init()); - ESP_ERROR_CHECK(esp_event_loop_create_default()); - wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); - ESP_ERROR_CHECK( esp_wifi_init(&cfg) ); - ESP_ERROR_CHECK( esp_wifi_set_storage(WIFI_STORAGE_RAM) ); - ESP_ERROR_CHECK( esp_wifi_set_mode(WIFI_MODE_AP) ); - ESP_ERROR_CHECK( esp_wifi_start()); - ESP_ERROR_CHECK( esp_wifi_set_channel(ESPNOW_CHANNEL, WIFI_SECOND_CHAN_NONE)); - - // enable long range - // ESP_ERROR_CHECK( esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N|WIFI_PROTOCOL_LR) ); -} - -void init_espnow(void) { - ESP_ERROR_CHECK( esp_now_init() ); - ESP_ERROR_CHECK( esp_now_register_send_cb(example_espnow_send_cb) ); - ESP_ERROR_CHECK( esp_now_register_recv_cb(example_espnow_recv_cb) ); - - /* Set primary master key. */ - ESP_ERROR_CHECK( esp_now_set_pmk(ESPNOW_PMK)); - - // Add broadcast peer information to peer list, allowing us to send to it - esp_now_peer_info_t peer = {0}; - peer.channel = ESPNOW_CHANNEL; - peer.ifidx = WIFI_IF_AP; - peer.encrypt = false; - memcpy(peer.peer_addr, BROADCAST_MAC, ESP_NOW_ETH_ALEN); - ESP_ERROR_CHECK( esp_now_add_peer(&peer) ); -} - -/* ESPNOW sending or receiving callback function is called in WiFi task. - * Users should not do lengthy operations from this task. Instead, post - * necessary data to a queue and handle it from a lower priority task. */ -static void example_espnow_send_cb(const esp_now_send_info_t *tx_info, esp_now_send_status_t status) -{ - if (tx_info == NULL) { - ESP_LOGE(TAG, "Send cb arg error"); - return; - } - ESP_LOGI(TAG, "sending espnow packet of size: %d to " MACSTR, tx_info->data_len, MAC2STR(tx_info->des_addr)); -} - -static void example_espnow_recv_cb(const esp_now_recv_info_t *recv_info, const uint8_t *data, int len) -{ - uint8_t * src_addr = recv_info->src_addr; - uint8_t * des_addr = recv_info->des_addr; - - if (src_addr == NULL || data == NULL || len <= 0) { - ESP_LOGE(TAG, "Receive cb arg error"); - return; - } - - ESP_LOGI(TAG, "got espnow packet of size: %d from " MACSTR " to " MACSTR, MAC2STR(src_addr), MAC2STR(des_addr)); - - // if (IS_BROADCAST_ADDR(des_addr)) { - // /* If added a peer with encryption before, the receive packets may be - // * encrypted as peer-to-peer message or unencrypted over the broadcast channel. - // * Users can check the destination address to distinguish it. - // */ - // ESP_LOGD(TAG, "Receive broadcast ESPNOW data"); - // } else { - // ESP_LOGD(TAG, "Receive unicast ESPNOW data"); - // } -} - extern "C" void app_main(void) { BlkBoxInitConfig blk_box_cfg = {}; init_blk_box(blk_box_cfg); @@ -174,14 +85,6 @@ extern "C" void app_main(void) { SSegController::enable_game_timer(); SSegController::enable_module_timer(); - ESP_LOGI(TAG, "initializing nvs"); - init_nvs(); - ESP_LOGI(TAG, "initializing wifi"); - init_wifi(); - ESP_LOGI(TAG, "initializing espnow"); - init_espnow(); - ESP_LOGI(TAG, "initialized!"); - // uint8_t mac[6]; // ESP_ERROR_CHECK(esp_wifi_get_mac(WIFI_IF_STA, mac)); // ESP_LOGI(TAG, "My MAC: %02X:%02X:%02X:%02X:%02X:%02X",