Technology for wireless

Connecting devices to IoT via wireless mesh networks

Migration from lower OS versions

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
Coordinator EEPROM data consistency Not checked Checked by several OS functions
Serial EEPROM 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
Coordinator EEPROM data consistency Not checked Checked by several OS functions
Serial EEPROM 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