Helium Repurposed
Attachments
History
Blame
View Source
Documentation
Toggle dark mode
Login
Home
A - Z
Changelog
Page Index
Devices
Nebra
Indoor ROCK PI
Outdoor Miner
An Otter Wiki
Devices
Nebra
Indoor Rock Pi
c41b2d
Commit
c41b2d
2026-02-12 19:30:14
Peter van Dijk
: pymc_core diff for fake zebra hat on rock pi 4
devices/nebra/indoor rock pi.md
..
@@ 14,3 14,70 @@
* RST (raspi GPIO17, raspi physical pin 11, rockpi pin 4 18)
* BUSY (raspi GPIO27, raspi physical pin 13, rockpi pin 4 22)
* IRQ (raspi GPIO22, raspi physical pin 15, rockpi pin 4 21)
+
+
pymc_core patch to go with this:
+
+
```diff
+
diff --git a/examples/common.py b/examples/common.py
+
index 826b542..0a6436c 100644
+
--- a/examples/common.py
+
+++ b/examples/common.py
+
@@ -121,6 +121,22 @@ def create_radio(radio_type: str = "waveshare", serial_port: str = "/dev/ttyUSB0
+
"coding_rate": 5,
+
"preamble_length": 17,
+
},
+
+ "zebra": {
+
+ "bus_id": 0,
+
+ "cs_id": 0,
+
+ "cs_pin": 28,
+
+ "reset_pin": 18,
+
+ "busy_pin": 22,
+
+ "irq_pin": 21,
+
+ "txen_pin": -1,
+
+ "frequency": int(869.618 * 1000000), # EU: 869.525 MHz,
+
+ "tx_power": 22,
+
+ "spreading_factor": 8,
+
+ "bandwidth": int(62.5 * 1000),
+
+ "coding_rate": 8,
+
+ "preamble_length": 17,
+
+ "use_dio3_tcxo": True
+
+ },
+
}
+
+
if radio_type not in configs:
+
diff --git a/examples/discover_nodes.py b/examples/discover_nodes.py
+
index 097be79..9a62b5b 100644
+
--- a/examples/discover_nodes.py
+
+++ b/examples/discover_nodes.py
+
@@ -149,7 +149,7 @@ def main():
+
parser = argparse.ArgumentParser(description="Discover nearby mesh nodes")
+
parser.add_argument(
+
"--radio-type",
+
- choices=["waveshare", "uconsole", "meshadv-mini", "kiss-tnc"],
+
+ choices=["waveshare", "uconsole", "meshadv-mini", "kiss-tnc", "zebra"],
+
default="waveshare",
+
help="Radio hardware type (default: waveshare)",
+
)
+
diff --git a/src/pymc_core/hardware/gpio_manager.py b/src/pymc_core/hardware/gpio_manager.py
+
index 399a5da..7d1e003 100644
+
--- a/src/pymc_core/hardware/gpio_manager.py
+
+++ b/src/pymc_core/hardware/gpio_manager.py
+
@@ -44,7 +44,7 @@ logger = logging.getLogger("GPIOPinManager")
+
class GPIOPinManager:
+
"""Manages GPIO pins abstraction using Linux GPIO character device interface"""
+
+
- def __init__(self, gpio_chip: str = "/dev/gpiochip0"):
+
+ def __init__(self, gpio_chip: str = "/dev/gpiochip4"):
+
"""
+
Initialize GPIO Pin Manager
+
+
@@ -77,7 +77,7 @@ class GPIOPinManager:
+
return chips[0]
+
else:
+
logger.warning("No GPIO chips found, defaulting to /dev/gpiochip0")
+
- return "/dev/gpiochip0"
+
+ return "/dev/gpiochip4"
+
return gpio_chip
+
+
def setup_output_pin(self, pin_number: int, initial_value: bool = False) -> bool:
+
```
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9