Expand description
A LoRaWAN relay across the C ABI, TS011-1.0.1.
pamoja_lorawan::relay::Relay is an end device that also listens for others: it scans
its channels, verifies the wake-on-radio frames of the devices its network trusts it
with, answers them, takes the uplinks behind them, forwards those to the network on port
226, and sends the answers on in each device’s relay window. It owns no radio and no
clock, so every call takes the time and hands back what to put on the air.
A relay is opened on a plan and a session or a set of credentials, and released with
pamoja_lorawan_relay_free. Its own device joins and sends through
pamoja_lorawan_relay_join and pamoja_lorawan_relay_send, and every downlink goes
through pamoja_lorawan_relay_heard_in, which acts on the relay commands in it.
Structs§
- Pamoja
Lorawan Relay - An opaque handle to a LoRaWAN relay, which owns the end device it was made from.
- Pamoja
Lorawan Rxr - A downlink for an end device, to send in its relay window.
- Pamoja
Lorawan Scan - A scan for wake-on-radio frames, due next.
- Pamoja
Lorawan Wake - What a wake-on-radio frame led a relay to do.
Constants§
- PAMOJA_
LORAWAN_ RELAY_ HEARD_ DEVICE - The frame was for the relay’s own device.
- PAMOJA_
LORAWAN_ RELAY_ HEARD_ DOWNLINK - It carried a downlink for an end device, to send on in its relay window.
- PAMOJA_
LORAWAN_ RELAY_ HEARD_ UNDELIVERABLE - It carried one the relay cannot send on.
- PAMOJA_
LORAWAN_ WAKE_ JOIN_ REQUEST - A join request follows the wake-on-radio frame; listen for it.
- PAMOJA_
LORAWAN_ WAKE_ NOTIFIED - A device the relay does not trust woke it, and its network will hear of it.
- PAMOJA_
LORAWAN_ WAKE_ UPLINK - A trusted device’s uplink follows.
Functions§
- pamoja_
lorawan_ ⚠relay_ error - Returns why the last relay call failed.
- pamoja_
lorawan_ ⚠relay_ forward - Sends the uplink the relay is holding, in its own uplink on port 226.
- pamoja_
lorawan_ ⚠relay_ forward_ due - Returns when the forwarded uplink waiting to go out is due.
- pamoja_
lorawan_ ⚠relay_ free - Releases a relay and its own device.
- pamoja_
lorawan_ ⚠relay_ heard_ in - Reads a frame the relay’s own device heard, acting on the relay commands in it.
- pamoja_
lorawan_ ⚠relay_ heard_ uplink - Reads the uplink a wake-on-radio frame announced, and holds it to forward.
- pamoja_
lorawan_ ⚠relay_ heard_ wor - Reads a wake-on-radio frame a scan heard.
- pamoja_
lorawan_ ⚠relay_ join - Makes the relay’s own join request, as a device’s own would be.
- pamoja_
lorawan_ ⚠relay_ new - Makes a relay whose own device joins over the air.
- pamoja_
lorawan_ ⚠relay_ next_ scan - Says when and where to scan next.
- pamoja_
lorawan_ ⚠relay_ nothing_ heard - Says what comes next once the relay’s own receive windows closed with nothing in them.
- pamoja_
lorawan_ ⚠relay_ personalized - Makes a relay whose own device is activated by personalization.
- pamoja_
lorawan_ ⚠relay_ running - Reports whether the relay is scanning.
- pamoja_
lorawan_ ⚠relay_ send - Sends one of the relay’s own uplinks, which also carries what it owes its network.
- pamoja_
lorawan_ ⚠relay_ start - Starts the relay scanning, or changes what a running one scans.
- pamoja_
lorawan_ ⚠relay_ status - Reports what the relay’s own device is doing.
- pamoja_
lorawan_ ⚠relay_ stop - Stops the relay scanning.
- pamoja_
lorawan_ ⚠relay_ trust - Trusts an end device, as an
UpdateUplinkListReqwith the same fields does. - pamoja_
lorawan_ ⚠relay_ uplink_ missed - Clears the uplink a wake-on-radio frame announced, once listening for it heard nothing.