Port the measured RXPS model without changing Cascade wire preambles or automatically enabling experimental levels. Use a spaced weighted median with bounded calibration windows, preserve packet ownership across CAD, and check actual SX126x receive mode before recovery. Preserve Cascade sleep and radio fixes, integrate the new sensor and board profiles, and correct BSEC script inheritance and the MKE UART pin conflict. Native regressions, production-method/SPI harnesses, and ESP32, nRF52, and STM32 builds pass. Hardware comparison and fault-injection validation are recorded privately.
232 lines
5.8 KiB
INI
232 lines
5.8 KiB
INI
; https://github.com/makereduvn/MKE-K01-ESP32-S3-DEV-KIT
|
|
[MKE_s3]
|
|
extends = esp32_base
|
|
board = esp32-s3-devkitc-1
|
|
build_flags =
|
|
${esp32_base.build_flags}
|
|
${sensor_base.build_flags}
|
|
-I variants/mke_s3
|
|
-D MKE_S3
|
|
-D ESP32_CPU_FREQ=80
|
|
; First heading
|
|
-D P_LORA_NSS=14
|
|
-D P_LORA_MOSI=13
|
|
-D P_LORA_MISO=12
|
|
-D P_LORA_SCLK=11
|
|
-D P_LORA_BUSY=10
|
|
; Second heading
|
|
; GND
|
|
; 3.3v
|
|
-D P_LORA_RESET=5
|
|
-D P_LORA_DIO_1=4
|
|
-D USE_SX1262
|
|
-D RADIO_CLASS=CustomSX1262
|
|
-D WRAPPER_CLASS=CustomSX1262Wrapper
|
|
-D LORA_TX_POWER=22
|
|
; -D P_LORA_TX_LED=48 ; RGB LED
|
|
-D PIN_BOARD_SDA=8
|
|
-D PIN_BOARD_SCL=9
|
|
-D PIN_USER_BTN=-1
|
|
; -D PIN_VEXT_EN=36
|
|
-D SX126X_DIO2_AS_RF_SWITCH=true
|
|
-D SX126X_DIO3_TCXO_VOLTAGE=0 ; Ra01SH uses XTAL
|
|
-D SX126X_CURRENT_LIMIT=140
|
|
-D SX126X_RX_BOOSTED_GAIN=1
|
|
-D PIN_GPS_RX=47
|
|
-D PIN_GPS_TX=48
|
|
-D PIN_GPS_EN=26
|
|
build_src_filter = ${esp32_base.build_src_filter}
|
|
+<../variants/mke_s3>
|
|
+<helpers/sensors>
|
|
lib_deps =
|
|
${esp32_base.lib_deps}
|
|
${sensor_base.lib_deps}
|
|
|
|
[env:MKE_s3_repeater]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"MKE Repeater"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
bakercp/CRC32 @ ^2.0.0
|
|
|
|
[env:MKE_s3_repeater_bridge_rs232]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RS232 Bridge"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_RS232_BRIDGE=Serial2
|
|
; Wire the bridge UART to GPIO16/17; GPIO5 is the LoRa reset line.
|
|
-D WITH_RS232_BRIDGE_RX=16
|
|
-D WITH_RS232_BRIDGE_TX=17
|
|
; -D BRIDGE_DEBUG=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
|
|
[env:MKE_s3_repeater_bridge_espnow]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"ESPNow Bridge"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_ESPNOW_BRIDGE=1
|
|
; -D BRIDGE_DEBUG=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<helpers/bridges/ESPNowBridge.cpp>
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
|
|
[env:MKE_s3_room_server]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"MKE RoomServer"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D ROOM_PASSWORD='"hello"'
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_room_server>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
${esp32_ota.lib_deps}
|
|
|
|
[env:MKE_s3_terminal_chat]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<../examples/simple_secure_chat/main.cpp>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:MKE_s3_companion_radio_usb]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ENABLE_USB_INTERFACE
|
|
; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
|
|
; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/ui/MomentaryButton.cpp>
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:MKE_s3_companion_radio_ble]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D BLE_PIN_CODE=123456 ; fixed PIN if display is not detected
|
|
-D AUTO_SHUTDOWN_MILLIVOLTS=3400
|
|
; -D BLE_DEBUG_LOGGING=1
|
|
-D OFFLINE_QUEUE_SIZE=256
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/ui/MomentaryButton.cpp>
|
|
+<helpers/esp32/*.cpp>
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:MKE_s3_companion_radio_wifi]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
; -D WIFI_DEBUG_LOGGING=1
|
|
-D WIFI_SSID='"myssid"'
|
|
-D WIFI_PWD='"mypwd"'
|
|
-D OFFLINE_QUEUE_SIZE=256
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/ui/MomentaryButton.cpp>
|
|
+<helpers/esp32/*.cpp>
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:MKE_s3_sensor]
|
|
extends = MKE_s3
|
|
build_flags =
|
|
${MKE_s3.build_flags}
|
|
-D ADVERT_NAME='"MKE Sensor"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D ENV_PIN_SDA=33
|
|
-D ENV_PIN_SCL=34
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${MKE_s3.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_sensor>
|
|
lib_deps =
|
|
${MKE_s3.lib_deps}
|
|
${esp32_ota.lib_deps}
|