| 
| 
  | SX1272Chip (SPI &s, int8_t pinReset, int8_t pinCs, int8_t pinRxTx, int8_t pinDio0, int8_t pinDio1, int8_t pinDio2, int8_t pinDio3, int8_t pinDio4) | 
|   | 
| error_t  | begin (bool useTcxo) | 
|   | 칩을 시작합니다.  More...
  | 
|   | 
| error_t  | begin () | 
|   | 칩을 시작합니다.  More...
  | 
|   | 
| 
void  | setLoRaSymbolTimeout (uint16_t nSymbols) | 
|   | 
| 
int16_t  | getRssi () | 
|   | RSSI를 dB 단위로 읽습니다. 
  | 
|   | 
| 
void  | setTxConfig (Radio::Modulation_t modem, int8_t power, uint32_t fdev, uint32_t bandwidth, uint32_t datarate, uint8_t coderate, uint16_t preambleLen, bool fixLen, bool crcOn, bool freqHopOn, uint8_t hopPeriod, bool iqInverted, uint32_t timeout) override | 
|   | 
| 
void  | setRxConfig (Radio::Modulation_t modem, uint32_t bandwidth, uint32_t datarate, uint8_t coderate, uint32_t bandwidthAfc, uint16_t preambleLen, uint16_t symbTimeout, bool fixLen, uint8_t payloadLen, bool crcOn, bool freqHopOn, uint8_t hopPeriod, bool iqInverted, bool rxContinuous) override | 
|   | 
| 
  | SX127xChip (SPI &s, int8_t pinRxTx, int8_t pinReset, int8_t pinCs, int8_t pinDio0, int8_t pinDio1, int8_t pinDio2, int8_t pinDio3, int8_t pinDio4) | 
|   | 
| error_t  | readFrame (RadioPacket *frame) | 
|   | 수신 버퍼에서 프레임을 읽습니다.  More...
  | 
|   | 
| 
bool  | bufferIsEmpty () | 
|   | 
| 
void  | flushBuffer () | 
|   | 
| 
virtual void  | sleep () | 
|   | 
| 
virtual void  | wakeup () | 
|   | 
| 
error_t  | transmit (RadioPacket *frame) | 
|   | 
| bool  | cca () override | 
|   | 채널이 혼잡한지 아닌지 검사합니다.  More...
  | 
|   | 
| void  | setTxPower (int8_t dBm) | 
|   | 송신 출력을 설정합니다.  More...
  | 
|   | 
| int8_t  | getTxPower () | 
|   | 현재 설정된 송신 출력을 반환합니다.  More...
  | 
|   | 
| void  | setChannel (uint32_t channel) override | 
|   | Sets the channels configuration.  More...
  | 
|   | 
| uint32_t  | getChannel () | 
|   | Gets the channels configuration.  More...
  | 
|   | 
| void  | setPublicNetwork (bool) override | 
|   | Syncword를 설정합니다.  More...
  | 
|   | 
| 
void  | setSyncword (uint8_t syncword) | 
|   | 
| 
void  | doCAD () override | 
|   | CAD (Carrier Activity Detection) 검사를 수행합니다. (LoRa 전용) 
  | 
|   | 
| void  | setIQMode (bool normal) | 
|   | LoRa I&Q 신호 모드를 설정합니다.  More...
  | 
|   | 
| 
void  | transmitCW () override | 
|   | Continuous Wave (CW) 신호를 송출합니다. (LoRa 전용) 
  | 
|   | 
| 
void  | transmitCW (bool enable) | 
|   | 
| void  | setOcp (bool enable, uint8_t iMax) | 
|   | Overload Current Protection (OCP) 설정을 합니다.  More...
  | 
|   | 
| 
void  | setStandby () override | 
|   | 
| 
State_t  | getStatus () override | 
|   | 
| 
virtual void  | setRadio (Radio::LoRaSF_t sf, Radio::LoRaBW_t bw, Radio::LoRaCR_t cr, bool crcOn=true, bool iqInverted=false, uint16_t symbTimeout=0, uint16_t preambleLen=8, uint8_t payloadLen=0, bool freqHopOn=false, uint8_t hopPeriod=0) | 
|   | 
| 
virtual void  | setRadio (uint32_t datarate, uint32_t bandwidth, uint32_t bandwidthAfc, uint32_t fDev, bool crcOn=true, uint16_t symbTimeout=0, uint16_t preambleLen=5, uint8_t payloadLen=0) | 
|   | 
| 
uint32_t  | getTimeOnAir (uint8_t payloadLen) | 
|   | 
| virtual void  | setFreqOffset (int32_t offsetHz) | 
|   | 중심 주파수 오차를 제거하기 위한 offset을 설정합니다.  More...
  | 
|   | 
| 
virtual int32_t  | getFreqOffset () | 
|   | 중심 주파수 오차를 제거하기 위한 offset을 가져옵니다. 
  | 
|   | 
| 
void  | setCcaThreshold (int16_t dBthreshold) | 
|   | 
| virtual int64_t  | getDeviceTimestamp () | 
|   | 장치 내부의 timestamp 값을 읽습니다.  More...
  | 
|   | 
 | 
| 
void  | configureTxPower (int8_t dBm) | 
|   | 
| 
void  | configureCodingRate (Radio::LoRaCR_t coderate) | 
|   | 
| 
void  | dio0Interrupt (GPIOInterruptInfo_t &) | 
|   | 
| 
virtual void  | reset () | 
|   | 
| 
virtual void  | select () | 
|   | 
| 
virtual void  | deselect () | 
|   | 
| 
virtual void  | setAntSwLowPower (bool status) | 
|   | 
| 
virtual void  | setAntSwRx () | 
|   | 
| 
virtual void  | setAntSwTx () | 
|   | 
| 
virtual bool  | usingPaBoost (uint32_t channel) | 
|   | 
| 
void  | ccaTask () override | 
|   | 
| 
void  | rxTimeout () | 
|   | 
| 
void  | writeBuffer (uint8_t addr, uint8_t *buffer, uint8_t size) | 
|   | 
| 
void  | write (uint8_t addr, uint8_t data) | 
|   | 
| 
void  | writeFifo (uint8_t *buf, uint8_t size) | 
|   | 
| 
void  | readBuffer (uint8_t addr, uint8_t *buffer, uint8_t size) | 
|   | 
| 
uint8_t  | read (uint8_t addr) | 
|   | 
| 
void  | readFifo (uint8_t *buffer, uint8_t size) | 
|   | 
| 
void  | setOpMode (uint8_t opMode) | 
|   | 
| 
void  | setTx () | 
|   | 
| 
void  | dio1Interrupt (GPIOInterruptInfo_t &) | 
|   | 
| 
void  | dio2Interrupt (GPIOInterruptInfo_t &) | 
|   | 
| 
void  | dio3Interrupt (GPIOInterruptInfo_t &) | 
|   | 
| 
void  | dio4Interrupt (GPIOInterruptInfo_t &) | 
|   | 
| 
void  | setModemFsk () | 
|   | 
| 
void  | setModemLoRa () | 
|   | 
 | 
| enum   | State_t { RF_IDLE = 0
, RF_RX_RUNNING = 1
, RF_TX_RUNNING = 2
, RF_CAD = 3
 } | 
|   | 
| 
static uint32_t  | TimeOnAir (Radio::LoRaSF_t, Radio::LoRaBW_t, Radio::LoRaCR_t, uint16_t preambleLen, bool fixLen, uint8_t payloadLen, bool crcOn) | 
|   | 
| 
static uint32_t  | TimeOnAir (uint32_t datarate, uint32_t bandwidth, uint16_t preambleLen, bool fixLen, uint8_t payloadLen, bool crcOn) | 
|   | 
| void(*  | onCADCompleted )(void *ctx, bool) = nullptr | 
|   | LoRa CAD (Carrier Activity Detection) 검사가 완료되면 호출될 콜백함수 포인터  More...
  | 
|   | 
| 
void *  | ctxOnCADCompleted | 
|   | onCADCompleted 가 호출될 때 함께 전달될 context 
  | 
|   | 
| 
int8_t  | antennaGain = 0 | 
|   | Antenna gain을 고려한 송신 출력(EIRP)을 사용하기 위한 antenna gain (단위: dBi) 
  | 
|   | 
| 
void(*  | onRxTimeout )(void *, GPIOInterruptInfo_t *) = nullptr | 
|   | 
| 
void *  | ctxOnRxTimeout | 
|   | 
| void(*  | onRxStarted )(void *, GPIOInterruptInfo_t *) | 
|   | 수신이 시작될 때 호출될 콜백함수 포인터  More...
  | 
|   | 
| 
void *  | ctxOnRxStarted | 
|   | onRxStarted 가 호출될 때 함께 전달될 context 
  | 
|   | 
| void(*  | onRxDone )(void *, GPIOInterruptInfo_t *) | 
|   | 수신이 완료될 때 호출될 콜백함수 포인터  More...
  | 
|   | 
| 
void *  | ctxOnRxDone | 
|   | onRxDone 이 호출될 때 함께 전달될 context 
  | 
|   | 
| void(*  | onTxDone )(void *, bool, GPIOInterruptInfo_t *) | 
|   | transmit() 후, 송신이 완료될 때 호출될 콜백함수 포인터  More...
  | 
|   | 
| 
void *  | ctxOnTxDone | 
|   | onTxDone 이 호출될 때 함께 전달될 context 
  | 
|   | 
| void(*  | onChannelBusy )(void *, GPIOInterruptInfo_t *) | 
|   | cca() 시 채널이 혼잡할 때 호출될 콜백함수 포인터  More...
  | 
|   | 
| 
void *  | ctxOnChannelBusy | 
|   | onChannelBusy 가 호출될 때 함께 전달될 context 
  | 
|   | 
| 
int16_t  | dBccaThreshold = -65 | 
|   | cca() 시 채널이 혼잡하다고 판단하기 위한 에너지 레벨을 설정합니다. (단위: dB, 기본값: -65) 
  | 
|   | 
| 
static uint8_t  | GetFskBandwidthRegValue (uint32_t bandwidth) | 
|   | 
| 
static void  | CCATask (void *) | 
|   | 
| 
SPI &  | spi | 
|   | 
| 
const int8_t  | pinReset | 
|   | 
| 
const int8_t  | pinCs | 
|   | 
| 
const int8_t  | pinDio0 | 
|   | 
| 
const int8_t  | pinDio1 | 
|   | 
| 
const int8_t  | pinDio2 | 
|   | 
| 
const int8_t  | pinDio3 | 
|   | 
| 
const int8_t  | pinDio4 | 
|   | 
| 
const int8_t  | pinRxTx | 
|   | 
| 
bool  | began = false | 
|   | 
| 
bool  | rxCrcOk = false | 
|   | 
| 
Radio::Modulation_t  | modem | 
|   | 
| 
State_t  | state | 
|   | 
| 
uint32_t  | channel | 
|   | 
| struct { | 
| 
   uint8_t   PreambleDetected | 
|   | 
| 
   uint8_t   SyncWordDetected | 
|   | 
| 
   uint16_t   NbBytes | 
|   | 
| 
   RadioPacket *   txFrame | 
|   | 
| 
   Timer   timeoutTimer | 
|   | 
| 
   uint16_t   timeoutValue | 
|   | 
| 
   uint32_t   Bandwidth | 
|   | 
| 
   uint32_t   Datarate | 
|   | 
| 
   uint8_t   FixedPayloadLen | 
|   | 
| 
   bool   CrcOn | 
|   | 
| }  | fskPacketHandler | 
|   | 
| struct { | 
| 
   int8_t   SnrValue | 
|   | 
| 
   Radio::LoRaCR_t   CodingRate | 
|   | 
| 
   Radio::LoRaBW_t   Bandwidth | 
|   | 
| 
   Radio::LoRaSF_t   Datarate | 
|   | 
| 
   bool   iqInverted | 
|   | 
| }  | loraPacketHandler | 
|   | 
| 
uint8_t  | rxBuffer [RX_BUFFER_SIZE] | 
|   | 
| 
uint16_t  | rxPacketSize | 
|   | 
| 
int16_t  | rssiValue | 
|   | 
| 
struct { | 
| 
   uint32_t   channel | 
|   | 
| 
   Radio::Modulation_t   modulation | 
|   | 
| 
   int8_t   txPower | 
|   | 
| 
   uint32_t   txTimeout | 
|   | 
| 
   union { | 
| 
      struct { | 
| 
         uint32_t   drHz | 
|   | 
| 
         uint32_t   bwHz | 
|   | 
| 
         uint32_t   afcBwHz | 
|   | 
| 
         uint32_t   fDevHz | 
|   | 
| 
         uint16_t   symbTimeout | 
|   | 
| 
         bool   addCrc | 
|   | 
| 
         uint16_t   preambleLength | 
|   | 
| 
         uint8_t   fixedPayloadLength | 
|   | 
|       }   FSK | 
|   | 
| 
      struct { | 
| 
         Radio::LoRaSF_t   sf | 
|   | 
| 
         Radio::LoRaCR_t   cr | 
|   | 
| 
         Radio::LoRaBW_t   bw | 
|   | 
| 
         uint16_t   preambleLength | 
|   | 
| 
         uint8_t   fixedPayloadLength | 
|   | 
| 
         bool   iqInverted | 
|   | 
| 
         bool   addCrc | 
|   | 
| 
         uint16_t   symbTimeout | 
|   | 
|       }   LoRa | 
|   | 
|    }  |  | 
|   | 
| }  | defaultSetting | 
|   | 
| 
volatile bool  | inCca = false | 
|   | 
| 
bool  | inChannelBusyHandler = false | 
|   | 
| 
int32_t  | freqOffset | 
|   | 
저전력 LoRaTM 및 FSK 무선 통신을 지원하는 Semtech의 SX1272