mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-07-15 08:32:42 +08:00
Merge branch 'feature/update_esp_common' into 'master'
esp_common: update esp_common See merge request sdk/ESP8266_RTOS_SDK!1294
This commit is contained in:
@ -25,7 +25,6 @@ else()
|
||||
"source/chip_boot.c"
|
||||
"source/backtrace.c"
|
||||
"source/esp_sleep.c"
|
||||
"source/esp_err_to_name.c"
|
||||
"source/esp_timer.c"
|
||||
"source/esp_wifi_os_adapter.c"
|
||||
"source/esp_wifi.c"
|
||||
@ -54,6 +53,7 @@ else()
|
||||
|
||||
set(include_dirs "include" "include/driver")
|
||||
|
||||
set(requires "esp_common")
|
||||
set(priv_requires "wpa_supplicant" "log" "spi_flash" "tcpip_adapter" "esp_ringbuf" "bootloader_support" "nvs_flash" "util")
|
||||
set(fragments linker.lf ld/esp8266_fragments.lf ld/esp8266_bss_fragments.lf)
|
||||
|
||||
|
@ -94,67 +94,12 @@ config SOC_IRAM_SIZE
|
||||
default 0x8000 if SOC_FULL_ICACHE
|
||||
default 0xC000 if !SOC_FULL_ICACHE
|
||||
|
||||
choice CONSOLE_UART
|
||||
prompt "UART for console output"
|
||||
default CONSOLE_UART_DEFAULT
|
||||
help
|
||||
Select whether to use UART for console output (through stdout and stderr).
|
||||
|
||||
- Default is to use UART0.
|
||||
- If "Custom" is selected, UART0 or UART1 can be chosen.
|
||||
- If "None" is selected, there will be no console output on any UART.
|
||||
|
||||
config CONSOLE_UART_DEFAULT
|
||||
bool "Default: UART0"
|
||||
config CONSOLE_UART_CUSTOM
|
||||
bool "Custom"
|
||||
config CONSOLE_UART_NONE
|
||||
bool "None"
|
||||
endchoice
|
||||
|
||||
choice CONSOLE_UART_NUM
|
||||
prompt "UART peripheral to use for console output (0-1)"
|
||||
depends on CONSOLE_UART_CUSTOM
|
||||
default CONSOLE_UART_CUSTOM_NUM_0
|
||||
help
|
||||
Configrate output console UART for "ets_printf", "printf", "ESP_LOGX" and so on.
|
||||
|
||||
config CONSOLE_UART_CUSTOM_NUM_0
|
||||
bool "UART0"
|
||||
config CONSOLE_UART_CUSTOM_NUM_1
|
||||
bool "UART1"
|
||||
endchoice
|
||||
|
||||
config CONSOLE_UART_NUM
|
||||
int
|
||||
default 0 if CONSOLE_UART_DEFAULT || CONSOLE_UART_NONE
|
||||
default 0 if CONSOLE_UART_CUSTOM_NUM_0
|
||||
default 1 if CONSOLE_UART_CUSTOM_NUM_1
|
||||
|
||||
config CONSOLE_UART_BAUDRATE
|
||||
int "UART console baud rate"
|
||||
depends on CONSOLE_UART_DEFAULT || CONSOLE_UART_CUSTOM
|
||||
default 74880
|
||||
range 1200 4000000
|
||||
|
||||
config UART0_SWAP_IO
|
||||
bool "Swap UART0 I/O pins"
|
||||
default n
|
||||
help
|
||||
Enable this option, UART0's I/O pins are swaped: TXD <-> RTS, RTX <-> CTS.
|
||||
|
||||
config DISABLE_ROM_UART_PRINT
|
||||
bool "Disable ROM UART print"
|
||||
default n
|
||||
help
|
||||
"Disable main part of ROM UART print when rom bootloader process."
|
||||
|
||||
config PANIC_FULL_STACK
|
||||
bool "Output full stack data of task"
|
||||
default n
|
||||
help
|
||||
Output full stack data of task although some stack space is not used.
|
||||
|
||||
choice ESP_PANIC
|
||||
prompt "Panic handler behaviour"
|
||||
default ESP_PANIC_PRINT_REBOOT
|
||||
@ -189,51 +134,6 @@ config ESP_PANIC_GDBSTUB
|
||||
The UART's baudrate should be 115200 or others which can be recognized by xtensa GDB.
|
||||
endchoice
|
||||
|
||||
config MAIN_TASK_STACK_SIZE
|
||||
int "Main task stack size"
|
||||
default 3584
|
||||
help
|
||||
Configure the "main task" stack size. This is the stack of the task
|
||||
which calls app_main(). If app_main() returns then this task is deleted
|
||||
and its stack memory is freed.
|
||||
|
||||
config TASK_WDT
|
||||
bool "Initialize Task Watchdog Timer on startup"
|
||||
default y
|
||||
help
|
||||
The Task Watchdog Timer can be used to make sure individual tasks are still
|
||||
running. Enabling this option will cause the Task Watchdog Timer to be
|
||||
initialized automatically at startup. The Task Watchdog timer can be
|
||||
initialized after startup as well.
|
||||
|
||||
config TASK_WDT_PANIC
|
||||
bool "Invoke panic handler on Task Watchdog timeout"
|
||||
default y
|
||||
help
|
||||
If this option is enabled, the Task Watchdog Timer will be configured to
|
||||
trigger the panic handler when it times out. And it may cost some time.
|
||||
|
||||
choice TASK_WDT_TIMEOUT_S
|
||||
prompt "Task Watchdog timeout period (seconds)"
|
||||
default TASK_WDT_TIMEOUT_15N
|
||||
help
|
||||
Timeout period configuration for the Task Watchdog Timer in seconds.
|
||||
This is also configurable at run time.
|
||||
|
||||
config TASK_WDT_TIMEOUT_13N
|
||||
bool "6.5536s"
|
||||
config TASK_WDT_TIMEOUT_14N
|
||||
bool "13.1072s"
|
||||
config TASK_WDT_TIMEOUT_15N
|
||||
bool "26.2144s"
|
||||
endchoice
|
||||
|
||||
config TASK_WDT_TIMEOUT_S
|
||||
int
|
||||
default 13 if TASK_WDT_TIMEOUT_13N
|
||||
default 14 if TASK_WDT_TIMEOUT_14N
|
||||
default 15 if TASK_WDT_TIMEOUT_15N
|
||||
|
||||
config RESET_REASON
|
||||
bool "Enable reset reason"
|
||||
default y
|
||||
@ -249,12 +149,6 @@ config WIFI_PPT_TASKSTACK_SIZE
|
||||
which calls promiscuous callback function. So if user's function is
|
||||
complex, the stack must be set larger.
|
||||
|
||||
config EVENT_LOOP_STACK_SIZE
|
||||
int "Event loop stack size"
|
||||
default 2048
|
||||
help
|
||||
Configure the Event loop task stack size per application.
|
||||
|
||||
config ESP8266_CORE_GLOBAL_DATA_LINK_IRAM
|
||||
bool "Link libcore.a internal global data to IRAM"
|
||||
default y
|
||||
@ -307,16 +201,6 @@ config ESP8266_BOOT_COPY_APP
|
||||
Enable this option, when it is that "OTA1" application is to run after update by OTA,
|
||||
bootloader will copy "OTA1" application to "OTA0" partition and run "OTA0".
|
||||
|
||||
config ESP_ERR_TO_NAME_LOOKUP
|
||||
bool "Enable lookup of error code strings"
|
||||
default "y"
|
||||
help
|
||||
Functions esp_err_to_name() and esp_err_to_name_r() return string
|
||||
representations of error codes from a pre-generated lookup table.
|
||||
This option can be used to turn off the use of the look-up table in
|
||||
order to save memory but this comes at the price of sacrificing
|
||||
distinguishable (meaningful) output string representations.
|
||||
|
||||
choice ESP8266_TIME_SYSCALL
|
||||
prompt "Timers used for gettimeofday function"
|
||||
default ESP8266_TIME_SYSCALL_USE_FRC1
|
||||
|
@ -42,7 +42,7 @@ ESP8266_COMPONENT_PATH := $(COMPONENT_PATH)
|
||||
|
||||
$(PHY_INIT_DATA_OBJ): $(ESP8266_COMPONENT_PATH)/include/internal/phy_init_data.h $(BUILD_DIR_BASE)/include/sdkconfig.h
|
||||
$(summary) CC $(notdir $@)
|
||||
printf "#include \"internal/phy_init_data.h\"\n" | $(CC) -I $(BUILD_DIR_BASE)/include -I $(ESP8266_COMPONENT_PATH) -I $(ESP8266_COMPONENT_PATH)/include -c -o $@ -xc -
|
||||
printf "#include \"internal/phy_init_data.h\"\n" | $(CC) -I $(BUILD_DIR_BASE)/include -I $(ESP8266_COMPONENT_PATH) -I $(ESP8266_COMPONENT_PATH)/include -I $(ESP8266_COMPONENT_PATH)/../esp_common/include -c -o $@ -xc -
|
||||
|
||||
$(PHY_INIT_DATA_BIN): $(PHY_INIT_DATA_OBJ)
|
||||
$(summary) BIN $(notdir $@)
|
||||
|
@ -1,148 +0,0 @@
|
||||
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef int32_t esp_err_t;
|
||||
|
||||
/* Definitions for error constants. */
|
||||
#define ESP_OK 0 /*!< esp_err_t value indicating success (no error) */
|
||||
#define ESP_FAIL -1 /*!< Generic esp_err_t code indicating failure */
|
||||
|
||||
#define ESP_ERR_NO_MEM 0x101 /*!< Out of memory */
|
||||
#define ESP_ERR_INVALID_ARG 0x102 /*!< Invalid argument */
|
||||
#define ESP_ERR_INVALID_STATE 0x103 /*!< Invalid state */
|
||||
#define ESP_ERR_INVALID_SIZE 0x104 /*!< Invalid size */
|
||||
#define ESP_ERR_NOT_FOUND 0x105 /*!< Requested resource not found */
|
||||
#define ESP_ERR_NOT_SUPPORTED 0x106 /*!< Operation or feature not supported */
|
||||
#define ESP_ERR_TIMEOUT 0x107 /*!< Operation timed out */
|
||||
#define ESP_ERR_INVALID_RESPONSE 0x108 /*!< Received response was invalid */
|
||||
#define ESP_ERR_INVALID_CRC 0x109 /*!< CRC or checksum was invalid */
|
||||
#define ESP_ERR_INVALID_VERSION 0x10A /*!< Version was invalid */
|
||||
#define ESP_ERR_INVALID_MAC 0x10B /*!< MAC address was invalid */
|
||||
|
||||
#define ESP_ERR_WIFI_BASE 0x3000 /*!< Starting number of WiFi error codes */
|
||||
#define ESP_ERR_MESH_BASE 0x4000 /*!< Starting number of MESH error codes */
|
||||
|
||||
/**
|
||||
* @brief Returns string for esp_err_t error codes
|
||||
*
|
||||
* This function finds the error code in a pre-generated lookup-table and
|
||||
* returns its string representation.
|
||||
*
|
||||
* The function is generated by the Python script
|
||||
* tools/gen_esp_err_to_name.py which should be run each time an esp_err_t
|
||||
* error is modified, created or removed from the IDF project.
|
||||
*
|
||||
* @param code esp_err_t error code
|
||||
* @return string error message
|
||||
*/
|
||||
const char *esp_err_to_name(esp_err_t code);
|
||||
|
||||
/**
|
||||
* @brief Returns string for esp_err_t and system error codes
|
||||
*
|
||||
* This function finds the error code in a pre-generated lookup-table of
|
||||
* esp_err_t errors and returns its string representation. If the error code
|
||||
* is not found then it is attempted to be found among system errors.
|
||||
*
|
||||
* The function is generated by the Python script
|
||||
* tools/gen_esp_err_to_name.py which should be run each time an esp_err_t
|
||||
* error is modified, created or removed from the IDF project.
|
||||
*
|
||||
* @param code esp_err_t error code
|
||||
* @param[out] buf buffer where the error message should be written
|
||||
* @param buflen Size of buffer buf. At most buflen bytes are written into the buf buffer (including the terminating null byte).
|
||||
* @return buf containing the string error message
|
||||
*/
|
||||
const char *esp_err_to_name_r(esp_err_t code, char *buf, size_t buflen);
|
||||
|
||||
/** @cond */
|
||||
void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const char *function, const char *expression) __attribute__((noreturn));
|
||||
|
||||
/** @cond */
|
||||
void _esp_error_check_failed_without_abort(esp_err_t rc, const char *file, int line, const char *function, const char *expression);
|
||||
|
||||
#ifndef __ASSERT_FUNC
|
||||
/* This won't happen on IDF, which defines __ASSERT_FUNC in assert.h, but it does happen when building on the host which
|
||||
uses /usr/include/assert.h or equivalent.
|
||||
*/
|
||||
#ifdef __ASSERT_FUNCTION
|
||||
#define __ASSERT_FUNC __ASSERT_FUNCTION /* used in glibc assert.h */
|
||||
#else
|
||||
#define __ASSERT_FUNC "??"
|
||||
#endif
|
||||
#endif
|
||||
/** @endcond */
|
||||
|
||||
/**
|
||||
* Macro which can be used to check the error code,
|
||||
* and terminate the program in case the code is not ESP_OK.
|
||||
* Prints the error code, error location, and the failed statement to serial output.
|
||||
*
|
||||
* Disabled if assertions are disabled.
|
||||
*/
|
||||
#ifdef NDEBUG
|
||||
#define ESP_ERROR_CHECK(x) do { \
|
||||
esp_err_t __err_rc = (x); \
|
||||
(void) sizeof(__err_rc); \
|
||||
} while(0);
|
||||
#elif defined(CONFIG_OPTIMIZATION_ASSERTIONS_SILENT)
|
||||
#define ESP_ERROR_CHECK(x) do { \
|
||||
esp_err_t __err_rc = (x); \
|
||||
if (__err_rc != ESP_OK) { \
|
||||
abort(); \
|
||||
} \
|
||||
} while(0);
|
||||
#else
|
||||
#define ESP_ERROR_CHECK(x) do { \
|
||||
esp_err_t __err_rc = (x); \
|
||||
if (__err_rc != ESP_OK) { \
|
||||
_esp_error_check_failed(__err_rc, __ESP_FILE__, __LINE__, \
|
||||
__ASSERT_FUNC, #x); \
|
||||
} \
|
||||
} while(0);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Macro which can be used to check the error code. Prints the error code, error location, and the failed statement to
|
||||
* serial output.
|
||||
* In comparison with ESP_ERROR_CHECK(), this prints the same error message but isn't terminating the program.
|
||||
*/
|
||||
#ifdef NDEBUG
|
||||
#define ESP_ERROR_CHECK_WITHOUT_ABORT(x) ({ \
|
||||
esp_err_t __err_rc = (x); \
|
||||
__err_rc; \
|
||||
})
|
||||
#else
|
||||
#define ESP_ERROR_CHECK_WITHOUT_ABORT(x) ({ \
|
||||
esp_err_t __err_rc = (x); \
|
||||
if (__err_rc != ESP_OK) { \
|
||||
_esp_error_check_failed_without_abort(__err_rc, __ESP_FILE__, __LINE__, \
|
||||
__ASSERT_FUNC, #x); \
|
||||
} \
|
||||
__err_rc; \
|
||||
})
|
||||
#endif //NDEBUG
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
@ -23,7 +23,7 @@
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/queue.h"
|
||||
|
||||
#define EVENT_LOOP_STACKSIZE CONFIG_EVENT_LOOP_STACK_SIZE
|
||||
#define EVENT_LOOP_STACKSIZE CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
17
components/esp8266/sdkconfig.rename
Normal file
17
components/esp8266/sdkconfig.rename
Normal file
@ -0,0 +1,17 @@
|
||||
# sdkconfig replacement configurations for deprecated options formatted as
|
||||
# CONFIG_DEPRECATED_OPTION CONFIG_NEW_OPTION
|
||||
|
||||
CONFIG_MAIN_TASK_STACK_SIZE CONFIG_ESP_MAIN_TASK_STACK_SIZE
|
||||
CONFIG_CONSOLE_UART CONFIG_ESP_CONSOLE_UART
|
||||
CONFIG_CONSOLE_UART_DEFAULT CONFIG_ESP_CONSOLE_UART_DEFAULT
|
||||
CONFIG_CONSOLE_UART_CUSTOM CONFIG_ESP_CONSOLE_UART_CUSTOM
|
||||
CONFIG_CONSOLE_UART_NONE CONFIG_ESP_CONSOLE_UART_NONE
|
||||
CONFIG_CONSOLE_UART_NUM CONFIG_ESP_CONSOLE_UART_NUM
|
||||
CONFIG_CONSOLE_UART_CUSTOM_NUM_0 CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_0
|
||||
CONFIG_CONSOLE_UART_CUSTOM_NUM_1 CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_1
|
||||
CONFIG_CONSOLE_UART_BAUDRATE CONFIG_ESP_CONSOLE_UART_BAUDRATE
|
||||
CONFIG_UART0_SWAP_IO CONFIG_ESP_UART0_SWAP_IO
|
||||
|
||||
CONFIG_TASK_WDT CONFIG_ESP_TASK_WDT
|
||||
CONFIG_TASK_WDT_PANIC CONFIG_ESP_TASK_WDT_PANIC
|
||||
CONFIG_TASK_WDT_TIMEOUT_S CONFIG_ESP_TASK_WDT_TIMEOUT_S
|
@ -1,426 +0,0 @@
|
||||
//Do not edit this file because it is autogenerated by gen_esp_err_to_name.py
|
||||
|
||||
#include <string.h>
|
||||
#if __has_include("esp_err.h")
|
||||
#include "esp_err.h"
|
||||
#endif
|
||||
#if __has_include("esp_http_client.h")
|
||||
#include "esp_http_client.h"
|
||||
#endif
|
||||
#if __has_include("esp_http_server.h")
|
||||
#include "esp_http_server.h"
|
||||
#endif
|
||||
#if __has_include("esp_image_format.h")
|
||||
#include "esp_image_format.h"
|
||||
#endif
|
||||
#if __has_include("esp_now.h")
|
||||
#include "esp_now.h"
|
||||
#endif
|
||||
#if __has_include("esp_ota_ops.h")
|
||||
#include "esp_ota_ops.h"
|
||||
#endif
|
||||
#if __has_include("esp_ping.h")
|
||||
#include "esp_ping.h"
|
||||
#endif
|
||||
#if __has_include("esp_wifi.h")
|
||||
#include "esp_wifi.h"
|
||||
#endif
|
||||
#if __has_include("esp_wps.h")
|
||||
#include "esp_wps.h"
|
||||
#endif
|
||||
#if __has_include("nvs.h")
|
||||
#include "nvs.h"
|
||||
#endif
|
||||
#if __has_include("spi_flash.h")
|
||||
#include "spi_flash.h"
|
||||
#endif
|
||||
#if __has_include("tcpip_adapter.h")
|
||||
#include "tcpip_adapter.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP
|
||||
#define ERR_TBL_IT(err) {err, #err}
|
||||
|
||||
typedef struct {
|
||||
esp_err_t code;
|
||||
const char *msg;
|
||||
} esp_err_msg_t;
|
||||
|
||||
static const esp_err_msg_t esp_err_msg_table[] = {
|
||||
// components/esp8266/include/esp_err.h
|
||||
# ifdef ESP_FAIL
|
||||
ERR_TBL_IT(ESP_FAIL), /* -1 Generic esp_err_t code indicating failure */
|
||||
# endif
|
||||
# ifdef ESP_OK
|
||||
ERR_TBL_IT(ESP_OK), /* 0 esp_err_t value indicating success (no error) */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NO_MEM
|
||||
ERR_TBL_IT(ESP_ERR_NO_MEM), /* 257 0x101 Out of memory */
|
||||
# endif
|
||||
# ifdef ESP_ERR_INVALID_ARG
|
||||
ERR_TBL_IT(ESP_ERR_INVALID_ARG), /* 258 0x102 Invalid argument */
|
||||
# endif
|
||||
# ifdef ESP_ERR_INVALID_STATE
|
||||
ERR_TBL_IT(ESP_ERR_INVALID_STATE), /* 259 0x103 Invalid state */
|
||||
# endif
|
||||
# ifdef ESP_ERR_INVALID_SIZE
|
||||
ERR_TBL_IT(ESP_ERR_INVALID_SIZE), /* 260 0x104 Invalid size */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NOT_FOUND
|
||||
ERR_TBL_IT(ESP_ERR_NOT_FOUND), /* 261 0x105 Requested resource not found */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NOT_SUPPORTED
|
||||
ERR_TBL_IT(ESP_ERR_NOT_SUPPORTED), /* 262 0x106 Operation or feature not supported */
|
||||
# endif
|
||||
# ifdef ESP_ERR_TIMEOUT
|
||||
ERR_TBL_IT(ESP_ERR_TIMEOUT), /* 263 0x107 Operation timed out */
|
||||
# endif
|
||||
# ifdef ESP_ERR_INVALID_RESPONSE
|
||||
ERR_TBL_IT(ESP_ERR_INVALID_RESPONSE), /* 264 0x108 Received response was invalid */
|
||||
# endif
|
||||
# ifdef ESP_ERR_INVALID_CRC
|
||||
ERR_TBL_IT(ESP_ERR_INVALID_CRC), /* 265 0x109 CRC or checksum was invalid */
|
||||
# endif
|
||||
# ifdef ESP_ERR_INVALID_VERSION
|
||||
ERR_TBL_IT(ESP_ERR_INVALID_VERSION), /* 266 0x10a Version was invalid */
|
||||
# endif
|
||||
# ifdef ESP_ERR_INVALID_MAC
|
||||
ERR_TBL_IT(ESP_ERR_INVALID_MAC), /* 267 0x10b MAC address was invalid */
|
||||
# endif
|
||||
// components/nvs_flash/include/nvs.h
|
||||
# ifdef ESP_ERR_NVS_BASE
|
||||
ERR_TBL_IT(ESP_ERR_NVS_BASE), /* 4352 0x1100 Starting number of error codes */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_NOT_INITIALIZED
|
||||
ERR_TBL_IT(ESP_ERR_NVS_NOT_INITIALIZED), /* 4353 0x1101 The storage driver is not initialized */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_NOT_FOUND
|
||||
ERR_TBL_IT(ESP_ERR_NVS_NOT_FOUND), /* 4354 0x1102 Id namespace doesn’t exist yet and mode is
|
||||
NVS_READONLY */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_TYPE_MISMATCH
|
||||
ERR_TBL_IT(ESP_ERR_NVS_TYPE_MISMATCH), /* 4355 0x1103 The type of set or get operation doesn't
|
||||
match the type of value stored in NVS */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_READ_ONLY
|
||||
ERR_TBL_IT(ESP_ERR_NVS_READ_ONLY), /* 4356 0x1104 Storage handle was opened as read only */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_NOT_ENOUGH_SPACE
|
||||
ERR_TBL_IT(ESP_ERR_NVS_NOT_ENOUGH_SPACE), /* 4357 0x1105 There is not enough space in the underlying
|
||||
storage to save the value */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_INVALID_NAME
|
||||
ERR_TBL_IT(ESP_ERR_NVS_INVALID_NAME), /* 4358 0x1106 Namespace name doesn’t satisfy constraints */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_INVALID_HANDLE
|
||||
ERR_TBL_IT(ESP_ERR_NVS_INVALID_HANDLE), /* 4359 0x1107 Handle has been closed or is NULL */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_REMOVE_FAILED
|
||||
ERR_TBL_IT(ESP_ERR_NVS_REMOVE_FAILED), /* 4360 0x1108 The value wasn’t updated because flash write
|
||||
operation has failed. The value was written
|
||||
however, and update will be finished after
|
||||
re-initialization of nvs, provided that
|
||||
flash operation doesn’t fail again. */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_KEY_TOO_LONG
|
||||
ERR_TBL_IT(ESP_ERR_NVS_KEY_TOO_LONG), /* 4361 0x1109 Key name is too long */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_PAGE_FULL
|
||||
ERR_TBL_IT(ESP_ERR_NVS_PAGE_FULL), /* 4362 0x110a Internal error; never returned by nvs_ API
|
||||
functions */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_INVALID_STATE
|
||||
ERR_TBL_IT(ESP_ERR_NVS_INVALID_STATE), /* 4363 0x110b NVS is in an inconsistent state due to a
|
||||
previous error. Call nvs_flash_init and
|
||||
nvs_open again, then retry. */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_INVALID_LENGTH
|
||||
ERR_TBL_IT(ESP_ERR_NVS_INVALID_LENGTH), /* 4364 0x110c String or blob length is not sufficient to
|
||||
store data */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_NO_FREE_PAGES
|
||||
ERR_TBL_IT(ESP_ERR_NVS_NO_FREE_PAGES), /* 4365 0x110d NVS partition doesn't contain any empty
|
||||
pages. This may happen if NVS partition was
|
||||
truncated. Erase the whole partition and
|
||||
call nvs_flash_init again. */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_VALUE_TOO_LONG
|
||||
ERR_TBL_IT(ESP_ERR_NVS_VALUE_TOO_LONG), /* 4366 0x110e String or blob length is longer than
|
||||
supported by the implementation */
|
||||
# endif
|
||||
# ifdef ESP_ERR_NVS_PART_NOT_FOUND
|
||||
ERR_TBL_IT(ESP_ERR_NVS_PART_NOT_FOUND), /* 4367 0x110f Partition with specified name is not found
|
||||
in the partition table */
|
||||
# endif
|
||||
// components/app_update/include/esp_ota_ops.h
|
||||
# ifdef ESP_ERR_OTA_BASE
|
||||
ERR_TBL_IT(ESP_ERR_OTA_BASE), /* 5376 0x1500 Base error code for ota_ops api */
|
||||
# endif
|
||||
# ifdef ESP_ERR_OTA_PARTITION_CONFLICT
|
||||
ERR_TBL_IT(ESP_ERR_OTA_PARTITION_CONFLICT), /* 5377 0x1501 Error if request was to write or erase the
|
||||
current running partition */
|
||||
# endif
|
||||
# ifdef ESP_ERR_OTA_SELECT_INFO_INVALID
|
||||
ERR_TBL_IT(ESP_ERR_OTA_SELECT_INFO_INVALID), /* 5378 0x1502 Error if OTA data partition contains invalid
|
||||
content */
|
||||
# endif
|
||||
# ifdef ESP_ERR_OTA_VALIDATE_FAILED
|
||||
ERR_TBL_IT(ESP_ERR_OTA_VALIDATE_FAILED), /* 5379 0x1503 Error if OTA app image is invalid */
|
||||
# endif
|
||||
// components/bootloader_support/include/esp_image_format.h
|
||||
# ifdef ESP_ERR_IMAGE_BASE
|
||||
ERR_TBL_IT(ESP_ERR_IMAGE_BASE), /* 8192 0x2000 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_IMAGE_FLASH_FAIL
|
||||
ERR_TBL_IT(ESP_ERR_IMAGE_FLASH_FAIL), /* 8193 0x2001 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_IMAGE_INVALID
|
||||
ERR_TBL_IT(ESP_ERR_IMAGE_INVALID), /* 8194 0x2002 */
|
||||
# endif
|
||||
// components/esp8266/include/esp_err.h
|
||||
# ifdef ESP_ERR_WIFI_BASE
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_BASE), /* 12288 0x3000 Starting number of WiFi error codes */
|
||||
# endif
|
||||
// components/esp8266/include/esp_wifi.h
|
||||
# ifdef ESP_ERR_WIFI_NOT_INIT
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_NOT_INIT), /* 12289 0x3001 WiFi driver was not installed by esp_wifi_init */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_NOT_STARTED
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_NOT_STARTED), /* 12290 0x3002 WiFi driver was not started by esp_wifi_start */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_NOT_STOPPED
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_NOT_STOPPED), /* 12291 0x3003 WiFi driver was not stopped by esp_wifi_stop */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_IF
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_IF), /* 12292 0x3004 WiFi interface error */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_MODE
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_MODE), /* 12293 0x3005 WiFi mode error */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_STATE
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_STATE), /* 12294 0x3006 WiFi internal state error */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_CONN
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_CONN), /* 12295 0x3007 WiFi internal control block of station or
|
||||
soft-AP error */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_NVS
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_NVS), /* 12296 0x3008 WiFi internal NVS module error */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_MAC
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_MAC), /* 12297 0x3009 MAC address is invalid */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_SSID
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_SSID), /* 12298 0x300a SSID is invalid */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_PASSWORD
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_PASSWORD), /* 12299 0x300b Password is invalid */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_TIMEOUT
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_TIMEOUT), /* 12300 0x300c Timeout error */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_WAKE_FAIL
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_WAKE_FAIL), /* 12301 0x300d WiFi is in sleep state(RF closed) and wakeup fail */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_WOULD_BLOCK
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_WOULD_BLOCK), /* 12302 0x300e The caller would block */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_NOT_CONNECT
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_NOT_CONNECT), /* 12303 0x300f Station still in disconnect status */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_PM_MODE_OPEN
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_PM_MODE_OPEN), /* 12306 0x3012 Wifi is in min/max modem sleep mode */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_FPM_MODE
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_FPM_MODE), /* 12307 0x3013 Have not enable fpm mode */
|
||||
# endif
|
||||
// components/esp8266/include/esp_wps.h
|
||||
# ifdef ESP_ERR_WIFI_REGISTRAR
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_REGISTRAR), /* 12339 0x3033 WPS registrar is not supported */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_WPS_TYPE
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_WPS_TYPE), /* 12340 0x3034 WPS type error */
|
||||
# endif
|
||||
# ifdef ESP_ERR_WIFI_WPS_SM
|
||||
ERR_TBL_IT(ESP_ERR_WIFI_WPS_SM), /* 12341 0x3035 WPS state machine is not initialized */
|
||||
# endif
|
||||
// components/esp8266/include/esp_now.h
|
||||
# ifdef ESP_ERR_ESPNOW_BASE
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_BASE), /* 12388 0x3064 ESPNOW error number base. */
|
||||
# endif
|
||||
# ifdef ESP_ERR_ESPNOW_NOT_INIT
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_NOT_INIT), /* 12389 0x3065 ESPNOW is not initialized. */
|
||||
# endif
|
||||
# ifdef ESP_ERR_ESPNOW_ARG
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_ARG), /* 12390 0x3066 Invalid argument */
|
||||
# endif
|
||||
# ifdef ESP_ERR_ESPNOW_NO_MEM
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_NO_MEM), /* 12391 0x3067 Out of memory */
|
||||
# endif
|
||||
# ifdef ESP_ERR_ESPNOW_FULL
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_FULL), /* 12392 0x3068 ESPNOW peer list is full */
|
||||
# endif
|
||||
# ifdef ESP_ERR_ESPNOW_NOT_FOUND
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_NOT_FOUND), /* 12393 0x3069 ESPNOW peer is not found */
|
||||
# endif
|
||||
# ifdef ESP_ERR_ESPNOW_INTERNAL
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_INTERNAL), /* 12394 0x306a Internal error */
|
||||
# endif
|
||||
# ifdef ESP_ERR_ESPNOW_EXIST
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_EXIST), /* 12395 0x306b ESPNOW peer has existed */
|
||||
# endif
|
||||
# ifdef ESP_ERR_ESPNOW_IF
|
||||
ERR_TBL_IT(ESP_ERR_ESPNOW_IF), /* 12396 0x306c Interface error */
|
||||
# endif
|
||||
// components/esp8266/include/esp_err.h
|
||||
# ifdef ESP_ERR_MESH_BASE
|
||||
ERR_TBL_IT(ESP_ERR_MESH_BASE), /* 16384 0x4000 Starting number of MESH error codes */
|
||||
# endif
|
||||
// components/tcpip_adapter/include/tcpip_adapter.h
|
||||
# ifdef ESP_ERR_TCPIP_ADAPTER_BASE
|
||||
ERR_TBL_IT(ESP_ERR_TCPIP_ADAPTER_BASE), /* 20480 0x5000 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS
|
||||
ERR_TBL_IT(ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS), /* 20481 0x5001 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY
|
||||
ERR_TBL_IT(ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY), /* 20482 0x5002 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED
|
||||
ERR_TBL_IT(ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED), /* 20483 0x5003 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED
|
||||
ERR_TBL_IT(ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED), /* 20484 0x5004 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPPED
|
||||
ERR_TBL_IT(ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPPED), /* 20485 0x5005 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_TCPIP_ADAPTER_NO_MEM
|
||||
ERR_TBL_IT(ESP_ERR_TCPIP_ADAPTER_NO_MEM), /* 20486 0x5006 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_TCPIP_ADAPTER_DHCP_NOT_STOPPED
|
||||
ERR_TBL_IT(ESP_ERR_TCPIP_ADAPTER_DHCP_NOT_STOPPED), /* 20487 0x5007 */
|
||||
# endif
|
||||
// components/lwip/include/lwip/apps/esp_ping.h
|
||||
# ifdef ESP_ERR_PING_BASE
|
||||
ERR_TBL_IT(ESP_ERR_PING_BASE), /* 24576 0x6000 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_PING_INVALID_PARAMS
|
||||
ERR_TBL_IT(ESP_ERR_PING_INVALID_PARAMS), /* 24577 0x6001 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_PING_NO_MEM
|
||||
ERR_TBL_IT(ESP_ERR_PING_NO_MEM), /* 24578 0x6002 */
|
||||
# endif
|
||||
// components/esp_http_client/include/esp_http_client.h
|
||||
# ifdef ESP_ERR_HTTP_BASE
|
||||
ERR_TBL_IT(ESP_ERR_HTTP_BASE), /* 28672 0x7000 Starting number of HTTP error codes */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTP_MAX_REDIRECT
|
||||
ERR_TBL_IT(ESP_ERR_HTTP_MAX_REDIRECT), /* 28673 0x7001 The error exceeds the number of HTTP redirects */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTP_CONNECT
|
||||
ERR_TBL_IT(ESP_ERR_HTTP_CONNECT), /* 28674 0x7002 Error open the HTTP connection */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTP_WRITE_DATA
|
||||
ERR_TBL_IT(ESP_ERR_HTTP_WRITE_DATA), /* 28675 0x7003 Error write HTTP data */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTP_FETCH_HEADER
|
||||
ERR_TBL_IT(ESP_ERR_HTTP_FETCH_HEADER), /* 28676 0x7004 Error read HTTP header from server */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTP_INVALID_TRANSPORT
|
||||
ERR_TBL_IT(ESP_ERR_HTTP_INVALID_TRANSPORT), /* 28677 0x7005 There are no transport support for the input
|
||||
scheme */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTP_CONNECTING
|
||||
ERR_TBL_IT(ESP_ERR_HTTP_CONNECTING), /* 28678 0x7006 HTTP connection hasn't been established yet */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTP_EAGAIN
|
||||
ERR_TBL_IT(ESP_ERR_HTTP_EAGAIN), /* 28679 0x7007 Mapping of errno EAGAIN to esp_err_t */
|
||||
# endif
|
||||
// components/esp_http_server/include/esp_http_server.h
|
||||
# ifdef ESP_ERR_HTTPD_BASE
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_BASE), /* 32768 0x8000 Starting number of HTTPD error codes */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTPD_HANDLERS_FULL
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_HANDLERS_FULL), /* 32769 0x8001 All slots for registering URI handlers have
|
||||
been consumed */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTPD_HANDLER_EXISTS
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_HANDLER_EXISTS), /* 32770 0x8002 URI handler with same method and target URI
|
||||
already registered */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTPD_INVALID_REQ
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_INVALID_REQ), /* 32771 0x8003 Invalid request pointer */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTPD_RESULT_TRUNC
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_RESULT_TRUNC), /* 32772 0x8004 Result string truncated */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTPD_RESP_HDR
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_RESP_HDR), /* 32773 0x8005 Response header field larger than supported */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTPD_RESP_SEND
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_RESP_SEND), /* 32774 0x8006 Error occured while sending response packet */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTPD_ALLOC_MEM
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_ALLOC_MEM), /* 32775 0x8007 Failed to dynamically allocate memory for
|
||||
resource */
|
||||
# endif
|
||||
# ifdef ESP_ERR_HTTPD_TASK
|
||||
ERR_TBL_IT(ESP_ERR_HTTPD_TASK), /* 32776 0x8008 Failed to launch server task/thread */
|
||||
# endif
|
||||
// components/spi_flash/include/spi_flash.h
|
||||
# ifdef ESP_ERR_FLASH_BASE
|
||||
ERR_TBL_IT(ESP_ERR_FLASH_BASE), /* 65552 0x10010 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_FLASH_OP_FAIL
|
||||
ERR_TBL_IT(ESP_ERR_FLASH_OP_FAIL), /* 65553 0x10011 */
|
||||
# endif
|
||||
# ifdef ESP_ERR_FLASH_OP_TIMEOUT
|
||||
ERR_TBL_IT(ESP_ERR_FLASH_OP_TIMEOUT), /* 65554 0x10012 */
|
||||
# endif
|
||||
};
|
||||
#endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP
|
||||
|
||||
static const char esp_unknown_msg[] =
|
||||
#ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP
|
||||
"ERROR";
|
||||
#else
|
||||
"UNKNOWN ERROR";
|
||||
#endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP
|
||||
|
||||
const char *esp_err_to_name(esp_err_t code)
|
||||
{
|
||||
#ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP
|
||||
int i;
|
||||
|
||||
for (i = 0; i < sizeof(esp_err_msg_table)/sizeof(esp_err_msg_table[0]); ++i) {
|
||||
if (esp_err_msg_table[i].code == code) {
|
||||
return esp_err_msg_table[i].msg;
|
||||
}
|
||||
}
|
||||
#endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP
|
||||
|
||||
return esp_unknown_msg;
|
||||
}
|
||||
|
||||
const char *esp_err_to_name_r(esp_err_t code, char *buf, size_t buflen)
|
||||
{
|
||||
#ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP
|
||||
int i;
|
||||
|
||||
for (i = 0; i < sizeof(esp_err_msg_table)/sizeof(esp_err_msg_table[0]); ++i) {
|
||||
if (esp_err_msg_table[i].code == code) {
|
||||
strlcpy(buf, esp_err_msg_table[i].msg, buflen);
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
#endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP
|
||||
|
||||
if (strerror_r(code, buf, buflen) == 0) {
|
||||
return buf;
|
||||
}
|
||||
|
||||
snprintf(buf, buflen, "%s 0x%x(%d)", esp_unknown_msg, code, code);
|
||||
|
||||
return buf;
|
||||
}
|
@ -24,17 +24,17 @@
|
||||
#include "esp8266/uart_register.h"
|
||||
#include "esp8266/rom_functions.h"
|
||||
|
||||
#ifndef CONFIG_CONSOLE_UART_NONE
|
||||
#ifndef CONFIG_ESP_CONSOLE_UART_NONE
|
||||
static void uart_putc(int c)
|
||||
{
|
||||
while (1) {
|
||||
uint32_t fifo_cnt = READ_PERI_REG(UART_STATUS(CONFIG_CONSOLE_UART_NUM)) & (UART_TXFIFO_CNT << UART_TXFIFO_CNT_S);
|
||||
uint32_t fifo_cnt = READ_PERI_REG(UART_STATUS(CONFIG_ESP_CONSOLE_UART_NUM)) & (UART_TXFIFO_CNT << UART_TXFIFO_CNT_S);
|
||||
|
||||
if ((fifo_cnt >> UART_TXFIFO_CNT_S & UART_TXFIFO_CNT) < 126)
|
||||
break;
|
||||
}
|
||||
|
||||
WRITE_PERI_REG(UART_FIFO(CONFIG_CONSOLE_UART_NUM) , c);
|
||||
WRITE_PERI_REG(UART_FIFO(CONFIG_ESP_CONSOLE_UART_NUM) , c);
|
||||
}
|
||||
#else
|
||||
#define uart_putc(_c) { }
|
||||
|
@ -72,8 +72,8 @@ esp_err_t esp_phy_rf_init(const esp_phy_init_data_t* init_data, esp_phy_calibrat
|
||||
esp_err_t status = ESP_OK;
|
||||
uint8_t sta_mac[6];
|
||||
uint8_t *local_init_data = calloc(1, 256);
|
||||
#ifdef CONFIG_CONSOLE_UART_BAUDRATE
|
||||
const uint32_t uart_baudrate = CONFIG_CONSOLE_UART_BAUDRATE;
|
||||
#ifdef CONFIG_ESP_CONSOLE_UART_BAUDRATE
|
||||
const uint32_t uart_baudrate = CONFIG_ESP_CONSOLE_UART_BAUDRATE;
|
||||
#else
|
||||
const uint32_t uart_baudrate = 74880; // ROM default baudrate
|
||||
#endif
|
||||
|
@ -33,6 +33,7 @@
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "esp_task.h"
|
||||
|
||||
#ifndef CONFIG_NEWLIB_LIBRARY_CUSTOMER
|
||||
#include "esp_newlib.h"
|
||||
@ -93,7 +94,7 @@ static void user_init_entry(void *param)
|
||||
esp_reset_reason_init();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TASK_WDT
|
||||
#ifdef CONFIG_ESP_TASK_WDT
|
||||
esp_task_wdt_init();
|
||||
#endif
|
||||
|
||||
@ -175,7 +176,7 @@ void call_start_cpu(size_t start_addr)
|
||||
esp_newlib_init();
|
||||
#endif
|
||||
|
||||
assert(xTaskCreate(user_init_entry, "uiT", CONFIG_MAIN_TASK_STACK_SIZE, NULL, configMAX_PRIORITIES, NULL) == pdPASS);
|
||||
assert(xTaskCreate(user_init_entry, "uiT", ESP_TASK_MAIN_STACK, NULL, configMAX_PRIORITIES, NULL) == pdPASS);
|
||||
|
||||
vTaskStartScheduler();
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
static const char *TAG = "wdt";
|
||||
|
||||
#ifdef CONFIG_TASK_WDT_PANIC
|
||||
#ifdef CONFIG_ESP_TASK_WDT_PANIC
|
||||
/**
|
||||
* @brief Task watch dog interrupt function and it should do panic
|
||||
*/
|
||||
@ -43,7 +43,7 @@ esp_err_t esp_task_wdt_init(void)
|
||||
{
|
||||
CLEAR_WDT_REG_MASK(WDT_CTL_ADDRESS, BIT0);
|
||||
|
||||
#ifdef CONFIG_TASK_WDT_PANIC
|
||||
#ifdef CONFIG_ESP_TASK_WDT_PANIC
|
||||
const uint32_t panic_time_param = 11;
|
||||
|
||||
// Just for soft restart
|
||||
@ -59,9 +59,9 @@ esp_err_t esp_task_wdt_init(void)
|
||||
const uint32_t panic_time_param = 1;
|
||||
#endif
|
||||
|
||||
ESP_LOGD(TAG, "task watch dog trigger time parameter is %u", CONFIG_TASK_WDT_TIMEOUT_S);
|
||||
ESP_LOGD(TAG, "task watch dog trigger time parameter is %u", CONFIG_ESP_TASK_WDT_TIMEOUT_S);
|
||||
|
||||
WDT_REG_WRITE(WDT_OP_ADDRESS, CONFIG_TASK_WDT_TIMEOUT_S); // 2^n * 0.8ms, mask 0xf, n = 13 -> (2^13 = 8192) * 0.8 * 0.001 = 6.5536
|
||||
WDT_REG_WRITE(WDT_OP_ADDRESS, CONFIG_ESP_TASK_WDT_TIMEOUT_S); // 2^n * 0.8ms, mask 0xf, n = 13 -> (2^13 = 8192) * 0.8 * 0.001 = 6.5536
|
||||
WDT_REG_WRITE(WDT_OP_ND_ADDRESS, panic_time_param); // 2^n * 0.8ms, mask 0xf, n = 11 -> (2^11 = 2048) * 0.8 * 0.001 = 1.6384
|
||||
|
||||
SET_PERI_REG_BITS(PERIPHS_WDT_BASEADDR + WDT_CTL_ADDRESS, WDT_CTL_RSTLEN_MASK, 7 << WDT_CTL_RSTLEN_LSB, 0);
|
||||
|
Reference in New Issue
Block a user