diff --git a/libraries/AP_HAL/AP_HAL_Boards.h b/libraries/AP_HAL/AP_HAL_Boards.h index 6dd4ea9dfb..d429a357f6 100644 --- a/libraries/AP_HAL/AP_HAL_Boards.h +++ b/libraries/AP_HAL/AP_HAL_Boards.h @@ -13,6 +13,7 @@ #define HAL_BOARD_VRBRAIN 8 #define HAL_BOARD_CHIBIOS 10 #define HAL_BOARD_F4LIGHT 11 // reserved +#define HAL_BOARD_ESP32 12 #define HAL_BOARD_EMPTY 99 /* Default board subtype is -1 */ @@ -59,6 +60,10 @@ #define HAL_BOARD_SUBTYPE_CHIBIOS_VRCORE_V10 5019 #define HAL_BOARD_SUBTYPE_CHIBIOS_VRBRAIN_V54 5020 +#define HAL_BOARD_SUBTYPE_ESP32_DIY 6001 +#define HAL_BOARD_SUBTYPE_ESP32_ICARUS 6002 +#define HAL_BOARD_SUBTYPE_ESP32_BUZZ 6003 + /* InertialSensor driver types */ #define HAL_INS_NONE 0 #define HAL_INS_MPU60XX_SPI 2 @@ -130,6 +135,8 @@ #include #elif CONFIG_HAL_BOARD == HAL_BOARD_CHIBIOS #include +#elif CONFIG_HAL_BOARD == HAL_BOARD_ESP32 + #include #else #error "Unknown CONFIG_HAL_BOARD type" #endif diff --git a/libraries/AP_HAL/Util.h b/libraries/AP_HAL/Util.h index a6ba4f7463..6ef08377e4 100644 --- a/libraries/AP_HAL/Util.h +++ b/libraries/AP_HAL/Util.h @@ -1,6 +1,7 @@ #pragma once #include +#include // for FMT_PRINTF #include "AP_HAL_Namespace.h" class ExpandingString; diff --git a/libraries/AP_HAL/board/esp32.h b/libraries/AP_HAL/board/esp32.h new file mode 100644 index 0000000000..6aca5b3095 --- /dev/null +++ b/libraries/AP_HAL/board/esp32.h @@ -0,0 +1,61 @@ +#pragma once + + +#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_ESP32_DIY +#include "esp32diy.h" // Charles +#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_ESP32_BUZZ +#include "esp32buzz.h" //Buzz +#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_ESP32_ICARUS +#include "esp32icarus.h" //Alex +#endif + +#define HAL_BOARD_NAME "ESP32" +#define HAL_CPU_CLASS HAL_CPU_CLASS_150 +#define HAL_WITH_UAVCAN 0 +#define HAL_HAVE_SAFETY_SWITCH 0 +#define HAL_HAVE_BOARD_VOLTAGE 0 +#define HAL_HAVE_SERVO_VOLTAGE 0 + +#define HAL_WITH_IO_MCU 0 + +#define O_CLOEXEC 0 +#define HAL_STORAGE_SIZE (16384) + +// allow for static semaphores +#include +#define HAL_Semaphore ESP32::Semaphore + +#define HAL_NUM_CAN_IFACES 0 +#define HAL_MEM_CLASS HAL_MEM_CLASS_192 + + +#define __LITTLE_ENDIAN 1234 +#define __BYTE_ORDER __LITTLE_ENDIAN + +// whenver u get ... error: "xxxxxxx" is not defined, evaluates to 0 [-Werror=undef] just define it below as 0 +#define CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY 0 +#define XCHAL_ERRATUM_453 0 +#define CONFIG_FREERTOS_CORETIMER_0 0 +#define CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE 0 +#define CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL 0 +#define CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP 0 +#define CONFIG_FREERTOS_USE_TICKLESS_IDLE 0 +#define CONFIG_SYSVIEW_ENABLE 0 +#define CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED 0 +#define CONFIG_SPI_FLASH_ENABLE_COUNTERS 0 +#define USE_LIBC_REALLOC 0 +#define CONFIG_LWIP_DHCP_RESTORE_LAST_IP 0 +#define CONFIG_LWIP_STATS 0 +#define CONFIG_LWIP_PPP_SUPPORT 0 +#define CONFIG_LWIP_STATS 0 +#define CONFIG_ESP32_WIFI_CSI_ENABLED 0 +#define CONFIG_ESP32_WIFI_NVS_ENABLED 0 +#define CONFIG_NEWLIB_NANO_FORMAT 0 +#define CONFIG_LWIP_IP4_REASSEMBLY 0 +#define CONFIG_LWIP_IP6_REASSEMBLY 0 +#define CONFIG_LWIP_STATS 0 +#define LWIP_COMPAT_SOCKET_INET 0 +#define LWIP_COMPAT_SOCKET_ADDR 0 +#define CONFIG_ESP32_WIFI_TX_BA_WIN 0 +#define CONFIG_ESP32_WIFI_RX_BA_WIN 0 +