Wireless Core Changelog

v0.7.0 - 2022-11-30

Release notes:
  • Lower-level types, mostly wps_ ones, have been replaced by equivalent swc_ types located in swc_def.h.

  • New event system that gives information to the application about what is happening in the Wireless Core.

  • Error checking on API calls input parameters.

  • Device pairing is now part of the Wireless Core.

  • Bug fixes and general improvements.

Added
  • New swc_def.h public header file.

  • New swc_utils.h public header file.

  • New pairing/swc_pairing.c/h public source files.

  • New phy/sr_radio_model.h private header file.

  • New link/link_connect_stats.c/h private source files.

  • New protocol_stack/wps_frag.c/h private source files.

  • New API call swc_connection_set_event_callback().

  • New API call swc_get_event().

  • New API call swc_get_event_error().

  • New API call swc_connection_receive_to_buffer().

  • New SWC_BROADCAST_ADDRESS constant the application can use when configuring the destination address of a broadcast connection.

  • New error codes in swc_error_t.

  • In swc_cfg_t, the new rdo_enabled field must be set to true to activate the random data rate offset feature in addition to the one in swc_connection_cfg_t.

Changed
  • protocol_stack/sr1000/single_radio/ has been renamed to protocol_stack/single_radio/.

  • protocol_stack/sr1000/multi_radio/ has been renamed to protocol_stack/multi_radio/.

  • In swc_hal_t, radio_hal is now of type swc_radio_hal_t instead of radio_hal_t.

  • In swc_hal_t, multi_cfg of type multi_cfg_t has been removed and replaced by timer_start, timer_stop, timer_set_period, disable_timer_irq and enable_timer_irq function pointers.

  • In swc_node_cfg_t, role is now of type swc_role_t instead of wps_role_t.

  • In swc_node_cfg_t, sleep_level is now of type swc_sleep_level_t instead of sleep_lvl_t.

  • In swc_radio_cfg_t, irq_polarity is now of type swc_irq_polarity_t instead of irq_polarity_t.

  • In swc_radio_cfg_t, std_spi has been renamed to spi_mode and is now of type swc_spi_mode_t instead of std_spi_t.

  • In swc_connection_cfg_t, modulation is now of type swc_modulation_t instead of modulation_t.

  • In swc_connection_cfg_t, fec is now of type swc_fec_level_t instead of fec_level_t.

  • In swc_connection_cfg_t, cca_settings.fail_action is now of type swc_cca_fail_action_t instead of cca_fail_action_t.

  • swc_fallback_info_t has a new cca_fail_count member.

  • swc_connection_set_tx_success_callback() has a new swc_error_t parameter.

  • swc_connection_set_tx_fail_callback() has a new swc_error_t parameter.

  • swc_connection_set_tx_dropped_callback() has a new swc_error_t parameter.

  • swc_connection_set_rx_success_callback() has a new swc_error_t parameter.

  • swc_setup() has a new swc_error_t parameter.

  • swc_connect() has a new swc_error_t parameter.

  • swc_disconnect() has a new swc_error_t parameter.

  • swc_connection_get_fallback_info() has a new swc_error_t parameter.

  • The size parameter of swc_connection_send() is now of type uint16_t instead of uint8_t.

  • The return type of swc_connection_receive() is now uint16_t instead of uint8_t.

  • Pairing power settings went from 2 pulses with a width of 4 to 3 pulses with a width of 5.

  • Pairing modulation is now 2-bit PPM instead of IOOK.

  • Pairing schedule has now 2 timeslots of 3000 us instead of 2 timeslots of 500 us.

  • paired_device_t has been renamed to swc_pairing_device_t.

  • app_pairing_t has been renamed to swc_pairing_t.

  • In swc_pairing_t, network_role is now of type swc_role_t instead of wps_role_t.

  • In swc_pairing_t, paired_device is now of type swc_pairing_device_t instead of paired_device_t.

  • swc_pairing_t```has two new members, ``memory_pool and memory_pool_size.

  • app_pairing_start_pairing_process() has been removed and broken down into the following 3 functions: swc_pairing_init_pairing_process(), swc_pairing_process() and swc_pairing_deinit().

Removed
  • protocol_stack/sr1000/single_radio/wps_phy.c/h private source files.

v0.6.1 - 2022-06-16

Fixed
  • Fix wrong channel configuration when using dual radio mode.

  • ARQ setting retry_count has changed name to try_count in swc_connection_cfg_t.

v0.6.0 - 2022-05-27

This release contains a major Wireless Core API refactor. See Wireless Core and Wireless Core API for more details.

Added
  • Fallback mode feature.

  • Statistics module.

  • Fast Sync feature.

  • Configurable Automatic Repeat Request (ARQ) feature.

  • Dual Radio feature.

  • Link Throttling feature.

  • Concurrency mechanisms.

  • Configurable channels.

Changed
  • Prefix of the SPARK Wireless Core (SWC) API changed from wireless_ to swc_.

  • Connection callbacks behavior.

  • Address scheme now using a 12-bit PAN ID and a 8-bit Node address.

Removed
  • Support for Wireless Core internal WPS and SR APIs.

  • write and read function pointers from radio_hal member in the Wireless Core API HAL (swc_hal_t).

  • critical member in the Wireless Core API HAL (swc_hal_t).

v0.5.1 - 2022-04-19

Fixed
  • Delay line calibration issue that could slightly increase the packet error rate on some transceivers.

v0.5.0 - 2022-03-03

Changed
  • Set auto-sync to disabled by default in the Wireless Core API.

Fixed
  • Most recently manufactured transceivers were not handled properly causing a wrong Wireless Core behavior.

  • Transceiver’s FIFO corruption when IRQ handling was too much delayed.

v0.4.0 - 2022-02-04

Added
  • New Wireless Core API call wireless_core_get_allocated_bytes().

  • New Wireless Core API call wireless_set_syncing_address().

  • New Wireless Core API call wireless_free_memory().

  • SR API which is a merge of the SR1000 API and SR1000 API advance.

  • Syncword length can be adjusted through the syncword_len field of the wps_node_cfg_t type.

Changed
  • Wireless Core processing time optimization.

  • NVM instance is now in the wps_radio_t type.

  • Calibration instance is now in the wps_radio_t type.

Removed
  • SR1000 API and SR1000 API advance.

Fixed
  • Doxygen comment header of wireless_connection_init().

v0.3.0 - 2021-12-16

Added
  • Wireless Core API.

  • Dual radio feature.

  • Link throttling feature.

  • Fast synchronization feature.

  • An SPI timing setting which compensates for high capacitive loads on the SPI bus.

  • Auto-reply with user payload capabilities

  • Phase fetching , use for ranging. See stdspi in the wps_radio_t type.

Changed
  • Rename wps_l1.c/h source files to wps_phy.c/h.

  • Rename wps_l2.c/h source files to wps_mac.c/h.

  • Split wps_phy.c/h source files in wps_phy_common.c/h, wps_phy_def.h, multi_radio/wps_phy.c/h and single_radio/wps_phy.c/h.

  • Rename wps_set_coordinator_address() to wps_set_syncing_address().

  • Add sr1000/ folders for SR1000 Series transceiver specific code.

  • Add api/ folder for the Wireless Core API.

  • Inline sr1000_access_adv functions (function definitions are now in the header file).

  • Inline sr1000_api_adv functions (function definitions are now in the header file).

Removed
  • sr1000_access_adv.c source file.

  • sr1000_api_adv.c source file.

  • wps_radio_calibrate() from the WPS API.

  • wps_phy_init() from the WPS API.

  • wps_modem_phy_init() from the WPS API.

  • wps_modem_phy_t type from the WPS API.

Fixed
  • Issue with shutdown mode that could cause the WPS to hang.

  • Issue when using small payloads into an auto-reply frame.

v0.2.0 - 2021-11-09

Added
  • Changelog.

v0.1.0 - 2021-09-30

Initial release.