mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-10-15 03:49:55 +00:00
get rid of deprecated stuff
This commit is contained in:
@@ -72,19 +72,24 @@ One role per firmware image; you choose it when you flash.
|
||||
|
||||
All of this is local behaviour. Nothing here changes the wire protocol, so mixed meshes work fine.
|
||||
|
||||
- **A CPU that sleeps.** Everything is event-driven; there is no `loop()` spinning between packets.
|
||||
- **Self-tuning retransmit timing.** Repeaters measure how crowded their neighbourhood is and space their
|
||||
retransmits to match, instead of using fixed `txdelay` values. ([ADR 0007](docs/adr/0007-adaptive-contention-window.md))
|
||||
- **Adaptive listen-before-talk.** Channel-activity detection calibrates itself to the local noise.
|
||||
([ADAPTIVE_CAD.md](docs/ADAPTIVE_CAD.md))
|
||||
- **Optional RX duty cycle.** The radio naps between preamble checks to cut receive current, on radios
|
||||
that support it. ([ADR 0006](docs/adr/0006-sx126x-rx-duty-cycle-and-busy-gating.md))
|
||||
- **Optional RX duty cycle.** The radio chip itself naps between preamble checks to cut receive current,
|
||||
on radios that support it. ([ADR 0006](docs/adr/0006-sx126x-rx-duty-cycle-and-busy-gating.md))
|
||||
- **Mesh time sync.** Nodes without GPS can agree on the time. Off by default.
|
||||
([MESHTIMESYNC.md](docs/MESHTIMESYNC.md))
|
||||
- **WiFi firmware updates** for ESP32 repeaters, so the node on the roof can stay on the roof.
|
||||
- **An observer role.** A listen-only node that publishes everything it hears to MQTT over WiFi (ESP32).
|
||||
- **MQTT uplink on a repeater.** An ESP32 repeater can report what it hears to MQTT over WiFi while it
|
||||
keeps repeating.
|
||||
- **LEDs you control.** Turn them all off with `set leds off`, or choose what each one shows: blink on
|
||||
transmit, on receive or both, and a heartbeat that can signal unread messages. The receive blink tells
|
||||
you at a glance whether a repeater is hearing anything.
|
||||
- **2.4 GHz on LR2021 boards.** Set a 2.4 GHz frequency and the radio switches to its high-band path on
|
||||
its own.
|
||||
- **Runs on Linux too.** The same code runs as a normal process on a Raspberry Pi or Femtofox with a real
|
||||
SX1262 attached. ([LINUX_NATIVE.md](docs/LINUX_NATIVE.md))
|
||||
- **Newer radios.** LR1110 and LR2021 alongside SX126x and SX127x.
|
||||
|
||||
## Hardware
|
||||
|
||||
|
||||
@@ -252,7 +252,7 @@ bool ZephyrDataStore::hasPrefs() const
|
||||
* causing settings_load() to hang and blocking bt_enable(). */
|
||||
void ZephyrDataStore::formatNVSOnly()
|
||||
{
|
||||
#if FIXED_PARTITION_EXISTS(storage_partition)
|
||||
#if PARTITION_EXISTS(storage_partition)
|
||||
const struct flash_area *fap;
|
||||
int rc = flash_area_open(PARTITION_ID(storage_partition), &fap);
|
||||
if (rc == 0) {
|
||||
|
||||
@@ -37,7 +37,7 @@ static void flatten(uint8_t id, const char *tag)
|
||||
flash_area_close(fap);
|
||||
}
|
||||
|
||||
#if FIXED_PARTITION_EXISTS(qspi_storage_partition)
|
||||
#if PARTITION_EXISTS(qspi_storage_partition)
|
||||
/* qspi-ext.dtsi makes the flash under /ext zephyr,deferred-init, so nothing
|
||||
* probes it at boot. The flash sits behind a GPIO-switched rail on several
|
||||
* boards, and the boot-time JEDEC read went out before a cold rail had come
|
||||
@@ -49,7 +49,7 @@ static void flatten(uint8_t id, const char *tag)
|
||||
* earlier call already ran the init, whatever the result was. */
|
||||
static void ext_flash_init(void)
|
||||
{
|
||||
const struct device *dev = FIXED_PARTITION_DEVICE(qspi_storage_partition);
|
||||
const struct device *dev = PARTITION_DEVICE(qspi_storage_partition);
|
||||
|
||||
if (!device_is_ready(dev)) {
|
||||
int rc = device_init(dev);
|
||||
@@ -108,17 +108,17 @@ bool zephcore_fs_format_all(bool *out_ext_mounted)
|
||||
fs_unmount(&FS_FSTAB_ENTRY(DT_NODELABEL(qspi_lfs)));
|
||||
#endif
|
||||
|
||||
#if FIXED_PARTITION_EXISTS(lfs_partition)
|
||||
#if PARTITION_EXISTS(lfs_partition)
|
||||
flatten(PARTITION_ID(lfs_partition), "lfs_partition");
|
||||
#endif
|
||||
|
||||
#if FIXED_PARTITION_EXISTS(storage_partition)
|
||||
#if PARTITION_EXISTS(storage_partition)
|
||||
/* BLE bonds (NVS). A factory reset should clear them too; the caller
|
||||
* reboots so NVS and the BT stack re-init clean. */
|
||||
flatten(PARTITION_ID(storage_partition), "storage_partition");
|
||||
#endif
|
||||
|
||||
#if FIXED_PARTITION_EXISTS(qspi_storage_partition)
|
||||
#if PARTITION_EXISTS(qspi_storage_partition)
|
||||
/* A repeater never mounts /ext, so its flash is still uninitialised. */
|
||||
ext_flash_init();
|
||||
flatten(PARTITION_ID(qspi_storage_partition), "qspi_storage_partition");
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* chip fitted, so the board dropped &qspi, its partition, the P0.21 enable
|
||||
* regulator and the qspi-ext.dtsi (/ext) include together (see the note in
|
||||
* thinknode_m6.dts). There is therefore no /ext LittleFS instance to drop
|
||||
* and no QSPI enable to hog here; main.c's FIXED_PARTITION_EXISTS() checks
|
||||
* and no QSPI enable to hog here; main.c's PARTITION_EXISTS() checks
|
||||
* simply skip the QSPI erase. If the board ever restores QSPI, restore the
|
||||
* "/delete-node/ &qspi_lfs;" and the P0.21 hog that used to live here.
|
||||
*
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* - SDv6: covers RAK4631, ThinkNode M1/M3/M6, ProMicro LR2021, RAK WisMesh Tag
|
||||
* - SDv7: covers T1000-E, Wio Tracker L1, Ikoka Nano 30dBm
|
||||
*
|
||||
* Internal flash uses DTS FIXED_PARTITION_EXISTS — partition layout is identical
|
||||
* Internal flash uses DTS PARTITION_EXISTS — partition layout is identical
|
||||
* across all boards with the same SoftDevice version.
|
||||
*
|
||||
* QSPI external flash uses bare-metal register probing (qspi_probe.c) — no
|
||||
@@ -108,15 +108,15 @@ int main(void)
|
||||
led_on();
|
||||
|
||||
/* ── LittleFS partition (all platforms) ── */
|
||||
#if FIXED_PARTITION_EXISTS(lfs_partition)
|
||||
if (erase_partition(FIXED_PARTITION_ID(lfs_partition), "LittleFS (/lfs)")) {
|
||||
#if PARTITION_EXISTS(lfs_partition)
|
||||
if (erase_partition(PARTITION_ID(lfs_partition), "LittleFS (/lfs)")) {
|
||||
errors++;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ── NVS storage partition (ESP32 etc.) ── */
|
||||
#if FIXED_PARTITION_EXISTS(storage_partition)
|
||||
if (erase_partition(FIXED_PARTITION_ID(storage_partition), "NVS (storage)")) {
|
||||
#if PARTITION_EXISTS(storage_partition)
|
||||
if (erase_partition(PARTITION_ID(storage_partition), "NVS (storage)")) {
|
||||
errors++;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user