Files
MeshCore/variants/mke_s3/platformio.ini
T
mikecarper a60a6a1f60 Merge PowerSaving-v17 and harden noise calibration and RX recovery
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.
2026-09-10 13:19:22 -07:00

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}