1#if !defined(_RADIOLIB_LORAWAN_PACKAGE_TS009_H) && !RADIOLIB_EXCLUDE_LORAWAN
2#define _RADIOLIB_LORAWAN_PACKAGE_TS009_H
5#include "LoRaWANPacMan.h"
10#define RADIOLIB_LORAWAN_TS009_PACKAGE_VERSION (0x00)
11#define RADIOLIB_LORAWAN_TS009_DUT_RESET (0x01)
12#define RADIOLIB_LORAWAN_TS009_DUT_JOIN (0x02)
13#define RADIOLIB_LORAWAN_TS009_SWITCH_CLASS (0x03)
14#define RADIOLIB_LORAWAN_TS009_ADR_BIT_CHANGE (0x04)
15#define RADIOLIB_LORAWAN_TS009_REGIONAL_DUTY_CYCLE (0x05)
16#define RADIOLIB_LORAWAN_TS009_TX_PERIODICITY_CHANGE (0x06)
17#define RADIOLIB_LORAWAN_TS009_TX_FRAMES_CTRL (0x07)
18#define RADIOLIB_LORAWAN_TS009_ECHO_PAYLOAD (0x08)
19#define RADIOLIB_LORAWAN_TS009_RX_APP_CNT (0x09)
20#define RADIOLIB_LORAWAN_TS009_RX_APP_CNT_RESET (0x0A)
21#define RADIOLIB_LORAWAN_TS009_LINK_CHECK (0x20)
22#define RADIOLIB_LORAWAN_TS009_DEVICE_TIME (0x21)
23#define RADIOLIB_LORAWAN_TS009_PING_SLOT_INFO (0x22)
24#define RADIOLIB_LORAWAN_TS009_TX_CW (0x7D)
25#define RADIOLIB_LORAWAN_TS009_DUT_FPORT224_DISABLE (0x7E)
26#define RADIOLIB_LORAWAN_TS009_DUT_VERSIONS (0x7F)
36 typedef void (*UplinkIntervalCb_t)(
RadioLibTime_t intervalSeconds);
37 typedef void (*RebootCb_t)();
81 bool confirmed =
false;
82 DelaySecondsCb_t delaySecondsCallback;
83 UplinkIntervalCb_t uplinkIntervalCallback;
84 RebootCb_t rebootCallback;
87 if(this->rebootCallback != NULL) {
88 this->rebootCallback();
105 uint8_t enabled =
false;
LoRaWAN-compatible node (class A device).
Definition LoRaWAN.h:572
Common interface for all application packages.
Definition LoRaWANPacMan.h:54
Interface to manage multiple LoRaWAN application packages.
Definition LoRaWANPacMan.h:129
LoRaWAN Application package for TS009 Certification testing.
Definition LoRaWANPackageTS009.h:32
bool getConfirmed()
Check whether subsequent uplinks should be confirmed.
Definition LoRaWANPackageTS009.cpp:38
void setPhysicalLayer(PhysicalLayer *radio)
Set radio module reference (for TX_CW command)
Definition LoRaWANPackageTS009.cpp:22
void setRebootCallback(RebootCb_t rebootCb)
Set reboot callback (for DUT_RESET command)
Definition LoRaWANPackageTS009.cpp:34
void setDelaySecondsCallback(DelaySecondsCb_t delayCb)
Set delay seconds callback (for delays in various commands)
Definition LoRaWANPackageTS009.cpp:26
size_t processData(const uint8_t *dataDown, size_t lenDown, LoRaWANEvent_t *event) override
Process downlink data for TS009 LCTT package.
Definition LoRaWANPackageTS009.cpp:42
void setUplinkIntervalCallback(UplinkIntervalCb_t intervalCb)
Set uplink interval callback (for TX_PERIODICITY_CHANGE command)
Definition LoRaWANPackageTS009.cpp:30
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition PhysicalLayer.h:257
unsigned long RadioLibTime_t
Type used for durations in RadioLib.
Definition TypeDef.h:679
Structure to save extra information about uplink/downlink event.
Definition LoRaWAN.h:529