36#ifndef _lmic_accessors_h_
37#define _lmic_accessors_h_
52typedef enum lmic_region_kind_e {
53 LMIC_REGION_KIND_CONFIGURABLE = 1,
54 LMIC_REGION_KIND_FIXED = 2,
58static inline u1_t LMIC_getRegion(
void) {
63static inline lmic_region_kind_t LMIC_getRegionKind(
void) {
65 return LMIC_REGION_KIND_CONFIGURABLE;
67 return LMIC_REGION_KIND_FIXED;
78static inline u4_t LMIC_getFrequency(
void) {
83static inline dr_t LMIC_getDataRate(
void) {
88static inline rps_t LMIC_getRps(
void) {
93static inline s1_t LMIC_getAdrTXPower(
void) {
98static inline s1_t LMIC_getRadioTxPower(
void) {
103static inline s1_t LMIC_getRSSI(
void) {
108static inline s1_t LMIC_getSNR(
void) {
113static inline u1_t LMIC_getTxChIndex(
void) {
118static inline dr_t LMIC_getRX2DataRate(
void) {
123static inline u4_t LMIC_getRX2Frequency(
void) {
128static inline rxsyms_t LMIC_getRxsyms(
void) {
133static inline u1_t LMIC_getSaveIrqFlags(
void) {
134 return LMIC.saveIrqFlags;
138static inline bit_t LMIC_getNoRxIqInversion(
void) {
139 return LMIC.noRXIQinversion != 0;
143static inline ostime_t LMIC_getLbtTicks(
void) {
144 return LMIC.lbt_ticks;
148static inline s1_t LMIC_getLbtDbmax(
void) {
149 return LMIC.lbt_dbmax;
159static inline ostime_t LMIC_getTxend(
void) {
164static inline ostime_t LMIC_getRxtime(
void) {
169static inline ostime_t LMIC_getNextRxTime(
void) {
170 return LMIC.nextRxTime;
174static inline ostime_t LMIC_getGlobalDutyAvail(
void) {
175 return LMIC.globalDutyAvail;
185static inline u2_t LMIC_getOpmode(
void) {
190static inline u2_t LMIC_getTxrxFlags(
void) {
191 return LMIC.txrxFlags;
195static inline u4_t LMIC_getFCntUp(
void) {
200static inline u4_t LMIC_getFCntDown(
void) {
205static inline devaddr_t LMIC_getDevAddr(
void) {
210static inline u4_t LMIC_getNetID(
void) {
215static inline u2_t LMIC_getDevNonce(
void) {
216 return LMIC.devNonce;
229static inline u1_t LMIC_getFRMPayload(
const u1_t **ppData, u1_t *pLen) {
230 if (LMIC.dataLen == 0 || LMIC.dataBeg == 0) {
235 *ppData = LMIC.frame + LMIC.dataBeg;
236 *pLen = LMIC.dataLen;
237 return LMIC.frame[LMIC.dataBeg - 1];
241static inline u1_t LMIC_getFRMPayloadLen(
void) {
252static inline void LMIC_setFrequency(u4_t freq) {
257static inline void LMIC_setDataRate(dr_t dr) {
262static inline void LMIC_setRps(rps_t rps) {
267static inline void LMIC_setRadioTxPower(s1_t txpow) {
272static inline void LMIC_setLbt(ostime_t ticks, s1_t dbmax) {
273 LMIC.lbt_ticks = ticks;
274 LMIC.lbt_dbmax = dbmax;
278static inline void LMIC_setNoRxIqInversion(bit_t fNoInversion) {
279 LMIC.noRXIQinversion = fNoInversion;
283static inline void LMIC_setRX2DataRate(dr_t dr) {
291static inline u1_t LMIC_setRawTxData(
const u1_t *pData, u1_t len) {
296 u1_t
const maxLen = MAX_LEN_FRAME;
308static inline void LMIC_getRawRxData(
const u1_t **ppData, u1_t *pLen) {
309 *ppData = LMIC.frame;
310 *pLen = LMIC.dataLen;
314static inline void LMIC_setNextRxTime(ostime_t t) {
#define os_copyMem(pDest, pSrc, nSrc)
Copy buffer.
Definition oslmic.h:70