From 4b25156d5201ddadd1f428afff65f52aafb5cdbf Mon Sep 17 00:00:00 2001 From: marchingband Date: Fri, 4 Jun 2021 09:15:03 -0700 Subject: [PATCH] refactor task cores/priorities --- examples/wvr_basic/wvr_basic.ino | 6 + src/WVR.cpp | 4 + src/WVR.h | 1 + src/boot.cpp | 12 +- src/file_system.c | 39 ++++++- src/file_system.h | 8 +- src/midi_in.c | 2 +- src/rpc.c | 22 ++-- src/server.cpp | 56 +++++++-- src/server.h | 2 + src/wav_player.c | 192 +++++-------------------------- src/ws_log.c | 10 +- src/ws_log.h | 15 ++- src/wvr_0.3.cpp | 21 +++- src/wvr_0.3.h | 2 +- src/wvr_ui.h | 2 +- 16 files changed, 182 insertions(+), 212 deletions(-) diff --git a/examples/wvr_basic/wvr_basic.ino b/examples/wvr_basic/wvr_basic.ino index bf180d4..395625a 100644 --- a/examples/wvr_basic/wvr_basic.ino +++ b/examples/wvr_basic/wvr_basic.ino @@ -21,11 +21,15 @@ void on1(void) // wvr.play(0,40,127); if(serverOn) { + log_i("server pause"); wvr.serverPause(); + log_i("wifi on %d", get_metadata()->wifi_starts_on); } else { + log_i("server resume"); wvr.serverResume(); + log_i("wifi on %d", get_metadata()->wifi_starts_on); } serverOn = !serverOn; } @@ -33,6 +37,8 @@ void on1(void) void setup() { // put your setup code here, to run once: wvr.begin(); + serverOn = get_metadata()->wifi_starts_on; + log_i("wifi on %d", serverOn); pinMode(D2, INPUT_PULLUP); btn1.onPress(on1); } diff --git a/src/WVR.cpp b/src/WVR.cpp index 18659cc..1b66232 100644 --- a/src/WVR.cpp +++ b/src/WVR.cpp @@ -16,6 +16,10 @@ void WVR::play(uint8_t voice, uint8_t note, uint8_t velocity) { play_wav(voice,note,velocity); } +void WVR::stop(uint8_t voice, uint8_t note) +{ + stop_wav(voice,note); +} void WVR::serverPause() { server_pause(); diff --git a/src/WVR.h b/src/WVR.h index fcea8d3..9f677cb 100644 --- a/src/WVR.h +++ b/src/WVR.h @@ -13,6 +13,7 @@ class WVR { WVR(); void begin(); void play(uint8_t voice, uint8_t note, uint8_t velocity); + void stop(uint8_t voice, uint8_t note); void serverPause(); void serverResume(); }; diff --git a/src/boot.cpp b/src/boot.cpp index 673b11d..f560ca6 100644 --- a/src/boot.cpp +++ b/src/boot.cpp @@ -67,7 +67,7 @@ void bootFromEmmc(int index) free(buf); } -void bootIntoRecoveryMode(void) +void boot_into_recovery_mode(void) { int index = -1; firmware_t *firmware = get_firmware_slot(index); @@ -125,14 +125,14 @@ void bootIntoRecoveryMode(void) int check_for_recovery_mode(void) { metadata_t *new_metadata = get_metadata(); + if(!new_metadata->should_check_strapping_pin) + { + // do a normal boot + return 1; + } gpio_reset_pin(gpio_pins[new_metadata->recovery_mode_straping_pin]); pinMode(wvr_pins[new_metadata->recovery_mode_straping_pin], INPUT_PULLUP); int res = digitalRead(wvr_pins[new_metadata->recovery_mode_straping_pin]); log_i("strapping pin %d reads %d",new_metadata->recovery_mode_straping_pin,res); - // if(res == 0) // boot from recovery slot - // { - // log_i("booting in recovery mode!"); - // bootFromEmmc(-1); - // } return res; } \ No newline at end of file diff --git a/src/file_system.c b/src/file_system.c index 8d776db..bc4edf9 100644 --- a/src/file_system.c +++ b/src/file_system.c @@ -65,7 +65,8 @@ #define FILE_STORAGE_END_BLOCK (RECOVERY_FIRMWARE_START_BLOCK - 1) -char waver_tag[METADATA_TAG_LENGTH] = "wvr_magic_7"; +// char waver_tag[METADATA_TAG_LENGTH] = "wvr_magic_10"; +char waver_tag[METADATA_TAG_LENGTH] = "wvr_magic_11"; static const char* TAG = "file_system"; // declare prototypes from emmc.c @@ -190,10 +191,13 @@ void init_metadata(void){ .num_websites = 10, .current_firmware_index = -1, .current_website_index = -1, - .recovery_mode_straping_pin = 5, // button 1 on dev board + .recovery_mode_straping_pin = 5, // button 1 on dev board, + .should_check_strapping_pin = 1, // default to should check .global_volume = 127, .wlog_verbosity = 0, .wifi_starts_on = 1, + .ssid = "WVR", + .passphrase = "12345678" }; memcpy(new_metadata.tag, waver_tag, METADATA_TAG_LENGTH); write_metadata(new_metadata); @@ -879,7 +883,13 @@ void add_metadata_json(cJSON * RESPONSE_ROOT){ cJSON_AddNumberToObject(RESPONSE_ROOT,"numFirmwares",metadata.num_firmwares); cJSON_AddNumberToObject(RESPONSE_ROOT,"numWebsites",metadata.num_websites); cJSON_AddNumberToObject(RESPONSE_ROOT,"currentFirmwareIndex",metadata.current_firmware_index); - cJSON_AddNumberToObject(RESPONSE_ROOT,"currentWebsiteIndex",metadata.current_website_index); + cJSON_AddNumberToObject(RESPONSE_ROOT,"shouldCheckStrappingPin",metadata.should_check_strapping_pin); + cJSON_AddNumberToObject(RESPONSE_ROOT,"recoveryModeStrappingPin",metadata.recovery_mode_straping_pin); + cJSON_AddNumberToObject(RESPONSE_ROOT,"globalVolume",metadata.global_volume); + cJSON_AddNumberToObject(RESPONSE_ROOT,"wLogVerbosity",metadata.wlog_verbosity); + cJSON_AddNumberToObject(RESPONSE_ROOT,"wifiStartsOn",metadata.wifi_starts_on); + cJSON_AddStringToObject(RESPONSE_ROOT,"wifiNetworkName",metadata.ssid); + cJSON_AddStringToObject(RESPONSE_ROOT,"wifiNetworkPassword",metadata.passphrase); } void add_pin_config_json(cJSON *RESPONSE_ROOT){ @@ -1132,6 +1142,29 @@ void updatePinConfig(cJSON *config){ cJSON_Delete(json); } +void updateMetadata(cJSON *config){ + cJSON *json = cJSON_Parse(config); + metadata.global_volume = cJSON_GetObjectItemCaseSensitive(json, "globalVolume")->valueint; + metadata.should_check_strapping_pin = cJSON_GetObjectItemCaseSensitive(json, "shouldCheckStrappingPin")->valueint; + metadata.recovery_mode_straping_pin = cJSON_GetObjectItemCaseSensitive(json, "recoveryModeStrappingPin")->valueint; + metadata.wifi_starts_on = cJSON_GetObjectItemCaseSensitive(json, "wifiStartsOn")->valueint; + metadata.wlog_verbosity = cJSON_GetObjectItemCaseSensitive(json, "wLogVerbosity")->valueint; + memcpy(&metadata.ssid,cJSON_GetObjectItemCaseSensitive(json, "wifiNetworkName")->valuestring,20); + memcpy(&metadata.passphrase,cJSON_GetObjectItemCaseSensitive(json, "wifiNetworkPassword")->valuestring,20); + // metadata.ssid = cJSON_GetObjectItemCaseSensitive(json, "wifiNetworkName")->valuestring; + // metadata.passphrase = cJSON_GetObjectItemCaseSensitive(json, "wifiNetworkPassword")->valuestring; + write_metadata(metadata); + wlog_i("gv:%d scsp:%d rmsp:%d wso:%d wlv:%d", + metadata.global_volume, + metadata.should_check_strapping_pin, + metadata.recovery_mode_straping_pin, + metadata.wifi_starts_on, + metadata.wlog_verbosity + ); + wlog_i("updated and saved metadata"); + cJSON_Delete(json); +} + /** * file system starts empty. * when browser starts up, it receives JSON of the file system. diff --git a/src/file_system.h b/src/file_system.h index 4614274..0cf9cfa 100644 --- a/src/file_system.h +++ b/src/file_system.h @@ -94,13 +94,18 @@ struct metadata_t { int current_website_index; // struct pin_config_t pin_config[14]; ///new - int recovery_mode_straping_pin; size_t recovery_firmware_size; + int recovery_mode_straping_pin; uint8_t global_volume; uint8_t wlog_verbosity; uint8_t wifi_starts_on; + uint8_t should_check_strapping_pin; + char ssid[20]; + char passphrase[20]; }; +// struct metadata_t metadata; + struct wav_lu_t { size_t length; size_t start_block; @@ -337,6 +342,7 @@ int sort_lut(const void * a, const void * b); size_t search_directory(struct wav_lu_t *_data, size_t num_data_entries, size_t start, size_t end, size_t file_size); void current_bank_up(void); void current_bank_down(void); +struct metadata_t *get_metadata(void); #ifdef __cplusplus } diff --git a/src/midi_in.c b/src/midi_in.c index 9cc8cac..36fb8ca 100644 --- a/src/midi_in.c +++ b/src/midi_in.c @@ -149,6 +149,6 @@ static void read_uart_task() void midi_init(void) { init_gpio(); - xTaskCreatePinnedToCore(read_uart_task, "read_uart_task", 4096, NULL, 9, NULL, 1); + xTaskCreatePinnedToCore(read_uart_task, "read_uart_task", 4096, NULL, 3, NULL, 0); // xTaskCreatePinnedToCore(read_uart_task, "read_uart_task", 4096, NULL, 3, NULL, 1); } \ No newline at end of file diff --git a/src/rpc.c b/src/rpc.c index 54b8069..51d9839 100644 --- a/src/rpc.c +++ b/src/rpc.c @@ -17,14 +17,7 @@ QueueHandle_t rpc_out_queue; TaskHandle_t rpc_out_task_handle; BaseType_t task_return; -#define NO_RPC_OUT 1 - -// wav_player.c -// int play_wav(uint8_t voice, uint8_t note, uint8_t velocity); -// int stop_wav(uint8_t voice, uint8_t note); -// server.cpp -// void server_pause(void); -// void server_resume(void); +#define NO_RPC_OUT 0 void sendWSMsg(char* msg); @@ -32,7 +25,7 @@ void rpc_out(int procedure, int arg0, int arg1, int arg2) { if(ARDUHAL_LOG_LEVEL == ARDUHAL_LOG_LEVEL_NONE) return; if(NO_RPC_OUT) return; - wlog_i("rpc_out called"); + wlog_d("rpc_out called"); struct rpc_event_t rpc_event_out; rpc_event_out.procedure = procedure; rpc_event_out.arg0 = arg0; @@ -61,7 +54,7 @@ char* on_rpc_in(cJSON *json) uint8_t voice = cJSON_GetObjectItemCaseSensitive(json, "voice")->valueint; uint8_t note = cJSON_GetObjectItemCaseSensitive(json, "note")->valueint; stop_wav(voice, note); - char * res = "started wav"; + char * res = "stopped wav"; return(res); break; } @@ -77,11 +70,11 @@ void rpc_out_task(void* pvParameters) if(xQueueReceive(rpc_out_queue, (void *)&event, (portTickType)portMAX_DELAY)) { - wlog_i("rpc_out_task received event"); + log_v("rpc_out_task received event"); cJSON *rpc_root = cJSON_CreateObject(); switch(event.procedure){ case RPC_NOTE_ON: - wlog_i("rpc note on"); + wlog_d("rpc note on"); cJSON_AddNumberToObject(rpc_root, "procedure", RPC_NOTE_ON); cJSON_AddNumberToObject(rpc_root, "voice", event.arg0); cJSON_AddNumberToObject(rpc_root, "note", event.arg1); @@ -95,9 +88,10 @@ void rpc_out_task(void* pvParameters) default: break; } char *json = cJSON_PrintUnformatted(rpc_root); - // wlog_i("json: %s",json); + log_v(" rpc json: %s",json); sendWSMsg(json); cJSON_Delete(rpc_root); + // sendWSMsg("hit"); } } } @@ -107,5 +101,5 @@ void rpc_init(void) // rpc_in_queue = xQueueCreate(20, sizeof(struct rpc_event_t)); rpc_out_queue = xQueueCreate(20, sizeof(struct rpc_event_t)); // task_return = xTaskCreate(rpc_in_task,"rpc_in_task", 1024, NULL, 1, rpc_in_task_handle); - task_return = xTaskCreate(rpc_out_task,"rpc_out_task", 1024 * 4, NULL, 1, rpc_out_task_handle); + task_return = xTaskCreatePinnedToCore(rpc_out_task,"rpc_out_task", 1024 * 4, NULL, 3, rpc_out_task_handle,0); } \ No newline at end of file diff --git a/src/server.cpp b/src/server.cpp index 34eddf0..8a4ff65 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -24,6 +24,7 @@ extern "C" void add_wav_to_file_system(char *name,int voice,int note,size_t star extern "C" size_t place_wav(struct lut_t *_data, size_t num_data_entries, size_t start, size_t end, size_t file_size); extern "C" void updateVoiceConfig(char* json); extern "C" void updatePinConfig(char* json); +extern "C" void updateMetadata(char* json); extern "C" char* on_rpc_in(cJSON* json); extern "C" char* write_recovery_firmware_to_emmc(uint8_t* source, size_t size); extern "C" char* close_recovery_firmware_to_emmc(size_t recovery_firmware_size); @@ -241,6 +242,28 @@ void handleUpdatePinConfig(AsyncWebServerRequest *request, uint8_t *data, size_t } } +uint8_t *metadata_json = NULL; + +void handleUpdateMetadata(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total){ + if(index==0){ + //start + metadata_json = (uint8_t*)ps_malloc(total); + if(!metadata_json){ + wlog_i("failed to malloc for metadata json"); + } + } + //always + for(int i=0;isend(200, "text/plain", "all done pin config update"); + } +} + int w_bytes_read = 0; char w_name[21]; int w_voice; @@ -492,9 +515,20 @@ void _server_pause(){ void server_begin() { Serial.println("Configuring access point..."); - WiFi.mode(WIFI_AP); //Access Point mode - WiFi.softAP("ESPWebServer", "12345678"); + WiFi.mode(WIFI_AP); + + IPAddress IP = IPAddress (192, 168, 5, 18); + IPAddress gateway = IPAddress (192, 168, 5, 20); + IPAddress NMask = IPAddress (255, 255, 255, 0); + + WiFi.softAPConfig(IP, gateway, NMask); + + WiFi.softAP(metadata.ssid, metadata.passphrase); + log_i("set ssid :%s, set passphrase: %s",metadata.ssid, metadata.passphrase); + // again?? + WiFi.softAPConfig(IP, gateway, NMask); + IPAddress myIP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(myIP); @@ -502,9 +536,7 @@ void server_begin() { server.on( "/", HTTP_GET, - [](AsyncWebServerRequest *request){ - request->send(200, "text/html", MAIN_page); - } + handleMain ); server.on( @@ -557,6 +589,14 @@ void server_begin() { handleUpdatePinConfig ); + server.on( + "/updateMetadata", + HTTP_POST, + [](AsyncWebServerRequest * request){request->send(204);}, + NULL, + handleUpdateMetadata + ); + server.on( "/addfirmware", HTTP_POST, @@ -616,9 +656,11 @@ void server_begin() { } void server_pause(void){ - _server_pause(); + // _server_pause(); + WiFi.mode(WIFI_OFF); } void server_resume(void){ - server_begin(); + // server_begin(); + WiFi.mode(WIFI_AP); } diff --git a/src/server.h b/src/server.h index 530193c..c4f52d2 100644 --- a/src/server.h +++ b/src/server.h @@ -1,6 +1,8 @@ #ifndef SERVER_H #define SERVER_H +#include + void server_pause(); void server_resume(); diff --git a/src/wav_player.c b/src/wav_player.c index 3457f97..8210e11 100644 --- a/src/wav_player.c +++ b/src/wav_player.c @@ -31,28 +31,24 @@ static const char* TAG = "wav_player"; #define DAC_BUFFER_SIZE_IN_BYTES ( DAC_BUFFER_SIZE_IN_SAMPLES * sizeof(int16_t) ) #define LOOPS_PER_BUFFER ( BYTES_PER_READ / DAC_BUFFER_SIZE_IN_BYTES ) -#define NUM_BUFFERS 18 +// #define NUM_BUFFERS 18 // #define NUM_BUFFERS 20 +#define NUM_BUFFERS 22 +// #define NUM_BUFFERS 25 + // #define DAMPEN_BITS 2 #define DAMPEN_BITS 1 -#define USE_SQRT_SCALE 0 -#define USE_VOLUME 0 -#define USE_VOLUME_FP 1 -#define USE_VOLUME_FP_SQRT 0 - -// #define FADE_OUT_NUM_LOOPS 30 -// #define DAMPEN_PER_FADE_OUT_LOOP 5 -// #define FADE_OUT_NUM_LOOPS 20 -// #define DAMPEN_PER_FADE_OUT_LOOP 7 -#define FADE_OUT_NUM_LOOPS 15 -#define DAMPEN_PER_FADE_OUT_LOOP 8 -// #define FADE_OUT_NUM_LOOPS 10 -// #define DAMPEN_PER_FADE_OUT_LOOP 13 +// #define USE_SQRT_SCALE 0 +// #define USE_VOLUME 0 +// #define USE_VOLUME_FP 1 +// #define USE_VOLUME_FP_SQRT 0 #define LOG_PERFORMANCE 0 #define MAX_READS_PER_LOOP 4 // #define MAX_READS_PER_LOOP 3 +struct metadata_t metadata; + struct buf_t { struct wav_lu_t wav_data; struct wav_player_event_t wav_player_event; @@ -97,24 +93,9 @@ int new_midi_buf = -1; float float_lut[128]; -int current_bank = 0; uint32_t tmp32; int16_t tmp16; -void current_bank_up(void) -{ - // current_bank += (current_bank < 15); - if(current_bank < 15) - current_bank++; -} - -void current_bank_down(void) -{ - // current_bank -= (current_bank > 0); - if(current_bank > 0) - current_bank--; -} - void init_buffs(void) { output_buf = (int16_t *)malloc( DAC_BUFFER_SIZE_IN_BYTES ); @@ -163,7 +144,6 @@ void free_bufs(void) void init_float_lut(void) { - // float_lut = (float *)ps_malloc(128 * sizeof(float)); for(int i=0;i<128;i++) { float num = (float)i/127; @@ -185,20 +165,7 @@ void stop_wav(uint8_t voice, uint8_t note) wav_player_event.note = note; xQueueSendToBack(wav_player_queue, &wav_player_event, portMAX_DELAY); } -void _stop_wav(uint8_t voice, uint8_t note) -{ - for(int b=0;b bufs[candidate].wav_position) ) { - // wlog_i("checked wav position"); + wlog_v("checked wav position"); candidate = i; } } } - // wlog_i("pruned buf %d",candidate); + wlog_d("pruned buf %d",candidate); return candidate; } @@ -296,8 +213,6 @@ void wav_player_task(void* pvParameters) size_t base_index; int16_t *buf_pointer; int num_reads = 0; - // int new_midi = 0; - // int new_midi_buf = -1; bool abort_note = false; if((wav_player_queue = xQueueCreate(wav_player_queue_SIZE, sizeof(struct wav_player_event_t)))==pdFAIL) @@ -356,7 +271,6 @@ void wav_player_task(void* pvParameters) if(wav_player_event.code == MIDI_NOTE_ON && !abort_note) { // get the wav file - // struct wav_lu_t new_wav = get_file_t_from_lookup_table(current_bank, wav_player_event.note, wav_player_event.velocity); for(int8_t i=0; i<=NUM_BUFFERS; i++) { if(i == NUM_BUFFERS) @@ -365,7 +279,7 @@ void wav_player_task(void* pvParameters) int to_prune = prune(new_wav.priority); if(to_prune == -1) { - // wlog_i("note blocked because bufs full of higher priorities"); + wlog_d("note blocked because bufs full of higher priorities"); break; } else @@ -380,8 +294,7 @@ void wav_player_task(void* pvParameters) rpc_out(RPC_NOTE_ON, bufs[i].voice, wav_player_event.note, wav_player_event.velocity); new_midi = 1; new_midi_buf = i; - // wlog_i("adding to buffer %d",i); - // struct wav_lu_t new_wav = get_file_t_from_lookup_table(current_bank, wav_player_event.note, wav_player_event.velocity); + wlog_d("adding to buffer %d",i); bufs[i].wav_data = new_wav; if(bufs[i].wav_data.length == 0){ // its a null_wav_file because it was a rack and it wasn't within the velocity ranges @@ -402,13 +315,13 @@ void wav_player_task(void* pvParameters) { // it's a rack member or a fixed volume file bufs[i].volume = 127; - // wlog_i("playing a rack member"); + wlog_d("playing a rack member"); } else { // its not a rack member or a fixed volume file bufs[i].volume = wav_player_event.velocity; - // wlog_i("playing a non-rack memeber"); + wlog_d("playing a non-rack memeber"); } break; } @@ -517,62 +430,6 @@ void wav_player_task(void* pvParameters) } } } - // if(USE_SQRT_SCALE) - // { - // for(int s=0; s> (15 + DAMPEN_BITS)); - // if(bufs[i].fade) - // bufs[i].volume -= ( bufs[i].volume > 0 ); - // } - // } - // else if(USE_VOLUME) - // { - // for(int s=0; s> (7 + DAMPEN_BITS) ) ; - // } - // } - // else if(USE_VOLUME_FP) - // { - // int min = 1000; - // for(int s=0; s> DAMPEN_BITS ) ; - // if(bufs[i].fade) - // { - // if(bufs[i].volume > 0) - // { - // bufs[i].volume--; - // } - // else - // { - // bufs[i].done = 1; - // } - // } - // } - // } - // this one makes no sense does it? - // else if(USE_VOLUME_FP_SQRT) - // { - // for(int s=0; s> (15 + DAMPEN_BITS)); - // } - // } - // else - // { - // for(int s=0; s> DAMPEN_BITS); - // } - // } // incriment that buffers position bufs[i].head_position++; @@ -605,10 +462,19 @@ void wav_player_task(void* pvParameters) } } } + + // apply the global volume + for(size_t i=0;i +#include "file_system.h" int log_printf(const char *fmt, ...); void sendWSLog(char* msg); -int w_log_printf(const char *format, ...) +struct metadata_t metadata; + +int w_log_printf(int verbosity, const char *format, ...) { static char loc_buf[64]; char * temp = loc_buf; @@ -25,7 +28,10 @@ int w_log_printf(const char *format, ...) vsnprintf(temp, len+1, format, arg); log_printf(temp); - sendWSLog(temp); + if(metadata.wlog_verbosity >= verbosity) + { + sendWSLog(temp); + } // #if !CONFIG_DISABLE_HAL_LOCKS // if(_uart_bus_array[s_uart_debug_nr].lock){ // xSemaphoreTake(_uart_bus_array[s_uart_debug_nr].lock, portMAX_DELAY); diff --git a/src/ws_log.h b/src/ws_log.h index 8414bad..a11f392 100644 --- a/src/ws_log.h +++ b/src/ws_log.h @@ -8,11 +8,10 @@ extern "C" #include "esp32-hal-log.h" - -int w_log_printf(const char *fmt, ...); +int w_log_printf(int verbosity, const char *fmt, ...); #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_VERBOSE -#define wlog_v(format, ...) w_log_printf(ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) +#define wlog_v(format, ...) w_log_printf(5,ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) #define isr_wlog_v(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) #else #define wlog_v(format, ...) @@ -20,7 +19,7 @@ int w_log_printf(const char *fmt, ...); #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG -#define wlog_d(format, ...) w_log_printf(ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) +#define wlog_d(format, ...) w_log_printf(4,ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) #define isr_wlog_d(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) #else #define wlog_d(format, ...) @@ -28,7 +27,7 @@ int w_log_printf(const char *fmt, ...); #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO -#define wlog_i(format, ...) w_log_printf(ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) +#define wlog_i(format, ...) w_log_printf(3,ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) #define isr_wlog_i(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) #else #define wlog_i(format, ...) @@ -36,7 +35,7 @@ int w_log_printf(const char *fmt, ...); #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_WARN -#define wlog_w(format, ...) w_log_printf(ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) +#define wlog_w(format, ...) w_log_printf(2,ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) #define isr_wlog_w(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) #else #define wlog_w(format, ...) @@ -44,7 +43,7 @@ int w_log_printf(const char *fmt, ...); #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_ERROR -#define wlog_e(format, ...) w_log_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) +#define wlog_e(format, ...) w_log_printf(1,ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) #define isr_wlog_e(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) #else #define wlog_e(format, ...) @@ -52,7 +51,7 @@ int w_log_printf(const char *fmt, ...); #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_NONE -#define wlog_n(format, ...) w_log_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) +#define wlog_n(format, ...) w_log_printf(0,ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) #define isr_wlog_n(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) #else #define wlog_n(format, ...) diff --git a/src/wvr_0.3.cpp b/src/wvr_0.3.cpp index 18871dc..96551c5 100644 --- a/src/wvr_0.3.cpp +++ b/src/wvr_0.3.cpp @@ -20,6 +20,7 @@ struct wav_lu_t **wav_lut; void server_begin(void); +void server_pause(void); extern "C" void emmc_init(void); extern "C" void dac_init(void); extern "C" void midi_init(void); @@ -29,7 +30,7 @@ extern "C" void touch_test(void); extern "C" void pot_init(void); extern "C" void rpc_init(void); void bootFromEmmc(int index); -void bootIntoRecoveryMode(void); +void boot_into_recovery_mode(void); int check_for_recovery_mode(void); void dev_board_init(); void rgb_init(void); @@ -44,9 +45,14 @@ void wifi_log_boot_stage(void){ static int done = 0; if(!done){ done = 1; + wlog_n("firmware version %s", VERSION_CODE); + + wlog_n("wlog_n"); + wlog_e("wlog_e"); + wlog_w("wlog_w"); wlog_i("wlog_i"); - log_i("log_i"); - wlog_i("firmware version %s", VERSION_CODE); + wlog_d("wlog_d"); + wlog_v("wlog_v"); } } @@ -63,7 +69,7 @@ void logRam(){ Serial.printf("Free PSRAM: %d\n", ESP.getFreePsram()); } -void wvr_init() { +void wvr_init(void) { Serial.begin(115200); logRam(); log_i("arduino setup running on core %u",xPortGetCoreID()); @@ -84,7 +90,7 @@ void wvr_init() { int ret = check_for_recovery_mode(); if(!ret) { - bootIntoRecoveryMode(); + boot_into_recovery_mode(); return; } @@ -109,5 +115,10 @@ void wvr_init() { rpc_init(); logSize("rpc"); + if(get_metadata()->wifi_starts_on == 0) + { + server_pause(); + } + logRam(); } \ No newline at end of file diff --git a/src/wvr_0.3.h b/src/wvr_0.3.h index f69f8df..92e2a6a 100644 --- a/src/wvr_0.3.h +++ b/src/wvr_0.3.h @@ -6,7 +6,7 @@ extern "C" #endif -#define VERSION_CODE "0.2.18" +#define VERSION_CODE "0.3.5" void wvr_init(); #ifdef __cplusplus diff --git a/src/wvr_ui.h b/src/wvr_ui.h index 76e5af4..5fe7538 100644 --- a/src/wvr_ui.h +++ b/src/wvr_ui.h @@ -1,3 +1,3 @@ const char MAIN_page[] PROGMEM = R"=====( -Waver UI
+Waver UI
)====="; \ No newline at end of file