feat: Configurable radio parameters (frequency slots, region, update rate) #48
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wait-to-fix
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
daru/PICsense#48
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Make the transmit frequency (within designated "slots"), radio region (US vs EU ISM bands), and update rate configurable via the config store.
The RF transmitter is already programmable: the DF register sets the frequency (DF = fRF × 8192 / fXTAL) and the APP register's DA13 bit selects the band. With the board's 26 MHz crystal, band 1 covers 863–870 MHz and 902–928 MHz, so both the US (915 MHz) and EU (868 MHz) ISM bands are reachable. The current firmware hardcodes 915.1 MHz (DF = 288327) in band 1.
"Slots" = a small set of predefined, legal, frequency-accurate frequencies the user picks, rather than an arbitrary frequency (e.g. EU: 868.1/868.3/868.5/868.7; US: 914.9/915.0/915.1/915.2/915.4/915.6/915.8).
Update rate (the sleep period between packets) affects battery life and should be user-configurable. The current firmware uses a software counter (
MAX_COUNTER) with a 256 s WDT period.Open questions:
The meshtastic slot map might be worth emulating, just for simplicity. The current version of the firmware uses 922.875 as the default frequency, which matches one of the slots. There are 104 slots in the US band, at least for long-fast.
The high power setting is probably desirable. It's only 10dBm, and range is pretty weak on the first rev (though it's likely an antenna match issue, as well.