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.
- All events and API defined in the v4.4.0
- Add
smtc_modem_relay_tx_disablefunction to disable the relay tx feature (disable the WOR frame) - Add
smtc_modem_relay_tx_enablefunction to enable the relay tx feature (enable the WOR frame) - Add
smtc_modem_relay_tx_get_activation_modefunction to get the current relay tx mode activation - Add
smtc_modem_relay_tx_get_sync_statusfunction to get the current synchronisation status with a relay rx - Add
smtc_modem_relay_tx_is_enablefunction to get if the relay tx feature is currently enable - Add relay tx event
SMTC_MODEM_EVENT_RELAY_TX_DYNAMIC: Relay TX dynamic mode has enable or disable the WOR protocolSMTC_MODEM_EVENT_RELAY_TX_MODE: Relay TX activation has been updated via a MAC commandSMTC_MODEM_EVENT_RELAY_TX_SYNC: Relay TX synchronisation has changed
smtc_modem_set_appkeyfunction to set the LoRaWAN v1.0.x Gen Application Key- Re-add
smtc_modem_get_statusto get the modem current status (see alsosmtc_modem_status_mask_tdefinition) - Add
smtc_modem_get_certification_modeto get the current certification mode status - Add
smtc_modem_adr_get_profileto get current Datarate Profile of the modem - Add or re-add functions related to LoRaCloud:
- Almanac update service:
- function
smtc_modem_almanac_start(new) - function
smtc_modem_almanac_stop(new)
- function
- Stream service:
- Re-add
smtc_modem_stream_init - Re-add
smtc_modem_stream_add_data - Re-add
smtc_modem_stream_status - Re-add related event
SMTC_MODEM_EVENT_STREAM_DONE
- Re-add
- Large File Update service:
- Re-add
smtc_modem_file_upload_init - Re-add
smtc_modem_file_upload_start - Re-add
smtc_modem_file_upload_reset - Re-add related event
SMTC_MODEM_EVENT_UPLOAD_DONE
- Re-add
- Device Mangament service:
smtc_modem_dm_enable(new)smtc_modem_dm_get_fportsmtc_modem_dm_set_fportsmtc_modem_dm_get_info_intervalsmtc_modem_dm_set_info_intervalsmtc_modem_dm_get_periodic_info_fields(previously known assmtc_modem_dm_get_info_fields)smtc_modem_dm_set_periodic_info_fields(previously known assmtc_modem_dm_set_info_fields)smtc_modem_dm_request_immediate_info_field(previously known assmtc_modem_dm_request_single_uplink)smtc_modem_dm_set_user_datasmtc_modem_dm_get_user_datasmtc_modem_dm_handle_alcsync(new)- Re-add related events
SMTC_MODEM_EVENT_DM_SET_CONFandSMTC_MODEM_EVENT_MUTE
- Almanac update service:
- Add Store and Forward service:
smtc_modem_store_and_forward_set_statesmtc_modem_store_and_forward_get_statesmtc_modem_store_and_forward_flash_add_datasmtc_modem_store_and_forward_flash_clear_datasmtc_modem_store_and_forward_flash_get_number_of_free_slot
- Add new API include file
smtc_modem_geolocation_api.hgot geolocation services. - Add geolocation services (GNSS, Wi-Fi, Almanac demodulation):
smtc_modem_gnss_scansmtc_modem_gnss_scan_cancelsmtc_modem_gnss_get_event_data_scan_donesmtc_modem_gnss_get_event_data_terminatedsmtc_modem_gnss_set_constellationssmtc_modem_gnss_set_portsmtc_modem_gnss_scan_aggregatesmtc_modem_gnss_send_modesmtc_modem_almanac_demodulation_startsmtc_modem_almanac_demodulation_set_constellationssmtc_modem_almanac_demodulation_get_event_data_almanac_updatesmtc_modem_wifi_scansmtc_modem_wifi_scan_cancelsmtc_modem_wifi_get_event_data_scan_donesmtc_modem_wifi_get_event_data_terminatedsmtc_modem_wifi_set_portsmtc_modem_wifi_send_modesmtc_modem_wifi_set_payload_format
- Add geolocation events
SMTC_MODEM_EVENT_GNSS_SCAN_DONE,SMTC_MODEM_EVENT_GNSS_TERMINATED,SMTC_MODEM_EVENT_GNSS_ALMANAC_DEMOD_UPDATE,SMTC_MODEM_EVENT_WIFI_SCAN_DONEandSMTC_MODEM_EVENT_WIFI_TERMINATED
- Event
SMTC_MODEM_EVENT_FIRMWARE_MANAGEMENTand associated status structure used by LoRaWAN Firmware Management Package - CSMA functions:
smtc_modem_csma_set_stateto enable/disable the featuresmtc_modem_csma_get_stateto get the current status of the csma featuresmtc_modem_csma_set_parametersto set optional parameters for csmasmtc_modem_csma_get_parametersto get the current parameters used by the csma feature
- smtc_modem_utilities:
smtc_modem_get_radio_contextto get previously set radio context (mandatory for sx127x support as the driver implements and uses an internal context)
This version propose a major update of the LoRa Basics Modem. The purpose is to have a complete and simple LoRaWAN stack implementation, including additional LoRaWAN packages (Application Layer Clock Synchronization, Fragmented Data Block Transport, Remote Multicast Setup).
- smtc_modem_utilities:
smtc_modem_is_irq_flag_pendingfunction to allow checking if some modem flags are pendingsmtc_modem_set_radio_contextfunction to set optional radio context if needed
SMTC_MODEM_RC_NO_EVENTreturn code in casesmtc_modem_get_event()is called and there is no pending eventsmtc_modem_get_downlink_datato get received datasmtc_modem_get_lorawan_link_check_datato get link check datasmtc_modem_debug_connect_with_abpfor debug purpose- Fuota related events type
SMTC_MODEM_EVENT_LORAWAN_FUOTA_DONESMTC_MODEM_EVENT_NO_MORE_MULTICAST_SESSION_CLASS_CSMTC_MODEM_EVENT_NO_MORE_MULTICAST_SESSION_CLASS_BSMTC_MODEM_EVENT_NEW_MULTICAST_SESSION_CLASS_CSMTC_MODEM_EVENT_NEW_MULTICAST_SESSION_CLASS_B
- Fuota related events status in
smtc_modem_event_t:fuota_statusnew_multicast_class_cnew_multicast_class_b
- lr11xx specific crypto features are now in main api file (
smtc_basic_modem_lr11xx_api_extension.hremoved) smtc_modem_return_code_tModem return codes are now generic enum (no values specified)- Events:
- Events are now generic enum (no values specified):
smtc_modem_event_type_t - Event structure
smtc_modem_event_tdoes not contain downlink data anymore. Usesmtc_modem_get_downlink_datato get received data - Event structure
smtc_modem_event_tdoes not contain link_check data anymore. Usesmtc_modem_get_lorawan_link_check_datato get link check data - In event structure:
class_b_ping_slot_info,lorawan_mac_timeandlink_checkshare the same status typesmtc_modem_event_mac_request_status_t
- Events are now generic enum (no values specified):
- Time services is now split in 2 standalone features:
- LoRaWAN ALCSync package:
smtc_modem_start_alcsync_serviceto start the servicesmtc_modem_stop_alcsync_serviceto stop the servicesmtc_modem_get_alcsync_timeto get the time from the servicesmtc_modem_trigger_alcsync_requestto trig a manual time request- New event
SMTC_MODEM_EVENT_ALCSYNC_TIMEfor the service
- LoRaWAN Device Time Request:
- Request shall be done using
smtc_modem_trig_lorawan_mac_request smtc_modem_get_lorawan_mac_timeto get the time from stack- New event
SMTC_MODEM_EVENT_LORAWAN_MAC_TIME
- Request shall be done using
- LoRaWAN ALCSync package:
smtc_modem_test_duty_cycle_app_activaterename intosmtc_modem_debug_set_duty_cycle_statesmtc_modem_lorawan_request_link_checkis now handled insmtc_modem_trig_lorawan_mac_requestsmtc_modem_lorawan_class_b_request_ping_slot_infois now handled insmtc_modem_trig_lorawan_mac_request
- [GENERAL] Support of LoRaCloud services: Large File Upload (LFU), Stream, Device Management, Almanac update (All features, functions and events removed)
- All user radio direct access features, functions and events
smtc_modem_get_network_typefunctionsmtc_modem_suspend_radio_communicationsfunctionsmtc_modem_get_stack_statefunctionsmtc_modem_get_network_frame_pending_statusfunction- Connection timeout features:
smtc_modem_connection_timeout_set_thresholdsfunctionsmtc_modem_connection_timeout_get_current_valuesfunction- Event
SMTC_MODEM_EVENT_TIMEOUT_ADR_CHANGED
- Event
SMTC_MODEM_EVENT_NEW_LINK_ADR - Return core
SMTC_MODEM_RC_MODEM_E_FRAME_ERROR
No changes
- [class_b]
smtc_modem_lorawan_class_b_request_ping_slot_info()function - [class_b]
smtc_modem_class_b_set_ping_slot_periodicity()function - [class_b]
smtc_modem_class_b_get_ping_slot_periodicity()function - [multicast]
smtc_modem_multicast_class_b_start_session()function - [multicast]
smtc_modem_multicast_class_b_get_session_status()function - [multicast]
smtc_modem_multicast_class_b_stop_all_sessions()function - [LoRaWAN]
smtc_modem_lorawan_get_lost_connection_counter()function
- [multicast]
smtc_modem_multicast_start_session()function is renamedsmtc_modem_multicast_class_c_start_session() - [multicast]
smtc_modem_multicast_get_session_status()function is renamedsmtc_modem_multicast_class_c_get_session_status() - [multicast]
smtc_modem_multicast_stop_session()function is renamedsmtc_modem_multicast_class_c_stop_session() - [multicast]
smtc_modem_multicast_stop_all_sessions()function is renamedsmtc_modem_multicast_class_c_stop_all_sessions() - [time_sync]
smtc_modem_time_trigger_sync_requestfunction does not takesync_serviceparameter anymore and will use the current enabled time synchronization service
- [all] Initial version