# Change Log All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). ## [1.2.0] 2019-04-26 ### Added * Add support for config uid 103 (`dncm-force-vf-nl-network`) boolean for forcing VF simcard to VF NL (TWS-215) * Add support for caching the `project:id` from the CAN bus RPC device node on DNCM startup using reqrep (DINET-82) ### Changed * Make sure CAN message bursts will not result in CAN message ready drops by increase the `DI_CAN_CFG_MSG_TIMEOUT` to 1 second * Led blink changed * Red blink, connecting to Secure-Multi-Proxy * Green blink * 1 second, TCP connection without and DNCM RPC handshake * 500 ms, DNCM RPC handshaked * 250 ms, CAN device:uid registered * Improve `DI_LOG` routing to support multiple variants (serial port, semihosting, sdcard, canbus) (DINET-82) * The defaults are set as follows: * `Debug` firmware logs to stlink programmer over semihosting * `Release` firmware logs to sdcard (and is dropped when not present) ### Fixed * Send GPS and communication status also with a project:id for the CAN device:uid (TWS-221) * `DI_LOG` message got silently dropped for SDCard due to CAN message `src_id` was unset (DINET-86) * RPC device:ping should return an OK reply and no `DNE_OPNOTSUPP` (TWS-215) * RPC config:set reply for DNCM results in an timeout (DINET-76) * Drop CAN RPC message from device when `device:uid` is not yet known to prevent sending as `...0` (TWS-193) ## [1.2.0-rc.2] - 2019-03-19 ## Removed * Don't force current band to GSM anymore (introduced in 1.2.0-rc.1) (TWS-193) ## [1.2.0-rc.1] - 2019-03-15 ### Changed * Change serial driver buffer for modem. Sized from 255 bytes to 2048 bytes which prevent overflow when multiple URCs are received at once (TWS-193) * Reduce `STM32_SERIAL_USART1_PRIORITY` from 7 to 5 so we will never miss any characters for the modem driver (TWS-193) * Resize TCP buffer pool `DNCM_TCP_TX_POOL_SIZE` from 16 to 12 because we resized the serial driver buffer (TWS-193) ### Added * Force current band to GSM only which prevents band hopping (TWS-193) * Add support to receive messages over UDP and relay to CanBus (TWS-193) ## [1.1.1] - 2019-02-28 ### Fixed * Use same UDP configuration as the tcp endpoint and remove the hardcoded IP + port (TWS-190) ## [1.1.0] - 2019-02-26 ### Added * Enable shell on UART4 for test stimuli injection and development at 115K2 Baudrate (DINET-62) * Add initial support for Realtime message routing over UDP (TWS-190) * Add support for CanBus Realtime messages (TWS-192) ## [1.0.0] - 2019-01-21 ### Fixed * libdi: Fix integration build of DNCM when `DI_CAN_CFG_DBG_STAT` is enabled (DINET-79) ## [0.7.0] - 2018-10-16 ### Added * Add CAN net subsystem `DI_CAN_NET_DTYPE_NODE_UID` unicast request handler for requesting DNCM device:uid (DINET-68) * RPC `connection:info` request handler (DINET-37) * Support for XM1110 GPS receiver (DINET-40) * Temperature sensor MCP9808 reporting to server with a interval of 15 minutes (DINET-41) * Raise device error and submit to server when a leader conflict occurs, with new device:data publish (DINET-10) ### Changed * Use new device:info version property (DINET-58) * Change board.h for use with new hardware v4.x (hardware v3.x is only supported with firmware releases v0.6.x) (DINET-41) * DNCM send correct sensor:info with its own device:uid (DINET-29) * Report GPS, RSSI and BER sensor:data also as DNCM device:uid with same interval as set from the CAN bus * Report correct RSSI and BER sensor:data for HL76xx modem (DINET-45) ### Removed * Removed all RPC dncm class methods which are replaced by the new connection:info (DINET-37) ## [0.6.2] - 2018-05-14 **NOTICE** The next releases with versions v0.7.x and up can only be used on hardware version 4. All v0.6.x releases are used for compatibility and bugfixes for hardware version 3. ### Changed * Increase maximum packet size on the DNCM (DINET-34) * can: Buffers changed from 32 msg / 1024 byte to 16 msg / 2048 bytes * tcp: Transmit buffers changed from 32 bufs / 1024 byte to 16 bufs / 2048 bytes ## [0.6.1] - 2018-03-20 ### Fixed * Continuous Device busy message after a try again message during lock/unlock signals (DINET-14) ### Changed * Auto-select APN based on SIM-card MCC & MNC (DINET-12) * Enable the SDcard by enabling its power * Post ahead reply messages in the mailbox to prioritize them above publish messages ## [0.6.0] - 2018-01-18 ### Changed * Updated `libdi` and `libdi_fw` to latest revision, includes fix for missed GPS-events (DINET-8) * Increased ping-interval of the DNCM to 43 seconds to reduce network activity * Only check the GPS interval at the modem GPS side to prevent possible mismatches in the administration * Catch the CREG-value to see network deregistration faster * Ask the CREG-status on boot and every 10 seconds when not registered (in case of missing URC's) * Make a generic close function to allow for correct internal deregistration and forced leader give-up * Stop creating manual bearer connections, the HL854x does this automatically * Add a timeout of 60 seconds for connecting to TCP, when connecting fails, try again * Handle TCP invalid session state problems better * Reset when the modem does not reconnect within 120 seconds after disconnect ## [0.5.1] - 2018-01-17 ### Changed * Increased timeout for TCP connection because of slow initial network registration at T-Mobile (DINET-11) * Return `DNE_PARAM` when RPC class-method is unknown instead of `DNE_BUSY` (DINET-7) ### Removed * XBee support ## [0.5.0] - 2017-07-27 ### Added * DNCM uses its own `device:uid` to login to the server (Secure-Multi-Proxy) * DNCM `device:info` is now available which has the `"type":"dncm"` property * Gracefull disconnect TCP on watchdog monitor trigger * Wait-for-interrupts sleep mode when in IDLE thread to safe power * XBee CRTM gateway functionality * Configurable GPS sensor sleep cycle and reporting * Configurable Communication status (RSSI, BER) reporting * Synchronize the DI-Net RPC timestamp every hour with the server ### Changed * CAN-bus `device:uid` is registered with DI-Net Lowlevel Register message instead of previous Handshake * Update ChibiOS to v16.1.7 * Set RTOS scheduler to 1KHz (was 10KHz), and reenable thread preemption (10ms) * Disable RTC clock which was unused and saving power * Use `di_fw_board_init` for setting device type and device board revision * Handle all message sending over TCP by the TCP send thread and mailbox ### Fixed * Low-power: GPS sleep cycle and set hl854x modem sleep mode to 1 instead of default 2 saves approximate 50mA (on 12V) when idle. * CAN raw message connection state is connected when CAN device:uid is registered instead of only a TCP connection is established. * Watchdog monitor now resets time when sim card is ready * Make sure we don't send more than 255 bytes to the mode when the DTR line is deassert which can caused the `+KTCP_NOTIF=1,8`. By setting the ChibiOS serial driver driver to 255 bytes. ### Removed * DI-Net RPC method `dncm:info` (replaced by `device:info`) * DI-Net RPC method `dncm:reset` (replaced by `device:reset`) * Partial internal RTC implementation * Disable high speed internal oscillator to safe power * Disable unused CAN2 peripherial to safe power * IRQ handling for GPS PPS sync * Reporting of GPS sensor, Communication status as DNCM `device:uid` ## [0.4.1] - 2017-02-16 ### Added * Support `device:errors` RPC message ### Fixed * Read `device:uid` correctly over CAN-bus (CAN raw message) ### Changed * STM32 EEPROM Flash driver uses new `di_config` interface ## [0.4.0] - 2017-12-21 ### Added * Initial DNCM DI-Net CAN-bus redundancy (redundant DNCM setup) * STM32F4 internal real-time clock configuration * Modem driver (`di_drv_hl854x`) now reads IMSI number ### Removed * Disabled reading of onboard ds18b20 temperature sensor (due to BUG in onewire driver) which creates timing issues in redundancy. # [0.3.3] - 2017-09-27