Files
shade 80d36d20bc Merge upstream MeshCore v1.18.0 (tag repeater-v1.18.0) into main
Разрешённые конфликты (12 файлов, из них 4 companion взяты из upstream целиком):

- examples/companion_radio/*: взят upstream, companion в форке не собирается
- examples/simple_repeater/MyMesh.cpp: убрана наша интеграция вентилятора
  (setFanPostTxHoldMs/setFanMode) — upstream 1.18.0 сам грузит настройки вентилятора
  через attachDynamicPrefs, а его CLI (get fan, set fan auto|on|off, set fan.lo/hi)
  доступен через board.handleCommand из CommonCLI; удалён наш дублирующий блок
  get fan/set fan. Оставлена наша сигнатура format*StatsReply(char*, size_t)
- examples/simple_repeater/MyMesh.h: оставлены наши WebSensorSnapshot/BlacklistEntry/
  ChanNameFilter и getCLI() (нужен мастеру настройки), добавлен upstream isHiddenNode();
  FIRMWARE_VERSION по умолчанию — v1.18.0
- src/helpers/CommonCLI.h: оставлены наши FanPrefs (совместимость NVS) и добавлен
  upstream DynamicConfigSerializer custom (getCustom() нужен attachDynamicPrefs)
- src/helpers/ESP32Board.h: время восстанавливается сначала из NVS (наша надстройка,
  переживает отключение питания), затем из RTC-памяти upstream, иначе опорная дата;
  deep sleep по-прежнему не трогаем
- src/helpers/sensors/EnvironmentSensorManager.cpp: взята логика upstream
  (detected[], один драйвер на тип), поверх возвращено определение адреса платой
  (boardDetectedI2CSensorAddress)
- variants/lilygo_tbeam_1w/*: взят upstream (задача вентилятора, NTC, гистерезис,
  CLI и сохранение настроек), наши правки перенесены как делегирование его API
- README.md: оставлен наш
2026-10-16 10:05:18 +03:00

170 lines
5.1 KiB
INI

[nibble_screen_connect_base]
extends = esp32_base
board = esp32-s3-zero
build_flags =
${esp32_base.build_flags}
-I variants/nibble_screen_connect
-D NIBBLE_SCREEN_CONNECT
-D P_LORA_DIO_1=4
-D P_LORA_NSS=10
-D P_LORA_RESET=6
-D P_LORA_BUSY=5
-D P_LORA_SCLK=13
-D P_LORA_MISO=12
-D P_LORA_MOSI=11
-D PIN_USER_BTN=1
-D PIN_BOARD_SDA=8
-D PIN_BOARD_SCL=7
-D HAS_NEOPIXEL
-D NEOPIXEL_COUNT=1
-D NEOPIXEL_DATA=21
-D NEOPIXEL_TYPE=NEO_GRB+NEO_KHZ800
-D SX126X_DIO2_AS_RF_SWITCH=true
-D SX126X_DIO3_TCXO_VOLTAGE=1.8
-D SX126X_CURRENT_LIMIT=140
-D USE_SX1262
-D RADIO_CLASS=CustomSX1262
-D WRAPPER_CLASS=CustomSX1262Wrapper
-D LORA_TX_POWER=22
-D SX126X_RX_BOOSTED_GAIN=1
build_src_filter = ${esp32_base.build_src_filter}
+<../variants/nibble_screen_connect>
lib_deps =
${esp32_base.lib_deps}
adafruit/Adafruit SSD1306 @ ^2.5.13
adafruit/Adafruit NeoPixel @ ^1.12.3
[env:nibble_screen_connect_repeater_]
extends = nibble_screen_connect_base
build_flags =
${nibble_screen_connect_base.build_flags}
-D DISPLAY_CLASS=SSD1306Display
-D ADVERT_NAME='"Nibble Repeater"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
-D MAX_NEIGHBOURS=50
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+<helpers/ui/SSD1306Display.cpp>
+<../examples/simple_repeater>
lib_deps =
${nibble_screen_connect_base.lib_deps}
${esp32_ota.lib_deps}
[env:nibble_screen_connect_repeater_bridge_espnow_]
extends = nibble_screen_connect_base
build_flags =
${nibble_screen_connect_base.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
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+<helpers/bridges/ESPNowBridge.cpp>
+<helpers/ui/SSD1306Display.cpp>
+<../examples/simple_repeater>
lib_deps =
${nibble_screen_connect_base.lib_deps}
${esp32_ota.lib_deps}
[env:nibble_screen_connect_terminal_chat_]
extends = nibble_screen_connect_base
build_flags =
${nibble_screen_connect_base.build_flags}
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=1
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+<../examples/simple_secure_chat/main.cpp>
lib_deps =
${nibble_screen_connect_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:nibble_screen_connect_room_server_]
extends = nibble_screen_connect_base
build_flags =
${nibble_screen_connect_base.build_flags}
-D DISPLAY_CLASS=SSD1306Display
-D ADVERT_NAME='"Nibble Room"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
-D ROOM_PASSWORD='"hello"'
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+<helpers/ui/SSD1306Display.cpp>
+<../examples/simple_room_server>
lib_deps =
${nibble_screen_connect_base.lib_deps}
${esp32_ota.lib_deps}
[env:nibble_screen_connect_companion_radio_usb_]
extends = nibble_screen_connect_base
build_flags =
${nibble_screen_connect_base.build_flags}
-I examples/companion_radio/ui-new
-D DISPLAY_CLASS=SSD1306Display
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
-D ENABLE_USB_INTERFACE
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+<helpers/ui/SSD1306Display.cpp>
+<helpers/ui/MomentaryButton.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${nibble_screen_connect_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:nibble_screen_connect_companion_radio_ble_]
extends = nibble_screen_connect_base
build_flags =
${nibble_screen_connect_base.build_flags}
-I examples/companion_radio/ui-new
-D DISPLAY_CLASS=SSD1306Display
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
-D BLE_PIN_CODE=123456
-D BLE_DEBUG_LOGGING=1
-D OFFLINE_QUEUE_SIZE=256
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+<helpers/esp32/*.cpp>
+<helpers/ui/SSD1306Display.cpp>
+<helpers/ui/MomentaryButton.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${nibble_screen_connect_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:nibble_screen_connect_companion_radio_wifi_]
extends = nibble_screen_connect_base
build_flags =
${nibble_screen_connect_base.build_flags}
-I examples/companion_radio/ui-new
-D ENABLE_WIFI_INTERFACE
-D DISPLAY_CLASS=SSD1306Display
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
-D WIFI_DEBUG_LOGGING=1
-D WIFI_SSID='"myssid"'
-D WIFI_PWD='"mypwd"'
-D OFFLINE_QUEUE_SIZE=256
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+<helpers/ui/SSD1306Display.cpp>
+<helpers/ui/MomentaryButton.cpp>
+<helpers/esp32/*.cpp>
+<helpers/wifi/*.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${nibble_screen_connect_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:nibble_screen_connect_kiss_modem_]
extends = nibble_screen_connect_base
build_src_filter = ${nibble_screen_connect_base.build_src_filter}
+<../examples/kiss_modem/>