32#ifndef _oslmic_types_h_
33# include "oslmic_types.h"
45typedef void LMIC_ABI_STD lmic_hal_failure_handler_t(
const char*
const file,
const uint16_t line);
52void lmic_hal_init (
void);
58void lmic_hal_init_ex (
const void *pContext);
64void lmic_hal_pin_rxtx (u1_t val);
69void lmic_hal_pin_rst (u1_t val);
76void lmic_hal_spi_write(u1_t cmd,
const u1_t* buf,
size_t len);
83void lmic_hal_spi_read(u1_t cmd, u1_t* buf,
size_t len);
92#if (defined(CFG_sx1261_radio) || defined(CFG_sx1262_radio))
93void lmic_hal_spi_read_sx126x(u1_t cmd, u1_t* addr,
size_t addr_len, u1_t* buf,
size_t buf_len);
101void lmic_hal_disableIRQs (
void);
106void lmic_hal_enableIRQs (
void);
111uint8_t lmic_hal_getIrqLevel (
void);
116void lmic_hal_sleep (
void);
121u4_t lmic_hal_ticks (
void);
127u4_t lmic_hal_waitUntil (u4_t time);
134u1_t lmic_hal_checkTimer (u4_t targettime);
141void lmic_hal_failed (
const char *file, u2_t line);
147void lmic_hal_set_failure_handler (lmic_hal_failure_handler_t*);
152s1_t lmic_hal_getRssiCal (
void);
160ostime_t lmic_hal_setModuleActive (bit_t val);
163bit_t lmic_hal_queryUsingTcxo(
void);
166bit_t lmic_hal_queryUsingDcdc(
void);
169bit_t lmic_hal_queryUsingDIO2AsRfSwitch(
void);
172bit_t lmic_hal_queryUsingDIO3AsTCXOSwitch(
void);
176 LMICHAL_radio_tx_power_policy_rfo = 0,
177 LMICHAL_radio_tx_power_policy_paboost = 1,
178 LMICHAL_radio_tx_power_policy_20dBm = 2,
186uint8_t lmic_hal_getTxPowerPolicy(
192void lmic_hal_pollPendingIRQs_helper();
193void lmic_hal_processPendingIRQs(
void);
194bit_t lmic_hal_radio_spi_is_busy();
197static inline void lmic_hal_pollPendingIRQs(
void)
199#if !defined(LMIC_USE_INTERRUPTS)
200 lmic_hal_pollPendingIRQs_helper();