IQRF Technology for wireless

Technology for wireless

TR-5xD OS v3.06D to TR-7xD OS v3.07D

Migration from lower OS versions

Migration from OS v3.08D to OS v4.00D for TR-7xD

Features OS v3.08D OS v4.00D
RF packet interoperability
between OS v3.xxD and v4.xxD
Not interoperable
Networking with more than 240 devices Supported Not supported
IQMESH implementation DPA or non-DPA DPA only
setUserAddress() Implemented Not implemented
setRFband() Implemented Not implemented
Networking RF packet propagation time   Prolonged due to encryption
RF IC restart after RF failure detection Not available wasRFICrestarted()
deepSleep() Not implemented Implemented
getINDF0() and getINDF1() Obsolete Not implemented
clearBufferINFO() and clearBufferRF() Complete buffer is cleared Can be limited by memoryLimit
swapBufferINFO() Complete buffer is swapped Can be limited by memoryLimit
eeReadData() return value None (void) Bit (at least one zero read)
eeReadData() and eeWriteData() data length 1 B to 32 B, default 32 B 1 B to 64 B, default 32 B
Using memoryOffsetTo and memoryOffsetFrom
with eeReadData() and eeWriteData()
Not available Available
Serial EEPROM mapping Dedicated to OS 0x0000 – 0x07FF, default
cleared, not write protected
0x4000 – 0x7FFF, default not cleared,
write protected
User available 0x0800 – 0x7FFF 0x0000 – 0x3FFF
Application info default setting “Hello everybody. IQRF is here!” Cleared
writeToRAM() and appInfo() implementations OS functions Macros
Network variables for DPA renamed 3 ms Selectable 4 ms or 8 ms
Preamble length in STD TX MPRW0, MPRW1, MPRW2 PNUM, PCMD, PPAR
Preamble quality check for checkRF(x) Not available Available
Alternative names of routing variables RTDT0-3 also allowed RTHOPS, RTSLOT, RTDID, RTAUX only
Alternative names for RTAUX (formerly RTDO3) RTDT3, RTV3, RX2BH, OTX2BH RTAUX only
Number of Nodes addressed by FRC (bytes collected) 62 (1 B mode), 30 (2 B mode) 63 (1 B mode), 31 (2 B mode)
bondRequest() Obsolete Not implemented
FRC duration   Slightly longer
Possible vacations within bonding addresses during
bondNewNode(0) and nodeAuthorization(x,0)
Should be avoided Allowed, the lowest free address is used (unless otherwise requested)
Parameter 0xFF at nodeAuthorization(x) Not available Available
Node prebonding functions
(see IQRF OS Reference guides for differencies)
prebondNode() prebondNodeAtNode()
prebondNodeAtCoordinator()
Flag _prebondNode for Node prebonding and authorization Must be handled by the user Not used
User data exchanged during prebonding 2 B, via special variables 4 B, via bufferRF
Bonding variables DataInPrebondNode,
DataOutPrebondNode, DataInBondRequestAdvanced,
DataOutBondRequestAdvanced
Used Replace by universal variable UserBondingData
MID passed by nodeAuthorization() Lower 2 B, via MIDoutBondRequest Complete 4 B, via BondingNodeMID
Waiting for nodeAuthorization finishing No waiting (non-blocking,
running in OS background)
Waiting (blocking, running in OS foreground). No user delay is needed.
Networking packets allowed for prebonded Nodes RX Allowed Node authorization system packets only
TX Allowed Not allowed
amIRecipientOfFRC() return value for non-selective FRC Always true true only for Nodes with addresses within given range
RF communication security / encryption Proprietary coding AES-128 (User, Networking and Access)
TRs to be operated in Israel (IL version) Not available Available
Basic IQRF header file template-basic.h Renamed to IQRF.h

Migration from OS v3.08D to OS v3.09D for TR-7xD

It is meaningless to migrate from OS v3.08D to v3.09D unless the application should be operated in Israel.

Features OS v3.08D OS v3.09D
TR-7xDx-IL (intended for Israel, with RF band/channel limitation.
See IQRF OS User's guide, Appendix 2, 916 MHz channel map.)
Not supported Supported
Downgrade to lower OS versions Possible to v3.07D or v3.06D Restricted

Migration from OS v3.07D to OS v3.08D for TR-7xD

Features OS v3.07D OS v3.08D
916 MHz and 433 MHz bands Not supported Supported
Number of RF channels for 433, 868 and 916 MHz band 16, 62 resp. 189 (at TR-5xD) 17, 68 resp. 255 (at TR-7xD)
isBondedNode() return value for Nodes from 0xF0 to 0xFF Not defined Defined
Overflow bug in sending 2B selective FRC May occur in very special cases Fixed
optimizeHops() output value for not discoveded Node Number of bonded Nodes Number of discovered Nodes
setRFmode() WDT side effect Yes Fixed

Migration from OS v3.07D to OS v3.08D for TR-5xD

Features OS v3.07D OS v3.08D
isBondedNode() return value for Nodes from 0xF0 to 0xFF Not defined Defined
Overflow bug in sending 2B selective FRC May occur in very special cases Fixed
optimizeHops() output value for not discoveded Node Number of bonded Nodes Number of discovered Nodes

Migration from TR-5xD OS v3.06D to TR-7xD OS v3.07D

Features TR-5xD with OS v3.06D OS v3.07D
MCU clock 8 MHz 16 MHz
SPI Faster. See Tech_Guide_SPI_TR-7xD.
calibrateTimer function Obsolete Not implemented
916 MHz band Implemented Not yet implemented
RF bit rate 19.2 kb/s 19.836 kb/s. Other bit rates coming later.
LP modes Implemented Improved, power consumption lowered
XLP modes Implemented Implemented for not routing networking only
checkRF Internal offset 32 36
Values related to Relative range dBm
Recommended level for noise-free environment 5 0
getRSSI Measures current value.
Takes 66 µs.
Just reads the last value from RF IC stored there after checkRF or RFRXpacket.
Value relates to dBm. Takes a few µs.
RFIM receive mode Implemented Not implemented
Incoming signal in LP and XLP filtering Selectable in setRFmode(m) Derived automatically from last checkRF(x)
Macro setRFRXchain Supported Not supported
Stay in RX mode Implemented Not implemented. checkRF, RFRXpacket and RFTXpacket always return to RF ready mode
RF CRC checking Proprietary CRC16 IBM
FRC Selective FRC Not supported Supported
2 B FRC Not supported Supported
_wasFRC flag Not implemented Implemented
amIRecipientOfFRC() Not implemented Implemented
Max. delay before responseFRC calling 40 ms Selectable by extraProcessingTicksFRC
getTemperature Temperature sensor TMP112 MCP9808
Resolution 12 b (0.0625 °C) 9 b resolution (0.5 °C)
Return value 0x80 If temperature sensor is not assembled If error in communication with temperature sensor is detected
Delay required after wake up from sleep and in (X)LP RX modes 100 ms 300 ms
Duration ~ 1.5 ms ~ 2 ms
Serial EEPROM Coordinator EEPROM data consistency Not checked Checked by several OS functions
Memory size 2 KB (0 to 0x7FF) 32 KB (0 to 0x7FFF)
Read block 16 B (fixed)
Starting address divisible by 16
1 to 64 B (selectable)
Any starting address
Write block 16 B (fixed)
Starting address divisible by 16
1 to 64 B (selectable)
Any starting address. Not crossing 64 B block.
eeeReadData and eeeWriteData return values Void Bit – successful access indication
_eeeError flag Not implemented Set by several OS functions
Access error check Not implemented Performed by several OS functions, return values added
RFPGM versions Lite and Standard Standard, using IQRF IDE CATS tool only
OS upgrade / downgrade at the user Available

Migration from OS v3.07D (build 0850) to OS v3.07D (build 0852) for TR-5xD

Features TR-5xD with OS v3.06D OS v3.07D
Bug in RFPGM termination by low level on dedicated pin in case of strong RF noise Yes Fixed

Migration from OS v3.06D to v3.07D (build 0850) for TR-5xD

Features OS v3.06D OS v3.07D
RFIM receive mode Implemented Not implemented
Incoming signal in LP and XLP filtering Selectable in setRFmode(m) Derived automatically from last checkRF(x)
RF CRC checking Proprietary CRC16 IBM
FRC Selective FRC Not supported Supported
2 B FRC Not supported Supported
_wasFRC flag Not implemented Implemented
amIRecipientOfFRC() Not implemented Implemented
Max. delay before responseFRC calling 40 ms Selectable by extraProcessingTicksFRC
getTemperature return value 0x80 If temperature sensor is not assembled If error in communication with temperature sensor is detected
Serial EEPROM Coordinator EEPROM data consistency Not checked Checked by several OS functions
Read block 16 B (fixed)
Starting address divisible by 16
1 to 64 B (selectable)
Any starting address.
eeeReadData and eeeWriteData return values Void Bit – successful access indication
_eeeError flag Not implemented Set by several OS functions
Access error check Not implemented Performed by several OS functions, return values added
RFPGM versions Lite and Standard Standard, using IQRF IDE CATS tool only
OS upgrade / downgrade at the user For v3.06D and higher versions only
For other OS versions at the factory only

Migration from OS v3.05D to v3.06D

Features OS v3.05D OS v3.06D
Silent mode in RFPGM configuration Not supported Supported
userStatus after power-on reset Not cleared Cleared
Flag -POR (bit PCON.1) after OS boot Unchanged Set to log. 1
Flags IOCBN and IOCBF within iqrfSleep() Cleared by OS Unchanged (not cleared by OS)
bufferCOM side effect after sendFRC(x) bufferCOM destroyed bufferCOM unchanged
SWDTEN = 0 precondition for answerSystemPacket() Must be accomplished by the user Accomplished by OS
RFmode, SWDTEN and toutRF sideffects in anwerSystemPacket(), discovery(x), bondNewNode(x), prebondNode(), bondRequestAdvanced(), bondRequest(), sendFRC(x) and responseFRC() See Side effects and Preconditions for these functions in IQRF OS Reference guide RFmode, SWDTEN and toutRF unchanged after calling these functions
Coordinator mode selecting before sendFRC(x) Must be accomplished by the user Accomplished by OS
Background LED activity disabling before RFRXpacket() in LP or XLP or before iqrfSleep() Must be disabled in application Disabled by OS
RFPGM LP mode Not supported Supported
runRFPGM() preconditions _enableUserInterrupt = 0; setNonetMode(); setNetworkFilteringOff(); Must be called in application Included in runRFPGM() function
DFM2B routing Tested Not tested
Forced LP routing Not supported Supported
XLP No wait option Not supported Supported
Advanced FRC Not supported Supported
DataOutBeforeResponseFRC and DataInSendFRC size and location 2 B, in dedicated variables 2 B or 30 B, in bufferRF
Bonding in LP and XLP modes Not supported Supported
Discovery and FRC in LP mode Not supported Supported
OptimizeHops(x) for not discovered Nodes Ignoring of not discovered Nodes must be arranged in application Ignoring of not discovered Nodes is arranged by OS
Interrupt on pin change (via flag IOCBF) Not enabled Enabled
Serial EEPROM upload from IQRF IDE Not supported Supported
Serial EEPROM default values Undefined Cleared (filled with 0x00)
User area in MCU EEPROM default values Undefined Cleared (filled with 0x00)

Migration from OS v3.04D to v3.05D

Features OS v3.04D OS v3.05D
FRC (Fast Response Command) Not supported Supported
Remote prebonding by Coordinator Not supported Supported
2 B user data exchanged during prebonding Not supported Supported
Variable memoryLimit for buffer copying Not applicable Applicable
Power consumption in LP and XLP modes - Improved management during routing
Licensed Flash memory 1984 machine instructions 3008 machine instructions
DPA framework support v1.00 v2.00
TR vs. DCTR differentiation No DCTR available DCTR available
IQRF IDE support v4.13 or higher v4.15 or higher
C compiler CC5X version required by some IQRF examples 3.04I 3.5
DQI implementation in function checkRF() Via OS patch PATCH_3040666_01 Included in OS

Migration from OS v3.03D to v3.04D

Features OS v3.03D OS v3.04D
Remote bonding Not implemented Implemented
RFPGM (wireless upload) version Lite Standard
DPA (Direct Peripheral Access) Not supported Supported
removeBondAddress function Not supported Supported
TR configuration via IQRF IDE Not supported Supported
OS function setRFband Available Replaced by TR configuration
Licensed Flash memory 2016 machine instructions 1984 machine instructions
Detection of temperature sensor and serial EEPROM on the TR module Not supported Supported via TR Configuration
RFTXpacket duration - Prolonged for cca 3 ms
RF RX mode before initiating RFPGM, bondRequest or bondNewNode STD mode must be selected first Applicable in any RX mode
LED indication during Discovery Always enabled Controlled by bit _systemLedIndication
Wait Packet End feature improvement Via OS RX-timeout-patch Included in OS
STKPTR handling when using RFPGM STKPTR = 0x1F must be placed as the first command of application program Included in OS
Discovery parameter Number of zones Max. logical address of routing nodes
IQRF IDE support v4.11 or higher v4.13 or higher

Migration from OS v3.02D to v3.03D

Features OS v3.02D OS v3.03D
Function getRSSI Not implemented Implemented
DPA network visualization Not supported Supported
Function RFRXpacket in LP and XLP modes A/D stays on after termination A/D is switched off after termination
RFPGM termination 1 s after reset Even if RFPGM in progress If RFPGM is not in progress
NID after removeBond Not cleared Cleared
Sender′s address availability for Coordinator in DFM2B Not available in OS registers Available in OS registers
TX preamble in XLP
  • 1 s (OS without
    PATCH_3.02XLPXTTIME)
  • 900 ms (OS with
    PATCH_3.02XLPXTTIME)
900 ms
Recommended time slot for XLP routing
  • 1.2 s (OS without
    PATCH_3.02XLPXTTIME)
  • 1 s (OS with
    PATCH_3.02XLPXTTIME)
1 s
IQRF IDE support v4.00 or higher v4.11 or higher

Migration from OS v3.01D to v3.02D

Features OS v3.01D OS v3.02D
Functions setINDFx and getINDFx Not available Available
User interrupt Not available Available
Using restricted register Replaced by the nop instruction Replaced by the reset instruction
Reset detection in userReg0 _TO, _PD, _POR, _BOR flags _RI, _RMCLR, _STKUNF and _STKOVF added
Timer6 Not user available User available
Power consumption LP: 400 µA, XLP: 35 µA LP: 330 µA, XLP: 25 µA
Cycle duration LP: 40 ms, XLP: 500 ms LP: 46 ms, XLP: 770 ms
toutRF timing Less precise. 0 not allowed. More precise. 0 means 2.560 s.
System tick timing More precise.
Module Info Available in PGM mode only Can also be read by SPI master
moduleInfo() side effects None bufferINFO[8 to 63] is modified
ntwPVRN network register Not available Available
Restriced access to several registers INDFx and EECONx restricted More registers restricted, see RAM access restrictions.
Wakeup on pin change Simplier macro sleepWOC() More complex macro sleepWOC()
discovery() More effective for small networks

Migration from TR-5xB

Features OS v3.00 OS v3.01D
MCU PIC16F886 Powerful PIC16LF1938 with efficient architecture and extended resources
User available MCU resources:
RAM 40 B 96 B
Communication buffers (RF, COM, INFO and AUX) 64 B, 41 B, 35 B, 32 B 128 B *, 64 B, 64 B, 64 B
Program memory (Flash) 1024 words 1536 words
RAM addressing Traditional Traditional and linear
Stack levels 0 to 2, depending on OS functions used 5
writeToRAM() / readFromRAM() handling IRP must be set before No settings needed
External serial EEPROM For OS only 16 kb user available (not for Coordinator utilizing Discovery)
Brown-out reset (BOR) Enabled during operation and disabled in Sleep Default disabled, can be enabled by SW (SBOREN = 1)
Watchdog
  • Timeout period from 1 ms 268 s
  • Handling by WDTCON and OPTION
  • Default enabled, can be disabled by SW (SWDTEN = 0)
  • Timeout period from 1 ms to 256 s
  • Simplified handling
    (by WDTCON only)
  • Default disabled, can be enabled by SW (SWDTEN = 1)
Wake-up from sleep on pin change Both edges always active Selectable edge: rising/falling/both
Required sequence changed
Temperature sensor Accuracy ±2 oC max., sensor MCP9700A Accuracy 0.5 oC, sensor TMP112
Function getTemperature() changed
Register param1 Used Not used
reset() OS function, iduced by watchdog MCU machine instruction
getNetworkParams() return value Used Not used, parameters available in respective registers
checkRF() 1 ms (or 350 µs staying in RX mode) 1.4 ms (or ~690 µs staying in RX mode)
Access to system, RF and network parameters via RAM registers (read/write or read only) Just a few parameters available (toutRF, …) as RAM registers. Some others available via getNetworkParams(). Extended (RF channel, RF power etc.). See Appendix 1, memory maps.
SPI packet length up to 41 B up to 64 B. IQRF IDE v4.02 beta supports SPI packets up to 60 B only.
CLID0 and CLID1 registers Renamed to NID0 and NID1
RF PGM Lite (wireless upload) OS plug-in Included in OS
IQRF IDE v2.08 v4.00 or higher

 

 

IQRF videos
IQRF Twiter   IQRF Twiter   RSS
News     Subscribe
Website Security Test