|
Nol.A SDK Library
25.8.1
For IoT System Software Development
|
Decawave DW1000 Radio Transceiver. More...
#include <DW1000Chip.hpp>
Classes | |
| struct | Config_t |
Public Types | |
| enum | Prf_t { PRF_16M = 1 , PRF_64M = 2 } |
| Constants for specifying the (Nominal) mean Pulse Repetition Frequency. More... | |
| enum | Plen_t { PLEN_4096 = 0x0C , PLEN_2048 = 0x28 , PLEN_1536 = 0x18 , PLEN_1024 = 0x08 , PLEN_512 = 0x34 , PLEN_256 = 0x24 , PLEN_128 = 0x14 , PLEN_64 = 0x04 } |
| enum | Br_t { BR_110K = 0 , BR_850K = 1 , BR_6M8 = 2 } |
| Constants for selecting the bit rate for data TX (and RX) More... | |
| enum | Pac_t { PAC8 = 0 , PAC16 = 1 , PAC32 = 2 , PAC64 = 3 } |
| Constants for specifying Preamble Acquisition Chunk (PAC) Size in symbols. More... | |
| enum | PhrMode_t { PHRMODE_STD = 0x0 , PHRMODE_EXT = 0x3 } |
Public Member Functions | |
| DW1000Chip (SPI &, SPI::Mode_t mode, int8_t pinIrq, int8_t pinRstN, int8_t pinCsN, int8_t pinWakeup=-1) | |
| error_t | begin (bool loaduCode, Config_t *params) |
| 장치를 시작합니다. More... | |
| error_t | begin (Config_t *params) |
| Micro code 적재와 함께 장치를 시작합니다. More... | |
| error_t | begin () override |
| Micro code 적재 및 디폴트 DW1000Chip::Config_t 로 장치를 시작합니다. More... | |
| virtual error_t | readFrame (RadioPacket *frame) override |
| 수신 버퍼에서 프레임을 읽습니다. More... | |
| virtual bool | bufferIsEmpty () override |
| virtual void | flushBuffer () override |
| virtual void | sleep () override |
| virtual void | wakeup () override |
| virtual error_t | transmit (RadioPacket *frame) override |
| virtual bool | cca () override |
| 채널이 혼잡한지 아닌지 검사합니다. More... | |
| virtual int8_t | getTxPower () override |
| 아무 것도 하지 않습니다. getTxPowerControl() 을 사용하세요. | |
| virtual void | setTxPower (int8_t dBm) override |
| 아무 것도 하지 않습니다. setTxPowerControl() 을 사용하세요. | |
| virtual void | setTxPowerControl (bool enableSTP, uint32_t value) |
| Tx power 설정을 수행합니다. More... | |
| virtual uint32_t | getTxPowerControl (bool *STPisEnabled) |
| Tx power 설정값을 가져옵니다. More... | |
| virtual void | setChannel (uint32_t channel) override |
| 채널을 설정합니다. | |
| virtual uint32_t | getChannel () override |
| 현재 설정된 채널을 반환합니다. | |
| virtual int64_t | getDeviceTimestamp () override |
| 장치 내부의 timestamp 값을 읽습니다. More... | |
| void | reset () |
| void | configure (Config_t &) |
| void | setrxantennadelay (uint16_t rxDelay) |
| void | settxantennadelay (uint16_t txDelay) |
| void | setrxaftertxdelay (uint32_t rxDelayTime) |
| void | setrxtimeout (uint16_t time) |
| void | handleInterrupt (GPIOInterruptInfo_t &) |
Public Member Functions inherited from PacketRadioChip | |
| void | setCcaThreshold (int16_t dBthreshold) |
Protected Member Functions | |
| error_t | startup (bool loaducode=true, Config_t *params=nullptr) |
Additional Inherited Members | |
Public Attributes inherited from PacketRadioChip | |
| 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) | |
Decawave DW1000 Radio Transceiver.
| enum DW1000Chip::Br_t |
Constants for selecting the bit rate for data TX (and RX)
These are defined for write (with just a shift) the TX_FCTRL register.
| Enumerator | |
|---|---|
| BR_110K | UWB bit rate 110 kbits/s. |
| BR_850K | UWB bit rate 850 kbits/s. |
| BR_6M8 | UWB bit rate 6.8 Mbits/s. |
| enum DW1000Chip::Pac_t |
Constants for specifying Preamble Acquisition Chunk (PAC) Size in symbols.
| enum DW1000Chip::Plen_t |
\briefConstants for specifying TX Preamble length in symbols
These are defined to allow them be directly written into byte 2 of the TX_FCTRL register. (i.e. a four bit value destined for bits 20..18 but shifted left by 2 for byte alignment)
| enum DW1000Chip::Prf_t |
Constants for specifying the (Nominal) mean Pulse Repetition Frequency.
These are defined for direct write (with a shift if necessary) to CHAN_CTRL and TX_FCTRL regs.
| Enumerator | |
|---|---|
| PRF_16M | UWB PRF 16 MHz. |
| PRF_64M | UWB PRF 64 MHz. |
|
inlineoverridevirtual |
Micro code 적재 및 디폴트 DW1000Chip::Config_t 로 장치를 시작합니다.
Implements PacketRadioChip.
| error_t DW1000Chip::begin | ( | bool | loaduCode, |
| Config_t * | params | ||
| ) |
장치를 시작합니다.
| loaduCode | Micro code 적재 여부 |
| params | 환경 설정 파라미터 |
|
inline |
Micro code 적재와 함께 장치를 시작합니다.
| params | 환경 설정 파라미터 |
|
overridevirtual |
채널이 혼잡한지 아닌지 검사합니다.
채널이 혼잡하다고 감지되는 순간, onChannelBusy 가 가리키는 콜백함수가 호출됩니다.
Implements PacketRadioChip.
|
overridevirtual |
장치 내부의 timestamp 값을 읽습니다.
Timestamped Tx를 지원하거나 Rx timestamp를 지원하는 장치에 한해 내부의 현재 timestamp 값을 읽습니다. 단위는 장치의 종류에 따라 다릅니다. 지원하지 않는 장치거나 읽을 수 없을 때 -1을 반환합니다.
Reimplemented from PacketRadioChip.
|
virtual |
Tx power 설정값을 가져옵니다.
| STPisEnabled | Smart Tx Power Control 활성화 여부 (SYS_CFG register의 DIS_STXP bit) |
|
overridevirtual |
수신 버퍼에서 프레임을 읽습니다.
frame 이 NULL 이거나, frame 내부 버퍼가 충분히 크지 않아서 실패 Implements PacketRadioChip.
|
virtual |
Tx power 설정을 수행합니다.
| enableSTP | Smart Tx Power Control 활성화 여부 (SYS_CFG register의 DIS_STXP bit) |
| value | TX_POWER register에 설정할 값 |