wip: compiles; crashes early; debug printing now working

This commit is contained in:
Dan Halbert 2025-03-04 20:35:43 -05:00
parent a08e8cbb36
commit 1e8cfaad0d
7 changed files with 48 additions and 41 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
build/
*.bin
sdkconfig.old
managed_components/

View file

@ -15,7 +15,7 @@ def extract_firmware_version():
booloaderData = open("build/bootloader/bootloader.bin", "rb").read()
partitionData = open("build/partitions.bin", "rb").read()
partitionData = open("build/partition_table/partition-table.bin", "rb").read()
#phyData = open("data/phy.bin", "rb").read()
appData = open("build/nina-fw.bin", "rb").read()

View file

@ -63,7 +63,7 @@ int errno;
// Note: following version definition line is parsed by python script. Please don't change its format (space, indent) only update its version number.
// ADAFRUIT-CHANGE: not fixed length
// The version number obeys semver rules. We suffix with "+adafruit" to distinguish from Arduino NINA-FW.
const char FIRMWARE_VERSION[] = "2.0.0-rc.0+adafruit";
const char FIRMWARE_VERSION[] = "3.0.0-rc.0+adafruit";
// ADAFRUIT-CHANGE: user-supplied cert and key
// Optional, user-defined X.509 certificate
@ -91,22 +91,20 @@ static uint8_t _disconnectReason = WIFI_REASON_UNSPECIFIED;
// But if this is turned back into a regular Arduino sketch, that won't work, because
// LWIP_HOOK_IP4_INPUT is set at compile time when building esp-idf components.
typedef esp_netif_recv_ret_t (*lwip_input_fn_t)(void *input_netif_handle, void *buffer, size_t len, void *eb);
static lwip_input_fn_t _originalStaNetifInput = NULL;
static lwip_input_fn_t _originalAPNetifInput = NULL;
static esp_netif_recv_ret_t _staNetifInputHook(void *input_netif_handle, void *buffer, size_t len, void *eb)
{
CommandHandlerClass::onWiFiReceive();
return _originalStaNetifInput(input_netif_handle, buffer, len, eb);
return CommandHandler.originalStaNetifInput(input_netif_handle, buffer, len, eb);
}
static esp_netif_recv_ret_t _apNetifInputHook(void *input_netif_handle, void *buffer, size_t len, void *eb)
{
CommandHandlerClass::onWiFiReceive();
return _originalAPNetifInput(input_netif_handle, buffer, len, eb);
return CommandHandler.originalAPNetifInput(input_netif_handle, buffer, len, eb);
}
static void _setupNTP(void)
{
esp_sntp_setoperatingmode(SNTP_OPMODE_POLL);
@ -118,7 +116,7 @@ static void _setupNTP(void)
extern esp_netif_t *get_esp_interface_netif(esp_interface_t interface);
static void _setupEventHandlers(void)
void _setupEventHandlers(void)
{
// Fetch the default netif's. Interpose our own input handlers in front of their input handlers,
// so that we can notice every time we recieve a packet.
@ -127,13 +125,13 @@ static void _setupEventHandlers(void)
esp_netif_t *apNetif = get_esp_interface_netif(ESP_IF_WIFI_AP);
if (staNetif != NULL && staNetif->lwip_input_fn != _staNetifInputHook) {
_originalAPNetifInput = staNetif->lwip_input_fn;
staNetif->lwip_input_fn = &_staNetifInputHook;
CommandHandler.originalAPNetifInput = staNetif->lwip_input_fn;
staNetif->lwip_input_fn = _staNetifInputHook;
}
if (apNetif != NULL && apNetif->lwip_input_fn != _staNetifInputHook) {
_originalAPNetifInput = apNetif->lwip_input_fn;
apNetif->lwip_input_fn = &_apNetifInputHook;
CommandHandler.originalAPNetifInput = apNetif->lwip_input_fn;
apNetif->lwip_input_fn = _apNetifInputHook;
}
// Do some cleanup on a station disconnect.
@ -2520,6 +2518,4 @@ void CommandHandlerClass::handleWiFiDisconnect()
}
}
CommandHandlerClass CommandHandler;

View file

@ -22,6 +22,10 @@
#include <stdint.h>
// include for esp_netif_recv_ret_t
#include "lwip/esp_netif_net_stack.h"
typedef esp_netif_recv_ret_t (*lwip_input_fn_t)(void *input_netif_handle, void *buffer, size_t len, void *eb);
class CommandHandlerClass {
public:
CommandHandlerClass();
@ -31,6 +35,9 @@ public:
static void onWiFiReceive();
static void onWiFiDisconnect(arduino_event_t*);
lwip_input_fn_t originalStaNetifInput = NULL;
lwip_input_fn_t originalAPNetifInput = NULL;
private:
static void gpio0Updater(void*);
static int ping(/*IPAddress*/uint32_t host, uint8_t ttl);

View file

@ -49,7 +49,7 @@
#ifdef NINA_DEBUG
int debug = 1;
#else
int debug = 0;
int debug = 1;
#endif
uint8_t* commandBuffer;
@ -105,19 +105,17 @@ void setupWiFi();
void setupBluetooth();
void setup() {
setDebug(debug);
Serial.begin(115200);
Serial.println("Serial!");
ets_printf("ets_printf\n");
// setDebug(debug);
Serial.println("Serial2!");
delay(1000);
// put SWD and SWCLK pins connected to SAMD as inputs
pinMode(15, INPUT);
pinMode(21, INPUT);
#if defined(NANO_RP2040_CONNECT)
pinMode(26, OUTPUT);
pinMode(27, OUTPUT);
digitalWrite(26, HIGH);
digitalWrite(27, HIGH);
#endif
pinMode(5, INPUT);
if (digitalRead(5) == LOW) {
if (debug) ets_printf("*** BLUETOOTH ON\n");
@ -126,7 +124,9 @@ void setup() {
} else {
if (debug) ets_printf("*** WIFI ON\n");
ESP_LOGI("setup", "before setupWiFi()");
setupWiFi();
ESP_LOGI("setup", "after setupWiFi()");
}
}

View file

@ -419,12 +419,12 @@ CONFIG_ARDUINO_UDP_TASK_PRIORITY=3
# Debug Log Configuration
#
# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set
CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y
# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR is not set
# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set
# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set
CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO=y
# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set
# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set
CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1
CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=3
# CONFIG_ARDUHAL_LOG_COLORS is not set
CONFIG_ARDUHAL_ESP_LOG=y
# end of Debug Log Configuration
@ -577,7 +577,6 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y
#
# CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART0 is not set
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
@ -1015,7 +1014,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
#
# ESP-Driver:SPI Configurations
#
CONFIG_SPI_MASTER_IN_IRAM=y
CONFIG_SPI_MASTER_ISR_IN_IRAM=y
# CONFIG_SPI_SLAVE_IN_IRAM is not set
CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
@ -1193,7 +1191,6 @@ CONFIG_XTAL_FREQ=40
# end of Main XTAL Config
CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y
CONFIG_ESP_SPI_BUS_LOCK_FUNCS_IN_IRAM=y
# end of Hardware Settings
#
@ -1311,11 +1308,13 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
# CONFIG_ESP_CONSOLE_UART_DEFAULT is not set
CONFIG_ESP_CONSOLE_UART_DEFAULT=y
# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
CONFIG_ESP_CONSOLE_NONE=y
CONFIG_ESP_CONSOLE_UART_NUM=-1
CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=-1
# 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
CONFIG_ESP_INT_WDT_CHECK_CPU1=y
@ -1402,6 +1401,7 @@ CONFIG_ESP_WIFI_IRAM_OPT=y
CONFIG_ESP_WIFI_RX_IRAM_OPT=y
CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
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
@ -1409,7 +1409,7 @@ 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=y
# CONFIG_ESP_WIFI_SOFTAP_SUPPORT is not set
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
# CONFIG_ESP_WIFI_NAN_ENABLE is not set
@ -1420,6 +1420,7 @@ CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
# CONFIG_ESP_WIFI_11R_SUPPORT is not set
# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
#
# WPS Configuration Options
@ -1534,7 +1535,7 @@ CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y
CONFIG_FREERTOS_CORETIMER_0=y
# CONFIG_FREERTOS_CORETIMER_1 is not set
CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y
# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
# end of Port
@ -2588,11 +2589,13 @@ CONFIG_ESP32_PANIC_PRINT_REBOOT=y
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2048
CONFIG_MAIN_TASK_STACK_SIZE=3584
# CONFIG_CONSOLE_UART_DEFAULT is not set
CONFIG_CONSOLE_UART_DEFAULT=y
# CONFIG_CONSOLE_UART_CUSTOM is not set
CONFIG_CONSOLE_UART_NONE=y
CONFIG_ESP_CONSOLE_UART_NONE=y
CONFIG_CONSOLE_UART_NUM=-1
# CONFIG_CONSOLE_UART_NONE 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
@ -2657,6 +2660,7 @@ CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
# CONFIG_WPA_MBO_SUPPORT is not set
# CONFIG_WPA_DPP_SUPPORT is not set
# CONFIG_WPA_11R_SUPPORT is not set
# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set
# CONFIG_WPA_WPS_STRICT is not set
# CONFIG_WPA_DEBUG_PRINT is not set
# CONFIG_WPA_TESTING_OPTIONS is not set

View file

@ -1 +0,0 @@
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n