finalizations

master
Ondřej Hruška 2 years ago
parent e274ec0055
commit 752bbecf1c
  1. 8
      main/Kconfig.projbuild
  2. 60
      main/actuators.c
  3. 7
      main/actuators.h
  4. 23
      main/fancontrol.c
  5. 8
      main/fancontrol.h
  6. 143
      main/mbiface.c
  7. 19
      main/onewires.c
  8. 4
      main/settings.h
  9. 8
      main/user_main.c
  10. 12
      sdkconfig
  11. 173
      sdkconfig.old

@ -1,14 +1,14 @@
menu "Project configuration" menu "Project configuration"
menu "Pin mapping" menu "Pin mapping"
config PIN_BUZZER
int "Buzzer pin"
default 16
config PIN_LED config PIN_LED
int "LED pin" int "LED pin"
default 17 default 17
config PIN_STATUSLED
int "Status LED pin"
default 20
config PIN_BLIND config PIN_BLIND
int "Blind open pin" int "Blind open pin"
default 18 default 18

@ -16,46 +16,14 @@ struct actuators_status gAct = {
.power = 0, .power = 0,
}; };
static void buzzer_init() int sPinPwm = 0;
{ int sPinDir = 0;
ledc_timer_config_t ledc_timer = {
.duty_resolution = LEDC_TIMER_8_BIT, // resolution of PWM duty
.freq_hz = 4400, // frequency of PWM signal
.speed_mode = LEDC_HIGH_SPEED_MODE, // timer mode
.timer_num = LEDC_TIMER_0, // timer index
.clk_cfg = LEDC_AUTO_CLK, // Auto select the source clock
};
// Set configuration of timer0 for high speed channels
ledc_timer_config(&ledc_timer);
ledc_channel_config_t chan = {
.channel = LEDC_CHANNEL_0,
.duty = 127,
.gpio_num = CONFIG_PIN_BUZZER,
.speed_mode = LEDC_HIGH_SPEED_MODE,
.hpoint = 0,
.timer_sel = LEDC_TIMER_0
};
ledc_channel_config(&chan);
}
void act_buzzer_set(bool on)
{
if (gAct.buzzer == on) {
return;
}
ESP_LOGI(TAG, "set buzzer %d", on);
gAct.buzzer = on;
if (on) {
ledc_set_duty(LEDC_HIGH_SPEED_MODE, LEDC_CHANNEL_0, 127);
ledc_update_duty(LEDC_HIGH_SPEED_MODE, LEDC_CHANNEL_0);
} else {
ledc_stop(LEDC_HIGH_SPEED_MODE, LEDC_CHANNEL_0, 0);
}
}
static void motor_init() static void motor_init()
{ {
sPinPwm = (gSettings.swap_pwm_dir ? CONFIG_PIN_DIR : CONFIG_PIN_PWM);
sPinDir = (gSettings.swap_pwm_dir ? CONFIG_PIN_PWM : CONFIG_PIN_DIR);
ledc_timer_config_t ledc_timer = { ledc_timer_config_t ledc_timer = {
.duty_resolution = LEDC_TIMER_10_BIT, // resolution of PWM duty .duty_resolution = LEDC_TIMER_10_BIT, // resolution of PWM duty
.freq_hz = 1000, // frequency of PWM signal .freq_hz = 1000, // frequency of PWM signal
@ -70,7 +38,7 @@ static void motor_init()
ledc_channel_config_t chan = { ledc_channel_config_t chan = {
.channel = LEDC_CHANNEL_1, .channel = LEDC_CHANNEL_1,
.duty = 512, .duty = 512,
.gpio_num = CONFIG_PIN_PWM, .gpio_num = sPinPwm,
.speed_mode = LEDC_HIGH_SPEED_MODE, .speed_mode = LEDC_HIGH_SPEED_MODE,
.hpoint = 0, .hpoint = 0,
.timer_sel = LEDC_TIMER_1, .timer_sel = LEDC_TIMER_1,
@ -81,7 +49,7 @@ static void motor_init()
// Direction output // Direction output
gpio_config_t ioconf = { gpio_config_t ioconf = {
.mode = GPIO_MODE_OUTPUT, .mode = GPIO_MODE_OUTPUT,
.pin_bit_mask = 1 << CONFIG_PIN_DIR, .pin_bit_mask = 1 << sPinDir,
}; };
gpio_config(&ioconf); gpio_config(&ioconf);
@ -123,7 +91,7 @@ void act_motor_direction_set(enum motor_direction dir)
} }
ESP_LOGI(TAG, "set dir %d", dir); ESP_LOGI(TAG, "set dir %d", dir);
gAct.dir = dir; gAct.dir = dir;
gpio_set_level(CONFIG_PIN_DIR, (int) dir); // TODO verify polarity gpio_set_level(sPinDir, (int) dir); // TODO verify polarity
} }
static void blind_init() static void blind_init()
@ -150,7 +118,7 @@ static void led_init()
{ {
gpio_config_t ioconf = { gpio_config_t ioconf = {
.mode = GPIO_MODE_OUTPUT, .mode = GPIO_MODE_OUTPUT,
.pin_bit_mask = 1 << CONFIG_PIN_LED, .pin_bit_mask = (1 << CONFIG_PIN_LED) | (1 << CONFIG_PIN_STATUSLED),
}; };
gpio_config(&ioconf); gpio_config(&ioconf);
} }
@ -165,20 +133,24 @@ void act_led_set(bool on)
gpio_set_level(CONFIG_PIN_LED, (int) on); // TODO verify polarity gpio_set_level(CONFIG_PIN_LED, (int) on); // TODO verify polarity
} }
void act_statusled_set(bool on)
{
gpio_set_level(CONFIG_PIN_STATUSLED, (int) on);
}
void act_init() void act_init()
{ {
buzzer_init();
motor_init(); motor_init();
blind_init(); blind_init();
led_init(); led_init();
} }
int16_t act_temp_in() int16_t act_temp1()
{ {
return gTempSensors[0]; return gTempSensors[0];
} }
int16_t act_temp_out() int16_t act_temp2()
{ {
return gTempSensors[1]; return gTempSensors[1];
} }

@ -17,20 +17,19 @@ struct actuators_status {
enum motor_direction dir; enum motor_direction dir;
bool blind; bool blind;
bool led; bool led;
bool buzzer;
uint16_t power; uint16_t power;
}; };
extern struct actuators_status gAct; extern struct actuators_status gAct;
void act_init(); void act_init();
void act_buzzer_set(bool on);
void act_motor_power_set(uint16_t perc); void act_motor_power_set(uint16_t perc);
void act_motor_direction_set(enum motor_direction dir); void act_motor_direction_set(enum motor_direction dir);
void act_blind_set(bool open); void act_blind_set(bool open);
void act_led_set(bool on); void act_led_set(bool on);
void act_statusled_set(bool on);
int16_t act_temp_in(); int16_t act_temp1();
int16_t act_temp_out(); int16_t act_temp2();
#endif //FANCTL_ACTUATORS_H #endif //FANCTL_ACTUATORS_H

@ -35,9 +35,27 @@ void settings_blind_time_set(uint16_t blind_time)
static void fanctltask(void *dummy) { static void fanctltask(void *dummy) {
TickType_t last_wake_time = xTaskGetTickCount(); TickType_t last_wake_time = xTaskGetTickCount();
bool statusled = 0;
while (1) { while (1) {
act_statusled_set(statusled);
statusled ^= 1;
//
timerCallback(); timerCallback();
vTaskDelayUntil(&last_wake_time, pdMS_TO_TICKS(1000)); vTaskDelayUntil(&last_wake_time, pdMS_TO_TICKS(1000));
gState.uptime_secs += 1;
if (gState.uptime_secs >= 3600) {
gState.uptime_secs = 0;
gState.uptime_hours += 1;
}
if ((gState.effective_vent_mode & 6) != 0) {
gState.motor_secs += 1;
if (gState.motor_secs >= 3600) {
gState.motor_secs = 0;
gState.motor_hours += 1;
}
}
} }
} }
@ -46,6 +64,7 @@ void fancontrol_init()
gState.set_vent_mode = gSettings.initial_mode; gState.set_vent_mode = gSettings.initial_mode;
gState.set_power = gSettings.initial_power; gState.set_power = gSettings.initial_power;
// this doesnt work
// TimerHandle_t hTimer = xTimerCreate("fanctl", // TimerHandle_t hTimer = xTimerCreate("fanctl",
// pdMS_TO_TICKS(1000), // pdMS_TO_TICKS(1000),
// pdTRUE, // pdTRUE,
@ -236,8 +255,8 @@ static void timerCallback()
} }
// Measure temperatures // Measure temperatures
int16_t t1 = act_temp_in(); int16_t t1 = act_temp1();
int16_t t2 = act_temp_out(); int16_t t2 = act_temp2();
gState.t_actual_in = t1; gState.t_actual_in = t1;
gState.t_actual_out = t2; gState.t_actual_out = t2;

@ -10,6 +10,7 @@
void fancontrol_init(); void fancontrol_init();
/** this is bit-based: IN:OUT:BLIND */
enum ventilation_mode { enum ventilation_mode {
VENT_MODE_OFF = 0, VENT_MODE_OFF = 0,
VENT_MODE_FREE = 1, VENT_MODE_FREE = 1,
@ -84,6 +85,13 @@ struct FanControlState {
int32_t t1_aggr; int32_t t1_aggr;
int32_t t2_aggr; int32_t t2_aggr;
uint32_t t_aggr_cnt; uint32_t t_aggr_cnt;
// helper counters that increment hour counters when overflow
uint16_t uptime_secs;
uint16_t motor_secs;
uint16_t uptime_hours;
uint16_t motor_hours;
}; };
extern struct FanControlState gState; extern struct FanControlState gState;

@ -9,39 +9,64 @@
static const char * TAG = "mb"; static const char * TAG = "mb";
Tcpd_t g_mbifc_server = NULL; Tcpd_t g_mbifc_server = NULL;
ModbusSlave_t gModbus; ModbusSlave_t gModbus = {};
#define IDENT_MAGIC 3333
#define REBOOT_MAGIC 0xB007 /* 45063 */
#define INPUT_REG_MIRROR_IN_HOLDING_BASE_ADDR 1000
enum HoldingRegisters { enum HoldingRegisters {
H_IDENT = 0,
// Control
H_MODE = 1, H_MODE = 1,
H_POWER, H_POWER = 2,
H_SUMMER, H_SUMMER_MODE = 3,
H_INITIAL_MODE,
H_INITIAL_POWER, // Settings
H_RECUP_MODE, H_INITIAL_MODE = 10,
H_RECUP_TIME, H_INITIAL_POWER = 11,
H_RECUP_TIME_MIN, H_RECUP_MODE = 12,
H_RECUP_TIME_MAX, H_RECUP_TIME = 13,
H_RECUP_FACTOR, H_RECUP_TIME_MIN = 14,
H_RAMP_TIME, H_RECUP_TIME_MAX = 15,
H_BLIND_TIME, H_RECUP_FACTOR = 16,
H_MIN_POWER, H_MIN_POWER = 17,
// Hardware settings (don't need to change once set correctly)
H_RAMP_TIME = 30,
H_BLIND_TIME = 31,
H_SWAP_TEMPS = 32,
H_SWAP_PWMDIR = 33,
H_REBOOT = 70,
}; };
enum InputRegisters { enum InputRegisters {
I_RECUP_TIME_IN = 1, I_T_VALIDITY = 1,
I_RECUP_TIME_OUT, I_T_IN_INST = 2,
I_T_VALIDITY, I_T_OUT_INST = 3,
I_T_IN_INST, I_T_INDOOR = 4,
I_T_OUT_INST, I_T_OUTDOOR = 5,
I_T_INDOOR, I_T_INFLOW = 6,
I_T_OUTDOOR, I_T_EXHAUST = 7,
I_T_INFLOW, I_RECUP_TIME_IN = 8,
I_T_EXHAUST, I_RECUP_TIME_OUT = 9,
I_MODE_INST,
I_MOTOR_RAMP, I_MODE_INST = 20,
I_BLIND_RAMP, I_MOTOR_RAMP = 21,
I_BLIND_RAMP = 22,
I_MOTOR_SECS = 23,
I_MOTOR_HOURS = 24,
I_UPTIME_SECS = 25,
I_UPTIME_HOURS = 26,
I_FREE_HEAP_KB = 27,
}; };
static void restartLater() {
vTaskDelay(pdMS_TO_TICKS(100));
esp_restart();
}
/** /**
* Socket read handler * Socket read handler
*/ */
@ -74,7 +99,8 @@ void endOfAccess(ModbusSlave_t *ms) {
ModbusException_t ri(ModbusSlave_t *pSlave, uint16_t ref, uint16_t *pValue) { ModbusException_t ri(ModbusSlave_t *pSlave, uint16_t ref, uint16_t *pValue) {
ESP_LOGD(TAG, "Read input %d", ref); ESP_LOGD(TAG, "Read input %d", ref);
uint16_t scratch = 0; uint16_t scratch16 = 0;
uint32_t scratch32 = 0;
switch (ref) { switch (ref) {
case I_RECUP_TIME_IN: case I_RECUP_TIME_IN:
@ -84,13 +110,13 @@ ModbusException_t ri(ModbusSlave_t *pSlave, uint16_t ref, uint16_t *pValue) {
*pValue = gState.real_recup_time_out; *pValue = gState.real_recup_time_out;
break; break;
case I_T_VALIDITY: case I_T_VALIDITY:
scratch |= (int)gState.valid_t_actual_in; scratch16 |= (int)gState.valid_t_actual_in;
scratch |= (int)gState.valid_t_actual_out << 1; scratch16 |= (int)gState.valid_t_actual_out << 1;
scratch |= (int)gState.valid_t_indoor << 2; scratch16 |= (int)gState.valid_t_indoor << 2;
scratch |= (int)gState.valid_t_outdoor << 3; scratch16 |= (int)gState.valid_t_outdoor << 3;
scratch |= (int)gState.valid_t_inflow << 4; scratch16 |= (int)gState.valid_t_inflow << 4;
scratch |= (int)gState.valid_t_exhaust << 5; scratch16 |= (int)gState.valid_t_exhaust << 5;
*pValue = scratch; *pValue = scratch16;
break; break;
case I_T_IN_INST: case I_T_IN_INST:
*pValue = gState.t_actual_in; *pValue = gState.t_actual_in;
@ -119,6 +145,25 @@ ModbusException_t ri(ModbusSlave_t *pSlave, uint16_t ref, uint16_t *pValue) {
case I_BLIND_RAMP: case I_BLIND_RAMP:
*pValue = gState.blind_position; *pValue = gState.blind_position;
break; break;
case I_UPTIME_SECS:
*pValue = gState.uptime_secs;
break;
case I_UPTIME_HOURS:
*pValue = gState.uptime_hours;
break;
case I_MOTOR_SECS:
*pValue = gState.motor_secs;
break;
case I_MOTOR_HOURS:
*pValue = gState.motor_hours;
break;
case I_FREE_HEAP_KB:
scratch32 = esp_get_free_heap_size() / 1024;
if (scratch32 > UINT16_MAX) {
scratch32 = UINT16_MAX;
}
*pValue = scratch32;
break;
default: default:
return MB_EXCEPTION_ILLEGAL_DATA_ADDRESS; return MB_EXCEPTION_ILLEGAL_DATA_ADDRESS;
@ -131,13 +176,16 @@ ModbusException_t rh(ModbusSlave_t *pSlave, uint16_t ref, uint16_t *pValue) {
ESP_LOGD(TAG, "Read holding %d", ref); ESP_LOGD(TAG, "Read holding %d", ref);
switch (ref) { switch (ref) {
case H_IDENT:
*pValue = IDENT_MAGIC;
break;
case H_MODE: case H_MODE:
*pValue = (int) gState.set_vent_mode; *pValue = (int) gState.set_vent_mode;
break; break;
case H_POWER: case H_POWER:
*pValue = gState.set_power; *pValue = gState.set_power;
break; break;
case H_SUMMER: case H_SUMMER_MODE:
*pValue = (int) gSettings.summer_mode; *pValue = (int) gSettings.summer_mode;
break; break;
case H_INITIAL_MODE: case H_INITIAL_MODE:
@ -170,10 +218,16 @@ ModbusException_t rh(ModbusSlave_t *pSlave, uint16_t ref, uint16_t *pValue) {
case H_MIN_POWER: case H_MIN_POWER:
*pValue = gSettings.min_power; *pValue = gSettings.min_power;
break; break;
case H_SWAP_TEMPS:
*pValue = gSettings.swap_temps;
break;
case H_SWAP_PWMDIR:
*pValue = gSettings.swap_pwm_dir;
break;
default: default:
// inputs are mapped to the holding address space // inputs are mapped to the holding address space
if (ref >= 100) { if (ref >= INPUT_REG_MIRROR_IN_HOLDING_BASE_ADDR) {
return ri(pSlave, ref - 100, pValue); return ri(pSlave, ref - INPUT_REG_MIRROR_IN_HOLDING_BASE_ADDR, pValue);
} }
return MB_EXCEPTION_ILLEGAL_DATA_ADDRESS; return MB_EXCEPTION_ILLEGAL_DATA_ADDRESS;
@ -211,7 +265,7 @@ ModbusException_t wh(ModbusSlave_t *pSlave, uint16_t ref, uint16_t value) {
} }
fan_set_power(value); fan_set_power(value);
break; break;
case H_SUMMER: case H_SUMMER_MODE:
gSettings.summer_mode = (value != 0); gSettings.summer_mode = (value != 0);
settings_persist(SETTINGS_summer_mode); settings_persist(SETTINGS_summer_mode);
break; break;
@ -279,6 +333,21 @@ ModbusException_t wh(ModbusSlave_t *pSlave, uint16_t ref, uint16_t value) {
gSettings.min_power = value; gSettings.min_power = value;
settings_persist(SETTINGS_min_power); settings_persist(SETTINGS_min_power);
break; break;
case H_SWAP_TEMPS:
gSettings.swap_temps = value;
settings_persist(SETTINGS_swap_temps);
break;
case H_SWAP_PWMDIR:
gSettings.swap_temps = value;
settings_persist(SETTINGS_swap_pwm_dir);
break;
case H_REBOOT:
if (value == REBOOT_MAGIC) {
// if we restart immediately, the modbus req won't finish and master then sends retries
// and restarts us again and again
xTaskCreate(restartLater, "kill", 2048, NULL, PRIO_HIGH, NULL);
}
break;
default: default:
return MB_EXCEPTION_ILLEGAL_DATA_ADDRESS; return MB_EXCEPTION_ILLEGAL_DATA_ADDRESS;
} }

@ -6,6 +6,7 @@
#include "tasks.h" #include "tasks.h"
#include "owb.h" #include "owb.h"
#include "ds18b20.h" #include "ds18b20.h"
#include "settings.h"
static const char* TAG="1w"; static const char* TAG="1w";
@ -54,17 +55,21 @@ int read_onewires(int16_t *a, int16_t *b)
DS18B20_ERROR errors[2] = { 0 }; DS18B20_ERROR errors[2] = { 0 };
ds18b20_wait_for_conversion(sDevs[0]); ds18b20_wait_for_conversion(sDevs[0]);
vTaskDelay(pdMS_TO_TICKS(10)); // to be sure its done vTaskDelay(pdMS_TO_TICKS(15)); // to be sure it's done
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
errors[i] = ds18b20_read_temp(sDevs[i], &readings[i]); errors[i] = ds18b20_read_temp(sDevs[i], &readings[i]);
} }
if (errors[0] != DS18B20_OK || errors[1] != DS18B20_OK) { int16_t val1 = (int16_t) roundf(readings[0] * 10);
return -1; int16_t val2 = (int16_t) roundf(readings[1] * 10);
}
*a = (int16_t) roundf(readings[0] * 10); if (gSettings.swap_temps) {
*b = (int16_t) roundf(readings[1] * 10); *a = val2;
return 0; *b = val1;
} else {
*a = val1;
*b = val2;
}
return (errors[0] == DS18B20_OK) && (errors[1] != DS18B20_OK);
} }

@ -49,7 +49,9 @@ extern nvs_handle g_nvs_storage;
X(uint16_t , initial_mode , , 0 , true , u16 , &) /* rezim po zapnuti napajeni */ \ X(uint16_t , initial_mode , , 0 , true , u16 , &) /* rezim po zapnuti napajeni */ \
X(uint16_t , initial_power , , 50 , true , u16 , &) /* vychozi vykon */ \ X(uint16_t , initial_power , , 50 , true , u16 , &) /* vychozi vykon */ \
X(uint16_t , min_power , , 5 , true , u16 , &) /* min power % */ \ X(uint16_t , min_power , , 5 , true , u16 , &) /* min power % */ \
X(bool , summer_mode , , 0 , true , bool , &) /* rezim po zapnuti napajeni */ X(bool , summer_mode , , 0 , true , bool , &) /* rezim po zapnuti napajeni */ \
X(bool , swap_temps , , 0 , true , bool , &) /* swap t0/t1 */ \
X(bool , swap_pwm_dir , , 0 , true , bool , &) /* swap pwm/dir signal */
enum settings_key_enum { enum settings_key_enum {
#undef X #undef X

@ -33,6 +33,11 @@ void app_main(void) {
settings_init(); settings_init();
settings_load(); settings_load();
// do it ASAP so the fan maybe doesn't have time to start
onewires_setup();
act_init();
fancontrol_init();
// Start IDF service for pin change interrupts // Start IDF service for pin change interrupts
ESP_ERROR_CHECK(gpio_install_isr_service(0)); ESP_ERROR_CHECK(gpio_install_isr_service(0));
@ -58,10 +63,7 @@ void app_main(void) {
console_setup_uart_stdio(); console_setup_uart_stdio();
ESP_ERROR_CHECK(console_start_stdio(NULL, NULL)); ESP_ERROR_CHECK(console_start_stdio(NULL, NULL));
onewires_setup();
act_init();
mbiface_setup(); mbiface_setup();
fancontrol_init();
telnetsrv_start(CONSOLE_TELNET_PORT); telnetsrv_start(CONSOLE_TELNET_PORT);
ESP_LOGI(TAG, "Startup finished, free heap = %u, cmds %"PRIu32, esp_get_free_heap_size(), console_count_commands()); ESP_LOGI(TAG, "Startup finished, free heap = %u, cmds %"PRIu32, esp_get_free_heap_size(), console_count_commands());

@ -139,13 +139,13 @@ CONFIG_PARTITION_TABLE_MD5=y
# #
# Pin mapping # Pin mapping
# #
CONFIG_PIN_BUZZER=16 CONFIG_PIN_LED=16
CONFIG_PIN_LED=17 CONFIG_PIN_STATUSLED=13
CONFIG_PIN_BLIND=18 CONFIG_PIN_BLIND=18
CONFIG_PIN_PWM=19 CONFIG_PIN_PWM=21
CONFIG_PIN_DIR=23 CONFIG_PIN_DIR=22
CONFIG_PIN_1WIRE_1=21 CONFIG_PIN_1WIRE_1=25
CONFIG_PIN_1WIRE_2=22 CONFIG_PIN_1WIRE_2=26
# end of Pin mapping # end of Pin mapping
# #

@ -139,13 +139,13 @@ CONFIG_PARTITION_TABLE_MD5=y
# #
# Pin mapping # Pin mapping
# #
CONFIG_PIN_BUZZER=16 CONFIG_PIN_LED=16
CONFIG_PIN_LED=17 CONFIG_PIN_STATUSLED=13
CONFIG_PIN_BLIND=18 CONFIG_PIN_BLIND=18
CONFIG_PIN_PWM=19 CONFIG_PIN_PWM=21
CONFIG_PIN_DIR=20 CONFIG_PIN_DIR=22
CONFIG_PIN_1WIRE_1=21 CONFIG_PIN_1WIRE_1=25
CONFIG_PIN_1WIRE_2=22 CONFIG_PIN_1WIRE_2=14
# end of Pin mapping # end of Pin mapping
# #
@ -1264,164 +1264,3 @@ CONFIG_DHCPWD_TASK_PRIORITY=3
# #
# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set # CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set
# end of Compatibility options # end of Compatibility options
# Deprecated options for backward compatibility
CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
CONFIG_LOG_BOOTLOADER_LEVEL=3
# CONFIG_APP_ROLLBACK_ENABLE is not set
# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
# CONFIG_FLASHMODE_QIO is not set
# CONFIG_FLASHMODE_QOUT is not set
CONFIG_FLASHMODE_DIO=y
# CONFIG_FLASHMODE_DOUT is not set
# CONFIG_MONITOR_BAUD_9600B is not set
# CONFIG_MONITOR_BAUD_57600B is not set
CONFIG_MONITOR_BAUD_115200B=y
# CONFIG_MONITOR_BAUD_230400B is not set
# CONFIG_MONITOR_BAUD_921600B is not set
# CONFIG_MONITOR_BAUD_2MB is not set
# CONFIG_MONITOR_BAUD_OTHER is not set
CONFIG_MONITOR_BAUD_OTHER_VAL=115200
CONFIG_MONITOR_BAUD=115200
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set
CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2
# CONFIG_CXX_EXCEPTIONS is not set
CONFIG_STACK_CHECK_NONE=y
# CONFIG_STACK_CHECK_NORM is not set
# CONFIG_STACK_CHECK_STRONG is not set
# CONFIG_STACK_CHECK_ALL is not set
# CONFIG_WARN_WRITE_STRINGS is not set
# CONFIG_DISABLE_GCC8_WARNINGS is not set
# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
CONFIG_ESP32_APPTRACE_DEST_NONE=y
CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
CONFIG_ADC2_DISABLE_DAC=y
# CONFIG_SPIRAM_SUPPORT is not set
CONFIG_TRACEMEM_RESERVE_DRAM=0x0
# CONFIG_ULP_COPROC_ENABLED is not set
CONFIG_ULP_COPROC_RESERVE_MEM=0
CONFIG_BROWNOUT_DET=y
CONFIG_BROWNOUT_DET_LVL_SEL_0=y
# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
CONFIG_BROWNOUT_DET_LVL=0
CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set
# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
# CONFIG_NO_BLOBS is not set
# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
# CONFIG_EVENT_LOOP_PROFILING is not set
CONFIG_POST_EVENTS_FROM_ISR=y
CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
# 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=y
# CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND is not set
CONFIG_IPC_TASK_STACK_SIZE=1024
CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set
CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
CONFIG_ESP32_PHY_MAX_TX_POWER=20
CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set
CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
# CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set
# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
CONFIG_MAIN_TASK_STACK_SIZE=3584
CONFIG_CONSOLE_UART_DEFAULT=y
# CONFIG_CONSOLE_UART_CUSTOM is not set
# CONFIG_ESP_CONSOLE_UART_NONE is not set
CONFIG_CONSOLE_UART=y
CONFIG_CONSOLE_UART_NUM=0
CONFIG_CONSOLE_UART_BAUDRATE=115200
CONFIG_INT_WDT=y
CONFIG_INT_WDT_TIMEOUT_MS=300
CONFIG_INT_WDT_CHECK_CPU1=y
CONFIG_TASK_WDT=y
# CONFIG_TASK_WDT_PANIC is not set
CONFIG_TASK_WDT_TIMEOUT_S=5
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
CONFIG_TIMER_TASK_STACK_SIZE=3584
# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150
CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
CONFIG_MB_QUEUE_LENGTH=20
CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096
CONFIG_MB_SERIAL_BUF_SIZE=256
CONFIG_MB_SERIAL_TASK_PRIO=10
CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y
CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233
CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20
CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
CONFIG_MB_CONTROLLER_STACK_SIZE=4096
CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
CONFIG_MB_TIMER_PORT_ENABLED=y
CONFIG_MB_TIMER_GROUP=0
CONFIG_MB_TIMER_INDEX=0
# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
CONFIG_TIMER_TASK_PRIORITY=1
CONFIG_TIMER_TASK_STACK_DEPTH=2048
CONFIG_TIMER_QUEUE_LENGTH=10
# CONFIG_L2_TO_L3_COPY is not set
# CONFIG_USE_ONLY_LWIP_SELECT is not set
CONFIG_ESP_GRATUITOUS_ARP=y
CONFIG_GARP_TMR_INTERVAL=60
CONFIG_TCPIP_RECVMBOX_SIZE=32
CONFIG_TCP_MAXRTX=12
CONFIG_TCP_SYNMAXRTX=12
CONFIG_TCP_MSS=1440
CONFIG_TCP_MSL=60000
CONFIG_TCP_SND_BUF_DEFAULT=5744
CONFIG_TCP_WND_DEFAULT=5744
CONFIG_TCP_RECVMBOX_SIZE=6
CONFIG_TCP_QUEUE_OOSEQ=y
# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
CONFIG_TCP_OVERSIZE_MSS=y
# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
# CONFIG_TCP_OVERSIZE_DISABLE is not set
CONFIG_UDP_RECVMBOX_SIZE=6
CONFIG_TCPIP_TASK_STACK_SIZE=3072
CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set
# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
# CONFIG_PPP_SUPPORT is not set
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
CONFIG_ESP32_PTHREAD_STACK_MIN=768
CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y
# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set
# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set
CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1
CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set
# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set
CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
CONFIG_SUPPORT_TERMIOS=y
CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
# End of deprecated options

Loading…
Cancel
Save