diff --git a/dependencies.lock b/dependencies.lock index 4d8d5e2..aec1905 100644 --- a/dependencies.lock +++ b/dependencies.lock @@ -2,7 +2,7 @@ dependencies: idf: source: type: idf - version: 5.3.0 + version: 5.3.1 manifest_hash: 482e2222071e855d99a96f5a61a37a4f589f24e7994d6610de1e65027e5a15a9 target: esp32 version: 2.0.0 diff --git a/main/Kconfig.projbuild b/main/Kconfig.projbuild index 78229d0..7cef3f8 100644 --- a/main/Kconfig.projbuild +++ b/main/Kconfig.projbuild @@ -45,6 +45,12 @@ menu "DIY Power PCB Configuration" help Enable PWM if ENABLE_PWM + config TIMER_BASE_FREQ + int "Timers Base frequency" + range 1000000 40000000 + default 40000000 + help + The Base Freqeuncy of the used Timer config FREQ_PWM int "frequency" range 20000 80000 @@ -58,6 +64,11 @@ menu "DIY Power PCB Configuration" help The inital duty-cycle in percent endif + config DEAD_TIME_PWM + int "time (ns)" + range 25 1000 + help + Deadtime endmenu menu "Hall Sensor pin configurations" config HALL_A_B_C_GPIO @@ -72,7 +83,11 @@ menu "DIY Power PCB Configuration" default "3, 2, 23" help GPIO numbers of the pins connected to A,B and the button of the encoder - + config IN_ENCODER_DEBOUNCE_TIME + int "Debounce Time in ms" + default "5" + help + debouncing time between Encoder turns config BUTTON_GPIO int "button GPIO pin" default 1 diff --git a/main/app_main.c b/main/app_main.c index 7e43d7d..a301949 100644 --- a/main/app_main.c +++ b/main/app_main.c @@ -14,6 +14,7 @@ void app_main(void) int32_t Current_W = 0; int32_t Current_bridge =0; int16_t enc_counter = 0; + uint16_t menu_counter = 0; bool Hall_A_On = false; bool Hall_B_On = false; bool Hall_C_On = false; @@ -22,12 +23,15 @@ void app_main(void) float Speed_AB = 0.0; float duty = 0.0; char display_message[50]; // Puffer für die Nachricht + bool enc_but_state = false; + bool in_menu = false; ESP_LOGI(TAG, "Test"); configure_GPIO_dir(TAG); adc_oneshot_unit_handle_t adc1_handle = configure_ADC1(TAG); SSD1306_t *dev_pt = configure_OLED(TAG); conf_mcpwm_timers(); - int i =3; + int i =0; + set_enc_in_counter(menu_counter); //gpio_set_level(CONFIG_HIN_V_GPIO, 1); while (1) { @@ -43,51 +47,46 @@ void app_main(void) Hall_B_On = get_Hall(CONFIG_HALL_B_GPIO); Hall_C_On = get_Hall(CONFIG_HALL_C_GPIO); */ - int a = gpio_get_level(CONFIG_IN_ENC_A_GPIO); - int b = gpio_get_level(CONFIG_IN_ENC_B_GPIO); - ESP_LOGI("ENCODER_IN", "A=%d B=%d",a ,b); - Speed_indx = get_speed_index(); - Speed_AB = get_speed_AB(); - direction = get_direction(); - enc_counter = get_enc_in_counter(); - Current_bridge = get_current_bridge(adc1_handle, CONFIG_I_SENSE_ADC); - if (Voltage_IN >= 20000){ - ssd1306_display_text(dev_pt, 1, "Bridge=ON", 10, false); - switch (i) - { - case 0: - - break; - case 1: - - break; - case 2: - - break; - case 3: - - break; - case 4: - - break; - case 5: - - i=0; - break; - - default: + //Speed_indx = get_speed_index(); + //Speed_AB = get_speed_AB(); + //direction = get_direction(); - break; + + menu_counter = get_enc_in_counter(); + if (menu_counter >= 4){ + menu_counter=0; + set_enc_in_counter(0); } - - }else{ - - + enc_but_state = get_enc_in_but(); + if (enc_but_state){ + in_menu ^= 1; } - snprintf(display_message, sizeof(display_message), "count: %i", enc_counter); - ssd1306_display_text(dev_pt, 1, display_message, 10, false); - snprintf(display_message, sizeof(display_message), "Torque: %lu", Torque); + //Current_bridge = get_current_bridge(adc1_handle, CONFIG_I_SENSE_ADC); + gpio_set_level(CONFIG_LIN_U_GPIO,1); + + + snprintf(display_message, sizeof(display_message), "PWM-Param."); + ssd1306_display_text(dev_pt, 1, display_message, strlen(display_message), false); + + snprintf(display_message, sizeof(display_message), "PWMFreq.: %i ", enc_counter); + ssd1306_display_text(dev_pt, 3, display_message, 14, !(menu_counter)); + + snprintf(display_message, sizeof(display_message), "Duty: %i ", enc_counter); + ssd1306_display_text(dev_pt, 4, display_message, 14, !(menu_counter-1)); + + snprintf(display_message, sizeof(display_message), "DeadTime: %i ", enc_counter); + ssd1306_display_text(dev_pt, 5, display_message, 14, !(menu_counter-2)); + + if (in_menu){ + snprintf(display_message, sizeof(display_message), "Active:press "); + } + else{ + snprintf(display_message, sizeof(display_message), "Active:not press"); + } + ssd1306_display_text(dev_pt, 7, display_message, 14, !(menu_counter-3)); + + /* snprintf(display_message, sizeof(display_message), "Torque: %lu", Torque); ssd1306_display_text(dev_pt, 2, display_message, 11, false); snprintf(display_message, sizeof(display_message), "Voltage: %lu",Voltage_IN); @@ -104,9 +103,9 @@ void app_main(void) snprintf(display_message, sizeof(display_message), "W: %ldmA",Current_W); ssd1306_display_text(dev_pt, 7, display_message, strlen(display_message), false); - //gpio_set_level(CONFIG_RFE_GPIO,0); + *///gpio_set_level(CONFIG_RFE_GPIO,0); - vTaskDelay(500 / portTICK_PERIOD_MS); // Verzögerung für die Task-Schleife + vTaskDelay(100 / portTICK_PERIOD_MS); // Verzögerung für die Task-Schleife //i++; } } diff --git a/main/functions.c b/main/functions.c index aa032b3..0de102e 100644 --- a/main/functions.c +++ b/main/functions.c @@ -3,9 +3,12 @@ uint64_t delta_index_time = 0; uint64_t last_index_time = 0; uint64_t delta_AB_time = 0; -volatile int enc_in_counter = 0; -volatile bool enc_in_a_flag=false; -volatile bool enc_in_b_flag=false; +volatile int16_t enc_in_counter = 0; +volatile unsigned long last_interrupt_time_a = 0; // Entprellungs-Timer +volatile unsigned long last_interrupt_time_b = 0; // Entprellungs-Timer +volatile uint16_t last_interrupt_time_but = 0; +volatile bool enc_in_button_state = false; + portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED; uint64_t last_AB_time = 0; // Definition der Variablen @@ -22,11 +25,11 @@ void configure_GPIO_dir(const char *TAG) gpio_reset_pin(CONFIG_HIN_U_GPIO); gpio_reset_pin(CONFIG_HIN_V_GPIO); gpio_reset_pin(CONFIG_HIN_W_GPIO); - - gpio_reset_pin(CONFIG_LIN_U_GPIO); - gpio_reset_pin(CONFIG_LIN_V_GPIO); - gpio_reset_pin(CONFIG_LIN_W_GPIO); */ + // gpio_reset_pin(CONFIG_LIN_U_GPIO); + gpio_reset_pin(CONFIG_LIN_V_GPIO); + // gpio_reset_pin(CONFIG_LIN_W_GPIO); + gpio_reset_pin(CONFIG_HALL_A_GPIO); gpio_reset_pin(CONFIG_HALL_B_GPIO); gpio_reset_pin(CONFIG_HALL_C_GPIO); @@ -44,19 +47,19 @@ void configure_GPIO_dir(const char *TAG) /* Set the GPIO as a push/pull output gpio_set_direction(CONFIG_HIN_U_GPIO, GPIO_MODE_OUTPUT); gpio_set_direction(CONFIG_HIN_V_GPIO, GPIO_MODE_OUTPUT); - gpio_set_direction(CONFIG_HIN_W_GPIO, GPIO_MODE_OUTPUT); + gpio_set_direction(CONFIG_HIN_W_GPIO, GPIO_MODE_OUTPUT);*/ - gpio_set_direction(CONFIG_LIN_U_GPIO, GPIO_MODE_OUTPUT); +// gpio_set_direction(CONFIG_LIN_U_GPIO, GPIO_MODE_OUTPUT); gpio_set_direction(CONFIG_LIN_V_GPIO, GPIO_MODE_OUTPUT); - gpio_set_direction(CONFIG_LIN_W_GPIO, GPIO_MODE_OUTPUT); -*/ + // gpio_set_direction(CONFIG_LIN_W_GPIO, GPIO_MODE_OUTPUT); + gpio_set_direction(CONFIG_HALL_A_GPIO, GPIO_MODE_INPUT); gpio_set_direction(CONFIG_HALL_B_GPIO, GPIO_MODE_INPUT); gpio_set_direction(CONFIG_HALL_C_GPIO, GPIO_MODE_INPUT); gpio_set_direction(CONFIG_IN_ENC_A_GPIO, GPIO_MODE_INPUT); gpio_set_direction(CONFIG_IN_ENC_B_GPIO, GPIO_MODE_INPUT); - //gpio_set_pull_mode(CONFIG_IN_ENC_B_GPIO, GPIO_PULLUP_ENABLE); + gpio_set_pull_mode(CONFIG_IN_ENC_B_GPIO, GPIO_PULLUP_ENABLE); gpio_set_direction(CONFIG_IN_ENC_BUT_GPIO, GPIO_MODE_INPUT); //gpio_set_direction(CONFIG_BUTTON_GPIO, GPIO_MODE_INPUT); @@ -71,14 +74,24 @@ void configure_GPIO_dir(const char *TAG) io_conf.pin_bit_mask = (1ULL << CONFIG_EXT_ENC_INDX_GPIO)| (1ULL << CONFIG_HALL_A_GPIO)| (1ULL << CONFIG_IN_ENC_A_GPIO)| (1ULL << CONFIG_IN_ENC_B_GPIO); io_conf.mode = GPIO_MODE_INPUT; io_conf.pull_up_en = GPIO_PULLUP_ENABLE; - io_conf.intr_type = GPIO_INTR_ANYEDGE; // Interrupt auf allen Flanken + io_conf.intr_type = GPIO_INTR_ANYEDGE; // Interrupt auf beiden Flanken gpio_config(&io_conf); + + + gpio_config_t io_conf_negedge = {}; + io_conf_negedge.pin_bit_mask = (1ULL << CONFIG_IN_ENC_BUT_GPIO); + io_conf_negedge.mode = GPIO_MODE_INPUT; + io_conf_negedge.pull_up_en = GPIO_PULLUP_ENABLE; + io_conf_negedge.intr_type = GPIO_INTR_POSEDGE; // Interrupt nur auf positive Flanken + gpio_config(&io_conf_negedge); + gpio_install_isr_service(0); ESP_ERROR_CHECK(gpio_isr_handler_add(CONFIG_EXT_ENC_INDX_GPIO, index_isr_handler, NULL)); ESP_ERROR_CHECK(gpio_isr_handler_add(CONFIG_HALL_A_GPIO, enc_ab_isr_handler, NULL)); ESP_ERROR_CHECK(gpio_isr_handler_add(CONFIG_IN_ENC_A_GPIO, enc_in_a_isr_handler, NULL)); ESP_ERROR_CHECK(gpio_isr_handler_add(CONFIG_IN_ENC_B_GPIO, enc_in_b_isr_handler, NULL)); + ESP_ERROR_CHECK(gpio_isr_handler_add(CONFIG_IN_ENC_BUT_GPIO, enc_in_but_isr_handler, NULL)); } /*############################################*/ /*################ ADC-Setup #################*/ @@ -191,131 +204,7 @@ SSD1306_t *configure_OLED(const char *TAG) ssd1306_clear_screen(&dev, false); return &dev; } -/*############################################*/ -/*################ PWM-Setup #################*/ -/*############################################*/ -void set_PWM_Timer() -{ - ledc_timer_config_t ledc_timer = { - .speed_mode = LEDC_HIGH_SPEED_MODE, - .timer_num = LEDC_TIMER_0, - .duty_resolution = LEDC_TIMER_10_BIT, - .freq_hz = CONFIG_FREQ_PWM_HIN, - .clk_cfg = LEDC_AUTO_CLK - }; - esp_err_t err = ledc_timer_config(&ledc_timer); - if (err != ESP_OK) { - printf("Fehler beim Konfigurieren des LEDC-Timers: %s\n", esp_err_to_name(err)); - return; - } - -} -void set_PWM() -{ - ledc_channel_config_t ledc_channel_HIN_U = - { - .speed_mode = LEDC_HIGH_SPEED_MODE, // Gleicher Modus wie beim Timer - .channel = LEDC_CHANNEL_0, // Kanal 0 verwenden - .timer_sel = LEDC_TIMER_0, // Timer 0 zuweisen - .intr_type = LEDC_INTR_DISABLE, // Keine Interrupts - .gpio_num = CONFIG_HIN_U_GPIO, - .duty = 0, // - .hpoint = 0 // Start des PWM-Signals - }; - ledc_channel_config(&ledc_channel_HIN_U); // Kanal konfigurieren - ledc_channel_config_t ledc_channel_HIN_V = - { - .speed_mode = LEDC_HIGH_SPEED_MODE, // Gleicher Modus wie beim Timer - .channel = LEDC_CHANNEL_1, // Kanal 0 verwenden - .timer_sel = LEDC_TIMER_0, // Timer 0 zuweisen - .intr_type = LEDC_INTR_DISABLE, // Keine Interrupts - .gpio_num = CONFIG_HIN_V_GPIO, - .duty = 0, // - .hpoint = 0 // Start des PWM-Signals - }; - ledc_channel_config(&ledc_channel_HIN_V); // Kanal konfigurieren - ledc_channel_config_t ledc_channel_HIN_W = - { - .speed_mode = LEDC_HIGH_SPEED_MODE, // Gleicher Modus wie beim Timer - .channel = LEDC_CHANNEL_2, // Kanal 0 verwenden - .timer_sel = LEDC_TIMER_0, // Timer 0 zuweisen - .intr_type = LEDC_INTR_DISABLE, // Keine Interrupts - .gpio_num = CONFIG_HIN_W_GPIO, - .duty = 0, // - .hpoint = 0 // Start des PWM-Signals - }; - ledc_channel_config(&ledc_channel_HIN_W); // Kanal konfigurieren -} -void pwmStart(int PWM_CH, int Duty){ - ledc_set_duty(LEDC_HIGH_SPEED_MODE,PWM_CH, Duty); - ledc_update_duty(LEDC_HIGH_SPEED_MODE,PWM_CH); -} -void pwmStop(int PWM_CH){ - ledc_stop(LEDC_HIGH_SPEED_MODE, PWM_CH, 0); -} -void pwmStopAll(){ - ledc_stop(LEDC_HIGH_SPEED_MODE, HIN_U_CH, 0); - ledc_stop(LEDC_HIGH_SPEED_MODE, HIN_V_CH, 0); - ledc_stop(LEDC_HIGH_SPEED_MODE, HIN_W_CH, 0); - gpio_set_level(CONFIG_LIN_U_GPIO, 0); - gpio_set_level(CONFIG_LIN_V_GPIO, 0); - gpio_set_level(CONFIG_LIN_W_GPIO, 0); -} -void U_V_start(int duty) -{ - //HIN_V und LIN_U abschalten - pwmStop(HIN_V_CH); - gpio_set_level(CONFIG_LIN_U_GPIO, 0); - //HIN_U und LIN_V einschalten - pwmStart(HIN_U_CH, duty); - gpio_set_level(CONFIG_LIN_V_GPIO, 1); -} -void V_U_start(int duty) -{ - //HIN_U und LIN_V abschalten - pwmStop(HIN_U_CH); - gpio_set_level(CONFIG_LIN_V_GPIO, 0); - //HIN_V und LIN_U einschalten - pwmStart(HIN_V_CH, duty); - gpio_set_level(CONFIG_LIN_U_GPIO, 1); -} -void U_W_start(int duty) -{ - //HIN_W und LIN_U abschalten - pwmStop(HIN_W_CH); - gpio_set_level(CONFIG_LIN_U_GPIO, 0); - //HIN_U und LIN_V einschalten - pwmStart(HIN_W_CH, duty); - gpio_set_level(CONFIG_LIN_V_GPIO, 1); -} -void W_U_start(int duty) -{ - //HIN_U und LIN_W abschalten - pwmStop(HIN_U_CH); - gpio_set_level(CONFIG_LIN_W_GPIO, 0); - //HIN_U und LIN_V einschalten - pwmStart(HIN_W_CH, duty); - gpio_set_level(CONFIG_LIN_U_GPIO, 1); -} -void V_W_start(int duty) -{ - //HIN_U und LIN_W abschalten - pwmStop(HIN_W_CH); - gpio_set_level(CONFIG_LIN_V_GPIO, 0); - //HIN_U und LIN_V einschalten - pwmStart(HIN_V_CH, duty); - gpio_set_level(CONFIG_LIN_W_GPIO, 1); -} -void W_V_start(int duty) -{ - //HIN_U und LIN_W abschalten - pwmStop(HIN_V_CH); - gpio_set_level(CONFIG_LIN_W_GPIO, 0); - //HIN_U und LIN_V einschalten - pwmStart(HIN_W_CH, duty); - gpio_set_level(CONFIG_LIN_V_GPIO, 1); -} /*############################################*/ /*############### MCPWM-Setup ################*/ @@ -325,7 +214,9 @@ void conf_mcpwm_timers(){ mcpwm_timer_handle_t timer_U = NULL; mcpwm_timer_handle_t timer_V = NULL; mcpwm_timer_handle_t timer_W = NULL; - uint16_t periode_ticks = 40000000/CONFIG_FREQ_PWM; + uint32_t periode_ticks = CONFIG_TIMER_BASE_FREQ/CONFIG_FREQ_PWM; + double tick_period_ns = 1e9 / CONFIG_TIMER_BASE_FREQ; // Zeit pro Tick in ns + uint32_t dead_time_ticks = (uint32_t)round(CONFIG_DEAD_TIME_PWM / tick_period_ns); //creating timer configs and linking them with the timers mcpwm_timer_config_t timer_config = @@ -415,7 +306,7 @@ void conf_mcpwm_timers(){ mcpwm_gen_handle_t generator_U_LIN = NULL; mcpwm_gen_handle_t generator_V_LIN = NULL; mcpwm_gen_handle_t generator_W_LIN = NULL; - + mcpwm_gen_handle_t *mcpwm_gens[] ={&generator_U_HIN,&generator_U_LIN,&generator_V_HIN,&generator_V_LIN,&generator_W_HIN,&generator_W_LIN}; //HIN Pins //HIN_U mcpwm_generator_config_t generator_U_HIN_config ={ @@ -467,7 +358,7 @@ void conf_mcpwm_timers(){ ESP_ERROR_CHECK(mcpwm_generator_set_action_on_compare_event(generator_U_HIN, MCPWM_GEN_COMPARE_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, comperator_U, MCPWM_GEN_ACTION_LOW))); ESP_ERROR_CHECK(mcpwm_generator_set_action_on_timer_event(generator_U_LIN, MCPWM_GEN_TIMER_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, MCPWM_TIMER_EVENT_EMPTY, MCPWM_GEN_ACTION_HIGH))); ESP_ERROR_CHECK(mcpwm_generator_set_action_on_compare_event(generator_U_LIN, MCPWM_GEN_COMPARE_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, comperator_U, MCPWM_GEN_ACTION_LOW))); - ESP_ERROR_CHECK(mcpwm_generator_set_action_on_timer_event(generator_V_HIN, MCPWM_GEN_TIMER_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, MCPWM_TIMER_EVENT_EMPTY, MCPWM_GEN_ACTION_HIGH))); + /* ESP_ERROR_CHECK(mcpwm_generator_set_action_on_timer_event(generator_V_HIN, MCPWM_GEN_TIMER_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, MCPWM_TIMER_EVENT_EMPTY, MCPWM_GEN_ACTION_HIGH))); ESP_ERROR_CHECK(mcpwm_generator_set_action_on_compare_event(generator_V_HIN, MCPWM_GEN_COMPARE_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, comperator_V, MCPWM_GEN_ACTION_LOW))); ESP_ERROR_CHECK(mcpwm_generator_set_action_on_timer_event(generator_V_LIN, MCPWM_GEN_TIMER_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, MCPWM_TIMER_EVENT_EMPTY, MCPWM_GEN_ACTION_HIGH))); ESP_ERROR_CHECK(mcpwm_generator_set_action_on_compare_event(generator_V_LIN, MCPWM_GEN_COMPARE_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, comperator_V, MCPWM_GEN_ACTION_LOW))); @@ -475,21 +366,22 @@ void conf_mcpwm_timers(){ ESP_ERROR_CHECK(mcpwm_generator_set_action_on_compare_event(generator_W_HIN, MCPWM_GEN_COMPARE_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, comperator_W, MCPWM_GEN_ACTION_LOW))); ESP_ERROR_CHECK(mcpwm_generator_set_action_on_timer_event(generator_W_LIN, MCPWM_GEN_TIMER_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, MCPWM_TIMER_EVENT_EMPTY, MCPWM_GEN_ACTION_HIGH))); ESP_ERROR_CHECK(mcpwm_generator_set_action_on_compare_event(generator_W_LIN, MCPWM_GEN_COMPARE_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, comperator_W, MCPWM_GEN_ACTION_LOW))); + */ //set Dead times mcpwm_dead_time_config_t deadtime_config = { - .posedge_delay_ticks = 20, + .posedge_delay_ticks = dead_time_ticks, .negedge_delay_ticks = 0, }; ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_U_HIN, generator_U_HIN,&deadtime_config)); - ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_V_HIN, generator_V_HIN,&deadtime_config)); - ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_W_HIN, generator_W_HIN,&deadtime_config)); + // ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_V_HIN, generator_V_HIN,&deadtime_config)); + // ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_W_HIN, generator_W_HIN,&deadtime_config)); deadtime_config.posedge_delay_ticks = 0; - deadtime_config.negedge_delay_ticks = 20; + deadtime_config.negedge_delay_ticks = dead_time_ticks; ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_U_HIN, generator_U_LIN, &deadtime_config)); - ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_V_HIN, generator_V_LIN, &deadtime_config)); - ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_W_HIN, generator_W_LIN, &deadtime_config)); - + //ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_V_HIN, generator_V_LIN, &deadtime_config)); + //ESP_ERROR_CHECK(mcpwm_generator_set_dead_time(generator_W_HIN, generator_W_LIN, &deadtime_config)); + } /*############################################*/ @@ -576,59 +468,60 @@ return speed_rpm; /*############ Internal Encoder ##############*/ /*############################################*/ void IRAM_ATTR enc_in_a_isr_handler(void *arg) { - int a = gpio_get_level(CONFIG_IN_ENC_A_GPIO); - int b = gpio_get_level(CONFIG_IN_ENC_B_GPIO); - - portENTER_CRITICAL_ISR(&mux); - if (a == b) { - enc_in_counter++; // Richtung vorwärts - }else{ - enc_in_a_flag = true; + uint64_t interrupt_time = esp_timer_get_time(); + + // Entprellung: Verhindert die Erfassung von Störungen aufgrund von Prellung + if (interrupt_time - last_interrupt_time_a > (CONFIG_IN_ENCODER_DEBOUNCE_TIME*1000)) { // Entprellungszeit + last_interrupt_time_a = interrupt_time; // Entprellzeit zurücksetzen + // Bestimmen der Richtung anhand des Zustands von Pin A und B + if (gpio_get_level(CONFIG_IN_ENC_A_GPIO)==gpio_get_level(CONFIG_IN_ENC_B_GPIO)) { + enc_in_counter--; // Drehung nach links + } + } - portEXIT_CRITICAL_ISR(&mux); } void IRAM_ATTR enc_in_b_isr_handler(void *arg) { - int a = gpio_get_level(CONFIG_IN_ENC_A_GPIO); - int b = gpio_get_level(CONFIG_IN_ENC_B_GPIO); + uint64_t interrupt_time = esp_timer_get_time(); + + // Entprellung: Verhindert die Erfassung von Störungen aufgrund von Prellung + if (interrupt_time - last_interrupt_time_b > (CONFIG_IN_ENCODER_DEBOUNCE_TIME*1000)) { // Entprellungszeit + last_interrupt_time_b = interrupt_time; // Entprellzeit zurücksetzen + // Bestimmen der Richtung anhand des Zustands von Pin A und B + if (gpio_get_level(CONFIG_IN_ENC_A_GPIO)==gpio_get_level(CONFIG_IN_ENC_B_GPIO)) { + enc_in_counter++; + } - portENTER_CRITICAL_ISR(&mux); - if (a == b) { - enc_in_counter--; // Richtung rückwärts - }else{ - enc_in_b_flag = true; } - portEXIT_CRITICAL_ISR(&mux); -} -void IRAM_ATTR enc_in_button_isr_handler(void *arg) { - if (enc_button_flag){ - enc_button_state = - enc_button_flag = false; - }else{ - enc_button_flag = true; - } } +void IRAM_ATTR enc_in_but_isr_handler(void *arg) { + uint64_t interrupt_time = esp_timer_get_time(); + + // Entprellung: Verhindert die Erfassung von Störungen aufgrund von Prellung + if (interrupt_time - last_interrupt_time_but > (CONFIG_IN_ENCODER_DEBOUNCE_TIME*1000)) { // Entprellungszeit + last_interrupt_time_but = interrupt_time; // Entprellzeit zurücksetzen + // Bestimmen der Richtung anhand des Zustands von Pin A und B + if (gpio_get_level(CONFIG_IN_ENC_A_GPIO)) { + enc_in_button_state = true; + } + + } +} int16_t get_enc_in_counter(){ ESP_LOGI("Encoder_Int","Counter:%i",enc_in_counter); return enc_in_counter; } -bool get_enc_but() +void set_enc_in_counter(int16_t inital_value){ + enc_in_counter = inital_value; +} -/*############################################*/ -/*################## MISC ####################*/ -/*############################################*/ -//Ausgelagert in Preprocessing python program, generate_pins_header.py -void parse_3pins(const char *TAG, const char *pin_string, int *pins) { - int pin_count = 0; // Jetzt ein Integer, keine Null-Pointer-Dereferenzierung - char *token; - char *pin_list = strdup(pin_string); // Kopie der String-Option - - token = strtok(pin_list, ","); - while (token != NULL && pin_count < 3) { // maximal 3 Pins - pins[pin_count] = atoi(token); // Umwandlung in Integer - pin_count++; - token = strtok(NULL, ","); +bool get_enc_in_but(){ + if (enc_in_button_state){ + enc_in_button_state = false; + return true; + } + else{ + return false; } - free(pin_list); // Speicher freigeben } \ No newline at end of file diff --git a/main/include/functions.h b/main/include/functions.h index 1611a2e..b5d62a0 100644 --- a/main/include/functions.h +++ b/main/include/functions.h @@ -16,6 +16,7 @@ #include "hal/mcpwm_types.h" #include "driver/mcpwm_prelude.h" #include "esp_timer.h" +#include #define HIN_U_CH 0 @@ -38,17 +39,6 @@ uint32_t get_voltage_in(adc_oneshot_unit_handle_t adc1_handle); uint32_t get_torque(adc_oneshot_unit_handle_t adc1_handle); int32_t get_current_ASC712(adc_oneshot_unit_handle_t adc1_handle, int ADC_pin); int32_t get_current_bridge(adc_oneshot_unit_handle_t adc1_handle, int ADC_pin); -void set_PWM_Timer(); -void set_PWM(); -void pwmStart(int PWM_CH,int Duty); -void pwmStop(int PWM_CH); -void pwmStopAll(); -void U_V_start(int duty); -void V_U_start(int duty); -void U_W_start(int duty); -void W_U_start(int duty); -void V_W_start(int duty); -void W_V_start(int duty); bool get_Hall(int HallSensorGPIO); int get_direction(); float get_speed_index(); @@ -58,8 +48,12 @@ void IRAM_ATTR index_isr_handler(void *arg); void IRAM_ATTR enc_ab_isr_handler(void *arg); void IRAM_ATTR enc_in_a_isr_handler(void *arg); void IRAM_ATTR enc_in_b_isr_handler(void *arg); -int16_t get_enc_in_counter(); -void parse_3pins(const char *TAG, const char *pin_string, int *pins); +void IRAM_ATTR enc_in_but_isr_handler(void *arg); SSD1306_t *configure_OLED(const char *TAG); +int16_t get_enc_in_counter(); +void set_enc_in_counter(int16_t inital_value); +bool get_enc_in_but(); + + #endif // MY_COMPONENT_H \ No newline at end of file diff --git a/old_functions.c b/old_functions.c new file mode 100644 index 0000000..f663a9c --- /dev/null +++ b/old_functions.c @@ -0,0 +1,142 @@ +/*############################################*/ +/*################ PWM-Setup #################*/ +/*############################################*/ + +void set_PWM_Timer() +{ + ledc_timer_config_t ledc_timer = { + .speed_mode = LEDC_HIGH_SPEED_MODE, + .timer_num = LEDC_TIMER_0, + .duty_resolution = LEDC_TIMER_10_BIT, + .freq_hz = CONFIG_FREQ_PWM, + .clk_cfg = LEDC_AUTO_CLK + }; + esp_err_t err = ledc_timer_config(&ledc_timer); + if (err != ESP_OK) { + printf("Fehler beim Konfigurieren des LEDC-Timers: %s\n", esp_err_to_name(err)); + return; + } + +} +void set_PWM() +{ + ledc_channel_config_t ledc_channel_HIN_U = + { + .speed_mode = LEDC_HIGH_SPEED_MODE, // Gleicher Modus wie beim Timer + .channel = LEDC_CHANNEL_0, // Kanal 0 verwenden + .timer_sel = LEDC_TIMER_0, // Timer 0 zuweisen + .intr_type = LEDC_INTR_DISABLE, // Keine Interrupts + .gpio_num = CONFIG_HIN_U_GPIO, + .duty = 0, // + .hpoint = 0 // Start des PWM-Signals + }; + ledc_channel_config(&ledc_channel_HIN_U); // Kanal konfigurieren + ledc_channel_config_t ledc_channel_HIN_V = + { + .speed_mode = LEDC_HIGH_SPEED_MODE, // Gleicher Modus wie beim Timer + .channel = LEDC_CHANNEL_1, // Kanal 0 verwenden + .timer_sel = LEDC_TIMER_0, // Timer 0 zuweisen + .intr_type = LEDC_INTR_DISABLE, // Keine Interrupts + .gpio_num = CONFIG_HIN_V_GPIO, + .duty = 0, // + .hpoint = 0 // Start des PWM-Signals + }; + ledc_channel_config(&ledc_channel_HIN_V); // Kanal konfigurieren + ledc_channel_config_t ledc_channel_HIN_W = + { + .speed_mode = LEDC_HIGH_SPEED_MODE, // Gleicher Modus wie beim Timer + .channel = LEDC_CHANNEL_2, // Kanal 0 verwenden + .timer_sel = LEDC_TIMER_0, // Timer 0 zuweisen + .intr_type = LEDC_INTR_DISABLE, // Keine Interrupts + .gpio_num = CONFIG_HIN_W_GPIO, + .duty = 0, // + .hpoint = 0 // Start des PWM-Signals + }; + ledc_channel_config(&ledc_channel_HIN_W); // Kanal konfigurieren +} +void pwmStart(int PWM_CH, int Duty){ + ledc_set_duty(LEDC_HIGH_SPEED_MODE,PWM_CH, Duty); + ledc_update_duty(LEDC_HIGH_SPEED_MODE,PWM_CH); +} +void pwmStop(int PWM_CH){ + ledc_stop(LEDC_HIGH_SPEED_MODE, PWM_CH, 0); +} +void pwmStopAll(){ + ledc_stop(LEDC_HIGH_SPEED_MODE, HIN_U_CH, 0); + ledc_stop(LEDC_HIGH_SPEED_MODE, HIN_V_CH, 0); + ledc_stop(LEDC_HIGH_SPEED_MODE, HIN_W_CH, 0); + gpio_set_level(CONFIG_LIN_U_GPIO, 0); + gpio_set_level(CONFIG_LIN_V_GPIO, 0); + gpio_set_level(CONFIG_LIN_W_GPIO, 0); +} +void U_V_start(int duty) +{ + //HIN_V und LIN_U abschalten + pwmStop(HIN_V_CH); + gpio_set_level(CONFIG_LIN_U_GPIO, 0); + //HIN_U und LIN_V einschalten + pwmStart(HIN_U_CH, duty); + gpio_set_level(CONFIG_LIN_V_GPIO, 1); +} +void V_U_start(int duty) +{ + //HIN_U und LIN_V abschalten + pwmStop(HIN_U_CH); + gpio_set_level(CONFIG_LIN_V_GPIO, 0); + //HIN_V und LIN_U einschalten + pwmStart(HIN_V_CH, duty); + gpio_set_level(CONFIG_LIN_U_GPIO, 1); +} +void U_W_start(int duty) +{ + //HIN_W und LIN_U abschalten + pwmStop(HIN_W_CH); + gpio_set_level(CONFIG_LIN_U_GPIO, 0); + //HIN_U und LIN_V einschalten + pwmStart(HIN_W_CH, duty); + gpio_set_level(CONFIG_LIN_V_GPIO, 1); +} +void W_U_start(int duty) +{ + //HIN_U und LIN_W abschalten + pwmStop(HIN_U_CH); + gpio_set_level(CONFIG_LIN_W_GPIO, 0); + //HIN_U und LIN_V einschalten + pwmStart(HIN_W_CH, duty); + gpio_set_level(CONFIG_LIN_U_GPIO, 1); +} +void V_W_start(int duty) +{ + //HIN_U und LIN_W abschalten + pwmStop(HIN_W_CH); + gpio_set_level(CONFIG_LIN_V_GPIO, 0); + //HIN_U und LIN_V einschalten + pwmStart(HIN_V_CH, duty); + gpio_set_level(CONFIG_LIN_W_GPIO, 1); +} +void W_V_start(int duty) +{ + //HIN_U und LIN_W abschalten + pwmStop(HIN_V_CH); + gpio_set_level(CONFIG_LIN_W_GPIO, 0); + //HIN_U und LIN_V einschalten + pwmStart(HIN_W_CH, duty); + gpio_set_level(CONFIG_LIN_V_GPIO, 1); +} +/*############################################*/ +/*################## MISC ####################*/ +/*############################################*/ +//Ausgelagert in Preprocessing python program, generate_pins_header.py +void parse_3pins(const char *TAG, const char *pin_string, int *pins) { + int pin_count = 0; // Jetzt ein Integer, keine Null-Pointer-Dereferenzierung + char *token; + char *pin_list = strdup(pin_string); // Kopie der String-Option + + token = strtok(pin_list, ","); + while (token != NULL && pin_count < 3) { // maximal 3 Pins + pins[pin_count] = atoi(token); // Umwandlung in Integer + pin_count++; + token = strtok(NULL, ","); + } + free(pin_list); // Speicher freigeben +} \ No newline at end of file diff --git a/old_functions.h b/old_functions.h new file mode 100644 index 0000000..8904961 --- /dev/null +++ b/old_functions.h @@ -0,0 +1,11 @@ +void set_PWM_Timer(); +void set_PWM(); +void pwmStart(int PWM_CH,int Duty); +void pwmStop(int PWM_CH); +void pwmStopAll(); +void U_V_start(int duty); +void V_U_start(int duty); +void U_W_start(int duty); +void W_U_start(int duty); +void V_W_start(int duty); +void W_V_start(int duty); \ No newline at end of file diff --git a/sdkconfig b/sdkconfig index e19d7d2..c4ebc44 100644 --- a/sdkconfig +++ b/sdkconfig @@ -1,6 +1,6 @@ # # Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.3.0 Project Configuration +# Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" @@ -14,6 +14,7 @@ CONFIG_SOC_GPTIMER_SUPPORTED=y CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y @@ -44,6 +45,10 @@ CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y CONFIG_SOC_SPI_FLASH_SUPPORTED=y CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_PM_SUPPORTED=y CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y @@ -85,7 +90,9 @@ CONFIG_SOC_GPIO_IN_RANGE_MAX=39 CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 CONFIG_SOC_I2C_NUM=2 +CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 CONFIG_SOC_I2C_CMD_REG_NUM=16 CONFIG_SOC_I2C_SUPPORT_SLAVE=y @@ -167,7 +174,7 @@ CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y CONFIG_SOC_TOUCH_SENSOR_VERSION=1 CONFIG_SOC_TOUCH_SENSOR_NUM=10 -CONFIG_SOC_TOUCH_SAMPLER_NUM=1 +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1 CONFIG_SOC_TWAI_BRP_MIN=2 CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y @@ -223,14 +230,16 @@ CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y CONFIG_SOC_BT_CLASSIC_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" CONFIG_IDF_TARGET="esp32" -CONFIG_IDF_INIT_VERSION="5.3.0" +CONFIG_IDF_INIT_VERSION="5.3.1" CONFIG_IDF_TARGET_ESP32=y CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 @@ -320,8 +329,13 @@ CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y # # Serial flasher config @@ -403,8 +417,10 @@ CONFIG_LIN_U_V_W_GPIO="25, 27, 12" # PWM configuration # CONFIG_ENABLE_PWM=y +CONFIG_TIMER_BASE_FREQ=40000000 CONFIG_FREQ_PWM=20000 CONFIG_DUTY_PWM=50 +CONFIG_DEAD_TIME_PWM=25 # end of PWM configuration # @@ -417,6 +433,7 @@ CONFIG_HALL_A_B_C_GPIO="4, 16, 17" # Input pin configurations # CONFIG_IN_ENCODER_GPIO="3, 2, 23" +CONFIG_IN_ENCODER_DEBOUNCE_TIME=5 CONFIG_BUTTON_GPIO=1 CONFIG_EXT_ENCODER_GPIO="16, 18, 5" CONFIG_RFE_GPIO=15 @@ -469,6 +486,8 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # CONFIG_COMPILER_DUMP_RTL_FILES is not set CONFIG_COMPILER_RT_LIB_GCCLIB=y CONFIG_COMPILER_RT_LIB_NAME="gcc" +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y # end of Compiler options # @@ -491,28 +510,19 @@ CONFIG_APPTRACE_LOCK_ENABLE=y # Bluetooth # # CONFIG_BT_ENABLED is not set +CONFIG_BT_ALARM_MAX_NUM=50 # end of Bluetooth +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + # # Driver Configurations # -# -# Legacy ADC Configuration -# -CONFIG_ADC_DISABLE_DAC=y -# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set - -# -# Legacy ADC Calibration Configuration -# -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y -# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy ADC Calibration Configuration -# end of Legacy ADC Configuration - # # TWAI Configuration # @@ -525,23 +535,62 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # -# UART Configuration +# Legacy ADC Driver Configuration # -# CONFIG_UART_ISR_IN_IRAM is not set -# end of UART Configuration +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # -# LEDC Configuration +# Legacy ADC Calibration Configuration # -# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set -# end of LEDC Configuration +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration # -# I2C Configuration +# Legacy DAC Driver Configurations # -# CONFIG_I2C_ISR_IRAM_SAFE is not set -# CONFIG_I2C_ENABLE_DEBUG_LOG is not set -# end of I2C Configuration +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy DAC Driver Configurations + +# +# Legacy MCPWM Driver Configurations +# +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy SDM Driver Configurations # end of Driver Configurations # @@ -589,6 +638,7 @@ CONFIG_ADC_DISABLE_DAC_OUTPUT=y # # Wireless Coexistence # +CONFIG_ESP_COEX_ENABLED=y # end of Wireless Coexistence # @@ -602,7 +652,6 @@ CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # # CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set # CONFIG_DAC_ISR_IRAM_SAFE is not set -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_DAC_ENABLE_DEBUG_LOG is not set CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y # end of ESP-Driver:DAC Configurations @@ -620,24 +669,34 @@ CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set # CONFIG_GPTIMER_ISR_IRAM_SAFE is not set -# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:GPTimer Configurations +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2C Configurations + # # ESP-Driver:I2S Configurations # # CONFIG_I2S_ISR_IRAM_SAFE is not set -# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_I2S_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:I2S Configurations +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + # # ESP-Driver:MCPWM Configurations # # CONFIG_MCPWM_ISR_IRAM_SAFE is not set # CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set -# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:MCPWM Configurations @@ -646,7 +705,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set # CONFIG_PCNT_ISR_IRAM_SAFE is not set -# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_PCNT_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:PCNT Configurations @@ -655,7 +713,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # CONFIG_RMT_ISR_IRAM_SAFE is not set # CONFIG_RMT_RECV_FUNC_IN_IRAM is not set -# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_RMT_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:RMT Configurations @@ -663,7 +720,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # ESP-Driver:Sigma Delta Modulator Configurations # # CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set -# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_SDM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Sigma Delta Modulator Configurations @@ -676,6 +732,20 @@ CONFIG_SPI_MASTER_ISR_IN_IRAM=y CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # end of ESP-Driver:SPI Configurations +# +# ESP-Driver:Touch Sensor Configurations +# +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + # # Ethernet # @@ -708,7 +778,10 @@ CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y # # GDB Stub # +CONFIG_ESP_GDBSTUB_ENABLED=y # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 # end of GDB Stub # @@ -777,6 +850,7 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 @@ -792,7 +866,7 @@ CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y # CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set # CONFIG_ESP_SLEEP_DEBUG is not set CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y @@ -862,6 +936,7 @@ CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y # # PHY # +CONFIG_ESP_PHY_ENABLED=y CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y # CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 @@ -871,6 +946,7 @@ CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set # end of PHY # @@ -942,6 +1018,7 @@ CONFIG_ESP_CONSOLE_UART_DEFAULT=y # CONFIG_ESP_CONSOLE_NONE is not set CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 CONFIG_ESP_INT_WDT=y CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 @@ -986,7 +1063,7 @@ CONFIG_ESP_IPC_ISR_ENABLE=y # end of IPC (Inter-Processor Call) # -# High resolution timer (esp_timer) +# ESP Timer (High Resolution Timer) # # CONFIG_ESP_TIMER_PROFILING is not set CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y @@ -999,7 +1076,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set CONFIG_ESP_TIMER_IMPL_TG0_LAC=y -# end of High resolution timer (esp_timer) +# end of ESP Timer (High Resolution Timer) # # Wi-Fi @@ -1033,8 +1110,11 @@ CONFIG_ESP_WIFI_ENABLE_SAE_PK=y CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set +CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 @@ -1058,6 +1138,7 @@ CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y # CONFIG_ESP_WIFI_DEBUG_PRINT is not set # CONFIG_ESP_WIFI_TESTING_OPTIONS is not set CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set # end of Wi-Fi # @@ -1142,6 +1223,7 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set # CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set # end of Kernel # @@ -1170,6 +1252,7 @@ CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y CONFIG_FREERTOS_DEBUG_OCDAWARE=y CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=2 # end of FreeRTOS # @@ -1199,9 +1282,6 @@ CONFIG_HEAP_TRACING_OFF=y # CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set # end of Heap memory debugging -CONFIG_IEEE802154_CCA_THRESHOLD=-60 -CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 - # # Log output # @@ -1245,6 +1325,7 @@ CONFIG_LWIP_SO_REUSE=y CONFIG_LWIP_SO_REUSE_RXTOALL=y # CONFIG_LWIP_SO_RCVBUF is not set # CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 CONFIG_LWIP_IP4_FRAG=y CONFIG_LWIP_IP6_FRAG=y # CONFIG_LWIP_IP4_REASSEMBLY is not set @@ -1299,6 +1380,7 @@ CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 CONFIG_LWIP_TCP_WND_DEFAULT=5760 CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 CONFIG_LWIP_TCP_QUEUE_OOSEQ=y CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 @@ -1354,8 +1436,17 @@ CONFIG_LWIP_MAX_RAW_PCBS=16 CONFIG_LWIP_SNTP_MAX_SERVERS=1 # CONFIG_LWIP_DHCP_GET_NTP_SRV is not set CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 # end of SNTP +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 CONFIG_LWIP_ESP_LWIP_ASSERT=y @@ -1423,7 +1514,9 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1508,7 +1601,7 @@ CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y # CONFIG_MBEDTLS_CHACHA20_C is not set # CONFIG_MBEDTLS_HKDF_C is not set # CONFIG_MBEDTLS_THREADING_C is not set -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y # end of mbedTLS # @@ -1568,6 +1661,13 @@ CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" # end of Thread Operational Dataset CONFIG_OPENTHREAD_XTAL_ACCURACY=130 +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y + +# +# Thread Address Query Config +# +# end of Thread Address Query Config # end of OpenThread # @@ -1712,6 +1812,11 @@ CONFIG_WS_BUFFER_SIZE=1024 # Ultra Low Power (ULP) Co-processor # # CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options # end of Ultra Low Power (ULP) Co-processor # @@ -1726,11 +1831,6 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library -# -# Root Hub configuration -# -# end of Root Hub configuration - # # Virtual file system # @@ -1813,12 +1913,15 @@ CONFIG_ADC2_DISABLE_DAC=y # CONFIG_EVENT_LOOP_PROFILING is not set CONFIG_POST_EVENTS_FROM_ISR=y CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set # CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 # CONFIG_ESP_SYSTEM_PD_FLASH is not set CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y # CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set diff --git a/sdkconfig.old b/sdkconfig.old index 4efd79b..c7698a6 100644 --- a/sdkconfig.old +++ b/sdkconfig.old @@ -14,6 +14,7 @@ CONFIG_SOC_GPTIMER_SUPPORTED=y CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y @@ -44,6 +45,10 @@ CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y CONFIG_SOC_SPI_FLASH_SUPPORTED=y CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_PM_SUPPORTED=y CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y @@ -85,7 +90,9 @@ CONFIG_SOC_GPIO_IN_RANGE_MAX=39 CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 CONFIG_SOC_I2C_NUM=2 +CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 CONFIG_SOC_I2C_CMD_REG_NUM=16 CONFIG_SOC_I2C_SUPPORT_SLAVE=y @@ -223,8 +230,10 @@ CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y CONFIG_SOC_BT_CLASSIC_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y @@ -320,8 +329,13 @@ CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y # # Serial flasher config @@ -381,7 +395,7 @@ CONFIG_ENV_GPIO_OUT_RANGE_MAX=33 # # ADC 1 configurations # -CONFIG_U_SENSE_ADC=9 +CONFIG_U_SENSE_ADC=5 CONFIG_I_SENSE_ADC=7 CONFIG_I_SENSE_U_V_W_ADC="6, 3, 0" CONFIG_TORQUE_ADC=4 @@ -391,18 +405,24 @@ CONFIG_TORQUE_ADC=4 # Highside pin configurations (HIN) # CONFIG_HIN_U_V_W_GPIO="26, 14, 13" -CONFIG_ENABLE_PWM_HIN=y -CONFIG_FREQ_PWM_HIN=20000 -CONFIG_DUTY_PWM_HIN=50 # end of Highside pin configurations (HIN) # # Lowside pin configurations (LIN) # CONFIG_LIN_U_V_W_GPIO="25, 27, 12" -# CONFIG_ENABLE_PWM_LIN is not set # end of Lowside pin configurations (LIN) +# +# PWM configuration +# +CONFIG_ENABLE_PWM=y +CONFIG_TIMER_BASE_FREQ=40000000 +CONFIG_FREQ_PWM=20000 +CONFIG_DUTY_PWM=50 +CONFIG_DEAD_TIME_PWM=25 +# end of PWM configuration + # # Hall Sensor pin configurations # @@ -413,6 +433,7 @@ CONFIG_HALL_A_B_C_GPIO="4, 16, 17" # Input pin configurations # CONFIG_IN_ENCODER_GPIO="3, 2, 23" +CONFIG_IN_ENCODER_DEBOUNCE_TIME=5 CONFIG_BUTTON_GPIO=1 CONFIG_EXT_ENCODER_GPIO="16, 18, 5" CONFIG_RFE_GPIO=15 @@ -465,6 +486,8 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # CONFIG_COMPILER_DUMP_RTL_FILES is not set CONFIG_COMPILER_RT_LIB_GCCLIB=y CONFIG_COMPILER_RT_LIB_NAME="gcc" +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y # end of Compiler options # @@ -487,28 +510,19 @@ CONFIG_APPTRACE_LOCK_ENABLE=y # Bluetooth # # CONFIG_BT_ENABLED is not set +CONFIG_BT_ALARM_MAX_NUM=50 # end of Bluetooth +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + # # Driver Configurations # -# -# Legacy ADC Configuration -# -CONFIG_ADC_DISABLE_DAC=y -# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set - -# -# Legacy ADC Calibration Configuration -# -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y -# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy ADC Calibration Configuration -# end of Legacy ADC Configuration - # # TWAI Configuration # @@ -521,23 +535,62 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # -# UART Configuration +# Legacy ADC Driver Configuration # -# CONFIG_UART_ISR_IN_IRAM is not set -# end of UART Configuration +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # -# LEDC Configuration +# Legacy ADC Calibration Configuration # -# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set -# end of LEDC Configuration +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration # -# I2C Configuration +# Legacy DAC Driver Configurations # -# CONFIG_I2C_ISR_IRAM_SAFE is not set -# CONFIG_I2C_ENABLE_DEBUG_LOG is not set -# end of I2C Configuration +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy DAC Driver Configurations + +# +# Legacy MCPWM Driver Configurations +# +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy SDM Driver Configurations # end of Driver Configurations # @@ -585,6 +638,7 @@ CONFIG_ADC_DISABLE_DAC_OUTPUT=y # # Wireless Coexistence # +CONFIG_ESP_COEX_ENABLED=y # end of Wireless Coexistence # @@ -598,7 +652,6 @@ CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # # CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set # CONFIG_DAC_ISR_IRAM_SAFE is not set -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_DAC_ENABLE_DEBUG_LOG is not set CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y # end of ESP-Driver:DAC Configurations @@ -616,24 +669,34 @@ CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set # CONFIG_GPTIMER_ISR_IRAM_SAFE is not set -# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:GPTimer Configurations +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2C Configurations + # # ESP-Driver:I2S Configurations # # CONFIG_I2S_ISR_IRAM_SAFE is not set -# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_I2S_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:I2S Configurations +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + # # ESP-Driver:MCPWM Configurations # # CONFIG_MCPWM_ISR_IRAM_SAFE is not set # CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set -# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:MCPWM Configurations @@ -642,7 +705,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set # CONFIG_PCNT_ISR_IRAM_SAFE is not set -# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_PCNT_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:PCNT Configurations @@ -651,7 +713,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # CONFIG_RMT_ISR_IRAM_SAFE is not set # CONFIG_RMT_RECV_FUNC_IN_IRAM is not set -# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_RMT_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:RMT Configurations @@ -659,7 +720,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # ESP-Driver:Sigma Delta Modulator Configurations # # CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set -# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # CONFIG_SDM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Sigma Delta Modulator Configurations @@ -672,6 +732,12 @@ CONFIG_SPI_MASTER_ISR_IN_IRAM=y CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # end of ESP-Driver:SPI Configurations +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + # # Ethernet # @@ -704,7 +770,10 @@ CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y # # GDB Stub # +CONFIG_ESP_GDBSTUB_ENABLED=y # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 # end of GDB Stub # @@ -773,6 +842,7 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 @@ -788,7 +858,7 @@ CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y # CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set # CONFIG_ESP_SLEEP_DEBUG is not set CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y @@ -858,6 +928,7 @@ CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y # # PHY # +CONFIG_ESP_PHY_ENABLED=y CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y # CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 @@ -867,6 +938,7 @@ CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set # end of PHY # @@ -938,6 +1010,7 @@ CONFIG_ESP_CONSOLE_UART_DEFAULT=y # CONFIG_ESP_CONSOLE_NONE is not set CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 CONFIG_ESP_INT_WDT=y CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 @@ -982,7 +1055,7 @@ CONFIG_ESP_IPC_ISR_ENABLE=y # end of IPC (Inter-Processor Call) # -# High resolution timer (esp_timer) +# ESP Timer (High Resolution Timer) # # CONFIG_ESP_TIMER_PROFILING is not set CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y @@ -995,7 +1068,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set CONFIG_ESP_TIMER_IMPL_TG0_LAC=y -# end of High resolution timer (esp_timer) +# end of ESP Timer (High Resolution Timer) # # Wi-Fi @@ -1029,8 +1102,11 @@ CONFIG_ESP_WIFI_ENABLE_SAE_PK=y CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set +CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 @@ -1054,6 +1130,7 @@ CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y # CONFIG_ESP_WIFI_DEBUG_PRINT is not set # CONFIG_ESP_WIFI_TESTING_OPTIONS is not set CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set # end of Wi-Fi # @@ -1138,6 +1215,7 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set # CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set # end of Kernel # @@ -1166,6 +1244,7 @@ CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y CONFIG_FREERTOS_DEBUG_OCDAWARE=y CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=2 # end of FreeRTOS # @@ -1195,9 +1274,6 @@ CONFIG_HEAP_TRACING_OFF=y # CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set # end of Heap memory debugging -CONFIG_IEEE802154_CCA_THRESHOLD=-60 -CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 - # # Log output # @@ -1241,6 +1317,7 @@ CONFIG_LWIP_SO_REUSE=y CONFIG_LWIP_SO_REUSE_RXTOALL=y # CONFIG_LWIP_SO_RCVBUF is not set # CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 CONFIG_LWIP_IP4_FRAG=y CONFIG_LWIP_IP6_FRAG=y # CONFIG_LWIP_IP4_REASSEMBLY is not set @@ -1295,6 +1372,7 @@ CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 CONFIG_LWIP_TCP_WND_DEFAULT=5760 CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 CONFIG_LWIP_TCP_QUEUE_OOSEQ=y CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 @@ -1350,8 +1428,17 @@ CONFIG_LWIP_MAX_RAW_PCBS=16 CONFIG_LWIP_SNTP_MAX_SERVERS=1 # CONFIG_LWIP_DHCP_GET_NTP_SRV is not set CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 # end of SNTP +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 CONFIG_LWIP_ESP_LWIP_ASSERT=y @@ -1419,7 +1506,9 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1504,7 +1593,7 @@ CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y # CONFIG_MBEDTLS_CHACHA20_C is not set # CONFIG_MBEDTLS_HKDF_C is not set # CONFIG_MBEDTLS_THREADING_C is not set -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y # end of mbedTLS # @@ -1564,6 +1653,13 @@ CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" # end of Thread Operational Dataset CONFIG_OPENTHREAD_XTAL_ACCURACY=130 +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y + +# +# Thread Address Query Config +# +# end of Thread Address Query Config # end of OpenThread # @@ -1708,6 +1804,11 @@ CONFIG_WS_BUFFER_SIZE=1024 # Ultra Low Power (ULP) Co-processor # # CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options # end of Ultra Low Power (ULP) Co-processor # @@ -1722,11 +1823,6 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library -# -# Root Hub configuration -# -# end of Root Hub configuration - # # Virtual file system # @@ -1809,12 +1905,15 @@ CONFIG_ADC2_DISABLE_DAC=y # CONFIG_EVENT_LOOP_PROFILING is not set CONFIG_POST_EVENTS_FROM_ISR=y CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set # CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 # CONFIG_ESP_SYSTEM_PD_FLASH is not set CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y # CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set