Release Notes for DABRF firmware =============================================================================== Author: Sven Mulka Company: Ingenieurbüro Mulka, Software & Data Communication Copyright (c) 2014 - 2024, by IB-Mulka http://www.ib-mulka.de Content: This document describes the product changes from the customer's perspective. =============================================================================== Version 1.2403.xxxx 2024-03-07 Pre-Release =============================================================================== Firmware 1.2403 - Bug: TCXO synchronization to GPS was broken - Bug: Faulty EDI input streams can cause an exception in the TX path, resulting in a device reboot. - Add UTF-8/USC2/EBU support for printing of ensemble label in WebGUI =============================================================================== Version 1.2401.xxxx 2024-02-07 Pre-Release =============================================================================== Firmware 1.2401 - Clear RX database if frequency has been changed. - The GNSS receiver may have a date issue, where $GPRMC contains a wrong date, around 19.7 years back to the past. DABRF will correct the date and the issue will be signalled by node dabrf.gps.stat.rollover=1 - Add aging for GNSS satellite database - Add static IP config. Add node dabrf.ip - Add zero padding for Ethernet packets shorter than 60 bytes. - Extend the LED using to signal RX and TX status - Add a delay before send the response for frequency change. This gives some more time for NULL symbol detection during channel scan. - Provide mDNS entries for DABRF service, with this the DABRF can be found by a mDNS service scan. Web-GUI 1.2401 - Add page for Network Config - After channel scan the strongest channel should be selected. =============================================================================== Version 1.021.2216v3 2021-03-08 =============================================================================== Web-GUI Version 1.021.2 - Correct spelling error (weak signal) =============================================================================== Version 1.021.2216v2 2021-01-15 =============================================================================== Web-GUI Version 1.021.1 - Inform the user about additional settings in Chromium browsers to improve the file recording. - Use a max duration of 4 hours on secure origin. can be configured by 'dabrf.recorder.max_duration_secure'. - Play some different notification sounds at beginning and end of recording. - Use the some Quality table and colors as GPS-Campaign-Converter - Use long button press to store the current frequency on Station button and play a notification sound. - Sounds can be disabled by localStorage 'dabrf.sound.disabled'='true' =============================================================================== Version 1.021.2216 2021-01-06 =============================================================================== Firmware: - Add node dabrf.gps.cfg.reset_mask to enable/disable the GPS reset() function, which is needed for firmware update of GPS module Web-GUI Version 1.021.0 - Optimize rendering and responsive design for better tablet support - Add EDI recording to RX Dashboard - Add Station Buttons to RX Dashboard - Avoid wrong signalling of loading process in Firefox - Add RSSI correction and unit conversion, e.g. support for dBµV and dBµV/m - Increase the TII label size from 10px to 12px. - Clear all charts and field in case of invalid SYNC. - Add Quality classification based on MER value, where the classification is defined in localStorage. - Add simple bargraphs for RSSI, SNR and MER. - Use the last known device-id for file or localhost. - Add channel scanner with station buttons. - Pace.js does not stop after resource loading on Firefox, we have to disable eventLag. =============================================================================== Version 1.020.2210 2020-09-18 =============================================================================== Firmware: - Add nodes load(), save(), default() to dabrf.tx.cfg and dabrf.rx.cfg to store the configuration as file in i2c:/boot/. The config will be loaded at boot time by DABRF firmware. - Use GPS time as time info for FATFS in DABRF, can be checked by telnet command "fatfs.time". - Add timestamp to all LOG messages of LOG session on port 1400. Web-GUI Version 1.020.4 - add drop-down menu entries to load/store/restore the RX and TX config on the device, the config will be loaded at boot time as default configuration. =============================================================================== Version 1.020.1360 2020-07-31 =============================================================================== Firmware: - extend the JSON node dabrf.gps.status.sat to get some more details about the satellite database. - avoid delayed console outputs if a firmware update is running in background. Web-GUI Version 1.020.3 - display number of satellites in view and in usage as GPS status =============================================================================== Version 1.020.1354 2020-06-11 =============================================================================== Firmware: - add support for uploading multiple files to RAM-DISK Web-GUI Version 1.020.2 - add control for LNA Gain Mode - add webpage for TX calibration - add menu entries for RX and TX calibration - add drop-down menu entries to save and upload RX and TX calibration tables - add drop-down menu entries to upload files to RAM-Disk - all new menu entries are hidden normally, these can be enabled via localStorage entry 'dabrf.maintenance'='true' =============================================================================== Version 1.020.1350 2020-06-05 =============================================================================== Firmware: - Avoid CIR smoothing if the sampling rate has a very high deviation (> 1ppm). - Use the CIR peek position to estimate the sampling rate deviation. - Avoid high amplifying of TII carrier pairs if no TII is present. - Optimize TII decoding and visualizing. Web-GUI: - Add glue logic to control the TX path. - Add glue logic to save and restore the TX config as JSON file. - Add glue logic to save and reload the RX metrix as JSON file. =============================================================================== Version 1.019.1342 2020-02-25 =============================================================================== Firmware: - Add smoothing for CIR chart - Add TII decoding, can be requested by dabrf.rx.stat.tii. The TII status is also available in EDI as "tii_" tag and in the Websocket as "dabrf.rx.tii" binary structure. - Extend the telnet command parser to support arguments with embedded quotes - Correct an exception if the DABRF-Player is running in the loop. - Automatic reset the device after 10 seconds in case of an internal exception. - The request of "dabrf" gives now the list of sub-trees only, with "..." string as content. All hidden structures or arrays will be printed also as "..." string, which gives an indication of presents of such sub-tree. - Extend the NMEA parser to $GLGSA and $GNGSA messages, this is useful for decoding of GLONAS data independing from the GPS-RX firmware version. - Avoid blocking of DSP processing (RX and TX threads), if one of the Ethernet connections has been blocked by any PC processing. - Add TII generation in DAB-Modulator, can be configured by dabrf.tx.cfg.src.0.tii.main, dabrf.tx.cfg.src.0.tii.sub TII can be configured also via http://dabrf-123456/realtime/dabrf.tx by URI parameter tii= - Reorganisation of node dabrf.tx.cfg, move internal used entries to dabrf.tx.cfg.rfdac and hide that entries - Reset GPS module in case of missing NMEA data. Web-GUI: - Visualize the decoded TII in CIR chart. - Add new webpage "TII and SFN" - Mark the RF level with orange background in case of wide-band RF blocker, which means that the RF level measurement may be wrong. - Add Load, Temperature and Connection State on the top right site. - Website will be reconnect automatically, if the connection has been disconnected. =============================================================================== Version 1.018.1332 2019-07-24 =============================================================================== Firmware: - Accept a trailing '/' character for all file system commands, e.g. erase, remove, cd, mkdir - Reduce keep alive time to 5 seconds, use it as default for all TCP sockets - Validation check of TX calibration was wrong. =============================================================================== Version 1.018.1328 2019-02-04 =============================================================================== Firmware: - Transmitting of EDI-AF streams (e.g. converted ETI files) has blocked the TX socket of DABRF, no other EDI files can be sent, a device reset was needed to resolve the issue. - The DABRF should close the TX socket with a RST instead of FIN, thereby avoiding the transfer of buffered data from the client to DABRF, thus avoiding significant processing overhead and disruption of RX processing. - Receiver: Avoid DC interferences in NULL symbol at low RF levels. =============================================================================== Version 1.018.1324 2019-01-11 =============================================================================== Firmware: - Disconnecting of Ethernet cable may stop the NDK network stack for ever in case of running IP traffic. - Configure RX/TX socket timeouts via URI parameter "timeout". =============================================================================== Version 1.017.1320 2018-12-13 =============================================================================== Firmware: - Add responder for mDNS and LLMNR, both are working in parallel to NetBIOS as name resolution in link-lokal networks. Since Windows 10 NetBIOS is not supported anymore in public or unknown networks. - JSON writer has generated wrong arrays, before the first element a comma was inserted, which is a wrong JSON syntax. - Add node dabrf.tcxo.cfg.xodac_val, can be changed only in mode FREE_RUN. - Add node dabrf.tcxo.stat.xodac_rise - Add node dabrf.module.reboot() Web-GUI: - Add automatic calibration of TCXO rise value. - Add reboot button to firmware upload page. =============================================================================== Version 1.017.1308 2018-11-20 =============================================================================== Firmware: - Add command "rfdac xmatrix " and extend "rfdac status". - TX Test modes are working also for DABRF, not only TBR - Add CGI cgi/dabrf.ws to generalize WebSocket processing, supports registering for nodes with configurable update rate (period) - Extend CGI cgi/dabrf.ws by "dabrf.gps.nmea" and "dabrf.rx.vdec.ext", which can be updated once per transmission frame. Web-GUI: - Extend Internal Metrics by CIF count chart. =============================================================================== Version 1.016.1302 2018-10-23 =============================================================================== Firmware: - Bug - GPS trace, LOG trace and Telnet console stop to work sometimes. - GPS trace will be enable by default and it print out a welcome message. - Setting of dabrf.tx.cfg.xmatrix value will set also the BPF frequency in the middle of used channels. - The uri parameter gain of cgi_dabrf_tx configures the channel gain instead the common RF gain. =============================================================================== Version 1.016.1298 2018-10-06 =============================================================================== Firmware: - RFDAC with channel spacing of 80/9 Hz, where DAB channels have zero offset - RFADC with reduced DAB channel error to +/- 0.49 Hz - add support for TCXO SiT5156 - avoid large jumps and glitches in TCXO SYNC_NULL mode. - hide the node dabrf.tx.stat.src.%d.info - replace dabrf.dbg.upp.offset.coarse by dabrf.dbg.upp.offset.rx_tx, - add dabrf.dbg.gps.offset.null, - add dabrf.dbg.upp.rx.window_offset, - add dabrf.dbg.upp.tx.window_offset - remove dabrf.dbg.upp.offset.fine, - count time values in us - use format "%.2f" and "%.4f" for values in dB - use format "%.2f" for frequency values in Hz - use format "%.2f" for GPS altitude, speed and course - add node dabrf.rx.stat.rf.freq_lo and dabrf.rx.stat.ftc.lo_offset, where measured frequency offset has been corrected by lo_offset - some optimizing to save processing power Web-GUI: - extend the frequency offset chart to view the current (blue) and average offset (yellow) and show the standard deviation as band (red) around the average offset. FPGA: - 2018.09.24 =============================================================================== Version 1.015.0616 2018-06-13 =============================================================================== Firmware: - no changes from customer's perspective - Update to PDK 2.0.9 =============================================================================== Version 1.014.0596 2018-05-02 =============================================================================== Firmware: - supports EDI input streams with FEC - add telnet commands "profiler" and "profiler clear" - add TX statistics of input streams dabrf.tx.stat.src.x.info and EDI specific statistics tx.stat.src.x.pft, tx.stat.src.x.af - add individual TX channel gain in dB, which can be changed by dabrf.tx.cfg.src.x.gain - move TX channel gain of RFDAC to dabrf.tx.cfg.gain.ch.x, which should not set by user anymore. It is used for internal calibration only !!! - correct a bug in TCP layer, which has receive wrong data sometimes =============================================================================== Version 1.013.0576 2018-03-05 =============================================================================== Firmware: - Extend telnet commands "net socket" and "net daemon" with more statistics. - Extend telnet commands "net mem", "net mem clear", "net mem details" - Avoid failing of NULL synchronzation by keep sure that the noise level must be 10dB lower than the peek level of CIR. =============================================================================== Version 1.013.0575 2018-02-27 =============================================================================== Firmware: - Add support to receive EDI packets via UDP on ports 1420 ... 1423. - Optimize the CIR with around 6dB better noise ratio. - Send periodically dabrf.tx and dabrf.module.load as JSON in all websockets. - Corrects a bug, where the NULL synchronizer was not working sometimes. Web-GUI: - simplify the main menu - some optical improvements =============================================================================== Version 1.012.0560 2017-10-27 =============================================================================== Firmware: - Use TFPR instead NULL symbol for frame synchronization - Use exact differential demodulation only for MER estimation and constellation and use InnerProduct to get best LLR reliability for Viterbi decoding - Carrier phase shift must be negated for sampling rate correction - Extend command help dabrf, works also with sub-nodes =============================================================================== Version 1.011.0554 2017-10-07 =============================================================================== Firmware: - Measured CIF(0:0) offset should be set to invalid value if GPS is invalid. - Optimize the IP stack to get shorter rountrip time also in case of lost IP packets - Reduce retransmission timeouts from 200ms to 100ms - Reduce selective retransmission timeouts from 100ms to 10ms - Implement fast retransmission timeouts with ~10ms - Use fast ACK requests to get faster ACKs from Windows PC (~10ms instead 200ms) - Add RTT statistics to "net stat tcp" command - Add commands "ethernet clear" and "net stat clear" - Add node dabrf.gps.stat.time.edi_cif00 - Add node dabrf.info as similar to dabrf.module - Make some more node entries of dabrf.tcxo public. - Extend tag_cir to tag_cir_ext - Positioning of begin of guard interval guard/16 before the detected range above the threshold. - Extend GPS TimeStatus by edi_cif00 to store the CIF(0:0) time. - Extend tag_time_info by value edi_cif00 - Use a EDI RX queue of 384ms and increase the EDI-RX task priority to 6, one above DXP task - Send all metrics via Websocket once per 384ms Web-GUI: - Consolidate DABRF and DAB-XPlorer Web-GUI - Add interactive zooming to CIR chart and remove CIRZ chart. - Add tooltips to all charts. - Use mobile menu all the time and hide the desktop menu - Add page for internal metrics - Add page for GPS position ===============================================================================