Compare commits

...

3 Commits

Author SHA1 Message Date
Scott Powell
45a88dca3d * .yml files, permissions: write 2025-03-05 19:48:52 +11:00
Scott Powell
7832548714 * now suppressing 'cp' errors 2025-03-05 19:20:28 +11:00
Scott Powell
78ee88c9ed * companion, HeltecV3: now picks random BLE pin for every session (from boot), unless a (non-zero) one stored in _prefs
* companion, WSL3: uses static BLE pin, per build BLE_PIN_CODE define
2025-03-05 19:14:34 +11:00
7 changed files with 48 additions and 15 deletions

View File

@@ -1,5 +1,8 @@
name: Build Companion Firmwares
permissions:
contents: write
on:
workflow_dispatch:
push:

View File

@@ -1,5 +1,8 @@
name: Build Repeater Firmwares
permissions:
contents: write
on:
workflow_dispatch:
push:

View File

@@ -1,5 +1,8 @@
name: Build Room Server Firmwares
permissions:
contents: write
on:
workflow_dispatch:
push:

View File

@@ -67,12 +67,12 @@ build_firmware() {
# e.g: RAK_4631_Repeater-v1.0.0-SHA.uf2
# copy .bin for esp32 boards
cp .pio/build/$1/firmware.bin out/${FIRMWARE_FILENAME}.bin 2>/dev/null
cp .pio/build/$1/firmware-merged.bin out/${FIRMWARE_FILENAME}-merged.bin 2>/dev/null
cp .pio/build/$1/firmware.bin out/${FIRMWARE_FILENAME}.bin 2>/dev/null || true
cp .pio/build/$1/firmware-merged.bin out/${FIRMWARE_FILENAME}-merged.bin 2>/dev/null || true
# copy .zip and .uf2 of nrf52 boards
cp .pio/build/$1/firmware.uf2 out/${FIRMWARE_FILENAME}.uf2 2>/dev/null
cp .pio/build/$1/firmware.zip out/${FIRMWARE_FILENAME}.zip 2>/dev/null
cp .pio/build/$1/firmware.uf2 out/${FIRMWARE_FILENAME}.uf2 2>/dev/null || true
cp .pio/build/$1/firmware.zip out/${FIRMWARE_FILENAME}.zip 2>/dev/null || true
}

View File

@@ -78,7 +78,7 @@ void UITask::renderCurrScreen() {
if (_connected) {
//_display->printf("freq : %03.2f sf %d\n", _prefs.freq, _prefs.sf);
//_display->printf("bw : %03.2f cr %d\n", _prefs.bw, _prefs.cr);
} else {
} else if (_pin_code != 0) {
_display->setTextSize(2);
_display->setCursor(0, 43);
sprintf(tmp, "Pin:%d", _pin_code);

View File

@@ -204,6 +204,7 @@ class MyMesh : public BaseChatMesh {
ContactsIterator _iter;
uint32_t _iter_filter_since;
uint32_t _most_recent_lastmod;
uint32_t _active_ble_pin;
bool _iter_started;
uint8_t app_target_ver;
uint8_t cmd_frame[MAX_FRAME_SIZE+1];
@@ -220,11 +221,6 @@ class MyMesh : public BaseChatMesh {
if (!_identity_store->load("_main", self_id)) {
self_id = mesh::LocalIdentity(&trng); // create new random identity
saveMainIdentity(self_id);
#if defined(BLE_PIN_CODE) && defined(DISPLAY_CLASS)
// start with randomly assigned BLE pin
_prefs.ble_pin = trng.nextInt(100000, 999999);
#endif
}
}
@@ -617,9 +613,6 @@ public:
_prefs.bw = LORA_BW;
_prefs.cr = LORA_CR;
_prefs.tx_power_dbm = LORA_TX_POWER;
#ifdef BLE_PIN_CODE
_prefs.ble_pin = BLE_PIN_CODE;
#endif
//_prefs.rx_delay_base = 10.0f; enable once new algo fixed
}
@@ -672,6 +665,20 @@ public:
}
}
#ifdef BLE_PIN_CODE
if (_prefs.ble_pin == 0) {
#ifdef DISPLAY_CLASS
_active_ble_pin = trng.nextInt(100000, 999999); // random pin each session
#else
_active_ble_pin = BLE_PIN_CODE; // otherwise static pin
#endif
} else {
_active_ble_pin = _prefs.ble_pin;
}
#else
_active_ble_pin = 0;
#endif
// init 'blob store' support
_fs->mkdir("/bl");
@@ -686,7 +693,7 @@ public:
}
const char* getNodeName() { return _prefs.node_name; }
uint32_t getBLEPin() { return _prefs.ble_pin; }
uint32_t getBLEPin() { return _active_ble_pin; }
void startInterface(BaseSerialInterface& serial) {
_serial = &serial;

View File

@@ -185,7 +185,7 @@ build_flags =
-D MAX_CONTACTS=100
-D MAX_GROUP_CHANNELS=1
-D DISPLAY_CLASS=SSD1306Display
-D BLE_PIN_CODE=123456
-D BLE_PIN_CODE=0 ; dynamic, random PIN
-D BLE_DEBUG_LOGGING=1
; -D ENABLE_PRIVATE_KEY_IMPORT=1
; -D ENABLE_PRIVATE_KEY_EXPORT=1
@@ -196,6 +196,23 @@ lib_deps =
${Heltec_lora32_v3.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Heltec_WSL3_companion_radio_ble]
extends = Heltec_lora32_v3
build_flags =
${Heltec_lora32_v3.build_flags}
-D MAX_CONTACTS=100
-D MAX_GROUP_CHANNELS=1
-D BLE_PIN_CODE=123456
-D BLE_DEBUG_LOGGING=1
; -D ENABLE_PRIVATE_KEY_IMPORT=1
; -D ENABLE_PRIVATE_KEY_EXPORT=1
; -D MESH_PACKET_LOGGING=1
; -D MESH_DEBUG=1
build_src_filter = ${Heltec_lora32_v3.build_src_filter} +<helpers/esp32/*.cpp> +<../examples/companion_radio>
lib_deps =
${Heltec_lora32_v3.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Heltec_v3_companion_radio_wifi]
extends = Heltec_lora32_v3
build_flags =