Enable radio on T-Watch: dev signature bypass, self-provisioning

Device.h: force fw_signature_validated and dev_signature_validated
true for T-Watch builds, bypassing the cryptographic chain for
development. Production devices should use proper signing.

rnodeconf patched locally to recognize T-Watch product code (0xEC)
and model (0xDA 868MHz). Provisioning + firmware hash set via:
  rnodeconf --rom --product ec --model da --hwrev 1
  rnodeconf --firmware-hash <hash>

Radio complication confirmed working:
- Shows "OFF" when radio in standby (no host, no GPS fix)
- Will show "---" in amber when radio online but no packets
- Will show RSSI value when packets received
- Mode indicator shows "IDLE" → "BEACON" → "MODEM" based on state
This commit is contained in:
GlassOnTin 2026-03-29 11:46:45 +01:00
commit cc5bd6b4ee

View file

@ -83,7 +83,12 @@ bool fw_signature_validated = true;
#define dev_fwhash_addr(a) (a+DEV_FWHASH_OFFSET)
bool device_signatures_ok() {
return dev_signature_validated && fw_signature_validated;
#if BOARD_MODEL == BOARD_TWATCH_ULT
// T-Watch development: skip signature validation for self-signed devices
return true;
#else
return dev_signature_validated && fw_signature_validated;
#endif
}
void device_validate_signature() {
@ -259,6 +264,11 @@ bool device_init() {
nRFCrypto.end();
#endif
device_init_done = true;
#if BOARD_MODEL == BOARD_TWATCH_ULT
// T-Watch development: skip firmware/device signature validation
fw_signature_validated = true;
dev_signature_validated = true;
#endif
return device_init_done && fw_signature_validated;
} else {
return false;