Technology for wireless

Connecting devices to IoT via wireless mesh networks

Home » Technology » Operating system » OS functions

IQRF OS functions

This list is intended just for a quick insight in IQRF OS capabilities. The only exact information is in the Reference guide for given IQRF OS.
Unless otherwise stated, all functions are the void type and all their parameters are the uns8 type.

Control
iqrfSleep() Set the TR module in power saving mode (Sleep)
iqrfDeepSleep() Set the TR module in extremely power saving mode (Deep sleep)
setRFsleep() Set the RF IC in power saving mode (Sleep)
setRFready() Set the RF IC in ready mode (wake-up from Sleep)
debug() Enter the debug mode
uns8 getSupplyVoltage() Get voltage level for battery check
int8 getTemperature() Temperature measurement
Active (blocking) waiting
waitMS(ms) Active waiting (time in ms)
waitDelay(ticks) Active waiting (time in ticks)
waitNewTick() Wait for a new tick
Timing on background
startCapture() Resets counter of ticks
captureTicks() Get number of ticks counted
startDelay(ticks) Start waiting (time in ticks)
startLongDelay(ticks) Start long waiting (time in ticks)
bit isDelay() Still waiting
LED indication
setOnPulsingLED(ticks) LEDR and LEDG On times setting (for blinking)
setOffPulsingLED(ticks) LEDR and LEDG Off times setting (for blinking)
pulsingLEDR() Red LED activation (blinking on background)
pulseLEDR() Single red LED pulse (one flash on background)
stopLEDR() Red LED off, blinking stopped
pulsingLEDG() Green LED activation (blinking on background)
pulseLEDG() Single green LED pulse (one flash on background)
stopLEDG() Green LED off, blinking stopped
MCU EEPROM
uns8 eeReadByte(addr) Read one byte
eeReadData(addr,length) Read a block
eeWriteByte(addr, data) Write one byte
eeWriteData(addr, length) Write a block
Serial EEPROM
bit eeeReadData(addr) Read a 16 B block from serial EEPROM to bufferINFO
bit eeeWriteData(addr) Write a 16 B block from bufferINFO to EEPROM
RAM
uns8 readFromRAM(address) Read one byte
writeToRAM(address, data) Write one byte
void setINDF0(value) Indirect write via virtual INDF0 register
void setINDF1(value) Indirect write via virtual INDF1 register
Buffers
clearBufferINFO() bufferINFO clearing
clearBufferRF() bufferRF clearing
copyBufferINFO2COM() Copy bufferINFO to bufferCOM
copyBufferINFO2RF() Copy bufferINFO to bufferRF
copyBufferRF2COM() Copy bufferRF to bufferCOM
copyBufferRF2INFO() Copy bufferRF to bufferINFO
copyBufferCOM2RF() Copy bufferCOM to bufferRF
copyBufferCOM2INFO() Copy bufferCOM to bufferINFO
bit compareBufferINFO2RF(length) Comparison of bufferINFO and bufferRF
void swapBufferINFO() Swap bufferINFO and bufferAUX
Data blocks
copyMemoryBlock(uns16 from, uns16 to, uns8 length) Copy any data block to any position
moduleInfo() Get info about transceiver module and OS
appInfo() Copy info about application from EEPROM to bufferINFO
SPI
enableSPI() SPI communication line activation
disableSPI() SPI communication line deactivation
startSPI(length) SPI packet transmission
stopSPI() SPI stopping
restartSPI() SPI continuing
bit getStatusSPI() SPI status, update SPI flags
RF
setTXpower(level) RF power setting (7 levels)
setRFchannel(channel) Select RF channel
setRFmode(mode) Select RF power management mode
checkRF(level) Detect incoming RF signal
getRSSI() Get RSSI value of incoming RF signal
RFTXpacket() Send a packet from bufferRF via RF
bit RFRXpacket() Receive a packet via RF to bufferRF
Networking
setCoordinatorMode() Device is the Coordinator
setNodeMode() Device is a Node
setNonetMode() Networking disabled
setNetworkFilteringOn() Packets accepted from current network only
setNetworkFilteringOff() Packets accepted from both networks
uns8 getNetworkParams() Get information about the network
void sendFRC(cmd) Request for Fast Response Command
void responseFRC() Answer to Fast Response Command
bit amIRecipientfOfFRC() Evaluate whether the FRC conmmand is intended for given Node
Routing
setRoutingOn() Outgoing packets routed via other devices on background
setRoutingOff() No routing for outgoing packets
uns8 discovery(MaxNodeNumber) Discover Nodes for routing
answerSystemPacket() Enable response to Coordinator for Discovery and Node authorization
bit isDiscoveredNode(N) Check for being discovered
bit wasRouted() Indicate incoming packet routing
optimizeHops(method) Optimize number of hops for given Node
Bonding - Node
bit bondRequestAdvanced() Request for bonding (local or remote)
bit amIBonded() Is the Node bonded?
removeBondAddress() Changing Node address to universal address (0xFE)
removeBond() Unbonding
prebondNodeAtNode() Preparing Node for remote bonding via another Node
Bonding - Coordinator
bit bondNewNode(address) Local bonding a Node
bit prebondNodeAtCoordinator(address) Preparing Node for remote bonding via Coordinator
nodeAuthorization() Remote bonding of prebonded Node
bit isBondedNode(N) Is the Node bonded?
removeBondedNode(N) Unbonding a Node
bit rebondNode(N) Rebonding a Node
clearAllBonds() Clearing of all bonds
Encryption
setAccessPassword() Set Access password
setUserKey() Set the key for user encryption and decryption
encryptBufferRF(W) Encrypt bufferRF
decryptBufferRF(x) Decrypt bufferRF
RFPGM
enableRFPGM() Set to switch to RFPGM mode after reset
disableRFPGM() Set not to switch to RFPGM mode after reset
runRFPGM() Switch to RFPGM mode
setupRFPGM(x) Setup RFPGM parameters