diff options
Diffstat (limited to 'ota-test/main')
-rw-r--r-- | ota-test/main/component.mk | 4 | ||||
-rw-r--r-- | ota-test/main/main.cpp | 52 | ||||
-rw-r--r-- | ota-test/main/misc.c | 52 |
3 files changed, 108 insertions, 0 deletions
diff --git a/ota-test/main/component.mk b/ota-test/main/component.mk new file mode 100644 index 0000000..a98f634 --- /dev/null +++ b/ota-test/main/component.mk @@ -0,0 +1,4 @@ +# +# "main" pseudo-component makefile. +# +# (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.) diff --git a/ota-test/main/main.cpp b/ota-test/main/main.cpp new file mode 100644 index 0000000..a64f03f --- /dev/null +++ b/ota-test/main/main.cpp @@ -0,0 +1,52 @@ +#include "esp_misc.h" +#include "esp_sta.h" +#include "esp_system.h" +#include "esp_wifi.h" +#include "esp_spiffs.h" +#include "sdkconfig.h" + +#include <assert.h> + +extern "C" +uint32_t user_rf_cal_sector_set(); + +extern "C" +void user_init(); + +enum events { + EVENTS_GOT_IP = (1 << 0), + EVENTS_LOST_IP = (1 << 1), +}; + +static void set_wifi_mode() { + if (wifi_get_opmode_default() != NULL_MODE) { + printf("Setting default station mode"); + wifi_set_opmode(NULL_MODE); + } + + wifi_set_opmode_current(NULL_MODE); +} + +void main_task(void* ctx) { + (void) ctx; + + int count = 0; + while (1) { + printf("Hello World! %d\n", count++); + + vTaskDelay(pdMS_TO_TICKS(1000)); + } +} + +#define THREAD_NAME "main" +#define THREAD_STACK_WORDS 2048 +#define THREAD_PRIO 8 + +TaskHandle_t main_task_handle; +void user_init() { + os_printf("SDK version: %s, free: %d, app build: %s\n", system_get_sdk_version(), system_get_free_heap_size(), __TIMESTAMP__); + + set_wifi_mode(); + + assert(xTaskCreate(main_task, THREAD_NAME, THREAD_STACK_WORDS, NULL, THREAD_PRIO, &main_task_handle) == pdPASS); +} diff --git a/ota-test/main/misc.c b/ota-test/main/misc.c new file mode 100644 index 0000000..1b5119b --- /dev/null +++ b/ota-test/main/misc.c @@ -0,0 +1,52 @@ +#include <esp_system.h> + +/****************************************************************************** + * FunctionName : user_rf_cal_sector_set + * Description : SDK just reversed 4 sectors, used for rf init data and paramters. + * We add this function to force users to set rf cal sector, since + * we don't know which sector is free in user's application. + * sector map for last several sectors : ABCCC + * A : rf cal + * B : rf init data + * C : sdk parameters + * Parameters : none + * Returns : rf cal sector +*******************************************************************************/ +uint32_t user_rf_cal_sector_set() +{ + flash_size_map size_map = system_get_flash_size_map(); + uint32_t rf_cal_sec = 0; + + switch (size_map) { + case FLASH_SIZE_4M_MAP_256_256: + rf_cal_sec = 128 - 5; + break; + + case FLASH_SIZE_8M_MAP_512_512: + rf_cal_sec = 256 - 5; + break; + + case FLASH_SIZE_16M_MAP_512_512: + case FLASH_SIZE_16M_MAP_1024_1024: + rf_cal_sec = 512 - 5; + break; + + case FLASH_SIZE_32M_MAP_512_512: + case FLASH_SIZE_32M_MAP_1024_1024: + rf_cal_sec = 1024 - 5; + break; + case FLASH_SIZE_64M_MAP_1024_1024: + rf_cal_sec = 2048 - 5; + break; + case FLASH_SIZE_128M_MAP_1024_1024: + rf_cal_sec = 4096 - 5; + break; + default: + rf_cal_sec = 0; + break; + } + + return rf_cal_sec; +} + + |