├── CHANGELOG.md ├── README.md ├── apps ├── common │ ├── apps_modem_common.c │ ├── apps_modem_common.h │ ├── apps_modem_common.mk │ ├── apps_modem_event.c │ ├── apps_modem_event.h │ ├── apps_utilities.c │ ├── apps_utilities.h │ └── lorawan_key_config.h └── tracker_application │ ├── bin │ ├── BLE_Ota.bin │ ├── BLE_Ota.hex │ ├── manifest.json │ ├── tracker_application.bin │ ├── tracker_application_as923_grp1.bin │ ├── tracker_application_as923_grp2.bin │ ├── tracker_application_as923_grp3.bin │ ├── tracker_application_au915.bin │ ├── tracker_application_autonomous.bin │ ├── tracker_application_autonomous_as923_grp1.bin │ ├── tracker_application_autonomous_as923_grp2.bin │ ├── tracker_application_autonomous_as923_grp3.bin │ ├── tracker_application_autonomous_au915.bin │ ├── tracker_application_autonomous_eu868.bin │ ├── tracker_application_autonomous_in865.bin │ ├── tracker_application_autonomous_japan.bin │ ├── tracker_application_autonomous_kr920.bin │ ├── tracker_application_autonomous_us915.bin │ ├── tracker_application_eu868.bin │ ├── tracker_application_in865.bin │ ├── tracker_application_japan.bin │ ├── tracker_application_kr920.bin │ ├── tracker_application_ru864.bin │ └── tracker_application_us915.bin │ ├── doc │ ├── apps.uart_firmware_update.md │ ├── doxyfile │ └── img │ │ ├── StartScanA.png │ │ ├── StartScanIos.png │ │ ├── TrackDiscA.png │ │ ├── TrackDiscI.png │ │ ├── TrackerDetectApp.png │ │ ├── Tracker_ble.png │ │ ├── apps.Tracker.statemachine.png │ │ └── migration.png │ ├── lr1110_firmware_update.py │ ├── main_tracker_application.h │ ├── main_tracker_application_autonomous.c │ ├── main_tracker_update_lr1110.c │ ├── makefile │ ├── Makefile │ ├── run_coverity.sh │ └── stm32wb55xx_flash_cm4.ld │ ├── middleware │ └── ble │ │ ├── STM32_WPAN │ │ ├── ble │ │ │ ├── ble.h │ │ │ ├── ble_common.h │ │ │ ├── core │ │ │ │ ├── auto │ │ │ │ │ ├── ble_events.c │ │ │ │ │ ├── ble_events.h │ │ │ │ │ ├── ble_gap_aci.c │ │ │ │ │ ├── ble_gap_aci.h │ │ │ │ │ ├── ble_gatt_aci.c │ │ │ │ │ ├── ble_gatt_aci.h │ │ │ │ │ ├── ble_hal_aci.c │ │ │ │ │ ├── ble_hal_aci.h │ │ │ │ │ ├── ble_hci_le.c │ │ │ │ │ ├── ble_hci_le.h │ │ │ │ │ ├── ble_l2cap_aci.c │ │ │ │ │ ├── ble_l2cap_aci.h │ │ │ │ │ └── ble_types.h │ │ │ │ ├── ble_bufsize.h │ │ │ │ ├── ble_core.h │ │ │ │ ├── ble_defs.h │ │ │ │ ├── ble_legacy.h │ │ │ │ ├── ble_std.h │ │ │ │ └── template │ │ │ │ │ ├── ble_const.h │ │ │ │ │ ├── compiler.h │ │ │ │ │ ├── osal.c │ │ │ │ │ └── osal.h │ │ │ └── svc │ │ │ │ ├── Inc │ │ │ │ ├── bls.h │ │ │ │ ├── bvopus_service_stm.h │ │ │ │ ├── crs_stm.h │ │ │ │ ├── dis.h │ │ │ │ ├── eds_stm.h │ │ │ │ ├── hids.h │ │ │ │ ├── hrs.h │ │ │ │ ├── hts.h │ │ │ │ ├── ias.h │ │ │ │ ├── lls.h │ │ │ │ ├── mesh.h │ │ │ │ ├── motenv_stm.h │ │ │ │ ├── opus_interface_stm.h │ │ │ │ ├── otas_stm.h │ │ │ │ ├── p2p_stm.h │ │ │ │ ├── svc_ctl.h │ │ │ │ ├── template_stm.h │ │ │ │ ├── tps.h │ │ │ │ └── uuid.h │ │ │ │ └── Src │ │ │ │ ├── bls.c │ │ │ │ ├── bvopus_service_stm.c │ │ │ │ ├── common_blesvc.h │ │ │ │ ├── crs_stm.c │ │ │ │ ├── dis.c │ │ │ │ ├── eds_stm.c │ │ │ │ ├── hids.c │ │ │ │ ├── hrs.c │ │ │ │ ├── hts.c │ │ │ │ ├── ias.c │ │ │ │ ├── lls.c │ │ │ │ ├── mesh.c │ │ │ │ ├── motenv_stm.c │ │ │ │ ├── opus_interface_stm.c │ │ │ │ ├── otas_stm.c │ │ │ │ ├── p2p_stm.c │ │ │ │ ├── svc_ctl.c │ │ │ │ ├── template_stm.c │ │ │ │ └── tps.c │ │ ├── interface │ │ │ └── patterns │ │ │ │ └── ble_thread │ │ │ │ ├── hw.h │ │ │ │ ├── shci │ │ │ │ ├── shci.c │ │ │ │ └── shci.h │ │ │ │ └── tl │ │ │ │ ├── hci_tl.c │ │ │ │ ├── hci_tl.h │ │ │ │ ├── hci_tl_if.c │ │ │ │ ├── mbox_def.h │ │ │ │ ├── shci_tl.c │ │ │ │ ├── shci_tl.h │ │ │ │ ├── shci_tl_if.c │ │ │ │ ├── tl.h │ │ │ │ ├── tl_mac_802_15_4.h │ │ │ │ ├── tl_mbox.c │ │ │ │ ├── tl_thread_hci.c │ │ │ │ ├── tl_thread_hci.h │ │ │ │ ├── tl_zigbee_hci.c │ │ │ │ └── tl_zigbee_hci.h │ │ ├── stm32_wpan_common.h │ │ └── utilities │ │ │ ├── dbg_trace.c │ │ │ ├── dbg_trace.h │ │ │ ├── otp.c │ │ │ ├── otp.h │ │ │ ├── stm_list.c │ │ │ ├── stm_list.h │ │ │ ├── stm_queue.c │ │ │ ├── stm_queue.h │ │ │ └── utilities_common.h │ │ ├── app │ │ ├── app_ble.c │ │ ├── app_ble.h │ │ ├── ble_conf.h │ │ ├── ble_dbg_conf.h │ │ ├── ble_thread.c │ │ ├── ble_thread.h │ │ ├── p2p_server_app.c │ │ └── p2p_server_app.h │ │ ├── app_common.h │ │ ├── app_conf.h │ │ ├── app_debug.c │ │ ├── app_debug.h │ │ ├── app_entry.c │ │ ├── app_entry.h │ │ ├── hw_conf.h │ │ ├── hw_if.h │ │ ├── hw_timerserver.c │ │ ├── lpm │ │ └── tiny_lpm │ │ │ ├── stm32_lpm.c │ │ │ └── stm32_lpm.h │ │ ├── sequencer │ │ ├── stm32_seq.c │ │ └── stm32_seq.h │ │ ├── stack_binary │ │ ├── README.md │ │ ├── stm32wb5x_BLE_Stack_full_fw.bin │ │ ├── stm32wb5x_FUS_fw.bin │ │ └── stm32wb5x_FUS_fw_for_fus_0_5_3.bin │ │ ├── stm32_lpm_if.c │ │ ├── stm32_lpm_if.h │ │ ├── target │ │ └── hw_ipcc.c │ │ └── utilities_conf.h │ └── tracker_utility │ ├── tracker_utility.c │ └── tracker_utility.h ├── board ├── LR1110TRK1xKS │ ├── BSP │ │ ├── board │ │ │ ├── lr1110_trk1xks_board.c │ │ │ ├── lr1110_trk1xks_board.h │ │ │ └── modem_pinout.h │ │ ├── geolocation_bsp │ │ │ └── geolocation_bsp.c │ │ ├── peripherals │ │ │ ├── Leds │ │ │ │ ├── leds.c │ │ │ │ └── leds.h │ │ │ ├── hall_effect │ │ │ │ ├── hall_effect.c │ │ │ │ └── hall_effect.h │ │ │ ├── lis2de12 │ │ │ │ ├── lis2de12.c │ │ │ │ └── lis2de12.h │ │ │ └── usr_button │ │ │ │ ├── usr_button.c │ │ │ │ └── usr_button.h │ │ └── ral_bsp │ │ │ └── ral_lr11xx_bsp.c │ └── lr1110_trk1xks.mk ├── interface │ ├── smtc_board.h │ └── smtc_board_ralf.h ├── radio_drivers_hal │ ├── lr11xx_hal.c │ └── lr11xx_hal_context.h └── smtc_lr11xx_board │ └── smtc_lr11xx_board.h ├── host_driver └── STM32WBxx │ ├── Drivers │ ├── CMSIS │ │ ├── Device │ │ │ └── ST │ │ │ │ └── STM32WBxx │ │ │ │ ├── Include │ │ │ │ ├── stm32wb30xx.h │ │ │ │ ├── stm32wb35xx.h │ │ │ │ ├── stm32wb50xx.h │ │ │ │ ├── stm32wb55xx.h │ │ │ │ ├── stm32wb5mxx.h │ │ │ │ ├── stm32wbxx.h │ │ │ │ └── system_stm32wbxx.h │ │ │ │ ├── Release_Notes.html │ │ │ │ └── Source │ │ │ │ └── Templates │ │ │ │ ├── arm │ │ │ │ ├── linker │ │ │ │ │ ├── stm32wb30xx_flash_cm4.sct │ │ │ │ │ ├── stm32wb35xx_flash_cm4.sct │ │ │ │ │ ├── stm32wb50xx_flash_cm4.sct │ │ │ │ │ ├── stm32wb55xx_flash_cm4.sct │ │ │ │ │ └── stm32wb5mxx_flash_cm4.sct │ │ │ │ ├── startup_stm32wb30xx_cm4.s │ │ │ │ ├── startup_stm32wb35xx_cm4.s │ │ │ │ ├── startup_stm32wb50xx_cm4.s │ │ │ │ ├── startup_stm32wb55xx_cm4.s │ │ │ │ └── startup_stm32wb5mxx_cm4.s │ │ │ │ ├── gcc │ │ │ │ ├── linker │ │ │ │ │ ├── stm32wb30xx_flash_cm4.ld │ │ │ │ │ ├── stm32wb35xx_flash_cm4.ld │ │ │ │ │ ├── stm32wb50xx_flash_cm4.ld │ │ │ │ │ ├── stm32wb55xx_flash_cm4.ld │ │ │ │ │ └── stm32wb5mxx_flash_cm4.ld │ │ │ │ ├── startup_stm32wb30xx_cm4.s │ │ │ │ ├── startup_stm32wb35xx_cm4.s │ │ │ │ ├── startup_stm32wb50xx_cm4.s │ │ │ │ ├── startup_stm32wb55xx_cm4.s │ │ │ │ └── startup_stm32wb5mxx_cm4.s │ │ │ │ ├── iar │ │ │ │ ├── linker │ │ │ │ │ ├── stm32wb30xx_flash_cm4.icf │ │ │ │ │ ├── stm32wb30xx_sram_cm4.icf │ │ │ │ │ ├── stm32wb35xx_flash_cm4.icf │ │ │ │ │ ├── stm32wb35xx_sram_cm4.icf │ │ │ │ │ ├── stm32wb50xx_flash_cm4.icf │ │ │ │ │ ├── stm32wb50xx_sram_cm4.icf │ │ │ │ │ ├── stm32wb55xx_flash_cm4.icf │ │ │ │ │ ├── stm32wb55xx_sram_cm4.icf │ │ │ │ │ ├── stm32wb5mxx_flash_cm4.icf │ │ │ │ │ └── stm32wb5mxx_sram_cm4.icf │ │ │ │ ├── startup_stm32wb30xx_cm4.s │ │ │ │ ├── startup_stm32wb35xx_cm4.s │ │ │ │ ├── startup_stm32wb50xx_cm4.s │ │ │ │ ├── startup_stm32wb55xx_cm4.s │ │ │ │ └── startup_stm32wb5mxx_cm4.s │ │ │ │ └── system_stm32wbxx.c │ │ ├── Include │ │ │ ├── cmsis_armcc.h │ │ │ ├── cmsis_armclang.h │ │ │ ├── cmsis_compiler.h │ │ │ ├── cmsis_gcc.h │ │ │ ├── cmsis_iccarm.h │ │ │ ├── cmsis_version.h │ │ │ ├── core_armv8mbl.h │ │ │ ├── core_armv8mml.h │ │ │ ├── core_cm0.h │ │ │ ├── core_cm0plus.h │ │ │ ├── core_cm1.h │ │ │ ├── core_cm23.h │ │ │ ├── core_cm3.h │ │ │ ├── core_cm33.h │ │ │ ├── core_cm4.h │ │ │ ├── core_cm7.h │ │ │ ├── core_sc000.h │ │ │ ├── core_sc300.h │ │ │ ├── mpu_armv7.h │ │ │ ├── mpu_armv8.h │ │ │ └── tz_context.h │ │ ├── LICENSE.txt │ │ └── README.md │ └── STM32WBxx_HAL_Driver │ │ ├── Inc │ │ ├── Legacy │ │ │ └── stm32_hal_legacy.h │ │ ├── stm32_assert_template.h │ │ ├── stm32wbxx_hal.h │ │ ├── stm32wbxx_hal_adc.h │ │ ├── stm32wbxx_hal_adc_ex.h │ │ ├── stm32wbxx_hal_comp.h │ │ ├── stm32wbxx_hal_conf_template.h │ │ ├── stm32wbxx_hal_cortex.h │ │ ├── stm32wbxx_hal_crc.h │ │ ├── stm32wbxx_hal_crc_ex.h │ │ ├── stm32wbxx_hal_cryp.h │ │ ├── stm32wbxx_hal_cryp_ex.h │ │ ├── stm32wbxx_hal_def.h │ │ ├── stm32wbxx_hal_dma.h │ │ ├── stm32wbxx_hal_dma_ex.h │ │ ├── stm32wbxx_hal_exti.h │ │ ├── stm32wbxx_hal_flash.h │ │ ├── stm32wbxx_hal_flash_ex.h │ │ ├── stm32wbxx_hal_gpio.h │ │ ├── stm32wbxx_hal_gpio_ex.h │ │ ├── stm32wbxx_hal_hsem.h │ │ ├── stm32wbxx_hal_i2c.h │ │ ├── stm32wbxx_hal_i2c_ex.h │ │ ├── stm32wbxx_hal_ipcc.h │ │ ├── stm32wbxx_hal_irda.h │ │ ├── stm32wbxx_hal_irda_ex.h │ │ ├── stm32wbxx_hal_iwdg.h │ │ ├── stm32wbxx_hal_lcd.h │ │ ├── stm32wbxx_hal_lptim.h │ │ ├── stm32wbxx_hal_pcd.h │ │ ├── stm32wbxx_hal_pcd_ex.h │ │ ├── stm32wbxx_hal_pka.h │ │ ├── stm32wbxx_hal_pwr.h │ │ ├── stm32wbxx_hal_pwr_ex.h │ │ ├── stm32wbxx_hal_qspi.h │ │ ├── stm32wbxx_hal_rcc.h │ │ ├── stm32wbxx_hal_rcc_ex.h │ │ ├── stm32wbxx_hal_rng.h │ │ ├── stm32wbxx_hal_rtc.h │ │ ├── stm32wbxx_hal_rtc_ex.h │ │ ├── stm32wbxx_hal_sai.h │ │ ├── stm32wbxx_hal_sai_ex.h │ │ ├── stm32wbxx_hal_smartcard.h │ │ ├── stm32wbxx_hal_smartcard_ex.h │ │ ├── stm32wbxx_hal_smbus.h │ │ ├── stm32wbxx_hal_spi.h │ │ ├── stm32wbxx_hal_spi_ex.h │ │ ├── stm32wbxx_hal_tim.h │ │ ├── stm32wbxx_hal_tim_ex.h │ │ ├── stm32wbxx_hal_tsc.h │ │ ├── stm32wbxx_hal_uart.h │ │ ├── stm32wbxx_hal_uart_ex.h │ │ ├── stm32wbxx_hal_usart.h │ │ ├── stm32wbxx_hal_usart_ex.h │ │ ├── stm32wbxx_hal_wwdg.h │ │ ├── stm32wbxx_ll_adc.h │ │ ├── stm32wbxx_ll_bus.h │ │ ├── stm32wbxx_ll_comp.h │ │ ├── stm32wbxx_ll_cortex.h │ │ ├── stm32wbxx_ll_crc.h │ │ ├── stm32wbxx_ll_crs.h │ │ ├── stm32wbxx_ll_dma.h │ │ ├── stm32wbxx_ll_dmamux.h │ │ ├── stm32wbxx_ll_exti.h │ │ ├── stm32wbxx_ll_gpio.h │ │ ├── stm32wbxx_ll_hsem.h │ │ ├── stm32wbxx_ll_i2c.h │ │ ├── stm32wbxx_ll_ipcc.h │ │ ├── stm32wbxx_ll_iwdg.h │ │ ├── stm32wbxx_ll_lptim.h │ │ ├── stm32wbxx_ll_lpuart.h │ │ ├── stm32wbxx_ll_pka.h │ │ ├── stm32wbxx_ll_pwr.h │ │ ├── stm32wbxx_ll_rcc.h │ │ ├── stm32wbxx_ll_rng.h │ │ ├── stm32wbxx_ll_rtc.h │ │ ├── stm32wbxx_ll_spi.h │ │ ├── stm32wbxx_ll_system.h │ │ ├── stm32wbxx_ll_tim.h │ │ ├── stm32wbxx_ll_usart.h │ │ ├── stm32wbxx_ll_usb.h │ │ ├── stm32wbxx_ll_utils.h │ │ └── stm32wbxx_ll_wwdg.h │ │ ├── License.md │ │ ├── README.md │ │ ├── Release_Notes.html │ │ └── Src │ │ ├── stm32wbxx_hal.c │ │ ├── stm32wbxx_hal_adc.c │ │ ├── stm32wbxx_hal_adc_ex.c │ │ ├── stm32wbxx_hal_comp.c │ │ ├── stm32wbxx_hal_cortex.c │ │ ├── stm32wbxx_hal_crc.c │ │ ├── stm32wbxx_hal_crc_ex.c │ │ ├── stm32wbxx_hal_cryp.c │ │ ├── stm32wbxx_hal_cryp_ex.c │ │ ├── stm32wbxx_hal_dma.c │ │ ├── stm32wbxx_hal_dma_ex.c │ │ ├── stm32wbxx_hal_exti.c │ │ ├── stm32wbxx_hal_flash.c │ │ ├── stm32wbxx_hal_flash_ex.c │ │ ├── stm32wbxx_hal_gpio.c │ │ ├── stm32wbxx_hal_hsem.c │ │ ├── stm32wbxx_hal_i2c.c │ │ ├── stm32wbxx_hal_i2c_ex.c │ │ ├── stm32wbxx_hal_ipcc.c │ │ ├── stm32wbxx_hal_irda.c │ │ ├── stm32wbxx_hal_iwdg.c │ │ ├── stm32wbxx_hal_lcd.c │ │ ├── stm32wbxx_hal_lptim.c │ │ ├── stm32wbxx_hal_msp_template.c │ │ ├── stm32wbxx_hal_pcd.c │ │ ├── stm32wbxx_hal_pcd_ex.c │ │ ├── stm32wbxx_hal_pka.c │ │ ├── stm32wbxx_hal_pwr.c │ │ ├── stm32wbxx_hal_pwr_ex.c │ │ ├── stm32wbxx_hal_qspi.c │ │ ├── stm32wbxx_hal_rcc.c │ │ ├── stm32wbxx_hal_rcc_ex.c │ │ ├── stm32wbxx_hal_rng.c │ │ ├── stm32wbxx_hal_rtc.c │ │ ├── stm32wbxx_hal_rtc_ex.c │ │ ├── stm32wbxx_hal_sai.c │ │ ├── stm32wbxx_hal_sai_ex.c │ │ ├── stm32wbxx_hal_smartcard.c │ │ ├── stm32wbxx_hal_smartcard_ex.c │ │ ├── stm32wbxx_hal_smbus.c │ │ ├── stm32wbxx_hal_spi.c │ │ ├── stm32wbxx_hal_spi_ex.c │ │ ├── stm32wbxx_hal_tim.c │ │ ├── stm32wbxx_hal_tim_ex.c │ │ ├── stm32wbxx_hal_timebase_rtc_alarm_template.c │ │ ├── stm32wbxx_hal_timebase_rtc_wakeup_template.c │ │ ├── stm32wbxx_hal_timebase_tim_template.c │ │ ├── stm32wbxx_hal_tsc.c │ │ ├── stm32wbxx_hal_uart.c │ │ ├── stm32wbxx_hal_uart_ex.c │ │ ├── stm32wbxx_hal_usart.c │ │ ├── stm32wbxx_hal_usart_ex.c │ │ ├── stm32wbxx_hal_wwdg.c │ │ ├── stm32wbxx_ll_adc.c │ │ ├── stm32wbxx_ll_comp.c │ │ ├── stm32wbxx_ll_crc.c │ │ ├── stm32wbxx_ll_crs.c │ │ ├── stm32wbxx_ll_dma.c │ │ ├── stm32wbxx_ll_exti.c │ │ ├── stm32wbxx_ll_gpio.c │ │ ├── stm32wbxx_ll_i2c.c │ │ ├── stm32wbxx_ll_lptim.c │ │ ├── stm32wbxx_ll_lpuart.c │ │ ├── stm32wbxx_ll_pka.c │ │ ├── stm32wbxx_ll_pwr.c │ │ ├── stm32wbxx_ll_rcc.c │ │ ├── stm32wbxx_ll_rng.c │ │ ├── stm32wbxx_ll_rtc.c │ │ ├── stm32wbxx_ll_spi.c │ │ ├── stm32wbxx_ll_tim.c │ │ ├── stm32wbxx_ll_usart.c │ │ ├── stm32wbxx_ll_usb.c │ │ └── stm32wbxx_ll_utils.c │ ├── License.md │ ├── Middlewares │ └── ST │ │ └── STM32_WPAN │ │ ├── Release_Notes.html │ │ ├── ble │ │ ├── ble.h │ │ ├── ble_common.h │ │ ├── core │ │ │ ├── auto │ │ │ │ ├── ble_events.c │ │ │ │ ├── ble_events.h │ │ │ │ ├── ble_gap_aci.c │ │ │ │ ├── ble_gap_aci.h │ │ │ │ ├── ble_gatt_aci.c │ │ │ │ ├── ble_gatt_aci.h │ │ │ │ ├── ble_hal_aci.c │ │ │ │ ├── ble_hal_aci.h │ │ │ │ ├── ble_hci_le.c │ │ │ │ ├── ble_hci_le.h │ │ │ │ ├── ble_l2cap_aci.c │ │ │ │ ├── ble_l2cap_aci.h │ │ │ │ └── ble_types.h │ │ │ ├── ble_bufsize.h │ │ │ ├── ble_core.h │ │ │ ├── ble_defs.h │ │ │ ├── ble_legacy.h │ │ │ ├── ble_std.h │ │ │ ├── doc │ │ │ │ └── STM32WB_BLE_Wireless_Interface.html │ │ │ └── template │ │ │ │ ├── ble_const.h │ │ │ │ ├── compiler.h │ │ │ │ ├── osal.c │ │ │ │ └── osal.h │ │ ├── cryptographic │ │ │ ├── Inc │ │ │ │ ├── AES │ │ │ │ │ ├── CBC │ │ │ │ │ │ └── aes_cbc.h │ │ │ │ │ ├── CCM │ │ │ │ │ │ └── aes_ccm.h │ │ │ │ │ ├── CFB │ │ │ │ │ │ └── aes_cfb.h │ │ │ │ │ ├── CMAC │ │ │ │ │ │ └── aes_cmac.h │ │ │ │ │ ├── CTR │ │ │ │ │ │ └── aes_ctr.h │ │ │ │ │ ├── Common │ │ │ │ │ │ ├── aes_common.h │ │ │ │ │ │ └── aes_low_level.h │ │ │ │ │ ├── ECB │ │ │ │ │ │ └── aes_ecb.h │ │ │ │ │ ├── GCM │ │ │ │ │ │ └── aes_gcm.h │ │ │ │ │ ├── KEYWRAP │ │ │ │ │ │ └── aes_keywrap.h │ │ │ │ │ ├── OFB │ │ │ │ │ │ └── aes_ofb.h │ │ │ │ │ ├── XTS │ │ │ │ │ │ └── aes_xts.h │ │ │ │ │ └── aes.h │ │ │ │ ├── ARC4 │ │ │ │ │ └── arc4.h │ │ │ │ ├── C25519 │ │ │ │ │ └── c25519.h │ │ │ │ ├── CHACHA │ │ │ │ │ └── chacha.h │ │ │ │ ├── CHACHA20-POLY1305 │ │ │ │ │ └── chacha20-poly1305.h │ │ │ │ ├── Common │ │ │ │ │ ├── err_codes.h │ │ │ │ │ ├── macros.h │ │ │ │ │ ├── sk.h │ │ │ │ │ └── types.h │ │ │ │ ├── Common_chacha20_poly1305 │ │ │ │ │ ├── chacha20_core.h │ │ │ │ │ └── poly1305_core.h │ │ │ │ ├── Common_ecc_rsa │ │ │ │ │ └── MATH │ │ │ │ │ │ ├── BN │ │ │ │ │ │ ├── arith.h │ │ │ │ │ │ ├── bn.h │ │ │ │ │ │ ├── conv.h │ │ │ │ │ │ ├── modular.h │ │ │ │ │ │ ├── monty.h │ │ │ │ │ │ └── rng_bn.h │ │ │ │ │ │ └── math.h │ │ │ │ ├── Common_ed25519_c25519 │ │ │ │ │ └── internals │ │ │ │ │ │ └── fe25519.h │ │ │ │ ├── DES │ │ │ │ │ ├── CBC │ │ │ │ │ │ └── des_cbc.h │ │ │ │ │ ├── Common │ │ │ │ │ │ └── des_common.h │ │ │ │ │ ├── ECB │ │ │ │ │ │ └── des_ecb.h │ │ │ │ │ └── des.h │ │ │ │ ├── ECC │ │ │ │ │ ├── LowLevel │ │ │ │ │ │ └── elliptic.h │ │ │ │ │ └── ecc.h │ │ │ │ ├── ED25519 │ │ │ │ │ ├── ed25519.h │ │ │ │ │ └── internals │ │ │ │ │ │ ├── ge25519.h │ │ │ │ │ │ └── sc25519.h │ │ │ │ ├── HASH │ │ │ │ │ ├── Common │ │ │ │ │ │ ├── hash_common.h │ │ │ │ │ │ ├── sha256_sha224_transform.h │ │ │ │ │ │ └── sha512_sha384_transform.h │ │ │ │ │ ├── MD5 │ │ │ │ │ │ ├── hmac_md5.h │ │ │ │ │ │ ├── md5.h │ │ │ │ │ │ └── md5_low_level.h │ │ │ │ │ ├── SHA1 │ │ │ │ │ │ ├── hmac_sha1.h │ │ │ │ │ │ ├── sha1.h │ │ │ │ │ │ └── sha1_low_level.h │ │ │ │ │ ├── SHA224 │ │ │ │ │ │ ├── hmac_sha224.h │ │ │ │ │ │ ├── sha224.h │ │ │ │ │ │ └── sha224_low_level.h │ │ │ │ │ ├── SHA256 │ │ │ │ │ │ ├── hmac_sha256.h │ │ │ │ │ │ ├── sha256.h │ │ │ │ │ │ └── sha256_low_level.h │ │ │ │ │ ├── SHA384 │ │ │ │ │ │ ├── hmac_sha384.h │ │ │ │ │ │ ├── sha384.h │ │ │ │ │ │ └── sha384_low_level.h │ │ │ │ │ ├── SHA512 │ │ │ │ │ │ ├── hkdf512.h │ │ │ │ │ │ ├── hmac_sha512.h │ │ │ │ │ │ ├── sha512.h │ │ │ │ │ │ └── sha512_low_level.h │ │ │ │ │ └── hash.h │ │ │ │ ├── POLY1305 │ │ │ │ │ └── poly1305.h │ │ │ │ ├── RNG │ │ │ │ │ ├── DRBG_AES128 │ │ │ │ │ │ └── drbg.h │ │ │ │ │ └── rng.h │ │ │ │ ├── RSA │ │ │ │ │ ├── LowLevel │ │ │ │ │ │ └── rsa_low_level.h │ │ │ │ │ ├── PKCS#1v15 │ │ │ │ │ │ └── rsa_pkcs1v15.h │ │ │ │ │ └── rsa.h │ │ │ │ ├── TDES │ │ │ │ │ ├── CBC │ │ │ │ │ │ └── tdes_cbc.h │ │ │ │ │ ├── Common │ │ │ │ │ │ └── tdes_common.h │ │ │ │ │ ├── ECB │ │ │ │ │ │ └── tdes_ecb.h │ │ │ │ │ └── tdes.h │ │ │ │ ├── config.h │ │ │ │ └── crypto.h │ │ │ └── Lib │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_GCC.a │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_GCC_fpu.a │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_GCC_ot.a │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_GCC_ot_fpu.a │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_IARv8.a │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_IARv8_fpu.a │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_IARv8_otnsc.a │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_IARv8_otnsc_fpu.a │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_KEIL_1elfspf.lib │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_KEIL_1elfspf_fpu.lib │ │ │ │ ├── STM32CryptographicV3.1.3_CM4_KEIL_ot1elfspf.lib │ │ │ │ └── STM32CryptographicV3.1.3_CM4_KEIL_ot1elfspf_fpu.lib │ │ ├── menu │ │ │ ├── DispTools.c │ │ │ ├── DispTools.h │ │ │ ├── hids_menu.c │ │ │ ├── hids_menu.h │ │ │ └── hids_mouse_menu.c │ │ ├── mesh │ │ │ ├── Inc │ │ │ │ ├── appli_test.h │ │ │ │ ├── ble_clock.h │ │ │ │ ├── ble_mesh.h │ │ │ │ ├── pal_if.h │ │ │ │ ├── pal_nvm.h │ │ │ │ ├── serial_ctrl.h │ │ │ │ ├── serial_if.h │ │ │ │ ├── serial_prvn.h │ │ │ │ ├── serial_ut.h │ │ │ │ └── types.h │ │ │ ├── Library │ │ │ │ ├── libBle_Mesh_CM4_GCC.a │ │ │ │ ├── libBle_Mesh_CM4_GCC_DEBUG.a │ │ │ │ ├── libBle_Mesh_CM4_IAR.a │ │ │ │ ├── libBle_Mesh_CM4_IAR_DEBUG.a │ │ │ │ ├── libBle_Mesh_CM4_Keil.lib │ │ │ │ ├── libBle_Mesh_CM4_Keil_DEBUG.lib │ │ │ │ └── nofile.txt │ │ │ ├── MeshModel │ │ │ │ ├── Inc │ │ │ │ │ ├── common.h │ │ │ │ │ ├── config_client.h │ │ │ │ │ ├── generic.h │ │ │ │ │ ├── generic_client.h │ │ │ │ │ ├── light.h │ │ │ │ │ ├── light_client.h │ │ │ │ │ ├── light_lc.h │ │ │ │ │ ├── sensors.h │ │ │ │ │ ├── time_scene.h │ │ │ │ │ └── vendor.h │ │ │ │ └── Src │ │ │ │ │ ├── common.c │ │ │ │ │ ├── config_client.c │ │ │ │ │ ├── generic.c │ │ │ │ │ ├── generic_client.c │ │ │ │ │ ├── light.c │ │ │ │ │ ├── light_client.c │ │ │ │ │ ├── light_lc.c │ │ │ │ │ ├── sensors.c │ │ │ │ │ ├── time_scene.c │ │ │ │ │ └── vendor.c │ │ │ ├── PAL │ │ │ │ └── STM32WB │ │ │ │ │ └── pal_nvm.c │ │ │ └── Src │ │ │ │ ├── appli_test.c │ │ │ │ ├── mesh_cfg.c │ │ │ │ ├── serial_ctrl.c │ │ │ │ ├── serial_if.c │ │ │ │ ├── serial_prvn.c │ │ │ │ └── serial_ut.c │ │ └── svc │ │ │ ├── Inc │ │ │ ├── bls.h │ │ │ ├── bvopus_service_stm.h │ │ │ ├── crs_stm.h │ │ │ ├── dis.h │ │ │ ├── eds_stm.h │ │ │ ├── hids.h │ │ │ ├── hrs.h │ │ │ ├── hts.h │ │ │ ├── ias.h │ │ │ ├── lls.h │ │ │ ├── mesh.h │ │ │ ├── motenv_stm.h │ │ │ ├── opus_interface_stm.h │ │ │ ├── otas_stm.h │ │ │ ├── p2p_stm.h │ │ │ ├── svc_ctl.h │ │ │ ├── template_stm.h │ │ │ ├── tps.h │ │ │ └── uuid.h │ │ │ └── Src │ │ │ ├── bls.c │ │ │ ├── bvopus_service_stm.c │ │ │ ├── common_blesvc.h │ │ │ ├── crs_stm.c │ │ │ ├── dis.c │ │ │ ├── eds_stm.c │ │ │ ├── hids.c │ │ │ ├── hrs.c │ │ │ ├── hts.c │ │ │ ├── ias.c │ │ │ ├── lls.c │ │ │ ├── mesh.c │ │ │ ├── motenv_stm.c │ │ │ ├── opus_interface_stm.c │ │ │ ├── otas_stm.c │ │ │ ├── p2p_stm.c │ │ │ ├── svc_ctl.c │ │ │ ├── template_stm.c │ │ │ └── tps.c │ │ ├── interface │ │ └── patterns │ │ │ └── ble_thread │ │ │ ├── conf │ │ │ ├── tl_conf_template.h │ │ │ └── vcp_conf_template.h │ │ │ ├── hw.h │ │ │ ├── lhci │ │ │ ├── lhci.c │ │ │ └── lhci.h │ │ │ ├── shci │ │ │ ├── shci.c │ │ │ └── shci.h │ │ │ ├── tl │ │ │ ├── hci_tl.c │ │ │ ├── hci_tl.h │ │ │ ├── hci_tl_if.c │ │ │ ├── mbox_def.h │ │ │ ├── shci_tl.c │ │ │ ├── shci_tl.h │ │ │ ├── shci_tl_if.c │ │ │ ├── tl.h │ │ │ ├── tl_mac_802_15_4.h │ │ │ ├── tl_mbox.c │ │ │ ├── tl_thread_hci.c │ │ │ ├── tl_thread_hci.h │ │ │ ├── tl_zigbee_hci.c │ │ │ └── tl_zigbee_hci.h │ │ │ └── vcp │ │ │ ├── usbd_conf.c │ │ │ ├── usbd_conf.h │ │ │ ├── usbd_desc.c │ │ │ ├── usbd_desc.h │ │ │ ├── vcp.c │ │ │ └── vcp.h │ │ ├── stm32_wpan_common.h │ │ └── utilities │ │ ├── dbg_trace.c │ │ ├── dbg_trace.h │ │ ├── otp.c │ │ ├── otp.h │ │ ├── stm_list.c │ │ ├── stm_list.h │ │ ├── stm_queue.c │ │ ├── stm_queue.h │ │ └── utilities_common.h │ ├── README.md │ ├── hal_config │ └── stm32wbxx_hal_conf.h │ └── stm32wbxx.mk ├── lora_basics_modem ├── lora_basics_modem │ ├── CHANGELOG.md │ ├── LICENSE.txt │ ├── LICENSES.txt │ ├── README.md │ └── lbm_lib │ │ ├── Makefile │ │ ├── PORTING_GUIDE.md │ │ ├── README.md │ │ ├── lora_basics_modem_version.h │ │ ├── makefiles │ │ ├── common.mk │ │ ├── lr11xx.mk │ │ ├── options.mk │ │ ├── printing.mk │ │ ├── regions.mk │ │ ├── sx126x.mk │ │ ├── sx127x.mk │ │ └── sx128x.mk │ │ ├── smtc_modem_api │ │ ├── CHANGELOG.md │ │ ├── Makefile │ │ ├── smtc_modem_api.h │ │ ├── smtc_modem_geolocation_api.h │ │ ├── smtc_modem_test_api.h │ │ └── smtc_modem_utilities.h │ │ ├── smtc_modem_core │ │ ├── geolocation_services │ │ │ ├── README.md │ │ │ ├── doc │ │ │ │ ├── docMiddlewareSequenceOverview.png │ │ │ │ └── raw │ │ │ │ │ ├── Makefile │ │ │ │ │ └── docMiddlewareSequenceOverview.puml │ │ │ ├── geolocation_bsp.h │ │ │ ├── gnss_helpers.c │ │ │ ├── gnss_helpers.h │ │ │ ├── gnss_helpers_defs.h │ │ │ ├── mw_common.c │ │ │ ├── mw_common.h │ │ │ ├── mw_gnss_almanac.c │ │ │ ├── mw_gnss_almanac.h │ │ │ ├── mw_gnss_defs.h │ │ │ ├── mw_gnss_scan.c │ │ │ ├── mw_gnss_scan.h │ │ │ ├── mw_gnss_send.c │ │ │ ├── mw_gnss_send.h │ │ │ ├── mw_wifi_scan.c │ │ │ ├── mw_wifi_scan.h │ │ │ ├── mw_wifi_send.c │ │ │ ├── mw_wifi_send.h │ │ │ ├── wifi_helpers.c │ │ │ ├── wifi_helpers.h │ │ │ └── wifi_helpers_defs.h │ │ ├── lorawan_api │ │ │ ├── lorawan_api.c │ │ │ └── lorawan_api.h │ │ ├── lorawan_manager │ │ │ ├── doc │ │ │ │ ├── class_b_sequence.png │ │ │ │ ├── join_sequence.png │ │ │ │ └── raw │ │ │ │ │ ├── Class_B_Services.puml │ │ │ │ │ └── join.puml │ │ │ ├── lorawan_cid_request_management.c │ │ │ ├── lorawan_cid_request_management.h │ │ │ ├── lorawan_class_b_management.c │ │ │ ├── lorawan_class_b_management.h │ │ │ ├── lorawan_dwn_ack_management.c │ │ │ ├── lorawan_dwn_ack_management.h │ │ │ ├── lorawan_join_management.c │ │ │ ├── lorawan_join_management.h │ │ │ ├── lorawan_management_defs.h │ │ │ ├── lorawan_send_management.c │ │ │ └── lorawan_send_management.h │ │ ├── lorawan_packages │ │ │ ├── application_layer_clock_synchronization │ │ │ │ ├── lorawan_alcsync.h │ │ │ │ ├── v1.0.0 │ │ │ │ │ └── lorawan_alcsync_v1.0.0.c │ │ │ │ └── v2.0.0 │ │ │ │ │ └── lorawan_alcsync_v2.0.0.c │ │ │ ├── firmware_management_protocol │ │ │ │ ├── lorawan_fmp_package.c │ │ │ │ └── lorawan_fmp_package.h │ │ │ ├── fragmented_data_block_transport │ │ │ │ ├── lorawan_fragmentation_package.h │ │ │ │ ├── v1.0.0 │ │ │ │ │ ├── fragmentation_helper_v1.0.0.c │ │ │ │ │ ├── fragmentation_helper_v1.0.0.h │ │ │ │ │ └── lorawan_fragmentation_package_v1.0.0.c │ │ │ │ └── v2.0.0 │ │ │ │ │ ├── fragmentation_helper_v2.0.0.c │ │ │ │ │ ├── fragmentation_helper_v2.0.0.h │ │ │ │ │ └── lorawan_fragmentation_package_v2.0.0.c │ │ │ ├── lorawan_certification │ │ │ │ ├── lorawan_certification.c │ │ │ │ └── lorawan_certification.h │ │ │ ├── multi_package_access │ │ │ │ ├── lorawan_mpa_package.c │ │ │ │ └── lorawan_mpa_package.h │ │ │ └── remote_multicast_setup │ │ │ │ ├── lorawan_remote_multicast_setup_package.h │ │ │ │ ├── v1.0.0 │ │ │ │ └── lorawan_remote_multicast_setup_package_v1.0.0.c │ │ │ │ └── v2.0.0 │ │ │ │ └── lorawan_remote_multicast_setup_package_v2.0.0.c │ │ ├── lr1mac │ │ │ ├── lr1mac_config.h │ │ │ └── src │ │ │ │ ├── lr1_stack_mac_layer.c │ │ │ │ ├── lr1_stack_mac_layer.h │ │ │ │ ├── lr1mac_class_b │ │ │ │ ├── smtc_beacon_sniff.c │ │ │ │ ├── smtc_beacon_sniff.h │ │ │ │ ├── smtc_ping_slot.c │ │ │ │ └── smtc_ping_slot.h │ │ │ │ ├── lr1mac_class_c │ │ │ │ ├── lr1mac_class_c.c │ │ │ │ └── lr1mac_class_c.h │ │ │ │ ├── lr1mac_core.c │ │ │ │ ├── lr1mac_core.h │ │ │ │ ├── lr1mac_defs.h │ │ │ │ ├── lr1mac_utilities.c │ │ │ │ ├── lr1mac_utilities.h │ │ │ │ ├── services │ │ │ │ ├── smtc_duty_cycle.c │ │ │ │ ├── smtc_duty_cycle.h │ │ │ │ ├── smtc_lbt.c │ │ │ │ ├── smtc_lbt.h │ │ │ │ ├── smtc_lora_cad_bt.c │ │ │ │ ├── smtc_lora_cad_bt.h │ │ │ │ └── smtc_multicast │ │ │ │ │ ├── smtc_multicast.c │ │ │ │ │ └── smtc_multicast.h │ │ │ │ └── smtc_real │ │ │ │ └── src │ │ │ │ ├── region_as_923.c │ │ │ │ ├── region_as_923.h │ │ │ │ ├── region_as_923_defs.h │ │ │ │ ├── region_au_915.c │ │ │ │ ├── region_au_915.h │ │ │ │ ├── region_au_915_defs.h │ │ │ │ ├── region_cn_470.c │ │ │ │ ├── region_cn_470.h │ │ │ │ ├── region_cn_470_defs.h │ │ │ │ ├── region_cn_470_rp_1_0.c │ │ │ │ ├── region_cn_470_rp_1_0.h │ │ │ │ ├── region_cn_470_rp_1_0_defs.h │ │ │ │ ├── region_eu_868.c │ │ │ │ ├── region_eu_868.h │ │ │ │ ├── region_eu_868_defs.h │ │ │ │ ├── region_in_865.c │ │ │ │ ├── region_in_865.h │ │ │ │ ├── region_in_865_defs.h │ │ │ │ ├── region_kr_920.c │ │ │ │ ├── region_kr_920.h │ │ │ │ ├── region_kr_920_defs.h │ │ │ │ ├── region_ru_864.c │ │ │ │ ├── region_ru_864.h │ │ │ │ ├── region_ru_864_defs.h │ │ │ │ ├── region_us_915.c │ │ │ │ ├── region_us_915.h │ │ │ │ ├── region_us_915_defs.h │ │ │ │ ├── region_ww2g4.c │ │ │ │ ├── region_ww2g4.h │ │ │ │ ├── region_ww2g4_defs.h │ │ │ │ ├── smtc_real.c │ │ │ │ ├── smtc_real.h │ │ │ │ ├── smtc_real_defs.h │ │ │ │ └── smtc_real_defs_str.h │ │ ├── modem_services │ │ │ ├── almanac_packages │ │ │ │ ├── almanac.c │ │ │ │ └── almanac.h │ │ │ ├── beacon_tx_service │ │ │ │ ├── lorawan_beacon_tx_service_example.c │ │ │ │ └── lorawan_beacon_tx_service_example.h │ │ │ ├── cloud_dm_package │ │ │ │ ├── cloud_dm_package.c │ │ │ │ └── cloud_dm_package.h │ │ │ ├── device_management_defs.h │ │ │ ├── lfu_service │ │ │ │ ├── file_upload.c │ │ │ │ └── file_upload.h │ │ │ ├── modem_services_common.h │ │ │ ├── service_template │ │ │ │ ├── service_template.c │ │ │ │ └── service_template.h │ │ │ ├── store_and_forward │ │ │ │ ├── README.md │ │ │ │ ├── store_and_forward.c │ │ │ │ ├── store_and_forward.h │ │ │ │ ├── store_and_forward_flash.c │ │ │ │ └── store_and_forward_flash.h │ │ │ └── stream_packages │ │ │ │ ├── lmic_defines.h │ │ │ │ ├── rose.c │ │ │ │ ├── rose.h │ │ │ │ ├── rose.rst │ │ │ │ ├── rose_defs.h │ │ │ │ ├── stream.c │ │ │ │ └── stream.h │ │ ├── modem_supervisor │ │ │ ├── modem_supervisor_light.c │ │ │ └── modem_supervisor_light.h │ │ ├── modem_utilities │ │ │ ├── circularfs.c │ │ │ ├── circularfs.h │ │ │ ├── fifo_ctrl.c │ │ │ ├── fifo_ctrl.h │ │ │ ├── modem_core.c │ │ │ ├── modem_core.h │ │ │ ├── modem_event_utilities.c │ │ │ ├── modem_event_utilities.h │ │ │ └── modem_services_config.h │ │ ├── radio_drivers │ │ │ ├── lr11xx_driver │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ └── src │ │ │ │ │ ├── lr11xx_bootloader.c │ │ │ │ │ ├── lr11xx_bootloader.h │ │ │ │ │ ├── lr11xx_bootloader_types.h │ │ │ │ │ ├── lr11xx_crypto_engine.c │ │ │ │ │ ├── lr11xx_crypto_engine.h │ │ │ │ │ ├── lr11xx_crypto_engine_types.h │ │ │ │ │ ├── lr11xx_driver_module.cmake │ │ │ │ │ ├── lr11xx_driver_version.c │ │ │ │ │ ├── lr11xx_driver_version.h │ │ │ │ │ ├── lr11xx_gnss.c │ │ │ │ │ ├── lr11xx_gnss.h │ │ │ │ │ ├── lr11xx_gnss_types.h │ │ │ │ │ ├── lr11xx_hal.h │ │ │ │ │ ├── lr11xx_lr_fhss.c │ │ │ │ │ ├── lr11xx_lr_fhss.h │ │ │ │ │ ├── lr11xx_lr_fhss_types.h │ │ │ │ │ ├── lr11xx_radio.c │ │ │ │ │ ├── lr11xx_radio.h │ │ │ │ │ ├── lr11xx_radio_timings.c │ │ │ │ │ ├── lr11xx_radio_timings.h │ │ │ │ │ ├── lr11xx_radio_types.h │ │ │ │ │ ├── lr11xx_regmem.c │ │ │ │ │ ├── lr11xx_regmem.h │ │ │ │ │ ├── lr11xx_rttof.c │ │ │ │ │ ├── lr11xx_rttof.h │ │ │ │ │ ├── lr11xx_rttof_types.h │ │ │ │ │ ├── lr11xx_system.c │ │ │ │ │ ├── lr11xx_system.h │ │ │ │ │ ├── lr11xx_system_types.h │ │ │ │ │ ├── lr11xx_types.h │ │ │ │ │ ├── lr11xx_wifi.c │ │ │ │ │ ├── lr11xx_wifi.h │ │ │ │ │ ├── lr11xx_wifi_types.h │ │ │ │ │ └── lr_fhss_v1_base_types.h │ │ │ ├── sx126x_driver │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ └── src │ │ │ │ │ ├── lr_fhss_mac.c │ │ │ │ │ ├── lr_fhss_mac.h │ │ │ │ │ ├── lr_fhss_v1_base_types.h │ │ │ │ │ ├── sx126x.c │ │ │ │ │ ├── sx126x.h │ │ │ │ │ ├── sx126x_driver_version.c │ │ │ │ │ ├── sx126x_driver_version.h │ │ │ │ │ ├── sx126x_hal.h │ │ │ │ │ ├── sx126x_lr_fhss.c │ │ │ │ │ ├── sx126x_lr_fhss.h │ │ │ │ │ └── sx126x_regs.h │ │ │ ├── sx127x_driver │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ └── src │ │ │ │ │ ├── sx127x.c │ │ │ │ │ ├── sx127x.h │ │ │ │ │ ├── sx127x_hal.h │ │ │ │ │ ├── sx127x_regs.h │ │ │ │ │ ├── sx127x_regs_common_defs.h │ │ │ │ │ ├── sx127x_regs_gfsk_defs.h │ │ │ │ │ └── sx127x_regs_lora_defs.h │ │ │ └── sx128x_driver │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ └── src │ │ │ │ ├── sx128x.c │ │ │ │ ├── sx128x.h │ │ │ │ ├── sx128x_driver_module.cmake │ │ │ │ ├── sx128x_hal.h │ │ │ │ └── sx128x_regs.h │ │ ├── radio_planner │ │ │ └── src │ │ │ │ ├── radio_planner.c │ │ │ │ ├── radio_planner.h │ │ │ │ ├── radio_planner_hook_id_defs.h │ │ │ │ ├── radio_planner_stats.h │ │ │ │ └── radio_planner_types.h │ │ ├── smtc_modem.c │ │ ├── smtc_modem_crypto │ │ │ ├── lr11xx_crypto_engine │ │ │ │ └── lr11xx_ce.c │ │ │ ├── smtc_modem_crypto.c │ │ │ ├── smtc_modem_crypto.h │ │ │ ├── smtc_secure_element │ │ │ │ └── smtc_secure_element.h │ │ │ └── soft_secure_element │ │ │ │ ├── aes.c │ │ │ │ ├── aes.h │ │ │ │ ├── cmac.c │ │ │ │ ├── cmac.h │ │ │ │ └── soft_se.c │ │ ├── smtc_modem_hal_dbg_trace.h │ │ ├── smtc_modem_test.c │ │ ├── smtc_ral │ │ │ ├── README.md │ │ │ ├── license.md │ │ │ └── src │ │ │ │ ├── lr_fhss_v1_base_types.h │ │ │ │ ├── ral.h │ │ │ │ ├── ral_defs.h │ │ │ │ ├── ral_drv.h │ │ │ │ ├── ral_llcc68.c │ │ │ │ ├── ral_llcc68.h │ │ │ │ ├── ral_llcc68_bsp.h │ │ │ │ ├── ral_lr11xx.c │ │ │ │ ├── ral_lr11xx.h │ │ │ │ ├── ral_lr11xx_bsp.h │ │ │ │ ├── ral_sx126x.c │ │ │ │ ├── ral_sx126x.h │ │ │ │ ├── ral_sx126x_bsp.h │ │ │ │ ├── ral_sx127x.c │ │ │ │ ├── ral_sx127x.h │ │ │ │ ├── ral_sx127x_bsp.h │ │ │ │ ├── ral_sx128x.c │ │ │ │ ├── ral_sx128x.h │ │ │ │ └── ral_sx128x_bsp.h │ │ └── smtc_ralf │ │ │ ├── license.md │ │ │ └── src │ │ │ ├── ralf.h │ │ │ ├── ralf_defs.h │ │ │ ├── ralf_drv.h │ │ │ ├── ralf_lr11xx.c │ │ │ ├── ralf_lr11xx.h │ │ │ ├── ralf_lr11xx_bsp.h │ │ │ ├── ralf_sx126x.c │ │ │ ├── ralf_sx126x.h │ │ │ ├── ralf_sx126x_bsp.h │ │ │ ├── ralf_sx127x.c │ │ │ ├── ralf_sx127x.h │ │ │ ├── ralf_sx127x_bsp.h │ │ │ ├── ralf_sx128x.c │ │ │ ├── ralf_sx128x.h │ │ │ └── ralf_sx128x_bsp.h │ │ └── smtc_modem_hal │ │ ├── CHANGELOG.md │ │ └── smtc_modem_hal.h ├── makefiles │ ├── common.mk │ └── printing.mk └── printers │ ├── smtc_modem_api_str.c │ └── smtc_modem_api_str.h ├── smtc_hal ├── STMicroelectronics │ └── STM32WB55xx │ │ ├── inc │ │ ├── smtc_hal_flash_mapping.h │ │ ├── smtc_hal_mcu_ex.h │ │ └── smtc_hal_rtc_ex.h │ │ ├── smtc_hal_wb55.mk │ │ ├── smtc_modem_hal │ │ └── smtc_modem_hal.c │ │ └── src │ │ ├── smtc_hal_adc.c │ │ ├── smtc_hal_flash.c │ │ ├── smtc_hal_gpio.c │ │ ├── smtc_hal_i2c.c │ │ ├── smtc_hal_lp_timer.c │ │ ├── smtc_hal_mcu.c │ │ ├── smtc_hal_rng.c │ │ ├── smtc_hal_rtc.c │ │ ├── smtc_hal_spi.c │ │ ├── smtc_hal_tmr_list.c │ │ ├── smtc_hal_trace.c │ │ ├── smtc_hal_uart.c │ │ └── smtc_hal_watchdog.c ├── board │ └── board_options.h ├── inc │ ├── smtc_hal.h │ ├── smtc_hal_adc.h │ ├── smtc_hal_dbg_trace.h │ ├── smtc_hal_def.h │ ├── smtc_hal_flash.h │ ├── smtc_hal_gpio.h │ ├── smtc_hal_gpio_pin_names.h │ ├── smtc_hal_i2c.h │ ├── smtc_hal_lp_timer.h │ ├── smtc_hal_mcu.h │ ├── smtc_hal_options.h │ ├── smtc_hal_rng.h │ ├── smtc_hal_rtc.h │ ├── smtc_hal_spi.h │ ├── smtc_hal_tmr_list.h │ ├── smtc_hal_trace.h │ ├── smtc_hal_uart.h │ └── smtc_hal_watchdog.h └── smtc_hal_target.mk └── toolchain └── gcc └── toolchain.mk /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | 8 | ## [3.0.0] - 2023-11-12 9 | 10 | ### Added 11 | 12 | - New app architecture, geolocation fully autonomous, device doesn't need to be connected to a network to start geolocation operation. 13 | - Add capability to send data thought store and forward service. 14 | - Uptate LoRa Basics Modem version from 3.3.0 to 4.3.0 15 | 16 | ### removed 17 | 18 | - [geolocation_gnss] Application code. 19 | - [geolocation_gnss_wifi] Application code. 20 | - [geolocation_wifi] Application code. 21 | 22 | ## [2.3.0] - 2023-06-12 23 | 24 | ### Change 25 | - Application code update according to geolocation middleware v2.1.0. see [Geolocation middleware Changelog](../../../geolocation_middleware/CHANGELOG.md). 26 | - Uptate LoRa Basics Modem version from 3.2.4 to 3.3.0 27 | 28 | ## [2.2.0] - 2023-01-23 29 | 30 | ### Change 31 | - Application code update according to geolocation middleware v2.0.0. see [Geolocation middleware Changelog](../../../geolocation_middleware/CHANGELOG.md). 32 | 33 | ## [2.1.1] - 2022-11-10 34 | 35 | ### Added 36 | - Support of the regions IN_865 / RU_864 / AU_915 / AS_923_GRP1 / AS_923_GRP2 /AS_923_GRP3 / KR_920 37 | 38 | ### Change 39 | - General code improvement 40 | 41 | ### Fixed 42 | - LoRa Basics Modem crashlog was not functionnal 43 | - `smtc_modem_hal_get_battery_level` was always returning 254 44 | - Race condition when time was not available anymore in `on_middleware_gnss_event` function 45 | 46 | ## [2.0.8] - 2022-06-29 47 | 48 | ### Fixed 49 | 50 | - Overconsumption in airplane mode 51 | - RTC rollover after 6 days 52 | 53 | ## [2.0.7] - 2022-06-15 54 | 55 | ### Added 56 | 57 | - Initial version 58 | -------------------------------------------------------------------------------- /apps/tracker_application/bin/BLE_Ota.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/BLE_Ota.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/manifest.json: -------------------------------------------------------------------------------- 1 | {"lr1110_transceiver": { 2 | "version": "03.08", 3 | "url": "https://api.github.com/repos/Lora-net/radio_firmware_images/contents/lr1110/transceiver/lr1110_transceiver_0308.h", 4 | "hash": "b6528986d0448b56d9282fe3bc0e678e"}, 5 | "lbm_app": { 6 | "version": "2.03.00", 7 | "url": "https://api.github.com/repos/Lora-net/SWSD004/contents/apps/tracker_application/bin/tracker_application.bin", 8 | "hash": "025107862d0af581f0ea8b26f466eaf4"}, 9 | "lr1110_fa_transceiver": { 10 | "version": "04.01", 11 | "url": "https://api.github.com/repos/Lora-net/radio_firmware_images/contents/lr1110/transceiver/lr1110_transceiver_0401.h", 12 | "hash": "9cf07cebd4b7163504a2999cea6cc7be"}, 13 | "lbm_fa_app": { 14 | "version": "3.00.00", 15 | "url": "https://api.github.com/repos/Lora-net/SWSD004/contents/apps/tracker_application/bin/tracker_application_autonomous.bin", 16 | "hash": "341b9258aee6eeccd1d0aff695c29aae"} 17 | } -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_as923_grp1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_as923_grp1.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_as923_grp2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_as923_grp2.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_as923_grp3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_as923_grp3.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_au915.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_au915.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_as923_grp1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_as923_grp1.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_as923_grp2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_as923_grp2.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_as923_grp3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_as923_grp3.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_au915.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_au915.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_eu868.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_eu868.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_in865.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_in865.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_japan.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_japan.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_kr920.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_kr920.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_autonomous_us915.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_autonomous_us915.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_eu868.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_eu868.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_in865.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_in865.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_japan.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_japan.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_kr920.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_kr920.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_ru864.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_ru864.bin -------------------------------------------------------------------------------- /apps/tracker_application/bin/tracker_application_us915.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/bin/tracker_application_us915.bin -------------------------------------------------------------------------------- /apps/tracker_application/doc/img/StartScanA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/doc/img/StartScanA.png -------------------------------------------------------------------------------- /apps/tracker_application/doc/img/StartScanIos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/doc/img/StartScanIos.png -------------------------------------------------------------------------------- /apps/tracker_application/doc/img/TrackDiscA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/doc/img/TrackDiscA.png -------------------------------------------------------------------------------- /apps/tracker_application/doc/img/TrackDiscI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/doc/img/TrackDiscI.png -------------------------------------------------------------------------------- /apps/tracker_application/doc/img/TrackerDetectApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/doc/img/TrackerDetectApp.png -------------------------------------------------------------------------------- /apps/tracker_application/doc/img/Tracker_ble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/doc/img/Tracker_ble.png -------------------------------------------------------------------------------- /apps/tracker_application/doc/img/apps.Tracker.statemachine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/doc/img/apps.Tracker.statemachine.png -------------------------------------------------------------------------------- /apps/tracker_application/doc/img/migration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/doc/img/migration.png -------------------------------------------------------------------------------- /apps/tracker_application/makefile/run_coverity.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -r html_output 4 | rm -r idir 5 | cov-build --dir idir make clean 6 | cov-build --dir idir make -j 7 | cov-analyze --dir idir --strip-path /home/bboulet/Documents/Documents/dev/lr1110/ 8 | mkdir html_output 9 | cov-format-errors --dir idir --html-output ./html_output/ 10 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/ble/core/ble_core.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * @file ble_core.h 3 | * @author MCD Application Team 4 | * @brief This file contains the definitions for BLE stack 5 | ***************************************************************************** 6 | * @attention 7 | * 8 | *

© Copyright (c) 2019 STMicroelectronics. 9 | * All rights reserved.

10 | * 11 | * This software component is licensed by ST under Ultimate Liberty license 12 | * SLA0044, the "License"; You may not use this file except in compliance with 13 | * the License. You may obtain a copy of the License at: 14 | * www.st.com/SLA0044 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | #ifndef BLE_CORE_H__ 20 | #define BLE_CORE_H__ 21 | 22 | 23 | /* BLE standard definitions */ 24 | #include "ble_std.h" 25 | 26 | /* BLE API definitions */ 27 | #include "ble_defs.h" 28 | #include "auto/ble_gap_aci.h" 29 | #include "auto/ble_gatt_aci.h" 30 | #include "auto/ble_hal_aci.h" 31 | #include "auto/ble_hci_le.h" 32 | #include "auto/ble_l2cap_aci.h" 33 | #include "auto/ble_events.h" 34 | 35 | /* BLE stack buffer size definitions */ 36 | #include "ble_bufsize.h" 37 | 38 | /* BLE legacy definitions */ 39 | #include "ble_legacy.h" 40 | 41 | 42 | #endif /* ! BLE_CORE_H__ */ 43 | 44 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE***/ 45 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/ble/core/template/osal.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * @file osal.c 3 | * @author MCD Application Team 4 | * @brief Implements the interface defined in "osal.h" needed by the stack. 5 | * Actually, only memset, memcpy and memcmp wrappers are implemented. 6 | ***************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | #include 21 | #include "osal.h" 22 | 23 | 24 | /** 25 | * Osal_MemCpy 26 | * 27 | */ 28 | 29 | void* Osal_MemCpy( void *dest, const void *src, unsigned int size ) 30 | { 31 | return memcpy( dest, src, size ); 32 | } 33 | 34 | /** 35 | * Osal_MemSet 36 | * 37 | */ 38 | 39 | void* Osal_MemSet( void *ptr, int value, unsigned int size ) 40 | { 41 | return memset( ptr, value, size ); 42 | } 43 | 44 | /** 45 | * Osal_MemCmp 46 | * 47 | */ 48 | int Osal_MemCmp( const void *s1, const void *s2, unsigned int size ) 49 | { 50 | return memcmp( s1, s2, size ); 51 | } 52 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/ble/svc/Inc/dis.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file dis.h 4 | * @author MCD Application Team 5 | * @brief Header for dis.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __DIS_H 24 | #define __DIS_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" 28 | { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | /* Exported types ------------------------------------------------------------*/ 33 | typedef struct 34 | { 35 | uint8_t *pPayload; 36 | uint8_t Length; 37 | }DIS_Data_t; 38 | 39 | 40 | /* Exported constants --------------------------------------------------------*/ 41 | /* External variables --------------------------------------------------------*/ 42 | /* Exported macros -----------------------------------------------------------*/ 43 | /* Exported functions ------------------------------------------------------- */ 44 | void DIS_Init(void); 45 | tBleStatus DIS_UpdateChar(uint16_t uuid, DIS_Data_t *p_data); 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | 51 | #endif /*__DIS_H */ 52 | 53 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 54 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/ble/svc/Inc/ias.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file ias.h 4 | * @author MCD Application Team 5 | * @brief Header for ias.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __IAS_H 24 | #define __IAS_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" 28 | { 29 | #endif 30 | 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | 34 | /* Exported types ------------------------------------------------------------*/ 35 | typedef enum 36 | { 37 | IAS_NO_ALERT_EVT, 38 | IAS_MID_ALERT_EVT, 39 | IAS_HIGH_ALERT_EVT 40 | } IAS_App_Opcode_Notification_evt_t; 41 | 42 | typedef struct 43 | { 44 | IAS_App_Opcode_Notification_evt_t IAS_Evt_Opcode; 45 | }IAS_App_Notification_evt_t; 46 | 47 | 48 | /* Exported constants --------------------------------------------------------*/ 49 | /* External variables --------------------------------------------------------*/ 50 | /* Exported macros -----------------------------------------------------------*/ 51 | /* Exported functions ------------------------------------------------------- */ 52 | void IAS_Init(void); 53 | tBleStatus IAS_Update_Char(uint16_t UUID, uint8_t *pPayload); 54 | void IAS_App_Notification(IAS_App_Notification_evt_t *pNotification); 55 | 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif /*__IAS_H */ 62 | 63 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 64 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/ble/svc/Inc/lls.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file lls.h 4 | * @author MCD Application Team 5 | * @brief Header for lls.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __LLS_H 24 | #define __LLS_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" 28 | { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | 33 | /* Exported types ------------------------------------------------------------*/ 34 | typedef enum 35 | { 36 | LLS_NO_ALERT_EVT, 37 | LLS_MID_ALERT_EVT, 38 | LLS_HIGH_ALERT_EVT, 39 | LLS_DISCONNECT_EVT, 40 | LLS_CONNECT_EVT 41 | } LLS_App_Opcode_Notification_evt_t; 42 | 43 | typedef struct 44 | { 45 | LLS_App_Opcode_Notification_evt_t LLS_Evt_Opcode; 46 | }LLS_App_Notification_evt_t; 47 | 48 | 49 | /* Exported constants --------------------------------------------------------*/ 50 | /* External variables --------------------------------------------------------*/ 51 | /* Exported macros -----------------------------------------------------------*/ 52 | /* Exported functions ------------------------------------------------------- */ 53 | void LLS_Init(void); 54 | tBleStatus LLS_Update_Char(uint16_t UUID, uint8_t *pPayload); 55 | void LLS_App_Notification(LLS_App_Notification_evt_t *pNotification); 56 | 57 | 58 | #ifdef __cplusplus 59 | } 60 | #endif 61 | 62 | #endif /*__LLS_H */ 63 | 64 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 65 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/ble/svc/Inc/tps.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tps.h 4 | * @author MCD Application Team 5 | * @brief Header for tps.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __TPS_H 24 | #define __TPS_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" 28 | { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | 33 | /* Exported types ------------------------------------------------------------*/ 34 | /* Exported constants --------------------------------------------------------*/ 35 | /* External variables --------------------------------------------------------*/ 36 | /* Exported macros -----------------------------------------------------------*/ 37 | /* Exported functions ------------------------------------------------------- */ 38 | void TPS_Init(void); 39 | tBleStatus TPS_Update_Char(uint16_t UUID, uint8_t *pPayload); 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif 44 | 45 | #endif /*__TPS_H */ 46 | 47 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 48 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/ble/svc/Src/common_blesvc.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | ****************************************************************************** 4 | * @file common_blesvc.h 5 | * @author MCD Application Team 6 | * @brief Header for ble modules 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | *

© Copyright (c) 2019 STMicroelectronics. 11 | * All rights reserved.

12 | * 13 | * This software component is licensed by ST under Ultimate Liberty license 14 | * SLA0044, the "License"; You may not use this file except in compliance with 15 | * the License. You may obtain a copy of the License at: 16 | * www.st.com/SLA0044 17 | * 18 | ****************************************************************************** 19 | */ 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __COMMON_BLESVC_H 24 | #define __COMMON_BLESVC_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /* Includes ------------------------------------------------------------------*/ 31 | #include "ble_common.h" 32 | #include "ble.h" 33 | #include "dbg_trace.h" 34 | 35 | 36 | 37 | /* Exported types ------------------------------------------------------------*/ 38 | typedef enum 39 | { 40 | COMSVC_Notification = ( 1 << 0 ), 41 | COMSVC_Indication = ( 1 << 1 ), 42 | } COMSVC_ClientCharConfMask_t; 43 | 44 | /* Exported constants --------------------------------------------------------*/ 45 | /* External variables --------------------------------------------------------*/ 46 | /* Exported macros -----------------------------------------------------------*/ 47 | 48 | 49 | #ifdef __cplusplus 50 | } 51 | #endif 52 | 53 | #endif /*__COMMON_BLESVC_H */ 54 | 55 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 56 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file hci_tl_if.c 4 | * @author MCD Application Team 5 | * @brief Transport layer interface to BLE 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | #include "hci_tl.h" 20 | #include "tl.h" 21 | 22 | 23 | void hci_register_io_bus(tHciIO* fops) 24 | { 25 | /* Register IO bus services */ 26 | fops->Init = TL_BLE_Init; 27 | fops->Send = TL_BLE_SendCmd; 28 | 29 | return; 30 | } 31 | 32 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 33 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file shci_tl_if.c 4 | * @author MCD Application Team 5 | * @brief Transport layer interface to the system channel 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | #include "shci_tl.h" 20 | #include "tl.h" 21 | 22 | 23 | void shci_register_io_bus(tSHciIO* fops) 24 | { 25 | /* Register IO bus services */ 26 | fops->Init = TL_SYS_Init; 27 | fops->Send = TL_SYS_SendCmd; 28 | 29 | return; 30 | } 31 | 32 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 33 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mac_802_15_4.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_mac_802_15_4.h 4 | * @author MCD Application Team 5 | * @brief Constants and functions for managing MAC 802.15.4 TL 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | #ifndef __TL_MAC_802_15_4_H 22 | #define __TL_MAC_802_15_4_H 23 | 24 | /* Includes ------------------------------------------------------------------*/ 25 | 26 | #include "tl.h" 27 | #include 28 | 29 | #include "802_15_4_mac_core.h" 30 | 31 | /* Exported functions ------------------------------------------------------------*/ 32 | void Mac_802_15_4_PreCmdProcessing(void); 33 | void Mac_802_15_4_CmdTransfer(void); 34 | 35 | TL_CmdPacket_t* MAC_802_15_4_GetCmdBuffer(void); 36 | TL_Evt_t* MAC_802_15_4_GetRspPayEvt(void); 37 | 38 | TL_Evt_t* MAC_802_15_4_GetNotificationBuffer(void); 39 | MAC_802_15_4_Notification_t* MAC_802_15_4_GetNotificationPayloadBuffer(void); 40 | 41 | /* Exported defines -----------------------------------------------------------*/ 42 | 43 | 44 | #endif /* __TL_MAC_802_15_4_H_ */ 45 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/interface/patterns/ble_thread/tl/tl_thread_hci.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_thread_hci.c 4 | * @author MCD Application Team 5 | * @brief Function for managing HCI interface. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32_wpan_common.h" 23 | #include "stm_list.h" 24 | #include "tl.h" 25 | #include "tl_thread_hci.h" 26 | 27 | /* Private typedef -----------------------------------------------------------*/ 28 | /* Private defines -----------------------------------------------------------*/ 29 | 30 | 31 | 32 | /* Private macros ------------------------------------------------------------*/ 33 | 34 | /* Public variables ---------------------------------------------------------*/ 35 | 36 | 37 | 38 | /* Private variables ---------------------------------------------------------*/ 39 | 40 | 41 | /* Private function prototypes -----------------------------------------------*/ 42 | 43 | 44 | /* Private functions ----------------------------------------------------------*/ 45 | __WEAK void Pre_OtCmdProcessing(void){return;} 46 | __WEAK void Ot_Cmd_Transfer(void){return;} 47 | __WEAK Thread_OT_Cmd_Request_t* THREAD_Get_OTCmdPayloadBuffer(void){return 0;} 48 | __WEAK Thread_OT_Cmd_Request_t* THREAD_Get_OTCmdRspPayloadBuffer(void){return 0;} 49 | __WEAK Thread_OT_Cmd_Request_t* THREAD_Get_NotificationPayloadBuffer(void){return 0;} 50 | 51 | 52 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/interface/patterns/ble_thread/tl/tl_thread_hci.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_thread_hci.h 4 | * @author MCD Application Team 5 | * @brief Constants and functions for managing Thread TL 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | #ifndef __TL_THREAD_HCI_H_ 22 | #define __TL_THREAD_HCI_H_ 23 | 24 | /* Includes ------------------------------------------------------------------*/ 25 | #include "stm32wbxx_core_interface_def.h" 26 | 27 | /* Exported functions ------------------------------------------------------------*/ 28 | void Pre_OtCmdProcessing(void); 29 | void Ot_Cmd_Transfer(void); 30 | Thread_OT_Cmd_Request_t* THREAD_Get_OTCmdPayloadBuffer(void); 31 | Thread_OT_Cmd_Request_t* THREAD_Get_OTCmdRspPayloadBuffer(void); 32 | Thread_OT_Cmd_Request_t* THREAD_Get_NotificationPayloadBuffer(void); 33 | 34 | /* Exported defines -----------------------------------------------------------*/ 35 | 36 | 37 | #endif /* __TL_THREAD_HCI_H_ */ 38 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/interface/patterns/ble_thread/tl/tl_zigbee_hci.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_zigbee_hci.c 4 | * @author MCD Application Team 5 | * @brief Function for managing HCI interface. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32_wpan_common.h" 23 | #include "hw.h" 24 | 25 | #include "stm_list.h" 26 | 27 | #include "tl.h" 28 | #include "tl_zigbee_hci.h" 29 | 30 | 31 | /* Private typedef -----------------------------------------------------------*/ 32 | /* Private defines -----------------------------------------------------------*/ 33 | 34 | 35 | 36 | /* Private macros ------------------------------------------------------------*/ 37 | 38 | /* Public variables ---------------------------------------------------------*/ 39 | 40 | 41 | 42 | /* Private variables ---------------------------------------------------------*/ 43 | 44 | 45 | /* Private function prototypes -----------------------------------------------*/ 46 | 47 | 48 | /* Private functions ----------------------------------------------------------*/ 49 | __weak void Pre_ZigbeeCmdProcessing(void){return;} 50 | __weak void ZIGBEE_CmdTransfer(void){return;} 51 | __weak Zigbee_Cmd_Request_t* ZIGBEE_Get_OTCmdPayloadBuffer(void){return 0;} 52 | __weak Zigbee_Cmd_Request_t* ZIGBEE_Get_OTCmdRspPayloadBuffer(void){return 0;} 53 | __weak Zigbee_Cmd_Request_t* ZIGBEE_Get_NotificationPayloadBuffer(void){return 0;} 54 | __weak Zigbee_Cmd_Request_t* ZIGBEE_Get_M0RequestPayloadBuffer(void){return 0;} 55 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/interface/patterns/ble_thread/tl/tl_zigbee_hci.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_zigbee_hci.h 4 | * @author MCD Application Team 5 | * @brief Constants and functions for managing Thread TL 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | #ifndef __TL_ZIGBEE_HCI_H_ 22 | #define __TL_ZIGBEE_HCI_H_ 23 | 24 | /* Includes ------------------------------------------------------------------*/ 25 | #include "zigbee_core.h" 26 | #include "stm32wbxx_core_interface_def.h" 27 | #include "tl.h" 28 | #include 29 | 30 | 31 | /* Exported functions ------------------------------------------------------------*/ 32 | void Pre_ZigbeeCmdProcessing(void); 33 | void ZIGBEE_CmdTransfer(void); 34 | Zigbee_Cmd_Request_t* ZIGBEE_Get_OTCmdPayloadBuffer(void); 35 | Zigbee_Cmd_Request_t* ZIGBEE_Get_OTCmdRspPayloadBuffer(void); 36 | Zigbee_Cmd_Request_t* ZIGBEE_Get_NotificationPayloadBuffer(void); 37 | Zigbee_Cmd_Request_t* ZIGBEE_Get_M0RequestPayloadBuffer(void); 38 | 39 | /* Exported defines -----------------------------------------------------------*/ 40 | 41 | 42 | #endif /* __TL_ZIGBEE_HCI_H_*/ 43 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/utilities/otp.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file otp.c 4 | * @author MCD Application Team 5 | * @brief OTP manager 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "utilities_common.h" 23 | 24 | #include "otp.h" 25 | 26 | /* Private typedef -----------------------------------------------------------*/ 27 | /* Private defines -----------------------------------------------------------*/ 28 | /* Private macros ------------------------------------------------------------*/ 29 | /* Private variables ---------------------------------------------------------*/ 30 | /* Global variables ----------------------------------------------------------*/ 31 | /* Private function prototypes -----------------------------------------------*/ 32 | /* Functions Definition ------------------------------------------------------*/ 33 | 34 | uint8_t * OTP_Read( uint8_t id ) 35 | { 36 | uint8_t *p_id; 37 | 38 | p_id = (uint8_t*)(CFG_OTP_END_ADRESS - 7) ; 39 | 40 | while( ((*( p_id + 7 )) != id) && ( p_id != (uint8_t*)CFG_OTP_BASE_ADDRESS) ) 41 | { 42 | p_id -= 8 ; 43 | } 44 | 45 | if((*( p_id + 7 )) != id) 46 | { 47 | p_id = 0 ; 48 | } 49 | 50 | return p_id ; 51 | } 52 | 53 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 54 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/STM32_WPAN/utilities/stm_list.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm_list.h 4 | * @author MCD Application Team 5 | * @brief Header file for linked list library. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | #ifndef _STM_LIST_H_ 22 | #define _STM_LIST_H_ 23 | 24 | /* Includes ------------------------------------------------------------------*/ 25 | 26 | typedef struct _tListNode { 27 | struct _tListNode * next; 28 | struct _tListNode * prev; 29 | } tListNode; 30 | 31 | void LST_init_head (tListNode * listHead); 32 | 33 | uint8_t LST_is_empty (tListNode * listHead); 34 | 35 | void LST_insert_head (tListNode * listHead, tListNode * node); 36 | 37 | void LST_insert_tail (tListNode * listHead, tListNode * node); 38 | 39 | void LST_remove_node (tListNode * node); 40 | 41 | void LST_remove_head (tListNode * listHead, tListNode ** node ); 42 | 43 | void LST_remove_tail (tListNode * listHead, tListNode ** node ); 44 | 45 | void LST_insert_node_after (tListNode * node, tListNode * ref_node); 46 | 47 | void LST_insert_node_before (tListNode * node, tListNode * ref_node); 48 | 49 | int LST_get_size (tListNode * listHead); 50 | 51 | void LST_get_next_node (tListNode * ref_node, tListNode ** node); 52 | 53 | void LST_get_prev_node (tListNode * ref_node, tListNode ** node); 54 | 55 | #endif /* _STM_LIST_H_ */ 56 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/app_debug.h: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * File Name : app_debug.h 5 | * Description : Header for app_debug.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2020 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* USER CODE END Header */ 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __APP_DEBUG_H 23 | #define __APP_DEBUG_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | 31 | /* Private includes ----------------------------------------------------------*/ 32 | /* USER CODE BEGIN Includes */ 33 | 34 | /* USER CODE END Includes */ 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* USER CODE BEGIN ET */ 38 | 39 | /* USER CODE END ET */ 40 | 41 | /* Exported constants --------------------------------------------------------*/ 42 | /* USER CODE BEGIN EC */ 43 | 44 | /* USER CODE END EC */ 45 | 46 | /* Exported variables --------------------------------------------------------*/ 47 | /* USER CODE BEGIN EV */ 48 | 49 | /* USER CODE END EV */ 50 | 51 | /* Exported macros ------------------------------------------------------------*/ 52 | /* USER CODE BEGIN EM */ 53 | 54 | /* USER CODE END EM */ 55 | 56 | /* Exported functions ---------------------------------------------*/ 57 | void APPD_Init( void ); 58 | void APPD_EnableCPU2( void ); 59 | /* USER CODE BEGIN EF */ 60 | 61 | /* USER CODE END EF */ 62 | 63 | #ifdef __cplusplus 64 | } /* extern "C" */ 65 | #endif 66 | 67 | #endif /*__APP_DEBUG_H */ 68 | 69 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 70 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/app_entry.h: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * File Name : app_entry.h 5 | * Description : App entry configuration file for STM32WPAN Middleware. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2020 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* USER CODE END Header */ 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef APP_ENTRY_H 23 | #define APP_ENTRY_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | 31 | /* Private includes ----------------------------------------------------------*/ 32 | /* USER CODE BEGIN Includes */ 33 | 34 | /* USER CODE END Includes */ 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* USER CODE BEGIN ET */ 38 | 39 | /* USER CODE END ET */ 40 | 41 | /* Exported constants --------------------------------------------------------*/ 42 | /* USER CODE BEGIN EC */ 43 | 44 | /* USER CODE END EC */ 45 | 46 | /* Exported variables --------------------------------------------------------*/ 47 | /* USER CODE BEGIN EV */ 48 | 49 | /* USER CODE END EV */ 50 | 51 | /* Exported macros ------------------------------------------------------------*/ 52 | /* USER CODE BEGIN EM */ 53 | 54 | /* USER CODE END EM */ 55 | 56 | /* Exported functions ---------------------------------------------*/ 57 | void APPE_Init( void ); 58 | /* USER CODE BEGIN EF */ 59 | 60 | /* USER CODE END EF */ 61 | 62 | #ifdef __cplusplus 63 | } /* extern "C" */ 64 | #endif 65 | 66 | #endif /*APP_ENTRY_H */ 67 | 68 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 69 | -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/stack_binary/README.md: -------------------------------------------------------------------------------- 1 | # How to flash BLE stack in the tracker 2 | Here is the process to program the BLE stack into the STM32WB55CG M0 core 3 | 4 | - Install STM32CubeProgrammer available here : https://www.st.com/en/development-tools/stm32cubeprog.html 5 | - copy FUS and Stack binaries in PATH\STM32CubeProgrammer\bin 6 | - Put STM boot0 to VCC, to put STM32 in bootloader mode 7 | - Open a CMD 8 | - Go in the folder C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin 9 | - Run the following command lines : 10 | - `STM32_Programmer_CLI.exe -c port=usb1 -fwdelete` 11 | - `STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1`: read the FUSversion 12 | - if @0x20030030: 00050300: FUSv0.5.3: 13 | - `STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw_for_fus_0_5_3.bin 0x080EC000 firstinstall=0.` 14 | - if @0x20030030: 010X0Y00: FUSv1.x.y: 15 | - `STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0` 16 | - if @0x20030030: 01020X00: FUSv1.2.0 => We’re done 17 | - Update the BLE stack : 18 | - `STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_BLE_Stack_full_fw.bin 0x080CB000 firstinstall=1` 19 | - Put STM boot0 to GND, to put STM32 in run mode -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/stack_binary/stm32wb5x_BLE_Stack_full_fw.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/middleware/ble/stack_binary/stm32wb5x_BLE_Stack_full_fw.bin -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/stack_binary/stm32wb5x_FUS_fw.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/middleware/ble/stack_binary/stm32wb5x_FUS_fw.bin -------------------------------------------------------------------------------- /apps/tracker_application/middleware/ble/stack_binary/stm32wb5x_FUS_fw_for_fus_0_5_3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/apps/tracker_application/middleware/ble/stack_binary/stm32wb5x_FUS_fw_for_fus_0_5_3.bin -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb30xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb30xx.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb35xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb35xx.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb50xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb50xx.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb55xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb55xx.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb5mxx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb5mxx.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wbxx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wbxx.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/arm/linker/stm32wb30xx_flash_cm4.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00040000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00040000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | } 11 | RW_IRAM1 0x20000004 0x7FFC { ; RW data 12 | .ANY (+RW +ZI) 13 | } 14 | RW_RAM_SHARED 0x20030000 0x2800 { ; RW data 15 | *(MAPPING_TABLE) 16 | *(MB_MEM1) 17 | *(MB_MEM2) 18 | } 19 | } 20 | 21 | 22 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/arm/linker/stm32wb35xx_flash_cm4.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00040000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00040000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | } 11 | RW_IRAM1 0x20000004 0x7FFC { ; RW data 12 | .ANY (+RW +ZI) 13 | } 14 | RW_RAM_SHARED 0x20030000 0x2800 { ; RW data 15 | *(MAPPING_TABLE) 16 | *(MB_MEM1) 17 | *(MB_MEM2) 18 | } 19 | } 20 | 21 | 22 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/arm/linker/stm32wb50xx_flash_cm4.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00080000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00080000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | } 11 | RW_IRAM1 0x20000004 0xFFFC { ; RW data 12 | .ANY (+RW +ZI) 13 | } 14 | RW_RAM_SHARED 0x20030000 0x2800 { ; RW data 15 | *(MAPPING_TABLE) 16 | *(MB_MEM1) 17 | *(MB_MEM2) 18 | } 19 | } 20 | 21 | 22 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/arm/linker/stm32wb55xx_flash_cm4.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00080000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00080000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | } 11 | RW_IRAM1 0x20000004 0x2FFFC { ; RW data 12 | .ANY (+RW +ZI) 13 | } 14 | RW_RAM_SHARED 0x20030000 0x2800 { ; RW data 15 | *(MAPPING_TABLE) 16 | *(MB_MEM1) 17 | *(MB_MEM2) 18 | } 19 | } 20 | 21 | 22 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/arm/linker/stm32wb5mxx_flash_cm4.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00080000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00080000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | } 11 | RW_IRAM1 0x20000004 0x2FFFC { ; RW data 12 | .ANY (+RW +ZI) 13 | } 14 | RW_RAM_SHARED 0x20030000 0x2800 { ; RW data 15 | *(MAPPING_TABLE) 16 | *(MB_MEM1) 17 | *(MB_MEM2) 18 | } 19 | } 20 | 21 | 22 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb30xx_flash_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | /***** FLASH Part dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; 10 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000004; 11 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x1000; 14 | define symbol __ICFEDIT_size_heap__ = 0x400; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000; 18 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x200327FF; 19 | 20 | define memory mem with size = 4G; 21 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 22 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 23 | define region RAM_SHARED_region = mem:[from __ICFEDIT_region_RAM_SHARED_start__ to __ICFEDIT_region_RAM_SHARED_end__]; 24 | 25 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 26 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 27 | 28 | /* MB_MEM1 and MB_MEM2 are sections reserved to mailbox communication. It is placed in the shared memory */ 29 | initialize by copy { readwrite }; 30 | do not initialize { section .noinit, 31 | section MAPPING_TABLE, 32 | section MB_MEM1 }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite,block CSTACK, block HEAP }; 38 | place in RAM_SHARED_region { first section MAPPING_TABLE}; 39 | place in RAM_SHARED_region { section MB_MEM1}; 40 | place in RAM_SHARED_region { section MB_MEM2}; 41 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb30xx_sram_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | /***** RAM dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x20003FFF; 10 | 11 | define symbol __ICFEDIT_region_RAM_start__ = 0x20004000 ; 12 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF ; 13 | 14 | /***** RAM2a *****/ 15 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20038000 ; 16 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x2003A7FF ; 17 | 18 | /*-Sizes-*/ 19 | define symbol __ICFEDIT_size_cstack__ = 0x400; 20 | define symbol __ICFEDIT_size_heap__ = 0x200; 21 | /**** End of ICF editor section. ###ICF###*/ 22 | 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb35xx_flash_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | /***** FLASH Part dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; 10 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000004; 11 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x1000; 14 | define symbol __ICFEDIT_size_heap__ = 0x400; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000; 18 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x200327FF; 19 | 20 | define memory mem with size = 4G; 21 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 22 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 23 | define region RAM_SHARED_region = mem:[from __ICFEDIT_region_RAM_SHARED_start__ to __ICFEDIT_region_RAM_SHARED_end__]; 24 | 25 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 26 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 27 | 28 | /* MB_MEM1 and MB_MEM2 are sections reserved to mailbox communication. It is placed in the shared memory */ 29 | initialize by copy { readwrite }; 30 | do not initialize { section .noinit, 31 | section MAPPING_TABLE, 32 | section MB_MEM1 }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite,block CSTACK, block HEAP }; 38 | place in RAM_SHARED_region { first section MAPPING_TABLE}; 39 | place in RAM_SHARED_region { section MB_MEM1}; 40 | place in RAM_SHARED_region { section MB_MEM2}; 41 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb35xx_sram_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | /***** RAM dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x20003FFF; 10 | 11 | define symbol __ICFEDIT_region_RAM_start__ = 0x20004000 ; 12 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF ; 13 | 14 | /***** RAM2a *****/ 15 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20038000 ; 16 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x2003A7FF ; 17 | 18 | /*-Sizes-*/ 19 | define symbol __ICFEDIT_size_cstack__ = 0x400; 20 | define symbol __ICFEDIT_size_heap__ = 0x200; 21 | /**** End of ICF editor section. ###ICF###*/ 22 | 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb50xx_flash_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | /***** FLASH Part dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; 10 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000004; 11 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x1000; 14 | define symbol __ICFEDIT_size_heap__ = 0x400; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000; 18 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x200327FF; 19 | 20 | define memory mem with size = 4G; 21 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 22 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 23 | define region RAM_SHARED_region = mem:[from __ICFEDIT_region_RAM_SHARED_start__ to __ICFEDIT_region_RAM_SHARED_end__]; 24 | 25 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 26 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 27 | 28 | /* MB_MEM1 and MB_MEM2 are sections reserved to mailbox communication. It is placed in the shared memory */ 29 | initialize by copy { readwrite }; 30 | do not initialize { section .noinit, 31 | section MAPPING_TABLE, 32 | section MB_MEM1 }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite,block CSTACK, block HEAP }; 38 | place in RAM_SHARED_region { first section MAPPING_TABLE}; 39 | place in RAM_SHARED_region { section MB_MEM1}; 40 | place in RAM_SHARED_region { section MB_MEM2}; 41 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb50xx_sram_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | /***** RAM dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x20007FFF; 10 | 11 | define symbol __ICFEDIT_region_RAM_start__ = 0x20008000 ; 12 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF ; 13 | 14 | /***** RAM2a *****/ 15 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000 ; 16 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x20037FFF ; 17 | 18 | /*-Sizes-*/ 19 | define symbol __ICFEDIT_size_cstack__ = 0x400; 20 | define symbol __ICFEDIT_size_heap__ = 0x200; 21 | /**** End of ICF editor section. ###ICF###*/ 22 | 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb55xx_flash_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | /***** FLASH Part dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; 10 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000004; 11 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x1000; 14 | define symbol __ICFEDIT_size_heap__ = 0x400; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000; 18 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x200327FF; 19 | 20 | define memory mem with size = 4G; 21 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 22 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 23 | define region RAM_SHARED_region = mem:[from __ICFEDIT_region_RAM_SHARED_start__ to __ICFEDIT_region_RAM_SHARED_end__]; 24 | 25 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 26 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 27 | 28 | /* MB_MEM1 and MB_MEM2 are sections reserved to mailbox communication. It is placed in the shared memory */ 29 | initialize by copy { readwrite }; 30 | do not initialize { section .noinit, 31 | section MAPPING_TABLE, 32 | section MB_MEM1 }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite,block CSTACK, block HEAP }; 38 | place in RAM_SHARED_region { first section MAPPING_TABLE}; 39 | place in RAM_SHARED_region { section MB_MEM1}; 40 | place in RAM_SHARED_region { section MB_MEM2}; 41 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb55xx_sram_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | /***** RAM dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x20017FFF; 10 | 11 | define symbol __ICFEDIT_region_RAM_start__ = 0x20018000 ; 12 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF ; 13 | 14 | /***** RAM2a *****/ 15 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000 ; 16 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x20037FFF ; 17 | 18 | /*-Sizes-*/ 19 | define symbol __ICFEDIT_size_cstack__ = 0x400; 20 | define symbol __ICFEDIT_size_heap__ = 0x200; 21 | /**** End of ICF editor section. ###ICF###*/ 22 | 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb5mxx_flash_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | /***** FLASH Part dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; 10 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000004; 11 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x1000; 14 | define symbol __ICFEDIT_size_heap__ = 0x400; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000; 18 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x200327FF; 19 | 20 | define memory mem with size = 4G; 21 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 22 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 23 | define region RAM_SHARED_region = mem:[from __ICFEDIT_region_RAM_SHARED_start__ to __ICFEDIT_region_RAM_SHARED_end__]; 24 | 25 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 26 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 27 | 28 | /* MB_MEM1 and MB_MEM2 are sections reserved to mailbox communication. It is placed in the shared memory */ 29 | initialize by copy { readwrite }; 30 | do not initialize { section .noinit, 31 | section MAPPING_TABLE, 32 | section MB_MEM1 }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite,block CSTACK, block HEAP }; 38 | place in RAM_SHARED_region { first section MAPPING_TABLE}; 39 | place in RAM_SHARED_region { section MB_MEM1}; 40 | place in RAM_SHARED_region { section MB_MEM2}; 41 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates/iar/linker/stm32wb5mxx_sram_cm4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | /***** RAM dedicated to M4 *****/ 8 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 9 | define symbol __ICFEDIT_region_ROM_end__ = 0x20017FFF; 10 | 11 | define symbol __ICFEDIT_region_RAM_start__ = 0x20018000 ; 12 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF ; 13 | 14 | /***** RAM2a *****/ 15 | define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000 ; 16 | define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x20037FFF ; 17 | 18 | /*-Sizes-*/ 19 | define symbol __ICFEDIT_size_cstack__ = 0x400; 20 | define symbol __ICFEDIT_size_heap__ = 0x200; 21 | /**** End of ICF editor section. ###ICF###*/ 22 | 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/CMSIS/Include/cmsis_version.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file cmsis_version.h 3 | * @brief CMSIS Core(M) Version definitions 4 | * @version V5.0.2 5 | * @date 19. April 2017 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2009-2017 ARM Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef __CMSIS_VERSION_H 32 | #define __CMSIS_VERSION_H 33 | 34 | /* CMSIS Version definitions */ 35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */ 36 | #define __CM_CMSIS_VERSION_SUB ( 1U) /*!< [15:0] CMSIS Core(M) sub version */ 37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \ 38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */ 39 | #endif 40 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/STM32WBxx_HAL_Driver/License.md: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 STMicroelectronics 2 | 3 | This software component is licensed by STMicroelectronics under the **BSD-3-Clause** license. You may not use this software except in compliance with this license. You may obtain a copy of the license [here](https://opensource.org/licenses/BSD-3-Clause). -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_timebase_rtc_alarm_template.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_timebase_rtc_alarm_template.c -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_timebase_rtc_wakeup_template.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_timebase_rtc_wakeup_template.c -------------------------------------------------------------------------------- /host_driver/STM32WBxx/License.md: -------------------------------------------------------------------------------- 1 | | Component | License | Copyright | 2 | |:--------- |:------- |:----------| 3 | | CMSIS | BSD-3-Clause | Copyright (c) 2009-2017 ARM Limited. All rights reserved. | 4 | | CMSIS Device | BSD-3-Clause | STMicroelectronics | 5 | | STM32WB HAL | BSD-3-Clause | STMicroelectronics | 6 | | BSP P-NUCLEO-WB55.Nucleo | BSD-3-Clause | STMicroelectronics | 7 | | BSP P-NUCLEO-WB55.USBDongle | BSD-3-Clause | STMicroelectronics | 8 | | BSP Components | BSD-3-Clause | STMicroelectronics | 9 | | BSP Adafruit shield | BSD-3-Clause | STMicroelectronics | 10 | | FreeRTOS kernel | MIT | Copyright (C) 2017 Amazon.com, Inc. or its affiliates | 11 | | FatFS | BSD-3-Clause | ChaN - STMicroelectronics | 12 | | STM32_USB_Device_Library | ST SLA0044 | STMicroelectronics | 13 | | STM32_TouchSensing_Library | ST SLA0044 | STMicroelectronics | 14 | | STM32_WPAN | ST SLA0044 | STMicroelectronics | 15 | | STM32 Projects | ST SLA0044 (BSD-3-Clause for basic Examples) | STMicroelectronics | 16 | | STM32 Utilities | BSD-3-Clause | STMicroelectronics | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/core/ble_core.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * @file ble_core.h 3 | * @author MCD Application Team 4 | * @brief This file contains the definitions for BLE stack 5 | ***************************************************************************** 6 | * @attention 7 | * 8 | *

© Copyright (c) 2019 STMicroelectronics. 9 | * All rights reserved.

10 | * 11 | * This software component is licensed by ST under Ultimate Liberty license 12 | * SLA0044, the "License"; You may not use this file except in compliance with 13 | * the License. You may obtain a copy of the License at: 14 | * www.st.com/SLA0044 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | #ifndef BLE_CORE_H__ 20 | #define BLE_CORE_H__ 21 | 22 | 23 | /* BLE standard definitions */ 24 | #include "ble_std.h" 25 | 26 | /* BLE API definitions */ 27 | #include "ble_defs.h" 28 | #include "auto/ble_gap_aci.h" 29 | #include "auto/ble_gatt_aci.h" 30 | #include "auto/ble_hal_aci.h" 31 | #include "auto/ble_hci_le.h" 32 | #include "auto/ble_l2cap_aci.h" 33 | #include "auto/ble_events.h" 34 | 35 | /* BLE stack buffer size definitions */ 36 | #include "ble_bufsize.h" 37 | 38 | /* BLE legacy definitions */ 39 | #include "ble_legacy.h" 40 | 41 | 42 | #endif /* ! BLE_CORE_H__ */ 43 | 44 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE***/ 45 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/core/template/osal.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * @file osal.c 3 | * @author MCD Application Team 4 | * @brief Implements the interface defined in "osal.h" needed by the stack. 5 | * Actually, only memset, memcpy and memcmp wrappers are implemented. 6 | ***************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | #include 21 | #include "osal.h" 22 | 23 | 24 | /** 25 | * Osal_MemCpy 26 | * 27 | */ 28 | 29 | void* Osal_MemCpy( void *dest, const void *src, unsigned int size ) 30 | { 31 | return memcpy( dest, src, size ); 32 | } 33 | 34 | /** 35 | * Osal_MemSet 36 | * 37 | */ 38 | 39 | void* Osal_MemSet( void *ptr, int value, unsigned int size ) 40 | { 41 | return memset( ptr, value, size ); 42 | } 43 | 44 | /** 45 | * Osal_MemCmp 46 | * 47 | */ 48 | int Osal_MemCmp( const void *s1, const void *s2, unsigned int size ) 49 | { 50 | return memcmp( s1, s2, size ); 51 | } 52 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/AES/aes.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file aes.h 4 | * @author MCD Application Team 5 | * @brief Container for the AES functionalities 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Includes ------------------------------------------------------------------*/ 21 | #include "Common/aes_low_level.h" 22 | #include "Common/aes_common.h" 23 | 24 | 25 | #ifdef INCLUDE_ECB 26 | #include "ECB/aes_ecb.h" 27 | #endif 28 | 29 | #ifdef INCLUDE_CBC 30 | #include "CBC/aes_cbc.h" 31 | #endif 32 | 33 | #ifdef INCLUDE_CTR 34 | #include "CTR/aes_ctr.h" 35 | #endif 36 | 37 | #ifdef INCLUDE_CFB 38 | #include "CFB/aes_cfb.h" 39 | #endif 40 | 41 | #ifdef INCLUDE_OFB 42 | #include "OFB/aes_ofb.h" 43 | #endif 44 | 45 | #ifdef INCLUDE_XTS 46 | #include "XTS/aes_xts.h" 47 | #endif 48 | 49 | #ifdef INCLUDE_GCM 50 | #include "GCM/aes_gcm.h" 51 | #endif 52 | 53 | #ifdef INCLUDE_CCM 54 | #include "CCM/aes_ccm.h" 55 | #endif 56 | 57 | #ifdef INCLUDE_CMAC 58 | #include "CMAC/aes_cmac.h" 59 | #endif 60 | 61 | #ifdef INCLUDE_KEY_WRAP 62 | #include "KEYWRAP/aes_keywrap.h" 63 | #endif 64 | 65 | 66 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 67 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/C25519/c25519.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file c5519.h 4 | * @author MCD Application Team 5 | * @brief Container for ed25519 functionalities 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __C25519_H__ 22 | #define __C25519_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /** @addtogroup C25519 30 | * @{ 31 | */ 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include 34 | /* Exported types ------------------------------------------------------------*/ 35 | /* Exported constants --------------------------------------------------------*/ 36 | /* Exported macro ------------------------------------------------------------*/ 37 | /* Exported functions ------------------------------------------------------- */ 38 | int32_t C25519keyGen (uint8_t *P_pPrivateKey, \ 39 | uint8_t *P_pPublicKey); 40 | \ 41 | 42 | int32_t C25519keyExchange (uint8_t *P_pSharedSecret, \ 43 | const uint8_t *P_pPrivateKey, \ 44 | const uint8_t *P_pPublicKey); 45 | /** 46 | * @} 47 | */ 48 | /* Lower level functionality. Useful for testing, might be used in real world if there is small NVM */ 49 | 50 | 51 | #ifdef __cplusplus 52 | } 53 | #endif 54 | 55 | #endif /* __C25519_H__ */ 56 | 57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 58 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/Common_chacha20_poly1305/chacha20_core.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file chacha20_core.h 4 | * @author MCD Application Team 5 | * @brief Implements the core chacha functionality 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* 21 | * The implementation of chacha20 is just an adapatation (for consistency with 22 | * the library) of code coming from: chacha-ref.c version 20080118 D. J. Bernstein 23 | * Which was released in Public domain. 24 | */ 25 | #ifndef __CHACHA20_CORE_H__ 26 | #define __CHACHA20_CORE_H__ 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | 30 | /* Private typedef -----------------------------------------------------------*/ 31 | /* Private define ------------------------------------------------------------*/ 32 | /* Private macro -------------------------------------------------------------*/ 33 | 34 | /** @addtogroup SymKeylowlevel 35 | * @{ 36 | */ 37 | 38 | /** @defgroup CHACHAlowlevel ChaCha 39 | * @brief Internal ChaCha Functions and Macros 40 | * @{ 41 | */ 42 | 43 | /* Private function prototypes -----------------------------------------------*/ 44 | /* Private functions ---------------------------------------------------------*/ 45 | 46 | void salsa20_wordtobyte(uint8_t output[64],\ 47 | const uint32_t input[16]); 48 | 49 | /** 50 | * @} SymKeylowlevel 51 | */ 52 | 53 | /** 54 | * @} CHACHAlowlevel 55 | */ 56 | #endif /* __CHACHA20_CORE_H__ */ 57 | 58 | 59 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 60 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/Common_chacha20_poly1305/poly1305_core.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file poly1305_core.h 4 | * @author MCD Application Team 5 | * @brief Implements the core poly1305 functionality 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | #ifndef __POLY1305_CORE_H__ 21 | #define __POLY1305_CORE_H__ 22 | 23 | /* Includes ------------------------------------------------------------------*/ 24 | 25 | /* Private typedef -----------------------------------------------------------*/ 26 | /* Private define ------------------------------------------------------------*/ 27 | /* Private macro -------------------------------------------------------------*/ 28 | 29 | /* Private variables ---------------------------------------------------------*/ 30 | 31 | /* Private function prototypes -----------------------------------------------*/ 32 | /* Private functions ---------------------------------------------------------*/ 33 | 34 | /** @addtogroup SymKeylowlevel 35 | * @{ 36 | */ 37 | 38 | /** @defgroup POLY1305lowlevel Poly1305-AES 39 | * @brief Internal Poly1305-AES Function 40 | * @{ 41 | */ 42 | 43 | void Poly1305_Core_Update (uint32_t *P_h, \ 44 | const uint32_t *P_r, \ 45 | const uint8_t *P_pInput,\ 46 | uint32_t P_LastBlock); 47 | 48 | void Poly1305_Core_Finish(uint32_t *P_h, \ 49 | const uint32_t *P_pad,\ 50 | uint32_t *P_pTag); 51 | 52 | /** 53 | * @} 54 | */ 55 | 56 | /** 57 | * @} 58 | */ 59 | 60 | #endif /* __POLY1305_CORE_H__ */ 61 | 62 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 63 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/Common_ecc_rsa/MATH/BN/rng_bn.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file rng_bn.h 4 | * @author MCD Application Team 5 | 6 | * @brief Random Generation of BigNumers 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | *

© Copyright (c) 2015 STMicroelectronics. 11 | * All rights reserved.

12 | * 13 | * This software component is licensed by ST under Image license SLA0044, 14 | * the "License"; You may not use this file except in compliance with the 15 | * License. You may obtain a copy of the License at: 16 | * http://www.st.com/SLA0044 17 | * 18 | ****************************************************************************** 19 | */ 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __CRL_RNG_BN_H__ 23 | #define __CRL_RNG_BN_H__ 24 | 25 | #ifdef __cplusplus 26 | extern "C" 27 | { 28 | #endif 29 | 30 | /* Includes ------------------------------------------------------------------*/ 31 | #include "bn.h" 32 | #include "../../../RNG/rng.h" 33 | 34 | /** @ingroup RNGBN 35 | * @{ 36 | */ 37 | /* Exported types --------------------------------------------------------*/ 38 | /* Exported constants --------------------------------------------------------*/ 39 | /* Exported macro ------------------------------------------------------------*/ 40 | /* Exported functions ------------------------------------------------------- */ 41 | 42 | /* Generate random number of P_nBits bits */ 43 | int32_t GenRndBN (int32_t P_nBits, \ 44 | BigNum_stt *P_pRandBN, \ 45 | RNGstate_stt *P_pRandomState); 46 | \ 47 | 48 | 49 | /* Generate random big number smaller than P_pModBN ********************************/ 50 | int32_t GenRndBNmodN (BigNum_stt *P_pRandBN, \ 51 | const BigNum_stt *P_pModBN, \ 52 | RNGstate_stt *P_pRandomState); 53 | \ 54 | 55 | /** 56 | * @} 57 | */ 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif /*__CRL_RNG_BN_H__*/ 64 | 65 | 66 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 67 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/Common_ecc_rsa/MATH/math.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file math.h 4 | * @author MCD Application Team 5 | * @brief Container for the mathematical functionalities 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /** @ingroup Math 21 | * @{ 22 | */ 23 | /* Includes ------------------------------------------------------------------*/ 24 | #include "BN/bn.h" 25 | #include "BN/conv.h" 26 | #include "BN/arith.h" 27 | #include "BN/monty.h" 28 | #include "BN/modular.h" 29 | #ifdef INCLUDE_RNG 30 | #include "BN/rng_bn.h" 31 | #endif 32 | 33 | /* Exported types ------------------------------------------------------------*/ 34 | /* Exported constants --------------------------------------------------------*/ 35 | /* Exported macro ------------------------------------------------------------*/ 36 | /* Exported functions ------------------------------------------------------- */ 37 | /** 38 | * @} Math 39 | */ 40 | 41 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 42 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/DES/des.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file des.h 4 | * @author MCD Application Team 5 | * @brief Container for the DES functionalities 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Includes ------------------------------------------------------------------*/ 21 | #include "Common/des_common.h" 22 | 23 | #ifdef INCLUDE_ECB 24 | #include "ECB/des_ecb.h" 25 | #endif 26 | 27 | #ifdef INCLUDE_CBC 28 | #include "CBC/des_cbc.h" 29 | #endif 30 | 31 | /* Exported types ------------------------------------------------------------*/ 32 | /* Exported constants --------------------------------------------------------*/ 33 | /* Exported macro ------------------------------------------------------------*/ 34 | /* Exported functions ------------------------------------------------------- */ 35 | 36 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 37 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/ED25519/ed25519.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file ed25519.h 4 | * @author MCD Application Team 5 | * @brief Container for ed25519 functionalities 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __ED25519_H__ 22 | #define __ED25519_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | /** @addtogroup ED25519 29 | * @{ 30 | */ 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include 33 | /* Exported types ------------------------------------------------------------*/ 34 | 35 | /* Exported constants --------------------------------------------------------*/ 36 | /* Exported macro ------------------------------------------------------------*/ 37 | /* Exported functions ------------------------------------------------------- */ 38 | int32_t ED25519keyGen(uint8_t *P_pPrivateKey, uint8_t *P_pPublicKey); 39 | int32_t ED25519sign(uint8_t *P_pSignature, const uint8_t *P_pInput, int32_t P_InputSize, const uint8_t *P_pPrivateKey); 40 | int32_t ED25519verify(const uint8_t *P_pInput, int32_t P_InputSize, const uint8_t *P_pSignature, const uint8_t *P_pPublicKey); 41 | 42 | /** 43 | * @} 44 | */ 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif /* __ED25519_H__ */ 51 | 52 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 53 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/Common/sha256_sha224_transform.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha256_sha224_transform.h 4 | * @author MCD Application Team 5 | * @brief SHA-256 Update function 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __SHA256_TRANSFORM_H__ 22 | #define __SHA256_TRANSFORM_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Exported functions ------------------------------------------------------- */ 30 | /* SHA256 Update */ 31 | void SHA256Update(HASHctx_stt* P_pSHA256ctx, \ 32 | const uint8_t* P_pInput, \ 33 | uint32_t P_inputSize); 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | 39 | #endif /*__SHA256_TRANSFORM_H__*/ 40 | 41 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 42 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/Common/sha512_sha384_transform.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha512_sha384_transform.h 4 | * @author MCD Application Team 5 | * @brief SHA-512 Update function 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __SHA512_TRANSFORM_H__ 22 | #define __SHA512_TRANSFORM_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Exported functions ------------------------------------------------------- */ 30 | /* SHA512 Update */ 31 | void SHA512Update(HASHLctx_stt* P_pSHA512ctx, const uint8_t* P_pInput, uint32_t P_inputSize); 32 | 33 | #ifdef __cplusplus 34 | } 35 | #endif 36 | 37 | #endif /*__SHA256_TRANSFORM_H__*/ 38 | 39 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 40 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/MD5/hmac_md5.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file hmac_md5.h 4 | * @author MCD Application Team 5 | * @brief Provides HMAC-MD5 functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __CRL_HMAC_MD5_H__ 22 | #define __CRL_HMAC_MD5_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | 31 | /** @ingroup HMAC_MD5 32 | * @{ 33 | */ 34 | 35 | /** 36 | * @brief HMAC-MD5 Context Structure 37 | */ 38 | /* Exported types ------------------------------------------------------------*/ 39 | typedef HMACctx_stt HMAC_MD5ctx_stt; 40 | /* Exported constants --------------------------------------------------------*/ 41 | /* Exported macro ------------------------------------------------------------*/ 42 | /* Exported functions ------------------------------------------------------- */ 43 | 44 | int32_t HMAC_MD5_Init (HMAC_MD5ctx_stt *P_pHMAC_MD5ctx); 45 | 46 | int32_t HMAC_MD5_Append (HMAC_MD5ctx_stt *P_pHMAC_MD5ctx, \ 47 | const uint8_t *P_pInputBuffer, \ 48 | int32_t P_inputSize); 49 | 50 | int32_t HMAC_MD5_Finish (HMAC_MD5ctx_stt *P_pHMAC_MD5ctx, \ 51 | uint8_t *P_pOutputBuffer, \ 52 | int32_t *P_pOutputSize); 53 | 54 | /** 55 | * @} 56 | */ 57 | 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif /* __CRL_HMAC_MD5_H__ */ 64 | 65 | 66 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 67 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/MD5/md5_low_level.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file md5_low_level.h 4 | * @author MCD Application Team 5 | * @brief MD5 core functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __MD5_LOW_LEVEL_H__ 22 | #define __MD5_LOW_LEVEL_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Exported types ------------------------------------------------------------*/ 30 | /* Exported constants --------------------------------------------------------*/ 31 | /* Exported macro ------------------------------------------------------------*/ 32 | /* Exported functions ------------------------------------------------------- */ 33 | /* MD5 - Initialize new context */ 34 | void crl_u_MD5_Init (MD5ctx_stt *P_pMD5ctx); 35 | /* MD5 Update function */ 36 | void crl_u_MD5_Update (MD5ctx_stt *P_pMD5ctx, \ 37 | const uint8_t *P_pInput, \ 38 | uint32_t P_inputSize); 39 | /* MD5 finalization function */ 40 | void crl_u_MD5_Finish (MD5ctx_stt *P_pMD5ctx, \ 41 | uint8_t *P_pDigest); 42 | 43 | 44 | #ifdef __cplusplus 45 | } 46 | #endif 47 | 48 | #endif /*__MD5_LOW_LEVEL_H__*/ 49 | 50 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 51 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA1/sha1.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha1.h 4 | * @author MCD Application Team 5 | * @brief Provides SHA1 functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __CRL_SHA1_H__ 22 | #define __CRL_SHA1_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | 31 | /** @ingroup SHA1 32 | * @{ 33 | */ 34 | /* Exported constants --------------------------------------------------------*/ 35 | #define CRL_SHA1_SIZE 20 /*!< Number of bytes (uint8_t) to store a SHA-1 digest. */ 36 | 37 | /* Exported types ------------------------------------------------------------*/ 38 | /** 39 | * @brief Structure for the SHA-1 context 40 | */ 41 | typedef HASHctx_stt SHA1ctx_stt; 42 | /* Exported functions --------------------------------------------------------*/ 43 | /* Initialization of Context */ 44 | int32_t SHA1_Init(SHA1ctx_stt *P_pSHA1ctx); 45 | /* Data processing function */ 46 | int32_t SHA1_Append(SHA1ctx_stt *P_pSHA1ctx, \ 47 | const uint8_t *P_pInputBuffer, \ 48 | int32_t P_inputSize); 49 | /* Returns digest */ 50 | int32_t SHA1_Finish(SHA1ctx_stt *P_pSHA1ctx, \ 51 | uint8_t *P_pOutputBuffer, \ 52 | int32_t *P_pOutputSize); 53 | 54 | /** 55 | * @} 56 | */ 57 | 58 | #ifdef __cplusplus 59 | } 60 | #endif 61 | 62 | #endif /*__CRL_SHA1_H__*/ 63 | 64 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 65 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA1/sha1_low_level.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha1_low_level.h 4 | * @author MCD Application Team 5 | * @brief SHA-1 core functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __SHA1_LOW_LEVEL_H__ 22 | #define __SHA1_LOW_LEVEL_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Exported functions ------------------------------------------------------- */ 30 | /* SHA1Init - Initialize new context */ 31 | void SHA1Init (SHA1ctx_stt *P_pHASHctx); 32 | 33 | /* SHA1 Update function */ 34 | void SHA1Update(SHA1ctx_stt* P_pHASHctx, \ 35 | const uint8_t* P_pInput, \ 36 | uint32_t P_inputSize); 37 | 38 | /* SHA1: finalization function */ 39 | void SHA1Final (SHA1ctx_stt* P_pHASHctx, \ 40 | uint8_t *P_pDigest); 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | 46 | #endif /*__SHA1_LOW_LEVEL_H__*/ 47 | 48 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 49 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA224/sha224.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha224.h 4 | * @author MCD Application Team 5 | * @brief Provides SHA224 functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __CRL_SHA224_H__ 22 | #define __CRL_SHA224_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | 31 | /** @ingroup SHA224 32 | * @{ 33 | */ 34 | /* Exported constants --------------------------------------------------------*/ 35 | #define CRL_SHA224_SIZE 28 /*!< Number of bytes (uint8_t) to store a SHA-224 digest. */ 36 | 37 | /* Exported functions --------------------------------------------------------*/ 38 | /** Structure for the SHA-224 context */ 39 | typedef HASHctx_stt SHA224ctx_stt; 40 | /* Initialization of Context */ 41 | int32_t SHA224_Init (SHA224ctx_stt *P_pSHA224ctx); 42 | /* Data processing function */ 43 | int32_t SHA224_Append (SHA224ctx_stt *P_pSHA224ctx, \ 44 | const uint8_t *P_pInputBuffer, \ 45 | int32_t P_inputSize); 46 | /* Returns digest */ 47 | int32_t SHA224_Finish (SHA224ctx_stt *P_pSHA224ctx, \ 48 | uint8_t *P_pOutputBuffer, \ 49 | int32_t *P_pOutputSize); 50 | 51 | /** 52 | * @} 53 | */ 54 | 55 | #ifdef __cplusplus 56 | } 57 | #endif 58 | 59 | #endif /*__CRL_SHA224_H__*/ 60 | 61 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 62 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA224/sha224_low_level.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha224_low_level.h 4 | * @author MCD Application Team 5 | * @brief SHA-224 core functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __SHA224_LOW_LEVEL_H__ 22 | #define __SHA224_LOW_LEVEL_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Need this include for shared Update */ 30 | 31 | /* Exported functions ------------------------------------------------------- */ 32 | /* SHA-224 Initialize new context */ 33 | void SHA224Init(SHA224ctx_stt* P_pSHA224ctx); 34 | /* SHA-224 finalization function */ 35 | void SHA224Final(SHA224ctx_stt* P_pSHA224ctx, \ 36 | uint8_t *P_pDigest); 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | 42 | #endif /*__SHA224_LOW_LEVEL_H__*/ 43 | 44 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 45 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA256/sha256.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha256.h 4 | * @author MCD Application Team 5 | * @brief Provides SHA256 functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __CRL_SHA256_H__ 22 | #define __CRL_SHA256_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | 31 | /** @ingroup SHA256 32 | * @{ 33 | */ 34 | /* Exported constants --------------------------------------------------------*/ 35 | #define CRL_SHA256_SIZE 32 /*!< Number of bytes (uint8_t) to store a SHA-256 digest. */ 36 | /* Exported types ------------------------------------------------------------*/ 37 | /** Structure for the SHA-256 context */ 38 | typedef HASHctx_stt SHA256ctx_stt; 39 | 40 | /* Exported functions --------------------------------------------------------*/ 41 | 42 | /* Initialization of Context */ 43 | int32_t SHA256_Init(SHA256ctx_stt *P_pSHA256ctx); 44 | /* Data processing function */ 45 | int32_t SHA256_Append(SHA256ctx_stt *P_pSHA256ctx, \ 46 | const uint8_t *P_pInputBuffer, \ 47 | int32_t P_inputSize); 48 | /* Returns digest */ 49 | int32_t SHA256_Finish(SHA256ctx_stt *P_pSHA256ctx, \ 50 | uint8_t *P_pOutputBuffer, \ 51 | int32_t *P_pOutputSize); 52 | /** 53 | * @} 54 | */ 55 | 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | 60 | #endif /*__CRL_SHA256_H__*/ 61 | 62 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 63 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA256/sha256_low_level.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha256_low_level.h 4 | * @author MCD Application Team 5 | * @brief SHA-256 core functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __SHA256_LOW_LEVEL_H__ 22 | #define __SHA256_LOW_LEVEL_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | 30 | /* Exported functions ------------------------------------------------------- */ 31 | /* SHA-256 Initialize new context */ 32 | void SHA256Init (SHA256ctx_stt* P_pSHA256ctx); 33 | /* SHA-256 finalization function */ 34 | void SHA256Final (SHA256ctx_stt* P_pSHA256ctx, \ 35 | uint8_t *P_pDigest); 36 | 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | 42 | #endif /*__SHA256_LOW_LEVEL_H__*/ 43 | 44 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 45 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA384/hmac_sha384.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file hmac_sha384.h 4 | * @author MCD Application Team 5 | * @brief Provides HMAC-SHA384 functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __CRL_HMAC_SHA384_H__ 22 | #define __CRL_HMAC_SHA384_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | 31 | /** @ingroup HMAC_SHA384 32 | * @{ 33 | */ 34 | 35 | /** 36 | * @brief HMAC-SHA-384 Context Structure 37 | */ 38 | typedef HMACLctx_stt HMAC_SHA384ctx_stt; 39 | 40 | 41 | /* Exported macro ------------------------------------------------------------*/ 42 | /* Exported functions ------------------------------------------------------- */ 43 | 44 | int32_t HMAC_SHA384_Init(HMAC_SHA384ctx_stt *P_pHMAC_SHA384ctx); 45 | int32_t HMAC_SHA384_Append(HMAC_SHA384ctx_stt *P_pHMAC_SHA384ctx, \ 46 | const uint8_t *P_pInputBuffer, \ 47 | int32_t P_inputSize); 48 | int32_t HMAC_SHA384_Finish(HMAC_SHA384ctx_stt *P_pHMAC_SHA384ctx, \ 49 | uint8_t *P_pOutputBuffer, \ 50 | int32_t *P_pOutputSize); 51 | 52 | /** 53 | * @} 54 | */ 55 | 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif /* __CRL_HMAC_SHA384_H__ */ 62 | 63 | 64 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 65 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA384/sha384_low_level.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha384_low_level.h 4 | * @author MCD Application Team 5 | * @brief SHA-384 core functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __SHA384_LOW_LEVEL_H__ 22 | #define __SHA384_LOW_LEVEL_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Exported functions ------------------------------------------------------- */ 30 | /* SHA-384 Initialize new context */ 31 | void SHA384Init(SHA384ctx_stt* P_pSHA384ctx); 32 | /* SHA-384 finalization function */ 33 | void SHA384Final(SHA384ctx_stt* P_pSHA384ctx, \ 34 | uint8_t *P_pDigest); 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif 39 | 40 | #endif /*__SHA384_LOW_LEVEL_H__*/ 41 | 42 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 43 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA512/hkdf512.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file hkdf512.h 4 | * @author MCD Application Team 5 | * @brief Provides HKDF-SHA512 functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __CRL_HKDF_SHA512_H__ 22 | #define __CRL_HKDF_SHA512_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | #include "hmac_sha512.h" 31 | 32 | /** @ingroup HKDF_SHA512 33 | * @{ 34 | */ 35 | 36 | 37 | /** 38 | * @brief Structure HKDF-SHA-512 input 39 | */ 40 | typedef struct 41 | { 42 | const uint8_t *pmKey; /*!< Pointer for the HKDF Key */ 43 | int32_t mKeySize; /*!< Size of the HKDF Key */ 44 | const uint8_t *pmSalt; /*!< Pointer for the HKDF Salt */ 45 | int32_t mSaltSize; /*!< Size of the HKDF Salt */ 46 | const uint8_t *pmInfo; /*!< Pointer for the HKDF Info */ 47 | int32_t mInfoSize; /*!< Size of the HKDF Info */ 48 | } 49 | HKDFinput_stt; 50 | 51 | 52 | 53 | /* Exported macro ------------------------------------------------------------*/ 54 | /* Exported functions ------------------------------------------------------- */ 55 | int32_t HKDF_SHA512(const HKDFinput_stt *P_pInputSt, uint8_t *P_pOutputBuffer, int32_t P_OutputSize); 56 | /** 57 | * @} 58 | */ 59 | 60 | 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | 65 | #endif /* __CRL_HKDF_SHA512_H__ */ 66 | 67 | 68 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 69 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/HASH/SHA512/sha512_low_level.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file sha512_low_level.h 4 | * @author MCD Application Team 5 | * @brief SHA-512 core functions 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __SHA512_LOW_LEVEL_H__ 22 | #define __SHA512_LOW_LEVEL_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | 30 | /* Exported functions ------------------------------------------------------- */ 31 | /* SHA-512 Initialize new context */ 32 | void SHA512Init(SHA512ctx_stt* P_pSHA512ctx); 33 | /* SHA-512 finalization function */ 34 | void SHA512Final(SHA512ctx_stt* P_pSHA512ctx, uint8_t *P_pDigest); 35 | 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif /*__SHA512_LOW_LEVEL_H__*/ 42 | 43 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 44 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/RSA/LowLevel/rsa_low_level.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file rsa_low_level.h 4 | * @author MCD Application Team 5 | * @brief Provides Low Level RSA operations 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __CRL_RSA_LOW_LEVEL_H__ 22 | #define __CRL_RSA_LOW_LEVEL_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" 26 | { 27 | #endif 28 | 29 | /* Includes ------------------------------------------------------------------*/ 30 | 31 | /** @ingroup RSAlowlevel 32 | * @{ 33 | */ 34 | 35 | #define RSAEP(P_pPubKey, P_pInput, P_pOutput, P_pMemBuf) RSAVP1((P_pPubKey),(P_pInput),(P_pOutput), (P_pMemBuf)) /*!< Wrapper for RSAVP1*/ 36 | #define RSADP(P_pPrivKey, P_pInput, P_pOutput, P_pMemBuf) RSASP1((P_pPrivKey),(P_pInput),(P_pOutput), (P_pMemBuf)) /*!< Wrapper for RSADP*/ 37 | 38 | 39 | int32_t RSASP1(const RSAprivKey_stt *P_pPrivKey, const uint8_t * P_pEM, uint8_t *P_pOutput, membuf_stt *P_pMemBuf); 40 | int32_t RSAVP1(const RSApubKey_stt *P_pPubKey, const uint8_t * P_pSignature, uint8_t *P_pOutput, membuf_stt *P_pMemBuf); 41 | 42 | /** 43 | * @} 44 | */ 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif /* __CRL_RSA_LOW_LEVEL_H__ */ 51 | 52 | 53 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 54 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/RSA/rsa.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file rsa.h 4 | * @author MCD Application Team 5 | * @brief Provides RSA operations with support for PKCS#1v1.5 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Includes ------------------------------------------------------------------*/ 21 | #include "PKCS#1v15/rsa_pkcs1v15.h" 22 | #include "LowLevel/rsa_low_level.h" 23 | /* Private typedef -----------------------------------------------------------*/ 24 | /* Private define ------------------------------------------------------------*/ 25 | /* Private macro -------------------------------------------------------------*/ 26 | /* Private variables ---------------------------------------------------------*/ 27 | /* Private function prototypes -----------------------------------------------*/ 28 | /* Private functions ---------------------------------------------------------*/ 29 | 30 | 31 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 32 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Inc/TDES/tdes.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tdes.h 4 | * @author MCD Application Team 5 | * @brief Container for the TDES functionalities 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2015 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Image license SLA0044, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * http://www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Includes ------------------------------------------------------------------*/ 21 | #include "Common/tdes_common.h" 22 | 23 | #ifdef INCLUDE_ECB 24 | #include "ECB/tdes_ecb.h" 25 | #endif 26 | 27 | #ifdef INCLUDE_CBC 28 | #include "CBC/tdes_cbc.h" 29 | #endif 30 | 31 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 32 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_GCC.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_GCC.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_GCC_fpu.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_GCC_fpu.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_GCC_ot.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_GCC_ot.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_GCC_ot_fpu.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_GCC_ot_fpu.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_IARv8.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_IARv8.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_IARv8_fpu.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_IARv8_fpu.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_IARv8_otnsc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_IARv8_otnsc.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_IARv8_otnsc_fpu.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_IARv8_otnsc_fpu.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_KEIL_1elfspf.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_KEIL_1elfspf.lib -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_KEIL_1elfspf_fpu.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_KEIL_1elfspf_fpu.lib -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_KEIL_ot1elfspf.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_KEIL_ot1elfspf.lib -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_KEIL_ot1elfspf_fpu.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/cryptographic/Lib/STM32CryptographicV3.1.3_CM4_KEIL_ot1elfspf_fpu.lib -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/menu/hids_menu.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file hids_menu.h 4 | * @author MCD Application Team 5 | * @brief Header for hids_menu.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __HIDS_MENU_H 23 | #define __HIDS_MENU_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" 27 | { 28 | #endif 29 | 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | /* Exported types ------------------------------------------------------------*/ 33 | /* Exported constants --------------------------------------------------------*/ 34 | /* External variables --------------------------------------------------------*/ 35 | /* Exported macros -----------------------------------------------------------*/ 36 | /* Exported functions ------------------------------------------------------- */ 37 | void HIDS_Menu (uint8_t * action_type, uint8_t * report); 38 | 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif /*__HIDS_MENU_H */ 45 | 46 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 47 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/appli_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/appli_test.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/ble_clock.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** 2 | * File Name : ble_clock.h 3 | * Author : AMS - HEA&RF BU 4 | * @version V1.12.000 5 | * @date 06-12-2019 6 | * Description : Header file for clock library, that gives a simple time 7 | * reference to the BLE Stack. 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | *******************************************************************************/ 16 | 17 | #ifndef __BLE_CLOCK_H__ 18 | #define __BLE_CLOCK_H__ 19 | 20 | //#include "bluenrg_itf.h" 21 | #include 22 | 23 | typedef uint32_t tClockTime; 24 | #define CLOCK_SECOND 1000 25 | #define Clock_Init() 26 | #define Clock_Time HAL_GetTick 27 | #define Clock_Wait HAL_Delay 28 | 29 | #endif /* __BLE_CLOCK_H__ */ 30 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/ble_mesh.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/ble_mesh.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/pal_if.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/pal_if.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/serial_ctrl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/serial_ctrl.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/serial_if.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/serial_if.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/serial_prvn.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/serial_prvn.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/serial_ut.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/serial_ut.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Inc/types.h -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC_DEBUG.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC_DEBUG.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR_DEBUG.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR_DEBUG.a -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil.lib -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil_DEBUG.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil_DEBUG.lib -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/nofile.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Library/nofile.txt -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/generic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/generic.c -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/PAL/STM32WB/pal_nvm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/PAL/STM32WB/pal_nvm.c -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Src/serial_ut.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/mesh/Src/serial_ut.c -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/svc/Inc/dis.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file dis.h 4 | * @author MCD Application Team 5 | * @brief Header for dis.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __DIS_H 24 | #define __DIS_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" 28 | { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | /* Exported types ------------------------------------------------------------*/ 33 | typedef struct 34 | { 35 | uint8_t *pPayload; 36 | uint8_t Length; 37 | }DIS_Data_t; 38 | 39 | 40 | /* Exported constants --------------------------------------------------------*/ 41 | /* External variables --------------------------------------------------------*/ 42 | /* Exported macros -----------------------------------------------------------*/ 43 | /* Exported functions ------------------------------------------------------- */ 44 | void DIS_Init(void); 45 | tBleStatus DIS_UpdateChar(uint16_t uuid, DIS_Data_t *p_data); 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | 51 | #endif /*__DIS_H */ 52 | 53 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 54 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/svc/Inc/ias.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file ias.h 4 | * @author MCD Application Team 5 | * @brief Header for ias.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __IAS_H 24 | #define __IAS_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" 28 | { 29 | #endif 30 | 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | 34 | /* Exported types ------------------------------------------------------------*/ 35 | typedef enum 36 | { 37 | IAS_NO_ALERT_EVT, 38 | IAS_MID_ALERT_EVT, 39 | IAS_HIGH_ALERT_EVT 40 | } IAS_App_Opcode_Notification_evt_t; 41 | 42 | typedef struct 43 | { 44 | IAS_App_Opcode_Notification_evt_t IAS_Evt_Opcode; 45 | }IAS_App_Notification_evt_t; 46 | 47 | 48 | /* Exported constants --------------------------------------------------------*/ 49 | /* External variables --------------------------------------------------------*/ 50 | /* Exported macros -----------------------------------------------------------*/ 51 | /* Exported functions ------------------------------------------------------- */ 52 | void IAS_Init(void); 53 | tBleStatus IAS_Update_Char(uint16_t UUID, uint8_t *pPayload); 54 | void IAS_App_Notification(IAS_App_Notification_evt_t *pNotification); 55 | 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif /*__IAS_H */ 62 | 63 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 64 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/svc/Inc/lls.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file lls.h 4 | * @author MCD Application Team 5 | * @brief Header for lls.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __LLS_H 24 | #define __LLS_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" 28 | { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | 33 | /* Exported types ------------------------------------------------------------*/ 34 | typedef enum 35 | { 36 | LLS_NO_ALERT_EVT, 37 | LLS_MID_ALERT_EVT, 38 | LLS_HIGH_ALERT_EVT, 39 | LLS_DISCONNECT_EVT, 40 | LLS_CONNECT_EVT 41 | } LLS_App_Opcode_Notification_evt_t; 42 | 43 | typedef struct 44 | { 45 | LLS_App_Opcode_Notification_evt_t LLS_Evt_Opcode; 46 | }LLS_App_Notification_evt_t; 47 | 48 | 49 | /* Exported constants --------------------------------------------------------*/ 50 | /* External variables --------------------------------------------------------*/ 51 | /* Exported macros -----------------------------------------------------------*/ 52 | /* Exported functions ------------------------------------------------------- */ 53 | void LLS_Init(void); 54 | tBleStatus LLS_Update_Char(uint16_t UUID, uint8_t *pPayload); 55 | void LLS_App_Notification(LLS_App_Notification_evt_t *pNotification); 56 | 57 | 58 | #ifdef __cplusplus 59 | } 60 | #endif 61 | 62 | #endif /*__LLS_H */ 63 | 64 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 65 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/svc/Inc/tps.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tps.h 4 | * @author MCD Application Team 5 | * @brief Header for tps.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __TPS_H 24 | #define __TPS_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" 28 | { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | 33 | /* Exported types ------------------------------------------------------------*/ 34 | /* Exported constants --------------------------------------------------------*/ 35 | /* External variables --------------------------------------------------------*/ 36 | /* Exported macros -----------------------------------------------------------*/ 37 | /* Exported functions ------------------------------------------------------- */ 38 | void TPS_Init(void); 39 | tBleStatus TPS_Update_Char(uint16_t UUID, uint8_t *pPayload); 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif 44 | 45 | #endif /*__TPS_H */ 46 | 47 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 48 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/ble/svc/Src/common_blesvc.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | ****************************************************************************** 4 | * @file common_blesvc.h 5 | * @author MCD Application Team 6 | * @brief Header for ble modules 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | *

© Copyright (c) 2019 STMicroelectronics. 11 | * All rights reserved.

12 | * 13 | * This software component is licensed by ST under Ultimate Liberty license 14 | * SLA0044, the "License"; You may not use this file except in compliance with 15 | * the License. You may obtain a copy of the License at: 16 | * www.st.com/SLA0044 17 | * 18 | ****************************************************************************** 19 | */ 20 | 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __COMMON_BLESVC_H 24 | #define __COMMON_BLESVC_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /* Includes ------------------------------------------------------------------*/ 31 | #include "ble_common.h" 32 | #include "ble.h" 33 | #include "dbg_trace.h" 34 | 35 | 36 | 37 | /* Exported types ------------------------------------------------------------*/ 38 | typedef enum 39 | { 40 | COMSVC_Notification = ( 1 << 0 ), 41 | COMSVC_Indication = ( 1 << 1 ), 42 | } COMSVC_ClientCharConfMask_t; 43 | 44 | /* Exported constants --------------------------------------------------------*/ 45 | /* External variables --------------------------------------------------------*/ 46 | /* Exported macros -----------------------------------------------------------*/ 47 | 48 | 49 | #ifdef __cplusplus 50 | } 51 | #endif 52 | 53 | #endif /*__COMMON_BLESVC_H */ 54 | 55 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 56 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/conf/tl_conf_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_conf.h 4 | * @author MCD Application Team 5 | * @brief Transport Layer Configuration 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __TL_CONF_H 23 | #define __TL_CONF_H 24 | 25 | /** 26 | * It shall be set to 1 for power optimization when standby is supported 27 | */ 28 | #define CFG_BLE_HCI_STDBY 0 29 | 30 | 31 | 32 | #endif /*__TL_CONF_H */ 33 | 34 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 35 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/conf/vcp_conf_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file vcp_conf.h 4 | * @author MCD Application Team 5 | * @brief Configuration of the vcp interface 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __VCP_CONF_H 23 | #define __VCP_CONF_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" 27 | { 28 | #endif 29 | 30 | /* Includes ------------------------------------------------------------------*/ 31 | /* Exported types ------------------------------------------------------------*/ 32 | /* Exported constants --------------------------------------------------------*/ 33 | #define VCP_BAUD_RATE (115200) 34 | #define VCP_TX_PATH_INTERFACE_READY_SETUP_TIME (20*1000*1000/CFG_TS_TICK_VAL) /** 20s */ 35 | #define VCP_TASK_ID (CFG_TASK_VCP_SEND_DATA_ID) 36 | #define VCP_TASK_PRIO (CFG_SCH_PRIO_1) 37 | 38 | #ifdef VCP_TX_PATH_INTERFACE_READY_SETUP_TIME 39 | #define VCP_TIMER_PROC_ID (CFG_TIM_PROC_ID_ISR) 40 | #endif 41 | 42 | 43 | /* External variables --------------------------------------------------------*/ 44 | /* Exported macros -----------------------------------------------------------*/ 45 | /* Exported functions ------------------------------------------------------- */ 46 | 47 | 48 | #ifdef __cplusplus 49 | } 50 | #endif 51 | 52 | #endif /*__VCP_CONF_H */ 53 | 54 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 55 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file hci_tl_if.c 4 | * @author MCD Application Team 5 | * @brief Transport layer interface to BLE 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | #include "hci_tl.h" 20 | #include "tl.h" 21 | 22 | 23 | void hci_register_io_bus(tHciIO* fops) 24 | { 25 | /* Register IO bus services */ 26 | fops->Init = TL_BLE_Init; 27 | fops->Send = TL_BLE_SendCmd; 28 | 29 | return; 30 | } 31 | 32 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 33 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file shci_tl_if.c 4 | * @author MCD Application Team 5 | * @brief Transport layer interface to the system channel 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | #include "shci_tl.h" 20 | #include "tl.h" 21 | 22 | 23 | void shci_register_io_bus(tSHciIO* fops) 24 | { 25 | /* Register IO bus services */ 26 | fops->Init = TL_SYS_Init; 27 | fops->Send = TL_SYS_SendCmd; 28 | 29 | return; 30 | } 31 | 32 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 33 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mac_802_15_4.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_mac_802_15_4.h 4 | * @author MCD Application Team 5 | * @brief Constants and functions for managing MAC 802.15.4 TL 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | #ifndef __TL_MAC_802_15_4_H 22 | #define __TL_MAC_802_15_4_H 23 | 24 | /* Includes ------------------------------------------------------------------*/ 25 | 26 | #include "tl.h" 27 | #include 28 | 29 | #include "802_15_4_mac_core.h" 30 | 31 | /* Exported functions ------------------------------------------------------------*/ 32 | void Mac_802_15_4_PreCmdProcessing(void); 33 | void Mac_802_15_4_CmdTransfer(void); 34 | 35 | TL_CmdPacket_t* MAC_802_15_4_GetCmdBuffer(void); 36 | TL_Evt_t* MAC_802_15_4_GetRspPayEvt(void); 37 | 38 | TL_Evt_t* MAC_802_15_4_GetNotificationBuffer(void); 39 | MAC_802_15_4_Notification_t* MAC_802_15_4_GetNotificationPayloadBuffer(void); 40 | 41 | /* Exported defines -----------------------------------------------------------*/ 42 | 43 | 44 | #endif /* __TL_MAC_802_15_4_H_ */ 45 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_thread_hci.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_thread_hci.c 4 | * @author MCD Application Team 5 | * @brief Function for managing HCI interface. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32_wpan_common.h" 23 | #include "stm_list.h" 24 | #include "tl.h" 25 | #include "tl_thread_hci.h" 26 | 27 | /* Private typedef -----------------------------------------------------------*/ 28 | /* Private defines -----------------------------------------------------------*/ 29 | 30 | 31 | 32 | /* Private macros ------------------------------------------------------------*/ 33 | 34 | /* Public variables ---------------------------------------------------------*/ 35 | 36 | 37 | 38 | /* Private variables ---------------------------------------------------------*/ 39 | 40 | 41 | /* Private function prototypes -----------------------------------------------*/ 42 | 43 | 44 | /* Private functions ----------------------------------------------------------*/ 45 | __WEAK void Pre_OtCmdProcessing(void){return;} 46 | __WEAK void Ot_Cmd_Transfer(void){return;} 47 | __WEAK Thread_OT_Cmd_Request_t* THREAD_Get_OTCmdPayloadBuffer(void){return 0;} 48 | __WEAK Thread_OT_Cmd_Request_t* THREAD_Get_OTCmdRspPayloadBuffer(void){return 0;} 49 | __WEAK Thread_OT_Cmd_Request_t* THREAD_Get_NotificationPayloadBuffer(void){return 0;} 50 | 51 | 52 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_thread_hci.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_thread_hci.h 4 | * @author MCD Application Team 5 | * @brief Constants and functions for managing Thread TL 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | #ifndef __TL_THREAD_HCI_H_ 22 | #define __TL_THREAD_HCI_H_ 23 | 24 | /* Includes ------------------------------------------------------------------*/ 25 | #include "stm32wbxx_core_interface_def.h" 26 | 27 | /* Exported functions ------------------------------------------------------------*/ 28 | void Pre_OtCmdProcessing(void); 29 | void Ot_Cmd_Transfer(void); 30 | Thread_OT_Cmd_Request_t* THREAD_Get_OTCmdPayloadBuffer(void); 31 | Thread_OT_Cmd_Request_t* THREAD_Get_OTCmdRspPayloadBuffer(void); 32 | Thread_OT_Cmd_Request_t* THREAD_Get_NotificationPayloadBuffer(void); 33 | 34 | /* Exported defines -----------------------------------------------------------*/ 35 | 36 | 37 | #endif /* __TL_THREAD_HCI_H_ */ 38 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_zigbee_hci.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_zigbee_hci.c 4 | * @author MCD Application Team 5 | * @brief Function for managing HCI interface. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32_wpan_common.h" 23 | #include "hw.h" 24 | 25 | #include "stm_list.h" 26 | 27 | #include "tl.h" 28 | #include "tl_zigbee_hci.h" 29 | 30 | 31 | /* Private typedef -----------------------------------------------------------*/ 32 | /* Private defines -----------------------------------------------------------*/ 33 | 34 | 35 | 36 | /* Private macros ------------------------------------------------------------*/ 37 | 38 | /* Public variables ---------------------------------------------------------*/ 39 | 40 | 41 | 42 | /* Private variables ---------------------------------------------------------*/ 43 | 44 | 45 | /* Private function prototypes -----------------------------------------------*/ 46 | 47 | 48 | /* Private functions ----------------------------------------------------------*/ 49 | __weak void Pre_ZigbeeCmdProcessing(void){return;} 50 | __weak void ZIGBEE_CmdTransfer(void){return;} 51 | __weak Zigbee_Cmd_Request_t* ZIGBEE_Get_OTCmdPayloadBuffer(void){return 0;} 52 | __weak Zigbee_Cmd_Request_t* ZIGBEE_Get_OTCmdRspPayloadBuffer(void){return 0;} 53 | __weak Zigbee_Cmd_Request_t* ZIGBEE_Get_NotificationPayloadBuffer(void){return 0;} 54 | __weak Zigbee_Cmd_Request_t* ZIGBEE_Get_M0RequestPayloadBuffer(void){return 0;} 55 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_zigbee_hci.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file tl_zigbee_hci.h 4 | * @author MCD Application Team 5 | * @brief Constants and functions for managing Thread TL 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | #ifndef __TL_ZIGBEE_HCI_H_ 22 | #define __TL_ZIGBEE_HCI_H_ 23 | 24 | /* Includes ------------------------------------------------------------------*/ 25 | #include "zigbee_core.h" 26 | #include "stm32wbxx_core_interface_def.h" 27 | #include "tl.h" 28 | #include 29 | 30 | 31 | /* Exported functions ------------------------------------------------------------*/ 32 | void Pre_ZigbeeCmdProcessing(void); 33 | void ZIGBEE_CmdTransfer(void); 34 | Zigbee_Cmd_Request_t* ZIGBEE_Get_OTCmdPayloadBuffer(void); 35 | Zigbee_Cmd_Request_t* ZIGBEE_Get_OTCmdRspPayloadBuffer(void); 36 | Zigbee_Cmd_Request_t* ZIGBEE_Get_NotificationPayloadBuffer(void); 37 | Zigbee_Cmd_Request_t* ZIGBEE_Get_M0RequestPayloadBuffer(void); 38 | 39 | /* Exported defines -----------------------------------------------------------*/ 40 | 41 | 42 | #endif /* __TL_ZIGBEE_HCI_H_*/ 43 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/vcp/usbd_desc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file USB_Device/CDC_Standalone/Inc/usbd_desc.h 4 | * @author MCD Application Team 5 | * @brief Header for usbd_desc.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __USBD_DESC_H 23 | #define __USBD_DESC_H 24 | 25 | /* Includes ------------------------------------------------------------------*/ 26 | #include "usbd_def.h" 27 | 28 | /* Exported types ------------------------------------------------------------*/ 29 | /* Exported constants --------------------------------------------------------*/ 30 | #define DEVICE_ID1 (0x1FFF7A10) 31 | #define DEVICE_ID2 (0x1FFF7A14) 32 | #define DEVICE_ID3 (0x1FFF7A18) 33 | 34 | #define USB_SIZ_BOS_DESC 0x0C 35 | #define USB_SIZ_STRING_SERIAL 0x1A 36 | /* Exported macro ------------------------------------------------------------*/ 37 | /* Exported functions ------------------------------------------------------- */ 38 | extern USBD_DescriptorsTypeDef VCP_Desc; 39 | 40 | #endif /* __USBD_DESC_H */ 41 | 42 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 43 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/utilities/otp.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file otp.c 4 | * @author MCD Application Team 5 | * @brief OTP manager 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "utilities_common.h" 23 | 24 | #include "otp.h" 25 | 26 | /* Private typedef -----------------------------------------------------------*/ 27 | /* Private defines -----------------------------------------------------------*/ 28 | /* Private macros ------------------------------------------------------------*/ 29 | /* Private variables ---------------------------------------------------------*/ 30 | /* Global variables ----------------------------------------------------------*/ 31 | /* Private function prototypes -----------------------------------------------*/ 32 | /* Functions Definition ------------------------------------------------------*/ 33 | 34 | uint8_t * OTP_Read( uint8_t id ) 35 | { 36 | uint8_t *p_id; 37 | 38 | p_id = (uint8_t*)(CFG_OTP_END_ADRESS - 7) ; 39 | 40 | while( ((*( p_id + 7 )) != id) && ( p_id != (uint8_t*)CFG_OTP_BASE_ADDRESS) ) 41 | { 42 | p_id -= 8 ; 43 | } 44 | 45 | if((*( p_id + 7 )) != id) 46 | { 47 | p_id = 0 ; 48 | } 49 | 50 | return p_id ; 51 | } 52 | 53 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 54 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/Middlewares/ST/STM32_WPAN/utilities/stm_list.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm_list.h 4 | * @author MCD Application Team 5 | * @brief Header file for linked list library. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2019 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | 21 | #ifndef _STM_LIST_H_ 22 | #define _STM_LIST_H_ 23 | 24 | /* Includes ------------------------------------------------------------------*/ 25 | 26 | typedef struct _tListNode { 27 | struct _tListNode * next; 28 | struct _tListNode * prev; 29 | } tListNode; 30 | 31 | void LST_init_head (tListNode * listHead); 32 | 33 | uint8_t LST_is_empty (tListNode * listHead); 34 | 35 | void LST_insert_head (tListNode * listHead, tListNode * node); 36 | 37 | void LST_insert_tail (tListNode * listHead, tListNode * node); 38 | 39 | void LST_remove_node (tListNode * node); 40 | 41 | void LST_remove_head (tListNode * listHead, tListNode ** node ); 42 | 43 | void LST_remove_tail (tListNode * listHead, tListNode ** node ); 44 | 45 | void LST_insert_node_after (tListNode * node, tListNode * ref_node); 46 | 47 | void LST_insert_node_before (tListNode * node, tListNode * ref_node); 48 | 49 | int LST_get_size (tListNode * listHead); 50 | 51 | void LST_get_next_node (tListNode * ref_node, tListNode ** node); 52 | 53 | void LST_get_prev_node (tListNode * ref_node, tListNode ** node); 54 | 55 | #endif /* _STM_LIST_H_ */ 56 | -------------------------------------------------------------------------------- /host_driver/STM32WBxx/README.md: -------------------------------------------------------------------------------- 1 | # STM32CubeWB MCU Firmware Package 2 | 3 | **STM32Cube** is an STMicroelectronics original initiative to ease the developers life by reducing efforts, time and cost. 4 | 5 | **STM32Cube** covers the overall STM32 products portfolio. It includes a comprehensive embedded software platform (this repo), delivered for each series (such as the STM32CubeWB for the STM32WB series). 6 | * The CMSIS modules (core and device) corresponding to the ARM-tm core implemented in this STM32 product 7 | * The STM32 HAL-LL drivers : an abstraction drivers layer, the API ensuring maximized portability across the STM32 portfolio 8 | * The BSP Drivers of each evaluation or demonstration board provided by this STM32 series 9 | * A consistent set of middlewares components such as FreeRTOS, FatFS, USB, BLE, Thread ... 10 | * A full set of software projects (basic examples, applications or demonstrations) for each board provided by this STM32 series 11 | 12 | The **STM32CubeWB MCU Package** projects are directly running on the STM32WB series boards. You can find in each Projects/*Board name* directories a set of software projects (Applications/Demonstration/Examples) 13 | 14 | ## Boards available 15 | * STM32WB55 16 | * [P-NUCLEO-WB55.Nucleo](https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html) 17 | * [P-NUCLEO-WB55.USBDongle](https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html) 18 | 19 | ## Troubleshooting 20 | 21 | **Caution** : The **Issues** requests are strictly limited to submit problems or suggestions related to the software delivered in this repo 22 | 23 | **For any question** related to the STM32WB product, the hardware performance, the hardware characteristics, the tools, the environment, you can submit a topic on the [ST Community/STM32 MCUs forum](https://community.st.com/s/group/0F90X000000AXsASAW/stm32-mcus) 24 | 25 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2023. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/makefiles/printing.mk: -------------------------------------------------------------------------------- 1 | ###################################### 2 | # Some pretty colors and printing 3 | ###################################### 4 | -include makefiles/options.mk 5 | 6 | ###################################### 7 | # Verbose build 8 | ###################################### 9 | ifeq ($(VERBOSE),yes) 10 | SILENT = 11 | else 12 | SILENT = @ 13 | endif 14 | 15 | # Shell colors 16 | BOLD_RED := '\033[1;31m' 17 | BOLD_CYAN := '\033[1;36m' 18 | BOLD_GREEN := '\033[1;32m' 19 | BOLD_PURPLE := '\033[1;35m' 20 | BOLD_YELLOW:= '\033[1;33m' 21 | YELLOW:= '\033[0;33m' 22 | IPURPLE:= '\033[0;95m' 23 | BIPURPLE:= '\033[1;95m' 24 | 25 | NC := '\033[0m' # no color 26 | ECHO = @echo -e $(LIGHT_CYAN) 27 | ECHO_OK = @echo -e $(LIGHT_GREEN) 28 | ECHO_CMD = /bin/echo 29 | 30 | define echo 31 | @$(ECHO_CMD) -e $(BOLD_CYAN)$(1)$(NC) 32 | endef 33 | 34 | define echo_error 35 | @$(ECHO_CMD) -e $(BOLD_RED)'! '$(1)$(NC) 36 | endef 37 | 38 | define build 39 | @echo -e $(BOLD_CYAN)'['$(1)'] Building '$(2)$(NC) 40 | endef 41 | 42 | define success 43 | @echo -e $(BOLD_GREEN)'+ '$(1)' [SUCCESS]'$(NC) 44 | endef 45 | 46 | define warn 47 | @$(ECHO_CMD) -e $(YELLOW)'! '$(1)$(NC) 48 | endef 49 | 50 | define echo_help 51 | @$(ECHO_CMD) -e $(IPURPLE)'| '$(1)$(NC) 52 | endef 53 | 54 | define echo_help_b 55 | @$(ECHO_CMD) -e $(BIPURPLE)' '$(1)$(NC) 56 | endef 57 | 58 | define echo_build 59 | @$(ECHO_CMD) -e $(BOLD_YELLOW)$(1)$(NC) 60 | endef 61 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/makefiles/sx126x.mk: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Definitions for the SX126x tranceiver 3 | ############################################################################## 4 | -include makefiles/options.mk 5 | 6 | ifeq ($(RADIO),sx1261) 7 | TARGET = sx1261 8 | endif 9 | ifeq ($(RADIO),sx1262) 10 | TARGET = sx1262 11 | endif 12 | ifeq ($(RADIO),sx1268) 13 | TARGET = sx1268 14 | endif 15 | 16 | # Allow modem options 17 | ALLOW_CSMA_BUILD = yes 18 | 19 | 20 | #----------------------------------------------------------------------------- 21 | # Radio specific sources 22 | #----------------------------------------------------------------------------- 23 | 24 | 25 | RADIO_DRIVER_C_SOURCES += \ 26 | smtc_modem_core/radio_drivers/sx126x_driver/src/sx126x.c\ 27 | smtc_modem_core/radio_drivers/sx126x_driver/src/sx126x_lr_fhss.c\ 28 | smtc_modem_core/radio_drivers/sx126x_driver/src/lr_fhss_mac.c 29 | 30 | SMTC_RAL_C_SOURCES += \ 31 | smtc_modem_core/smtc_ral/src/ral_sx126x.c 32 | 33 | SMTC_RALF_C_SOURCES += \ 34 | smtc_modem_core/smtc_ralf/src/ralf_sx126x.c 35 | 36 | SMTC_MODEM_CRYPTO_C_SOURCES += \ 37 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/aes.c\ 38 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/cmac.c\ 39 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/soft_se.c 40 | 41 | #----------------------------------------------------------------------------- 42 | # Includes 43 | #----------------------------------------------------------------------------- 44 | LBM_C_INCLUDES = \ 45 | -Ismtc_modem_core/radio_drivers/sx126x_driver/src\ 46 | -Ismtc_modem_core/smtc_modem_crypto/soft_secure_element 47 | 48 | 49 | #----------------------------------------------------------------------------- 50 | # Radio specific compilation flags 51 | #----------------------------------------------------------------------------- 52 | LBM_C_DEFS += \ 53 | -DSX126X 54 | 55 | ifeq ($(RADIO),sx1262) 56 | LBM_C_DEFS += \ 57 | -DSX1262 58 | endif 59 | 60 | ifeq ($(RADIO),sx1268) 61 | LBM_C_DEFS += \ 62 | -DSX1268 63 | endif 64 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/makefiles/sx127x.mk: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Definitions for the SX126x tranceiver 3 | ############################################################################## 4 | -include makefiles/options.mk 5 | 6 | ifeq ($(RADIO),sx1272) 7 | TARGET = sx1272 8 | endif 9 | ifeq ($(RADIO),sx1276) 10 | TARGET = sx1276 11 | endif 12 | 13 | RADIO_DRIVER_C_SOURCES += \ 14 | smtc_modem_core/radio_drivers/sx127x_driver/src/sx127x.c\ 15 | 16 | SMTC_RAL_C_SOURCES += \ 17 | smtc_modem_core/smtc_ral/src/ral_sx127x.c 18 | 19 | SMTC_RALF_C_SOURCES += \ 20 | smtc_modem_core/smtc_ralf/src/ralf_sx127x.c 21 | 22 | SMTC_MODEM_CRYPTO_C_SOURCES += \ 23 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/aes.c\ 24 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/cmac.c\ 25 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/soft_se.c 26 | 27 | #----------------------------------------------------------------------------- 28 | # Includes 29 | #----------------------------------------------------------------------------- 30 | LBM_C_INCLUDES = \ 31 | -Ismtc_modem_core/radio_drivers/sx127x_driver/src\ 32 | -Ismtc_modem_core/smtc_modem_crypto/soft_secure_element 33 | 34 | #----------------------------------------------------------------------------- 35 | # Region 36 | #----------------------------------------------------------------------------- 37 | 38 | #----------------------------------------------------------------------------- 39 | # Radio specific compilation flags 40 | #----------------------------------------------------------------------------- 41 | LBM_C_DEFS += \ 42 | -DSX127X 43 | 44 | ifeq ($(RADIO),sx1272) 45 | LBM_C_DEFS += \ 46 | -DSX1272 47 | endif 48 | 49 | ifeq ($(RADIO),sx1276) 50 | LBM_C_DEFS += \ 51 | -DSX1276 52 | endif 53 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/makefiles/sx128x.mk: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Definitions for the SX128x tranceiver 3 | ############################################################################## 4 | -include makefiles/options.mk 5 | 6 | TARGET = sx128x 7 | 8 | RADIO_DRIVER_C_SOURCES += \ 9 | smtc_modem_core/radio_drivers/sx128x_driver/src/sx128x.c 10 | 11 | SMTC_RAL_C_SOURCES += \ 12 | smtc_modem_core/smtc_ral/src/ral_sx128x.c 13 | 14 | SMTC_RALF_C_SOURCES += \ 15 | smtc_modem_core/smtc_ralf/src/ralf_sx128x.c 16 | 17 | LR1MAC_C_SOURCES += \ 18 | smtc_modem_core/lr1mac/src/smtc_real/src/region_ww2g4.c 19 | 20 | SMTC_MODEM_CRYPTO_C_SOURCES += \ 21 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/aes.c\ 22 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/cmac.c\ 23 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/soft_se.c 24 | 25 | #----------------------------------------------------------------------------- 26 | # Includes 27 | #----------------------------------------------------------------------------- 28 | LBM_C_INCLUDES = \ 29 | -Ismtc_modem_core/radio_drivers/sx128x_driver/src\ 30 | -Ismtc_modem_core/smtc_modem_crypto/soft_secure_element 31 | 32 | #----------------------------------------------------------------------------- 33 | # Radio specific compilation flags 34 | #----------------------------------------------------------------------------- 35 | LBM_C_DEFS += \ 36 | -DSX128X 37 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_api/Makefile: -------------------------------------------------------------------------------- 1 | all: docs 2 | 3 | docs: *.h ./doxygen.config 4 | @doxygen ./doxygen.config 5 | 6 | clean: 7 | rm -rf build_doc -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/geolocation_services/doc/docMiddlewareSequenceOverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/geolocation_services/doc/docMiddlewareSequenceOverview.png -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/geolocation_services/doc/raw/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: all 2 | 3 | all: uml dia 4 | @echo . "\033[1;32m" 5 | @echo . entering geolocation documentation raw files 6 | @echo . "\033[0m" 7 | 8 | uml: 9 | @echo . "\033[1;32m" 10 | @echo . entering geolocation documentation uml files 11 | @echo . "\033[0m" 12 | plantuml docMiddlewareSequenceOverview.puml 13 | mv docMiddlewareSequenceOverview.png ../docMiddlewareSequenceOverview.png 14 | 15 | dia: 16 | @echo . "\033[1;32m" 17 | @echo . entering geolocation documentation dia files 18 | @echo . "\033[0m" 19 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/lorawan_manager/doc/class_b_sequence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/lorawan_manager/doc/class_b_sequence.png -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/lorawan_manager/doc/join_sequence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD004/81c6a36e0b0f95090d5240c06ca75eb0be04e4de/lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/lorawan_manager/doc/join_sequence.png -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/lorawan_manager/doc/raw/join.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant APPLICATION 4 | participant JOIN_MANAGER 5 | participant LR1_MAC_STACK_STACK 6 | participant SEMTECH_RADIO 7 | participant 0N_AIR 8 | participant NETWORK_SERVER 9 | 10 | 11 | APPLICATION -> JOIN_MANAGER: smtc_modem_join_network(stack_id) 12 | note right 13 | Join duty cycle as defined in LoRaWAN standard is enabled by default. 14 | Use compilation flag TEST_BYPASS_JOIN_DUTY_CYCLE to remove it 15 | To change join dr distribution use the function smtc_modem_adr_set_join_distribution 16 | end note 17 | == STEP 1 : Transmit Join Request == 18 | loop Until devices is joined 19 | alt no Join Accept response 20 | 21 | JOIN_MANAGER -> JOIN_MANAGER : Wait Join Duty cycle 22 | note right 23 | Join duty cycle details are defined in LoRaWAN standard. 24 | It allows to not waste battery in case of bad network coverage. 25 | end note 26 | Activate JOIN_MANAGER 27 | JOIN_MANAGER -> NETWORK_SERVER: Transmit Join Request 28 | Deactivate JOIN_MANAGER 29 | Activate NETWORK_SERVER#005500 30 | LR1_MAC_STACK_STACK -> LR1_MAC_STACK_STACK : Wait a valid join accept on Rx1 or RX2 31 | Activate LR1_MAC_STACK_STACK 32 | LR1_MAC_STACK_STACK -> APPLICATION: Event 33 | Deactivate LR1_MAC_STACK_STACK 34 | note left 35 | with status = SMTC_MODEM_EVENT_JOINFAIL. 36 | end note 37 | else Else : Receive a Valid Join Accept 38 | NETWORK_SERVER -> JOIN_MANAGER: Valid join Accept 39 | Deactivate NETWORK_SERVER#005500 40 | Activate JOIN_MANAGER#000000 41 | end 42 | end 43 | JOIN_MANAGER -> APPLICATION: Event 44 | note left 45 | with status = SMTC_MODEM_EVENT_JOINED. 46 | end note 47 | 48 | 49 | @enduml 50 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/modem_services/store_and_forward/README.md: -------------------------------------------------------------------------------- 1 | # LoRa Basics Modem - Store and Forward flash 2 | 3 | ## 1. Introduction 4 | 5 | The Store and Forward feature allows a user to store multiple data such as measurements without waiting for the stack to be available or the modem to be under network coverage. This data will be sent when the modem is under LoRaWAN coverage. 6 | 7 | The Store and Forward used CircularFS library. It is a persistent, Flash-based ring buffer designed for embedded software. CircularFS has been designed to run on NOR Flash memory, which exhibits the following semantics: 8 | 9 | - Bits are programmed by flipping them from 1 to 0 with byte granularity. 10 | - Bits are erased by flipping them from 0 to 1 with sector granularity. 11 | 12 | ## 2. Operating mode 13 | 14 | To be sure that the modem is always under coverage, data are acknowledged every 10 uplink frames (but the user can request an acknowledgment themselves when new data is stored to be acknowledged more often). 15 | 16 | If the uplink frame with acknowledgment request is acknowledged by the network, previous sent data are deleted from the FIFO. 17 | 18 | If the uplink frame with acknowledgment request is not acknowledged by the network, the FIFO goes back to the oldest unacknowledged data and will attempt to send this data indefinitely until the modem has received the acknowledgment. 19 | 20 | To avoid retrying too often, a time limit is calculated to schedule the next attempt. This delay is generally longer than the previous one for each retry and the maximum is one hour. 21 | 22 | When the device is under coverage (ACK or downlink data received by the modem), data in FIFO are fetch and sent as fast as possible. 23 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/lr11xx_driver/LICENSE.txt: -------------------------------------------------------------------------------- 1 | License for the code produced by Semtech contained in this project 2 | ------------------------------------------------------------------ 3 | 4 | The Clear BSD License 5 | Copyright Semtech Corporation 2022. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted (subject to the limitations in the disclaimer 9 | below) provided that the following conditions are met: 10 | * Redistributions of source code must retain the above copyright 11 | notice, this list of conditions and the following disclaimer. 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | * Neither the name of the Semtech corporation nor the 16 | names of its contributors may be used to endorse or promote products 17 | derived from this software without specific prior written permission. 18 | 19 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 20 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 21 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 22 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 23 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 24 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 | POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx126x_driver/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [2.3.1] - 2023-11-8 8 | 9 | ### Fixed 10 | - `lr_fhss_payload_whitening()` function - Cast missing on lfsr parameter 11 | 12 | ## [2.3.0] - 2023-10-10 13 | 14 | ### Added 15 | - `sx126x_set_bpsk_mod_params()` function - Set the modulation parameters for BPSK packets 16 | - `sx126x_set_bpsk_pkt_params()` function - Set the packet parameters for BPSK packets 17 | 18 | ## [2.2.0] - 2023-03-27 19 | 20 | ### Added 21 | 22 | - `sx126x_driver_version_get_version_string()` function - produces a c-string representation of the driver version 23 | - `SX126X_DRIVER_VERSION_CHECK` macro - validates the provided version information is compatible with the driver 24 | - `sx126x_lr_fhss_get_bit_delay_in_us( )` function - computes the delay between the last LR-FHSS bit sent and the TX done interrupt 25 | 26 | ## [2.1.0] - 2022-05-18 27 | 28 | ### Added 29 | 30 | - `sx126x_set_gfsk_pkt_address()` function - configure both GFSK node and brodcast filtering addresses 31 | - `sx126x_handle_rx_done()` function - perform all requested actions when the chip leaves the Rx mode 32 | 33 | ## [2.0.1] - 2021-11-23 34 | 35 | ### Added 36 | 37 | - Support of LR-FHSS (see `sx126x_lr_fhss.c` and `sx126x_lr_fhss.h`) 38 | - `sx126x_get_lora_params_from_header()` function - extracts the LoRa coding rate and CRC configuration from the packet header 39 | - `sx126x_add_registers_to_retention_list()` function - allows to add up to 4 registers to the retention list 40 | - `sx126x_init_retention_list()` - add registers used by workarounds in the driver to the retention list 41 | - `sx126x_cal_img_in_mhz()` - takes frequency interval bounds in MHz for calibration 42 | 43 | ### Changed 44 | 45 | - Revised BSD License changed to the Clear BSD License 46 | - `sx126x_set_lora_symb_nb_timeout` now rounds up to nearest possible number of symbol 47 | - `SX126X_REG_IRQ_POLARITY` is renamed `SX126X_REG_IQ_POLARITY` 48 | - `sx126x_cal_img()` function - takes frequency interval bounds in raw steps 49 | 50 | ## [1.0.0] - 2020-09-24 51 | 52 | ### General 53 | 54 | - Initial version 55 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx126x_driver/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2021. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx126x_driver/README.md: -------------------------------------------------------------------------------- 1 | # SX126X driver 2 | 3 | This package proposes an implementation in C of the driver for **SX126X** radio component. 4 | Please see the [changelog](CHANGELOG.md) for more information. 5 | 6 | ## Structure 7 | 8 | The driver is defined as follows: 9 | 10 | - sx126x.c: implementation of the driver functions 11 | - sx126x.h: declarations of the driver functions 12 | - sx126x_regs.h: definitions of all useful registers (address and fields) 13 | - sx126x_hal.h: declarations of the HAL functions (to be implemented by the user - see below) 14 | - lr_fhss_mac.c: Transceiver-independent LR-FHSS implementation 15 | - sx126x_lr_fhss.c: Transceiver-dependent LR-FHSS implementation 16 | - lr_fhss_mac.h: Transceiver-independent LR-FHSS declarations 17 | - sx126x_lr_fhss.h: Transceiver-dependent LR-FHSS declarations 18 | - lr_fhss_v1_base_types.h: LR-FHSS type interface 19 | 20 | ## HAL 21 | 22 | The HAL (Hardware Abstraction Layer) is a collection of functions the user shall implement to write platform-dependant calls to the host. The list of functions is the following: 23 | 24 | - sx126x_hal_reset 25 | - sx126x_hal_wakeup 26 | - sx126x_hal_write 27 | - sx126x_hal_read 28 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx127x_driver/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [1.0.0] - 2021-12-15 8 | 9 | ### General 10 | 11 | - Initial version -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx127x_driver/LICENSE.md: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2021. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx127x_driver/README.md: -------------------------------------------------------------------------------- 1 | # SX127X driver 2 | 3 | This package proposes an implementation in C of the driver for **SX127X** radio component. 4 | 5 | ## Structure 6 | 7 | The driver is defined as follows: 8 | 9 | - sx127x.c: implementation of the driver functions 10 | - sx127x.h: declarations of the driver functions 11 | - sx127x_regs_common_defs.h: definitions of all common reegisters (address and fields) 12 | - sx127x_regs_gfsk_defs.h: definitions of all GFSK reegisters (address and fields) 13 | - sx127x_regs_lora_defs.h: definitions of all LoRa reegisters (address and fields) 14 | - sx127x_regs.h: includes sx127x_regs_common_defs.h, sx127x_regs_gfsk_defs.h and sx127x_regs_lora_defs.h 15 | - sx127x_hal.h: declarations of the HAL functions (to be implemented by the user - see below) 16 | 17 | ## HAL 18 | 19 | The HAL (Hardware Abstraction Layer) is a collection of functions the user shall implement to write platform-dependant calls to the host. The list of functions is the following: 20 | 21 | - sx127x_hal_get_radio_id 22 | - sx127x_hal_dio_irq_attach 23 | - sx127x_hal_write 24 | - sx127x_hal_read 25 | - sx127x_hal_reset 26 | - sx127x_hal_get_dio_1_pin_state 27 | - sx127x_hal_timer_start 28 | - sx127x_hal_timer_stop 29 | - sx127x_hal_timer_is_started -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx128x_driver/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [1.0.0] - 2022-07-21 8 | 9 | ### General 10 | 11 | - Initial version 12 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx128x_driver/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2022. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx128x_driver/README.md: -------------------------------------------------------------------------------- 1 | # SX128X driver 2 | 3 | This package proposes an implementation in C of the driver for **SX128X** radio component. 4 | Please see the [changelog](CHANGELOG.md) for more information. 5 | 6 | ## Structure 7 | 8 | The driver is defined as follows: 9 | 10 | - sx128x.c: implementation of the driver functions 11 | - sx128x.h: declarations of the driver functions 12 | - sx128x_regs.h: definitions of all useful registers (address and fields) 13 | - sx128x_hal.h: declarations of the HAL functions (to be implemented by the user - see below) 14 | 15 | ## HAL 16 | 17 | The HAL (Hardware Abstraction Layer) is a collection of functions the user shall implement to write platform-dependant calls to the host. The list of functions is the following: 18 | 19 | - sx128x_hal_reset 20 | - sx128x_hal_wakeup 21 | - sx128x_hal_write 22 | - sx128x_hal_read 23 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/radio_drivers/sx128x_driver/src/sx128x_driver_module.cmake: -------------------------------------------------------------------------------- 1 | # @file sx128x_driver_module.cmake 2 | # 3 | # @brief Defines CMake source files and include directories for this module 4 | # 5 | # --- The Clear BSD License --- 6 | # Copyright Semtech Corporation 2022. All rights reserved. 7 | # 8 | # Redistribution and use in source and binary forms, with or without 9 | # modification, are permitted (subject to the limitations in the disclaimer 10 | # below) provided that the following conditions are met: 11 | # * Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # * Redistributions in binary form must reproduce the above copyright 14 | # notice, this list of conditions and the following disclaimer in the 15 | # documentation and/or other materials provided with the distribution. 16 | # * Neither the name of the Semtech corporation nor the 17 | # names of its contributors may be used to endorse or promote products 18 | # derived from this software without specific prior written permission. 19 | # 20 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 21 | # THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 22 | # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 23 | # NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 24 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 25 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | # POSSIBILITY OF SUCH DAMAGE. 32 | 33 | set(SX128X_DRIVER_MODULE_C_SOURCES 34 | ${CMAKE_CURRENT_LIST_DIR}/sx128x.c 35 | ) 36 | 37 | set(SX128X_DRIVER_MODULE_C_INCLUDES 38 | ${CMAKE_CURRENT_LIST_DIR}/. 39 | ) 40 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/smtc_ral/README.md: -------------------------------------------------------------------------------- 1 | # Semtech Radio Abstraction Layer 2 | 3 | This package proposes an implementation in C of the RAL (Radio Abstraction Layer). 4 | 5 | ## Components 6 | 7 | The RAL is split in several components: 8 | 9 | - RAL interface 10 | - Implementation for SX1261/2/8 transceivers 11 | - Implementation for LR1110/20/21 transceivers 12 | - Implementation for SX1280/1 transceivers 13 | - Implementation for LLCC68 transceivers 14 | 15 | ## Compatibility 16 | 17 | The current version of the RAL is compatible with the following version the drivers: 18 | 19 | - LR11xx driver unreleased (head of develop branch) 20 | - SX126x driver v2.0.1 and later 21 | - SX128x driver unreleased (head of develop branch) 22 | - LLCC68 driver v2.0.1 and later 23 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/smtc_ral/license.md: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2021. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/lbm_lib/smtc_modem_core/smtc_ralf/license.md: -------------------------------------------------------------------------------- 1 | Revised BSD License 2 | Copyright Semtech Corporation 2020. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of the Semtech corporation nor the 12 | names of its contributors may be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /lora_basics_modem/makefiles/common.mk: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | # Indicates library location 3 | #----------------------------------------------------------------------------- 4 | 5 | C_INCLUDES += \ 6 | -I$(LORA_BASICS_MODEM)/smtc_modem_api/ \ 7 | -I$(LORA_BASICS_MODEM)/smtc_modem_hal/ \ 8 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ralf/src \ 9 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ral/src 10 | 11 | 12 | # Add printers 13 | C_INCLUDES += -I$(TOP_DIR)/lora_basics_modem/printers/\ 14 | 15 | 16 | C_SOURCES += \ 17 | $(TOP_DIR)/lora_basics_modem/printers/smtc_modem_api_str.c 18 | 19 | #----------------------------------------------------------------------------- 20 | # Buid targets 21 | #----------------------------------------------------------------------------- 22 | .PHONY: build_basic_modem 23 | 24 | build_basic_modem: 25 | $(MAKE) -C $(LORA_BASICS_MODEM) basic_modem MCU_FLAGS="$(MCU) -DRP_MARGIN_DELAY=$(RP_MARGIN_DELAY)" RADIO=$(RADIO) RP_VERSION=$(RP_VERSION) MODEM_TRACE=$(MODEM_TRACE) CRYPTO=$(CRYPTO) LBM_GEOLOCATION=$(LBM_GEOLOCATION) DEBUG=$(DEBUG) LBM_STORE_AND_FORWARD=$(LBM_STORE_AND_FORWARD) REGION=$(REGION) 26 | 27 | #----------------------------------------------------------------------------- 28 | # Clean targets 29 | #----------------------------------------------------------------------------- 30 | 31 | .PHONY: clean_lbm 32 | clean_lbm: 33 | $(MAKE) -C $(LORA_BASICS_MODEM) clean_all 34 | -------------------------------------------------------------------------------- /lora_basics_modem/makefiles/printing.mk: -------------------------------------------------------------------------------- 1 | ###################################### 2 | # Some pretty colors and printing 3 | ###################################### 4 | 5 | ###################################### 6 | # Verbose build 7 | ###################################### 8 | ifdef VERBOSE 9 | SILENT = 10 | else 11 | SILENT = @ 12 | endif 13 | 14 | # Shell colors 15 | BOLD_RED := '\033[1;31m' 16 | BOLD_CYAN := '\033[1;36m' 17 | BOLD_GREEN := '\033[1;32m' 18 | BOLD_PURPLE := '\033[1;35m' 19 | BOLD_YELLOW:= '\033[1;33m' 20 | IPURPLE:= '\033[0;95m' 21 | BIPURPLE:= '\033[1;95m' 22 | 23 | NC := '\033[0m' # no color 24 | ECHO = @echo -e $(LIGHT_CYAN) 25 | ECHO_OK = @echo -e $(LIGHT_GREEN) 26 | ECHO_CMD = /bin/echo 27 | 28 | define echo 29 | @$(ECHO_CMD) -e $(BOLD_CYAN)$(1)$(NC) 30 | endef 31 | 32 | define echo_error 33 | @$(ECHO_CMD) -e $(BOLD_RED)'! '$(1)$(NC) 34 | endef 35 | 36 | define build 37 | @echo -e $(BOLD_CYAN)'['$(1)'] Building '$(2)$(NC) 38 | endef 39 | 40 | define success 41 | @echo -e $(BOLD_GREEN)'+ '$(1)' [SUCCESS]'$(NC) 42 | endef 43 | 44 | define warn 45 | @$(ECHO_CMD) -e $(BOLD_PURPLE)'! '$(1)$(NC) 46 | endef 47 | 48 | define echo_help 49 | @$(ECHO_CMD) -e $(IPURPLE)'| '$(1)$(NC) 50 | endef 51 | 52 | define echo_help_b 53 | @$(ECHO_CMD) -e $(BIPURPLE)' '$(1)$(NC) 54 | endef 55 | 56 | define echo_build 57 | @$(ECHO_CMD) -e $(BOLD_YELLOW)$(1)$(NC) 58 | endef 59 | --------------------------------------------------------------------------------