Anchor Firmware Changelog


[+]improved robustness against ESD 

[+]in case of DW1000 PLL Lock event, the anchor is restarted


[+] add support HW 1.6r0-OL Vista OmniLight
[+] minor changes


[+] minor changes


[+] moved from version 3.006beta1

[+] rename HW 2.1r0 to HW 1.6r0_SMA

[+] add product name


[b] fixed restart of anchoru during initialization cause by TWR and ESD protection feature
[b] fixed unwanted TWR sequence start


[b] fixed wrong active icon in web page Wifi OTA
[+] add support HW 1.6r0 and 2.1r0 [b] fixed reset button
[b] fixed TWR repeat on UDP Sync
[b] fixed calculation of DW temperature
[+] add ATWINC firmware update via HTTP

- add to TWR request multiple MAC address (max 19), number of repeats

- add TWR support for UDP Sync

- fixed Fault ISR generate by TWR

- removed clear of maxNoise in dwt_readdiagnosticsNoMaxNoise

- fixed TWR timeout to resolution of 1ms

- add rf config to TWR Reports

- add DW temperature to TWR Reports

- add Rx quality parameters to every TWR UWB frame

- fixed TWR Remote report

- extedn TWR sequence number to 16-bit

- removed TWR min_replyDelayUs

- removed UART

- remove UART prints and peripheral

- fixed DW SPI access during second dw initialization

- always call dw hw reset procedure for all platforms

- clear DW sys status register for CLK and RF PLL losing lock

- move init watchdog at top of main function

- check DW CLK PLL losing lock in init DW

- extend delayes in DW HW reset procedure

- remove soft-reset when RF or CLK PLL losing lock

- add support HW 1.5r5
- fixed TWR

- add TWR timeout

- add replyDelay to every TWR UWB frame


- add temporary static IP address after 15 seconds holding reset button
- In progress TWR auto deployment


- add crc and length check of firmware for bootloader

- add reading of bootloader firmware version

- fixed sending reports to remote network


[b] fixed I2C slave freeze

[b] fixed Tiva Errata I2C for I2C memory with MAC

[+] Read MAC address 3-times


- default sync mode TCP (keepSync)
- add Barometr to Info Report - default UDP Sync
- add barometer sensor DPS310 for HW 1.5r2 above, HW 2.0 - add led indication init error of barometer

- Add Master Bridge settings
- fixed configuration compatible for previous version 1.023 and 1.024

- fixed DW interrupt workarround at data rate 6M8

- fixed bug with Report Send Interval equal 0, Report Timer leave in infinity interrupts, watchdog do soft-reset

- added Report Universal

- fixed bug with no RX UWB Sync, always reconfigure RF profil even if Blink and Sync are same

- create function rtls_configUDPSyncScheduling and unify configuring UDP Sync scheduling

- fix disabling UDP Sync timer

- rewrite handling interrupts cleaning for Timers of UDP/TCP Sync

- fixed DW interrupt workarround at data rate 6M8

- fixed reception of TagConf or UDP Sync when synchronization mode TCP is select

- fixed not closed TCP Sync socket on Ethernet when Wifi is enabled

- Added EEPROM write/read interrupt protection

- Fixed configuration compatible for HW 2.0

- HTTP Tag Conf is always ok when UDP Sync is enabled

- Switchable Synchronization TCP or UDP via HTTP

- UDP Sync using LwIP socket

- Added preserve previous configuration after FW upgrade, for 1.021beta1 - 1.024, 2.001

[+] Added new synchronization based on TCP protocol, named as keepSync

[-] Removed UDP Sync support

[+] Tag Conf is controled by HTTP requests

[+] Added HTML page for Tag conf

[-/+] CIR is permament, disabled by default

[+] Added to statistics Wifi used TCP/UDP sockets

[+] Added ESD protection for DW

[-/+] Rewrite FET discharge procedure for DW

[+] Added LED firmware Startup indication

[+] Added delay time 100 ms to wait for TCXO stabilization (only HW 1.5, 2.0)

[-/+] Rewrite add Ethernet TCP client socket to universal

[+] Added new Report type I, needed by keepSync

[+] Porting to HW 1.5, 1.5r2

[+] Support DW EXT TXE and RXE for HW 1.5, 1.5r2

[-/+] One function for set UWB config - uwb_setRadioConfig

[-/+] Compressed HTML pages (shtml, htm, css, js)

[-/+] Wifi timeout changed to global timeout

[-/+] Rewrite add Wifi TCP client socket to universal


- add crc and length check of firmware for bootloader

- add reading of bootloader firmware version

- fixed sending reports to remote network

- fixed backward config compatibility after FW upgrade

- fixed 6M8 workarround

- Added ESD protection

- Added preserve previous configuration after FW upgrade, for 1.021beta1 - 1.024, 2.001, 2.002

- Added always reconfigure RF profil even if Blink and Sync are same

- Added delay time 100ms to wait for TCXO stabilization (only HW 1.5, 2.0)

- fixed DW interrupt workarround at data rate 6M8
- Fixed bug with Report Send Interval equal 0, Report Timer leave in infinity interrupts, watchdog do soft-reset

- Add multi context interrupt protection when save and read data to EEPROM

- Added text to Firmware version if ENABLE_INTERFERENCE_WIFI_UWB is enabled

- Separate antenna type choose for RF profile Sync and Blink (only HW 2.0)

- Added 3 tests via HTTP for DW because ESD freez

- Added workarround for DW in RF 6M8 delayed LDEDONE event

- Moved select UWB antenna before first Init of DW (only HW 2.0)

- Added platform HW 1.5, HW 1.5r2

- Rewrite function for reports formating with CIR

- Optimize SPI code for DW

- Fixed return value for port_readGPIOExtRx

- Rewrite FET discharge procedure

- Set GPIO driver strength to 8mA for DW SPI MISO,MOSI,CLK

- Set GPIO driver strength to 8mA for Wifi SPI MISO,MOSI,CLK


- fixed sending correct Report with CIR for UWB Sync

- fixed CIR index of FP in samples

- add to fillUpElements in sc.js protection to empty element


- changed default settings of UWB Sync and Blink (RF3) PRF 64, Preamble code 12.

- add feature disable LED indication of status or error. LED identification is remain and can be activate

- comment out part of condition in m2m_wifi.c (generated warning in compilation)

- macro ENABLE_UWB_CHANNEL_IMPULSE_RESPONSE for enable UWB Channel Impulse Response (CIR)

- change default Wifi SSID "RTLS Wi-Fi" and password "rtlswifi"

- add to deca_devic.c function dwt_read8bitoffsetreg

- moved UWB command "Force TRX Off" in dwt_isr after read Rx quality parameters (and CIR)

- add Wifi modul firmware vesion to HTTP index.shtml

- rewrite formatting of Report, simplify, changed calculation of offsets

- changed size of Report field "Report length" from 1 byte to 2 bytes

- add initialization of Wifi modul to wifi_init

- make portation to HW 2.0

- On HW 2.0 can be changed UWB Antenna (RF switch) by HTTP

- optimize and speed up interrupt from DW chip (now can handle 6M8 frames)

- replaced Reports send enable/disable with Localization Mode (Idle,Presence,Active), set Active by default

- changed Sync period error to 30ms

- changed code of DWM SPI if enabled SPI_ENABLE_BYTE_AGREGATION (disabled feature)

- add optional sequnce number to UDP Sync and same sequence number se to UWB Sync group sync seq number

- set default Report send interval to 20ms

- HTTP config requests are accept with only one parameter of all

- add to raw_index.shtml all information from raw_netsett and raw_radiosett

- add close socket UDP LwIP stats Ethernet

- fixed reconfigure socket when IP of RTLS server changed

- add feature disable sending Reports (5000) to server, ignore UDP Sync, drop UWB frames, also UDP stats (7000)

- add delay before soft reset MCU when error occure

- closing Ethernet UDP socket when reconfigure

- add red LED indication when DWM losing lock occure

- add to rtls.c TDMA Sync state

- now is UDP Sync accept when previous TDMA Sync timeslot is complete

- add to rtls state STATE_CONFIGURE when changing Blink or Sync UWB configure

- moved uwb_init in rtls_init - replaced dwt_rxenable with uwb_rxon in all files

- add text to Firmware version with/without Bootloader

- removed statistic S_ETH_TCP_SEGM_SENT_NO_ACK

- delete Report TCP error callback and move functionality to TCP sent callback

- removed from Report data_waitack and segments_waitack

- Report send interval is now simple multiply when full buffer occure

- change LED indication, RED led is for errors, Blue led is for status

- add MCU soft reset when DWM return Clock losing lock

- removed logo.png from web page

- disable log prints from WINC to UART

- close all remote TCP peers when HTTP socket closed

- add WIFI_HTTP_PEER_IDLE_TIMEOUT timeout and set to 2 seconds


- replaced Wifi HTTPd malloc by dedicated static array buffer, this should fix LwIP memory leakage

- removed from timeout function wifiTimeout_set immediate trigger

- fixed compile warnings in winc1500 driver

- Linker now using extern APP_BASE based on enabled Bootloader or not (macro FIRMWARE_WITH_BOOTLOADER)

- removed Report Late

- statistic changed fifo maximal used to actual fifo used

- statistic changed report agregation max to actual report agregation


- change mode of timer for generating Report interval to one-shot mode

- add to (raw_)index page Etherent/Wifi link and socket statuses

- new Report interval send is multiply when buffer error occure, minimal error interval is 50ms and can be multiply by 4 (to 200ms)

- new Report interval send with first succes after buffer full is set to configured interval immediataly (Fast)

- Report handler is called only in intervals or received UDP Sync

- add statistic Wifi TCP Report segment PER

- wifi UDP Report socket is closed in case of TCP enabled

- add fifo function packetFifoIsFull

- UWB fifo buffer dropping oldest record if buffer is full

- firmware version has field in summary (page index.shtml)

- add software reset WINC for HTTP socket and TCP Report socket when extended SOCK_ERR_FULL_BUFFER occure or other errors (e.g. SOCK_ERR_INVALID)

- add poll timeout functional for HTTP socket and TCP Report socket

- rewrite HTTP write, output and send procedure (faster TCP send)

- rewrite handling TCP Report socket and add states

- rewrite handling HTTP socket and HTTP deamon and add states

- disable WINC DHCP workarround

- rewrite UDP Report client workarround

- add generale .c/.h files for Timeouts

- add macro for enable Wifi DHCP workarround, WIFI_WORKARROUND_DHCP_ADRESS_EXPIRED_ENABLE - add TCP Report socket close when any error is in callback SOCKET_MSG_SEND - changed fields order in eActStatus - add macros for button reset code procedure - changed led indication when reset to default is applied - add check of null pointer in packetFifoAddFailed => speed up dwt_isr function when FIFO buffer is full. - add enable/disable feature WINC Firmware Debug logs - wifi get info is in interval 5 seconds - add documentation

- fixed access freez to FIFO buffer when it is full - changed default SSID to my_swt2 - default report send interval is 5ms - add statistics wifi connect and disconnect - changed statistic Wifi last RSSI - minimal report late send is 3ms, otherwise is half of report send interval - DWM SPI clock rate is set to 15 MHz - FIFO buffer dropping is set to 99% - add verify condition to httpd_wifi_recv in SOCKET_MSG_RECV callback - httpServerWifi_tcp_output now clear send_data_len - add httpd_wifi_close_conn to httpd_wifi_send_data and httpd_wifi_recv - add httpServerWifi_tcp_output to httpd_wifi_send_data - change position of UART printf in M2M_WIFI_RESP_CON_STATE_CHANGED - add web button for reset Anchor setting to default with reboot

- fixed droping TCP reports when wifi buffer is full - fixed anchor reboot in high UWB traffic caused by fault ISR in Ethernet handler - change format of web uptime to [d,h:m:s] - set wifi http server to 5 sockets - WINC SPI bus set to 1024 bytes of burst bytes

- fixed WINC1500 bug with DHCP client requesting prolong of IP address lease - add read WINC1500 status with get info every 3 seconds - add to wifi_isLinkUpNonBlock checking non zero IP address - in new Wifi settings create new HTTP config template

- fixed response for web config devsett.cgi from Wifi
- add verification of setting broadcast server ip adress with TCP report protocol

- fixed uwb sync sequence number order in redundant syncs
- always calculate UDP Sync period, UDP Sync correct, UDP Sync error, UDP Sync reliable - auto-UDP Sync by default disabled - UDP Sync period in mili-seconds

- rewrite handling Timer Events of TDMA Sync timeslot - add feature auto UWB Sync generating + compensation of UDP Sync received time offset - add web configuration of auto UWB Sync generation - add statistics for auto UDP Sync
- add TEST code for generating received UDP Sync and received UWB Blinks (purpose of UWB Tx and Wifi Tx)
- add testing code for UWB interference by WiFi (ENABLE_INTERFERENCE_WIFI_UWB) - add to statistics Wifi AP RSSI measure - remove from HW version test "Wifi"
- fixed handling wifi interrupt - increase SPI frequence with WINC1500 to 30 MHz - uptime in web page home is without decimal - HTTPd TCP timeout increased from 100ms to 2 seconds - bug workarround for WINC1500 Tx socket

- rename macro PLATFORM_ROUTER_CUBE_V1_0 to PLATFORM_ROUTER_CUBE_V1_3 - add support of HW Anchor v1.4
- set Wifi IP address, netmask, gw to zero when configure DHCP mode - removed wifi_TimerHandler - Ethernet and Wifi TCP connect to server is in minimal interval 1s - disable nagle algorithm in Ethernet TCP Report socket - rewrite delay of apply Ethernet network configure - rewrite Report sending, no wait for TCP ACK, send multiple packet via TCP/UDP - TCP Reports are dropped when links is down, server is unreachable, TCP is not connected to server - droping old received UWB frames in FIFO buffer when buffer is at 95% full - change format of HW version - rewrite wifi poll timeout delay
- verify RAM config after bootup - led_on - Wifi MAC is not send in CGI querry
- merge cgi querry wifisett to devsett - merge cgi querry repsett to netsett - changed return page with Ethernet and Wifi info in devsett.cgi querry - when wifi not available, send in SSI tag empty fields separate by | - set LED output strength to 8mA - removed redir.shtml
- add web querry to turn on LEDs - "same RTLS and Sync settings" is now readonly, compare is done internally
- Platform version is last parameter in SSI tag

- add statistics for Wifi/Ethernet TCP connection established and error - add Wifi UART prints Firmware version, ID, Driver version
- new wifi settings is applied after 1 second from send response page - UART prints contain HW version - LED indication handler is call every 10ms - Ethernet static ip is print after init - fixed Ethernet LED indication with zero IP address - Ethernet LED link down is indicated only when Wifi si disabled - formatting of Report blink always send tag data length - removed commented code

- set correct size of FLASH memory to linker - macros for wifi peripheral port is in port.h - wifi module can be disabled and exclude build files - fix bug with same value for first sync and switch to RTLS - add check for ethernet network address equal to 0 - fixed report socket reconfiguration when ethernet ip is changed - add reset period send of report timer when UDP Sync is received - when UDP Sync is received immidiate send reports - renamed function for control dwm - changed behave of LED indication, rewrite completely - changed variable type to uint16 for report.sendInterval - change Report send interval to mili-seconds - VERBOSITY set to USER - maked order in statistics, same for Wifi and Ethernet - same UART print for Wifi with network configuration - UART prints are unified - Up time is counted in second steps - add to Report error callback, same for Ethernet and Wifi - add error state and web status for EEPROM MAC address read error - reset network addresses when Ethernet is in DHCP mode and link is disconnected - Ethernet add Poll function when TCP report sent - rewrite behave when Ethernet is set to DHCP mode as non-blocking - add limit for Report interval to 35000ms max - to report TCP add detection remote window full - drop Reports when internal buffer is full - enable watchdog - enable software reset - add platform to index web page - Up time convert with days - add to web statistics color highlight for non zero values - fixed fault isr with Ethernet stack receive handler

- merge FIFO ToE and ToA to one FIFO - Wifi UDP Sync, Reports, HTTP are in same context - changed when UDP socket not ready to IF_ERR_CLSD (closed) - add WIFI_DEBUGF - change behave of wifi_hif_isr_UDP_Sync - interrupt clear, enable interrupt

- fixed correct apply of Report settings - add statistic for Report agregation max used - dwt_rxdiag_t is now packed - LwIP enable for TCP keepalive - disabled Wifi UDP Sync priorite handling in interrupt - add Ethernet support of TCP Reports - fixed Report internal buffer size - fixed length of REPORT_TOA_BLINK_SIZE - fixed return FIFO used size when buffer is full - add measuring DWM temperature only for UWB Sync RX and TX - fixed value UWB_SYNC_MSG_WITHOUT_FCS - add Wifi support of TCP Reports