Skip to content

Latest commit

 

History

History
352 lines (219 loc) · 8.9 KB

CHANGELOG.md

File metadata and controls

352 lines (219 loc) · 8.9 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[2.0.8] 2023-10-12

Added

  • Support for single provisioning, now can send NodeID + SingleProvisioningParamID will trigger provisioning on single Shard.

Fixed

  • Shard will check if provisioning request message has expected payload, if not it will return an error
  • Shard will return an error to App when ParameterId is out of permissible range

Changed

  • Moved all ParameterId to vitroio-sdk/communication/impl/canbus_protocol_consts.h

2.0.7 2023-07-27

Fixed

  • Change logic of sending TIMESTAMP request from Shard; now it is performed right after Shard initialization

2.0.6 2023-07-20

Removed

  • Removed third EXPECTED_CARRIER_BOARD_REV for Shard initialization

2.0.5 2023-07-19

Added

  • Added third EXPECTED_CARRIER_BOARD_REV for Shard initialization

Changed

  • CAN bus bitrate set to 500KHz from 125KHz
  • Frame with localID request no longer has 0x0 as localID in header; now it is based on Shard hardwareID, mentioned in documentation
  • Shard stays in localID request loop until localID from Crystal is assigned

Fixed

  • Resolved problem with MbedOS HardFault from provisioning process

2.0.4 2023-06-14

Added

  • Added placeholder for external frame handler with ID 0x60, can be used within user application.

2.0.3 2023-06-14

Fixed

  • Add a NULL pointer check that caused a system fault.
  • Provide second Edge board revision, used before making configuration of the device.

2.0.2 2023-05-19

Fixed

  • CAN Bus can recover by restarting itself after shutting down permanently due to errors.
  • CAN Bus initialization now exits properly after encountering errors.

Fixed

  • Fix receiving and requesting timestamps from Crystal

Changed

  • SDK updated to work with mbedOS release 6.16.0

Fixed

  • Fix formatting for ECC ID printing

Added

  • Serial number print in ECC608 constructor. Number is printed on shard start.
  • Added debug prints in node_controller.cpp informing about OTA status and upgraded partition

Added

  • New funtion for TransportLayer which update nodeID_ used by Can_layer to set NodeID for each send frame.

Added

  • Added IO protection keys to increase security which is described here, more info here in paragraph 2.2.10

Added

  • Added ID/number to CRC frame (provisioning response)

Added

  • Counting and sending checksum for provisioning response data

Added

  • 24V output management

Added

  • Shard SDK is used now for communication with ECC during provisioning

Added

  • Now OTA update do not override firmware on Shard with different fwID

Fixed

  • Fixed false-positive detection of errors while OTA
  • Fixed printing fw version and ID

Added

  • Timestamp for internal usage in SDK
  • Setting of timestamp synchronization interval in node controlller methods
  • Node controller initializes timestamp along with communication

Added

  • IoTBlock blob size getter

Changed

  • Improved documentation

Added

  • Communication abstraction layer for IoT Blocks

Changed

  • IO expander port used for board revision check
  • Attenuation values for ADC count to voltage conversion
  • IoT Blocks are now send using provided communication layer

Added

  • Predefined sizes of IoTBlock.

Changed

  • IoT Block layout
  • ECC object as singletone
  • Pins of expander used for board revison check

Added

  • Support for variable size IoT Block creating and sending.

Changed

  • IoT block data fields order.
  • ECC508.countSHA256 method, to count SHA of more than 64 bytes of data.
  • cryptoauthlib ECC init function is now called only once.
  • ECC object in IoTBlock source file changed to static.

Added

  • mbed-cryptoauthlib as submodule
  • Patches for mbed-cryptoauthlib
  • IoTBlock api
  • ECC error handling
  • Watchdog class which provides the interface to the Watchdog feature

Changed

  • Memory regions are now defined in SDK,no need to define them in application files.
  • Node controller doen't need memory regions in constructor.
  • Extracted bootloader from vitroio-sdk.
  • Extracted ecc508-api from vitroio-sdk.
  • Extracted tls_crypto-api from vitroio-sdk.
  • Extracted shard-edge-lib from vitroio-sdk

1.2.1 - 2020-05-25

Added

  • Support for closed source static version of Vitro Shard SDK.

1.2.0 - 2019-02-10

Added

  • Support for new protocol communication protocol - firmware ID handling.

Changed

  • Support for new protocol communication protocol - firmware version handling.

1.1.0 - 2018-11-26

Changed

  • Change name from vitroio-embedded-sdk to vitro-shard-sdk

1.0.0 - 2018-10-26

Added

  • Firmware developers guide document.
  • Features list was added to README.

Changed

  • Removed abstraction layer for communication buses - only CAN Bus is supported for now.
  • Parameter ID for frame with firmware version changed to 0x30.

Fixed

  • Doxygen documentation was completed, cleanup and unified.

0.1.1 - 2018-09-07

Fixed

  • Handling upgrade process after error occurrence

0.1.0 - 2018-09-04

Added

  • Initial implementation of debug macros
  • Initial implementation of measurement API:
    • abstract classes for drivers and sensors
    • support for registration of sensors
    • support for setting polling time of measurement parameters
  • Initial implementation of CAN bus
  • Initial implementation of node controller:
    • support for initialization of environment
    • support for initialization of communication with gateway
    • support for firmware upgrade
  • Initial implementation of bootloader