Wireless Core Changelog (Legacy)
v0.9.0 - 2023-12-08
Addedswc_get_statusreturns the status of the SPARK Wireless Core.Added new error code
SWC_ERR_NOT_INITIALIZED.
Changedswc_connectcan now return errors:SWC_ERR_NOT_INITIALIZEDSWC_ERR_ALREADY_CONNECTEDSWC_ERR_INTERNAL
swc_disconnectcan now return errors:SWC_ERR_NOT_CONNECTEDSWC_ERR_NOT_INITIALIZEDSWC_ERR_DISCONNECT_TIMEOUTSWC_ERR_INTERNAL
v0.8.1 - 2023-10-18
- Release notes:
This release provides an update to the frequency calibration to improve compatibility between tranceivers.
ChangedImproved the frequency calibration of the 1020 transceiver.
v0.8.0 - 2023-05-31
Added- Added new API calls
swc_node_get_radio_serial_number()to get the radio’s 64-bit serial number.swc_node_get_radio2_serial_number()to get the second radio’s 64-bit serial number.swc_get_beacon_connection_configto get a beacon connection configuration.swc_connection_set_event_callbackset an event callback when events occur on a connection.swc_get_eventreturns the event notified by the event callback.swc_get_event_errorreturns the error notified by the event callback.swc_connection_set_ranging_data_ready_callback()set the callback function which will invoke once the required number of ranging data samples is collected.swc_get_ranging_dataretrive a ranging data buffer.swc_ranging_data_completedfree the used up ranging data buffer.swc_connection_get_enqueued_countget the number of frame in the connection queue.swc_connection_get_connect_statusreturn if the connection is connected or disconnected.swc_send_tx_flush_requestsend a tx flush request to the connection.
Added region regulations support (FCC, ETSI and ARIB) for pairing.
Added
timer_frequency_hzto theswc_hal_tstructure.- Added new members to the
swc_radio_hal_tstructure: uint64_t (*get_tick)(void)function pointer to BSP timer peripheral.uint32_t tick_frequency_hzfrequency in hertz of the BSP timer peripheral.
- Added new members to the
- Added statistics metrics:
packet_rejected_count,
cca_pass_count,
cca_fail_count,
cca_try_fail_count.
- Added SWC initialisation option in the
swc_radio_cfg: no_resetfor whether or not the radio should be reset when doing initialization.no_calibrationfor whether or not the SWC should perform the calibration routine of the radio.
- Added SWC initialisation option in the
- Added connection object options to the
swc_connection_cfgstructure: ranging_enabledfor whether or not headers contain phase data.ranging_settingsfor ranging feature settings if enabled.
- Added connection object options to the
Ranging callbacks are now enqueued in the callback queue.
Added
certification_mode_enabledtoswc_cfg_t.
Changedswc_connection_initnow returns an error if the queue size is less than 2.Coordinator device must call
pairing_coordinator_start()to start the pairing procedure.Node device must call
pairing_node_start()to start the pairing process.Application must provide pairing_discovery_list array with the number of devices on the network.
Application must provide pairing_assigned_address structure that will be populated during pairing procedure.
The application must handle any error once the pairing procedure is completed or aborted.
Pairing configuration must provide: application code, timeout in seconds, hardware abstraction layer, wireless memory pool, memory pool size, the UWB regulation and optionally the application callback.
The application must handle the returning event when the pairing procedure is completed or aborted.
Pairing process is now done inside the pairing module instead of the application.
Pairing now uses a frame rate of 1 kHz instead of 333 Hz.
FixedFixed erroneous comment regarding the retry time parameter in CCA settings, which incorrectly indicated that the time unit was microseconds (us) instead of nanoseconds (ns).
RemovedRemoved
allocate_payload_memorymember from the Wireless Core connection configuration (swc_connection_cfg_t)Removed
uint64_t (*get_tick_quarter_ms)(void)member from theswc_hal_structure.
v0.7.0 - 2022-11-30
- Release notes:
Lower-level types, mostly
wps_ones, have been replaced by equivalentswc_types located inswc_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.
AddedNew
swc_def.hpublic header file.New
swc_utils.hpublic header file.New
pairing/swc_pairing.c/hpublic source files.New
phy/sr_radio_model.hprivate header file.New
link/link_connect_stats.c/hprivate source files.New
protocol_stack/wps_frag.c/hprivate 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_ADDRESSconstant 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 inswc_connection_cfg_t.
Changedprotocol_stack/sr1000/single_radio/has been renamed toprotocol_stack/single_radio/.protocol_stack/sr1000/multi_radio/has been renamed toprotocol_stack/multi_radio/.In
swc_hal_t,radio_halis now of typeswc_radio_hal_tinstead ofradio_hal_t.In
swc_hal_t,multi_cfgof typemulti_cfg_thas been removed and replaced bytimer_start,timer_stop,timer_set_period,disable_timer_irqandenable_timer_irqfunction pointers.In
swc_node_cfg_t,roleis now of typeswc_role_tinstead ofwps_role_t.In
swc_node_cfg_t,sleep_levelis now of typeswc_sleep_level_tinstead ofsleep_lvl_t.In
swc_radio_cfg_t,irq_polarityis now of typeswc_irq_polarity_tinstead ofirq_polarity_t.In
swc_radio_cfg_t,std_spihas been renamed tospi_modeand is now of typeswc_spi_mode_tinstead ofstd_spi_t.In
swc_connection_cfg_t,modulationis now of typeswc_modulation_tinstead ofmodulation_t.In
swc_connection_cfg_t,fecis now of typeswc_fec_level_tinstead offec_level_t.In
swc_connection_cfg_t,cca_settings.fail_actionis now of typeswc_cca_fail_action_tinstead ofcca_fail_action_t.swc_fallback_info_thas a newcca_fail_countmember.swc_connection_set_tx_success_callback()has a newswc_error_tparameter.swc_connection_set_tx_fail_callback()has a newswc_error_tparameter.swc_connection_set_tx_dropped_callback()has a newswc_error_tparameter.swc_connection_set_rx_success_callback()has a newswc_error_tparameter.swc_setup()has a newswc_error_tparameter.swc_connect()has a newswc_error_tparameter.swc_disconnect()has a newswc_error_tparameter.swc_connection_get_fallback_info()has a newswc_error_tparameter.The size parameter of
swc_connection_send()is now of typeuint16_tinstead ofuint8_t.The return type of
swc_connection_receive()is nowuint16_tinstead ofuint8_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_thas been renamed toswc_pairing_device_t.app_pairing_thas been renamed toswc_pairing_t.In
swc_pairing_t,network_roleis now of typeswc_role_tinstead ofwps_role_t.In
swc_pairing_t,paired_deviceis now of typeswc_pairing_device_tinstead ofpaired_device_t.swc_pairing_t```has two new members, ``memory_poolandmemory_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()andswc_pairing_deinit().
Removedprotocol_stack/sr1000/single_radio/wps_phy.c/hprivate source files.
v0.6.1 - 2022-06-16
FixedFix wrong channel configuration when using dual radio mode.
ARQ setting
retry_counthas changed name totry_countinswc_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.
AddedFallback mode feature.
Statistics module.
Fast Sync feature.
Configurable Automatic Repeat Request (ARQ) feature.
Dual Radio feature.
Link Throttling feature.
Concurrency mechanisms.
Configurable channels.
ChangedPrefix of the SPARK Wireless Core (SWC) API changed from
wireless_toswc_.Connection callbacks behavior.
Address scheme now using a 12-bit PAN ID and a 8-bit Node address.
RemovedSupport for Wireless Core internal WPS and SR APIs.
writeandreadfunction pointers fromradio_halmember in the Wireless Core API HAL (swc_hal_t).criticalmember in the Wireless Core API HAL (swc_hal_t).
v0.5.1 - 2022-04-19
FixedDelay line calibration issue that could slightly increase the packet error rate on some transceivers.
v0.5.0 - 2022-03-03
ChangedSet auto-sync to disabled by default in the Wireless Core API.
FixedMost 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
AddedNew 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.
ChangedWireless Core processing time optimization.
NVM instance is now in the wps_radio_t type.
Calibration instance is now in the wps_radio_t type.
RemovedSR1000 API and SR1000 API advance.
FixedDoxygen comment header of wireless_connection_init().
v0.3.0 - 2021-12-16
AddedWireless 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.
ChangedRename 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).
Removedsr1000_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.
FixedIssue 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
AddedChangelog.
v0.1.0 - 2021-09-30
Initial release.