├── .vscode
└── settings.json
├── Keil
├── classA
│ ├── EventRecorderStub.scvd
│ ├── JLinkLog.txt
│ ├── JLinkSettings.ini
│ ├── Listings
│ │ ├── classA.map
│ │ └── startup_stm32l151xb.lst
│ ├── Objects
│ │ ├── ExtDll.iex
│ │ ├── adc-board.crf
│ │ ├── adc-board.d
│ │ ├── adc-board.o
│ │ ├── adc.crf
│ │ ├── adc.d
│ │ ├── adc.o
│ │ ├── aes.crf
│ │ ├── aes.d
│ │ ├── aes.o
│ │ ├── board.crf
│ │ ├── board.d
│ │ ├── board.o
│ │ ├── classA.axf
│ │ ├── classA.build_log.htm
│ │ ├── classA.hex
│ │ ├── classA.htm
│ │ ├── classA.lnp
│ │ ├── classA.sct
│ │ ├── classA_RAK811_breakboard.dep
│ │ ├── classA_sct.Bak
│ │ ├── cmac.crf
│ │ ├── cmac.d
│ │ ├── cmac.o
│ │ ├── delay.crf
│ │ ├── delay.d
│ │ ├── delay.o
│ │ ├── fifo.crf
│ │ ├── fifo.d
│ │ ├── fifo.o
│ │ ├── gpio-board.crf
│ │ ├── gpio-board.d
│ │ ├── gpio-board.o
│ │ ├── gpio.crf
│ │ ├── gpio.d
│ │ ├── gpio.o
│ │ ├── gps-board.crf
│ │ ├── gps-board.d
│ │ ├── gps-board.o
│ │ ├── gps.crf
│ │ ├── gps.d
│ │ ├── gps.o
│ │ ├── i2c-board.crf
│ │ ├── i2c-board.d
│ │ ├── i2c-board.o
│ │ ├── i2c.crf
│ │ ├── i2c.d
│ │ ├── i2c.o
│ │ ├── lis3dh.crf
│ │ ├── lis3dh.d
│ │ ├── lis3dh.o
│ │ ├── loramac.crf
│ │ ├── loramac.d
│ │ ├── loramac.o
│ │ ├── loramaccrypto.crf
│ │ ├── loramaccrypto.d
│ │ ├── loramaccrypto.o
│ │ ├── main.crf
│ │ ├── main.d
│ │ ├── main.o
│ │ ├── region.crf
│ │ ├── region.d
│ │ ├── region.o
│ │ ├── regionas923.crf
│ │ ├── regionas923.d
│ │ ├── regionas923.o
│ │ ├── regionau915.crf
│ │ ├── regionau915.d
│ │ ├── regionau915.o
│ │ ├── regioncommon.crf
│ │ ├── regioncommon.d
│ │ ├── regioncommon.o
│ │ ├── regioneu868.crf
│ │ ├── regioneu868.d
│ │ ├── regioneu868.o
│ │ ├── regionin865.crf
│ │ ├── regionin865.d
│ │ ├── regionin865.o
│ │ ├── regionkr920.crf
│ │ ├── regionkr920.d
│ │ ├── regionkr920.o
│ │ ├── regionus915-hybrid.crf
│ │ ├── regionus915-hybrid.d
│ │ ├── regionus915-hybrid.o
│ │ ├── regionus915.crf
│ │ ├── regionus915.d
│ │ ├── regionus915.o
│ │ ├── rtc-board.crf
│ │ ├── rtc-board.d
│ │ ├── rtc-board.o
│ │ ├── spi-board.crf
│ │ ├── spi-board.d
│ │ ├── spi-board.o
│ │ ├── startup_stm32l151xb.d
│ │ ├── startup_stm32l151xb.o
│ │ ├── stm32l1xx_hal.crf
│ │ ├── stm32l1xx_hal.d
│ │ ├── stm32l1xx_hal.o
│ │ ├── stm32l1xx_hal_adc.crf
│ │ ├── stm32l1xx_hal_adc.d
│ │ ├── stm32l1xx_hal_adc.o
│ │ ├── stm32l1xx_hal_adc_ex.crf
│ │ ├── stm32l1xx_hal_adc_ex.d
│ │ ├── stm32l1xx_hal_adc_ex.o
│ │ ├── stm32l1xx_hal_cortex.crf
│ │ ├── stm32l1xx_hal_cortex.d
│ │ ├── stm32l1xx_hal_cortex.o
│ │ ├── stm32l1xx_hal_dma.crf
│ │ ├── stm32l1xx_hal_dma.d
│ │ ├── stm32l1xx_hal_dma.o
│ │ ├── stm32l1xx_hal_gpio.crf
│ │ ├── stm32l1xx_hal_gpio.d
│ │ ├── stm32l1xx_hal_gpio.o
│ │ ├── stm32l1xx_hal_i2c.crf
│ │ ├── stm32l1xx_hal_i2c.d
│ │ ├── stm32l1xx_hal_i2c.o
│ │ ├── stm32l1xx_hal_pwr.crf
│ │ ├── stm32l1xx_hal_pwr.d
│ │ ├── stm32l1xx_hal_pwr.o
│ │ ├── stm32l1xx_hal_pwr_ex.crf
│ │ ├── stm32l1xx_hal_pwr_ex.d
│ │ ├── stm32l1xx_hal_pwr_ex.o
│ │ ├── stm32l1xx_hal_rcc.crf
│ │ ├── stm32l1xx_hal_rcc.d
│ │ ├── stm32l1xx_hal_rcc.o
│ │ ├── stm32l1xx_hal_rcc_ex.crf
│ │ ├── stm32l1xx_hal_rcc_ex.d
│ │ ├── stm32l1xx_hal_rcc_ex.o
│ │ ├── stm32l1xx_hal_rtc.crf
│ │ ├── stm32l1xx_hal_rtc.d
│ │ ├── stm32l1xx_hal_rtc.o
│ │ ├── stm32l1xx_hal_rtc_ex.crf
│ │ ├── stm32l1xx_hal_rtc_ex.d
│ │ ├── stm32l1xx_hal_rtc_ex.o
│ │ ├── stm32l1xx_hal_spi.crf
│ │ ├── stm32l1xx_hal_spi.d
│ │ ├── stm32l1xx_hal_spi.o
│ │ ├── stm32l1xx_hal_spi_ex.crf
│ │ ├── stm32l1xx_hal_spi_ex.d
│ │ ├── stm32l1xx_hal_spi_ex.o
│ │ ├── stm32l1xx_hal_uart.crf
│ │ ├── stm32l1xx_hal_uart.d
│ │ ├── stm32l1xx_hal_uart.o
│ │ ├── stm32l1xx_hal_usart.crf
│ │ ├── stm32l1xx_hal_usart.d
│ │ ├── stm32l1xx_hal_usart.o
│ │ ├── sx1276-board.crf
│ │ ├── sx1276-board.d
│ │ ├── sx1276-board.o
│ │ ├── sx1276.crf
│ │ ├── sx1276.d
│ │ ├── sx1276.o
│ │ ├── sysirqhandlers.crf
│ │ ├── sysirqhandlers.d
│ │ ├── sysirqhandlers.o
│ │ ├── system_stm32l1xx.crf
│ │ ├── system_stm32l1xx.d
│ │ ├── system_stm32l1xx.o
│ │ ├── timer.crf
│ │ ├── timer.d
│ │ ├── timer.o
│ │ ├── uart-board.crf
│ │ ├── uart-board.d
│ │ ├── uart-board.o
│ │ ├── uart.crf
│ │ ├── uart.d
│ │ ├── uart.o
│ │ ├── utilities.crf
│ │ ├── utilities.d
│ │ └── utilities.o
│ ├── classA.uvguix.Suvan
│ ├── classA.uvoptx
│ └── classA.uvprojx
└── ping-pong
│ ├── JLinkLog.txt
│ ├── JLinkSettings.ini
│ ├── ping-pong.uvoptx
│ └── ping-pong.uvprojx
├── README.md
├── coIDE
└── classA
│ ├── classA.coproj
│ └── components
│ └── coocox-master
│ └── Retarget_printf
│ └── source
│ └── printf.c
├── doc
├── 08. 数据类型类别.xlsx
└── 2017年地方高校国家级大学生创新创业训练计划项目名单+(地方).xls
├── img
├── Data_Rate.png
├── Illustration of the channel assignment.png
├── LoRa_Modem_Calculator_Tool.png
├── Network stack of a normal LoRa node.png
├── Node_red_aliyun.png
├── Node_red_led.png
├── SX1278.png
├── application_key.png
├── nide-red.png
├── 树莓派键盘.png
└── 网关1.png
└── src
├── apps
├── classA
│ ├── Commissioning.h
│ └── main.c
└── ping-pong
│ └── main.c
├── boards
├── RAK811BreakBoard
│ ├── adc-board.c
│ ├── adc-board.h
│ ├── board.c
│ ├── board.h
│ ├── cmsis
│ │ ├── arm-gcc
│ │ │ ├── STM32L151XBA_FLASH.ld
│ │ │ ├── STM32L151XB_FLASH.ld
│ │ │ ├── startup_stm32l151xb.s
│ │ │ └── startup_stm32l151xba.s
│ │ ├── arm-std
│ │ │ ├── startup_stm32l151xb.s
│ │ │ └── startup_stm32l151xba.s
│ │ ├── mxconstants.h
│ │ ├── stm32l151xb.h
│ │ ├── stm32l151xba.h
│ │ ├── stm32l1xx.h
│ │ ├── stm32l1xx_hal_conf.h
│ │ ├── system_stm32l1xx.c
│ │ └── system_stm32l1xx.h
│ ├── eeprom-board.c
│ ├── eeprom-board.h
│ ├── gpio-board.c
│ ├── gpio-board.h
│ ├── gps-board.c
│ ├── gps-board.h
│ ├── i2c-board.c
│ ├── i2c-board.h
│ ├── pinName-board.h
│ ├── pinName-ioe.h
│ ├── rtc-board.c
│ ├── rtc-board.h
│ ├── spi-board.c
│ ├── spi-board.h
│ ├── sx1276-board.c
│ ├── sx1276-board.h
│ ├── uart-board.c
│ ├── uart-board.h
│ ├── uart-usb-board.c
│ ├── uart-usb-board.h
│ └── usb
│ │ ├── cdc
│ │ ├── inc
│ │ │ ├── usbd_cdc_if.h
│ │ │ ├── usbd_conf.h
│ │ │ └── usbd_desc.h
│ │ └── src
│ │ │ ├── usbd_cdc_if.c
│ │ │ ├── usbd_conf.c
│ │ │ └── usbd_desc.c
│ │ └── dfu
│ │ ├── inc
│ │ ├── usbd_conf.h
│ │ ├── usbd_desc.h
│ │ └── usbd_dfu_flash.h
│ │ └── src
│ │ ├── usbd_conf.c
│ │ ├── usbd_desc.c
│ │ └── usbd_dfu_flash.c
└── mcu
│ └── stm32
│ ├── RTE_Components.h
│ ├── STM32L0xx_HAL_Driver
│ ├── Inc
│ │ ├── Legacy
│ │ │ └── stm32_hal_legacy.h
│ │ ├── stm32_assert_template.h
│ │ ├── stm32l0xx_hal.h
│ │ ├── stm32l0xx_hal_adc.h
│ │ ├── stm32l0xx_hal_adc_ex.h
│ │ ├── stm32l0xx_hal_comp.h
│ │ ├── stm32l0xx_hal_comp_ex.h
│ │ ├── stm32l0xx_hal_conf_template.h
│ │ ├── stm32l0xx_hal_cortex.h
│ │ ├── stm32l0xx_hal_crc.h
│ │ ├── stm32l0xx_hal_crc_ex.h
│ │ ├── stm32l0xx_hal_cryp.h
│ │ ├── stm32l0xx_hal_cryp_ex.h
│ │ ├── stm32l0xx_hal_dac.h
│ │ ├── stm32l0xx_hal_dac_ex.h
│ │ ├── stm32l0xx_hal_def.h
│ │ ├── stm32l0xx_hal_dma.h
│ │ ├── stm32l0xx_hal_firewall.h
│ │ ├── stm32l0xx_hal_flash.h
│ │ ├── stm32l0xx_hal_flash_ex.h
│ │ ├── stm32l0xx_hal_flash_ramfunc.h
│ │ ├── stm32l0xx_hal_gpio.h
│ │ ├── stm32l0xx_hal_gpio_ex.h
│ │ ├── stm32l0xx_hal_i2c.h
│ │ ├── stm32l0xx_hal_i2c_ex.h
│ │ ├── stm32l0xx_hal_i2s.h
│ │ ├── stm32l0xx_hal_irda.h
│ │ ├── stm32l0xx_hal_irda_ex.h
│ │ ├── stm32l0xx_hal_iwdg.h
│ │ ├── stm32l0xx_hal_lcd.h
│ │ ├── stm32l0xx_hal_lptim.h
│ │ ├── stm32l0xx_hal_lptim_ex.h
│ │ ├── stm32l0xx_hal_pcd.h
│ │ ├── stm32l0xx_hal_pcd_ex.h
│ │ ├── stm32l0xx_hal_pwr.h
│ │ ├── stm32l0xx_hal_pwr_ex.h
│ │ ├── stm32l0xx_hal_rcc.h
│ │ ├── stm32l0xx_hal_rcc_ex.h
│ │ ├── stm32l0xx_hal_rng.h
│ │ ├── stm32l0xx_hal_rtc.h
│ │ ├── stm32l0xx_hal_rtc_ex.h
│ │ ├── stm32l0xx_hal_smartcard.h
│ │ ├── stm32l0xx_hal_smartcard_ex.h
│ │ ├── stm32l0xx_hal_smbus.h
│ │ ├── stm32l0xx_hal_spi.h
│ │ ├── stm32l0xx_hal_tim.h
│ │ ├── stm32l0xx_hal_tim_ex.h
│ │ ├── stm32l0xx_hal_tsc.h
│ │ ├── stm32l0xx_hal_uart.h
│ │ ├── stm32l0xx_hal_uart_ex.h
│ │ ├── stm32l0xx_hal_usart.h
│ │ ├── stm32l0xx_hal_usart_ex.h
│ │ ├── stm32l0xx_hal_wwdg.h
│ │ ├── stm32l0xx_ll_adc.h
│ │ ├── stm32l0xx_ll_bus.h
│ │ ├── stm32l0xx_ll_comp.h
│ │ ├── stm32l0xx_ll_cortex.h
│ │ ├── stm32l0xx_ll_crc.h
│ │ ├── stm32l0xx_ll_crs.h
│ │ ├── stm32l0xx_ll_dac.h
│ │ ├── stm32l0xx_ll_dma.h
│ │ ├── stm32l0xx_ll_exti.h
│ │ ├── stm32l0xx_ll_gpio.h
│ │ ├── stm32l0xx_ll_i2c.h
│ │ ├── stm32l0xx_ll_iwdg.h
│ │ ├── stm32l0xx_ll_lptim.h
│ │ ├── stm32l0xx_ll_lpuart.h
│ │ ├── stm32l0xx_ll_pwr.h
│ │ ├── stm32l0xx_ll_rcc.h
│ │ ├── stm32l0xx_ll_rng.h
│ │ ├── stm32l0xx_ll_rtc.h
│ │ ├── stm32l0xx_ll_spi.h
│ │ ├── stm32l0xx_ll_system.h
│ │ ├── stm32l0xx_ll_tim.h
│ │ ├── stm32l0xx_ll_usart.h
│ │ ├── stm32l0xx_ll_utils.h
│ │ └── stm32l0xx_ll_wwdg.h
│ └── Src
│ │ ├── stm32l0xx_hal.c
│ │ ├── stm32l0xx_hal_adc.c
│ │ ├── stm32l0xx_hal_adc_ex.c
│ │ ├── stm32l0xx_hal_comp.c
│ │ ├── stm32l0xx_hal_comp_ex.c
│ │ ├── stm32l0xx_hal_cortex.c
│ │ ├── stm32l0xx_hal_crc.c
│ │ ├── stm32l0xx_hal_crc_ex.c
│ │ ├── stm32l0xx_hal_cryp.c
│ │ ├── stm32l0xx_hal_cryp_ex.c
│ │ ├── stm32l0xx_hal_dac.c
│ │ ├── stm32l0xx_hal_dac_ex.c
│ │ ├── stm32l0xx_hal_dma.c
│ │ ├── stm32l0xx_hal_firewall.c
│ │ ├── stm32l0xx_hal_flash.c
│ │ ├── stm32l0xx_hal_flash_ex.c
│ │ ├── stm32l0xx_hal_flash_ramfunc.c
│ │ ├── stm32l0xx_hal_gpio.c
│ │ ├── stm32l0xx_hal_i2c.c
│ │ ├── stm32l0xx_hal_i2c_ex.c
│ │ ├── stm32l0xx_hal_i2s.c
│ │ ├── stm32l0xx_hal_irda.c
│ │ ├── stm32l0xx_hal_iwdg.c
│ │ ├── stm32l0xx_hal_lcd.c
│ │ ├── stm32l0xx_hal_lptim.c
│ │ ├── stm32l0xx_hal_msp_template.c
│ │ ├── stm32l0xx_hal_pcd.c
│ │ ├── stm32l0xx_hal_pcd_ex.c
│ │ ├── stm32l0xx_hal_pwr.c
│ │ ├── stm32l0xx_hal_pwr_ex.c
│ │ ├── stm32l0xx_hal_rcc.c
│ │ ├── stm32l0xx_hal_rcc_ex.c
│ │ ├── stm32l0xx_hal_rng.c
│ │ ├── stm32l0xx_hal_rtc.c
│ │ ├── stm32l0xx_hal_rtc_ex.c
│ │ ├── stm32l0xx_hal_smartcard.c
│ │ ├── stm32l0xx_hal_smartcard_ex.c
│ │ ├── stm32l0xx_hal_smbus.c
│ │ ├── stm32l0xx_hal_spi.c
│ │ ├── stm32l0xx_hal_tim.c
│ │ ├── stm32l0xx_hal_tim_ex.c
│ │ ├── stm32l0xx_hal_tsc.c
│ │ ├── stm32l0xx_hal_uart.c
│ │ ├── stm32l0xx_hal_uart_ex.c
│ │ ├── stm32l0xx_hal_usart.c
│ │ ├── stm32l0xx_hal_wwdg.c
│ │ ├── stm32l0xx_ll_adc.c
│ │ ├── stm32l0xx_ll_comp.c
│ │ ├── stm32l0xx_ll_crc.c
│ │ ├── stm32l0xx_ll_crs.c
│ │ ├── stm32l0xx_ll_dac.c
│ │ ├── stm32l0xx_ll_dma.c
│ │ ├── stm32l0xx_ll_exti.c
│ │ ├── stm32l0xx_ll_gpio.c
│ │ ├── stm32l0xx_ll_i2c.c
│ │ ├── stm32l0xx_ll_lptim.c
│ │ ├── stm32l0xx_ll_lpuart.c
│ │ ├── stm32l0xx_ll_pwr.c
│ │ ├── stm32l0xx_ll_rcc.c
│ │ ├── stm32l0xx_ll_rng.c
│ │ ├── stm32l0xx_ll_rtc.c
│ │ ├── stm32l0xx_ll_spi.c
│ │ ├── stm32l0xx_ll_tim.c
│ │ ├── stm32l0xx_ll_usart.c
│ │ └── stm32l0xx_ll_utils.c
│ ├── STM32L1xx_HAL_Driver
│ ├── Inc
│ │ ├── Legacy
│ │ │ └── stm32_hal_legacy.h
│ │ ├── stm32_assert_template.h
│ │ ├── stm32l1xx_hal.h
│ │ ├── stm32l1xx_hal_adc.h
│ │ ├── stm32l1xx_hal_adc_ex.h
│ │ ├── stm32l1xx_hal_comp.h
│ │ ├── stm32l1xx_hal_comp_ex.h
│ │ ├── stm32l1xx_hal_conf_template.h
│ │ ├── stm32l1xx_hal_cortex.h
│ │ ├── stm32l1xx_hal_crc.h
│ │ ├── stm32l1xx_hal_cryp.h
│ │ ├── stm32l1xx_hal_cryp_ex.h
│ │ ├── stm32l1xx_hal_dac.h
│ │ ├── stm32l1xx_hal_dac_ex.h
│ │ ├── stm32l1xx_hal_def.h
│ │ ├── stm32l1xx_hal_dma.h
│ │ ├── stm32l1xx_hal_dma_ex.h
│ │ ├── stm32l1xx_hal_flash.h
│ │ ├── stm32l1xx_hal_flash_ex.h
│ │ ├── stm32l1xx_hal_flash_ramfunc.h
│ │ ├── stm32l1xx_hal_gpio.h
│ │ ├── stm32l1xx_hal_gpio_ex.h
│ │ ├── stm32l1xx_hal_i2c.h
│ │ ├── stm32l1xx_hal_i2s.h
│ │ ├── stm32l1xx_hal_irda.h
│ │ ├── stm32l1xx_hal_iwdg.h
│ │ ├── stm32l1xx_hal_lcd.h
│ │ ├── stm32l1xx_hal_nor.h
│ │ ├── stm32l1xx_hal_opamp.h
│ │ ├── stm32l1xx_hal_opamp_ex.h
│ │ ├── stm32l1xx_hal_pcd.h
│ │ ├── stm32l1xx_hal_pcd_ex.h
│ │ ├── stm32l1xx_hal_pwr.h
│ │ ├── stm32l1xx_hal_pwr_ex.h
│ │ ├── stm32l1xx_hal_rcc.h
│ │ ├── stm32l1xx_hal_rcc_ex.h
│ │ ├── stm32l1xx_hal_rtc.h
│ │ ├── stm32l1xx_hal_rtc_ex.h
│ │ ├── stm32l1xx_hal_sd.h
│ │ ├── stm32l1xx_hal_smartcard.h
│ │ ├── stm32l1xx_hal_spi.h
│ │ ├── stm32l1xx_hal_spi_ex.h
│ │ ├── stm32l1xx_hal_sram.h
│ │ ├── stm32l1xx_hal_tim.h
│ │ ├── stm32l1xx_hal_tim_ex.h
│ │ ├── stm32l1xx_hal_uart.h
│ │ ├── stm32l1xx_hal_usart.h
│ │ ├── stm32l1xx_hal_wwdg.h
│ │ ├── stm32l1xx_ll_adc.h
│ │ ├── stm32l1xx_ll_bus.h
│ │ ├── stm32l1xx_ll_comp.h
│ │ ├── stm32l1xx_ll_cortex.h
│ │ ├── stm32l1xx_ll_crc.h
│ │ ├── stm32l1xx_ll_dac.h
│ │ ├── stm32l1xx_ll_dma.h
│ │ ├── stm32l1xx_ll_exti.h
│ │ ├── stm32l1xx_ll_fsmc.h
│ │ ├── stm32l1xx_ll_gpio.h
│ │ ├── stm32l1xx_ll_i2c.h
│ │ ├── stm32l1xx_ll_iwdg.h
│ │ ├── stm32l1xx_ll_opamp.h
│ │ ├── stm32l1xx_ll_pwr.h
│ │ ├── stm32l1xx_ll_rcc.h
│ │ ├── stm32l1xx_ll_rtc.h
│ │ ├── stm32l1xx_ll_sdmmc.h
│ │ ├── stm32l1xx_ll_spi.h
│ │ ├── stm32l1xx_ll_system.h
│ │ ├── stm32l1xx_ll_tim.h
│ │ ├── stm32l1xx_ll_usart.h
│ │ ├── stm32l1xx_ll_utils.h
│ │ └── stm32l1xx_ll_wwdg.h
│ └── Src
│ │ ├── stm32l1xx_hal.c
│ │ ├── stm32l1xx_hal_adc.c
│ │ ├── stm32l1xx_hal_adc_ex.c
│ │ ├── stm32l1xx_hal_comp.c
│ │ ├── stm32l1xx_hal_cortex.c
│ │ ├── stm32l1xx_hal_crc.c
│ │ ├── stm32l1xx_hal_cryp.c
│ │ ├── stm32l1xx_hal_cryp_ex.c
│ │ ├── stm32l1xx_hal_dac.c
│ │ ├── stm32l1xx_hal_dac_ex.c
│ │ ├── stm32l1xx_hal_dma.c
│ │ ├── stm32l1xx_hal_flash.c
│ │ ├── stm32l1xx_hal_flash_ex.c
│ │ ├── stm32l1xx_hal_flash_ramfunc.c
│ │ ├── stm32l1xx_hal_gpio.c
│ │ ├── stm32l1xx_hal_i2c.c
│ │ ├── stm32l1xx_hal_i2s.c
│ │ ├── stm32l1xx_hal_irda.c
│ │ ├── stm32l1xx_hal_iwdg.c
│ │ ├── stm32l1xx_hal_lcd.c
│ │ ├── stm32l1xx_hal_msp_template.c
│ │ ├── stm32l1xx_hal_nor.c
│ │ ├── stm32l1xx_hal_opamp.c
│ │ ├── stm32l1xx_hal_opamp_ex.c
│ │ ├── stm32l1xx_hal_pcd.c
│ │ ├── stm32l1xx_hal_pcd_ex.c
│ │ ├── stm32l1xx_hal_pwr.c
│ │ ├── stm32l1xx_hal_pwr_ex.c
│ │ ├── stm32l1xx_hal_rcc.c
│ │ ├── stm32l1xx_hal_rcc_ex.c
│ │ ├── stm32l1xx_hal_rtc.c
│ │ ├── stm32l1xx_hal_rtc_ex.c
│ │ ├── stm32l1xx_hal_sd.c
│ │ ├── stm32l1xx_hal_smartcard.c
│ │ ├── stm32l1xx_hal_spi.c
│ │ ├── stm32l1xx_hal_spi_ex.c
│ │ ├── stm32l1xx_hal_sram.c
│ │ ├── stm32l1xx_hal_tim.c
│ │ ├── stm32l1xx_hal_tim_ex.c
│ │ ├── stm32l1xx_hal_uart.c
│ │ ├── stm32l1xx_hal_usart.c
│ │ ├── stm32l1xx_hal_wwdg.c
│ │ ├── stm32l1xx_ll_adc.c
│ │ ├── stm32l1xx_ll_comp.c
│ │ ├── stm32l1xx_ll_crc.c
│ │ ├── stm32l1xx_ll_dac.c
│ │ ├── stm32l1xx_ll_dma.c
│ │ ├── stm32l1xx_ll_exti.c
│ │ ├── stm32l1xx_ll_fsmc.c
│ │ ├── stm32l1xx_ll_gpio.c
│ │ ├── stm32l1xx_ll_i2c.c
│ │ ├── stm32l1xx_ll_opamp.c
│ │ ├── stm32l1xx_ll_pwr.c
│ │ ├── stm32l1xx_ll_rcc.c
│ │ ├── stm32l1xx_ll_rtc.c
│ │ ├── stm32l1xx_ll_sdmmc.c
│ │ ├── stm32l1xx_ll_spi.c
│ │ ├── stm32l1xx_ll_tim.c
│ │ ├── stm32l1xx_ll_usart.c
│ │ └── stm32l1xx_ll_utils.c
│ ├── STM32_USB_Device_Library
│ ├── Class
│ │ ├── CDC
│ │ │ ├── Inc
│ │ │ │ └── usbd_cdc.h
│ │ │ └── Src
│ │ │ │ └── usbd_cdc.c
│ │ └── DFU
│ │ │ ├── Inc
│ │ │ └── usbd_dfu.h
│ │ │ └── Src
│ │ │ └── usbd_dfu.c
│ └── Core
│ │ ├── Inc
│ │ ├── usbd_core.h
│ │ ├── usbd_ctlreq.h
│ │ ├── usbd_def.h
│ │ └── usbd_ioreq.h
│ │ └── Src
│ │ ├── usbd_core.c
│ │ ├── usbd_ctlreq.c
│ │ └── usbd_ioreq.c
│ ├── cmsis
│ ├── arm_common_tables.h
│ ├── arm_const_structs.h
│ ├── arm_math.h
│ ├── cmsis_armcc.h
│ ├── cmsis_armcc_V6.h
│ ├── cmsis_gcc.h
│ ├── core_cm0.h
│ ├── core_cm0plus.h
│ ├── core_cm3.h
│ ├── core_cm4.h
│ ├── core_cm7.h
│ ├── core_cmFunc.h
│ ├── core_cmInstr.h
│ ├── core_cmSimd.h
│ ├── core_sc000.h
│ └── core_sc300.h
│ ├── sysIrqHandlers.c
│ ├── utilities.c
│ └── utilities.h
├── mac
├── LoRaMac.c
├── LoRaMac.h
├── LoRaMacCrypto.c
├── LoRaMacCrypto.h
├── LoRaMacTest.h
└── region
│ ├── Region.c
│ ├── Region.h
│ ├── RegionAS923.c
│ ├── RegionAS923.h
│ ├── RegionAU915.c
│ ├── RegionAU915.h
│ ├── RegionCN470.c
│ ├── RegionCN470.h
│ ├── RegionCN779.c
│ ├── RegionCN779.h
│ ├── RegionCommon.c
│ ├── RegionCommon.h
│ ├── RegionEU433.c
│ ├── RegionEU433.h
│ ├── RegionEU868.c
│ ├── RegionEU868.h
│ ├── RegionIN865.c
│ ├── RegionIN865.h
│ ├── RegionKR920.c
│ ├── RegionKR920.h
│ ├── RegionUS915-Hybrid.c
│ ├── RegionUS915-Hybrid.h
│ ├── RegionUS915.c
│ └── RegionUS915.h
├── peripherals
├── gpio-ioe.c
├── gpio-ioe.h
├── lis3dh.c
├── lis3dh.h
├── mag3110.c
├── mag3110.h
├── mma8451.c
├── mma8451.h
├── mpl3115.c
├── mpl3115.h
├── pam7q.c
├── pam7q.h
├── selector.c
├── selector.h
├── sx1509.c
├── sx1509.h
├── sx9500.c
└── sx9500.h
├── radio
├── radio.h
├── sx1272
│ ├── sx1272.c
│ ├── sx1272.h
│ ├── sx1272Regs-Fsk.h
│ └── sx1272Regs-LoRa.h
└── sx1276
│ ├── sx1276.c
│ ├── sx1276.h
│ ├── sx1276Regs-Fsk.h
│ └── sx1276Regs-LoRa.h
└── system
├── adc.c
├── adc.h
├── crypto
├── aes.c
├── aes.h
├── cmac.c
└── cmac.h
├── delay.c
├── delay.h
├── eeprom.c
├── eeprom.h
├── fifo.c
├── fifo.h
├── gpio.c
├── gpio.h
├── gps.c
├── gps.h
├── i2c.c
├── i2c.h
├── serial.h
├── spi.h
├── timer.c
├── timer.h
├── uart.c
└── uart.h
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.associations": {
3 | "mag3110.h": "c"
4 | }
5 | }
--------------------------------------------------------------------------------
/Keil/classA/EventRecorderStub.scvd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Keil/classA/JLinkSettings.ini:
--------------------------------------------------------------------------------
1 | [BREAKPOINTS]
2 | ShowInfoWin = 1
3 | EnableFlashBP = 2
4 | BPDuringExecution = 0
5 | [CFI]
6 | CFISize = 0x00
7 | CFIAddr = 0x00
8 | [CPU]
9 | OverrideMemMap = 0
10 | AllowSimulation = 1
11 | ScriptFile=""
12 | [FLASH]
13 | CacheExcludeSize = 0x00
14 | CacheExcludeAddr = 0x00
15 | MinNumBytesFlashDL = 0
16 | SkipProgOnCRCMatch = 1
17 | VerifyDownload = 1
18 | AllowCaching = 1
19 | EnableFlashDL = 2
20 | Override = 0
21 | Device="UNSPECIFIED"
22 | [GENERAL]
23 | WorkRAMSize = 0x00
24 | WorkRAMAddr = 0x00
25 | RAMUsageLimit = 0x00
26 | [SWO]
27 | SWOLogFile=""
28 | [MEM]
29 | RdOverrideOrMask = 0x00
30 | RdOverrideAndMask = 0xFFFFFFFF
31 | RdOverrideAddr = 0xFFFFFFFF
32 | WrOverrideOrMask = 0x00
33 | WrOverrideAndMask = 0xFFFFFFFF
34 | WrOverrideAddr = 0xFFFFFFFF
35 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/ExtDll.iex:
--------------------------------------------------------------------------------
1 | [EXTDLL]
2 | Count=0
3 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/adc-board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/adc-board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/adc-board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/adc-board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/adc.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/adc.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/adc.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/adc.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/aes.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/aes.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/aes.d:
--------------------------------------------------------------------------------
1 | .\objects\aes.o: ..\..\src\system\crypto\aes.c
2 | .\objects\aes.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h
3 | .\objects\aes.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
4 | .\objects\aes.o: ..\..\src\system\crypto\aes.h
5 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/aes.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/aes.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/classA.axf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/classA.axf
--------------------------------------------------------------------------------
/Keil/classA/Objects/classA.build_log.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/classA.build_log.htm
--------------------------------------------------------------------------------
/Keil/classA/Objects/classA.lnp:
--------------------------------------------------------------------------------
1 | --cpu Cortex-M3
2 | ".\objects\main.o"
3 | ".\objects\adc-board.o"
4 | ".\objects\board.o"
5 | ".\objects\gpio-board.o"
6 | ".\objects\gps-board.o"
7 | ".\objects\i2c-board.o"
8 | ".\objects\rtc-board.o"
9 | ".\objects\spi-board.o"
10 | ".\objects\sx1276-board.o"
11 | ".\objects\uart-board.o"
12 | ".\objects\system_stm32l1xx.o"
13 | ".\objects\startup_stm32l151xb.o"
14 | ".\objects\stm32l1xx_hal.o"
15 | ".\objects\stm32l1xx_hal_adc.o"
16 | ".\objects\stm32l1xx_hal_adc_ex.o"
17 | ".\objects\stm32l1xx_hal_dma.o"
18 | ".\objects\stm32l1xx_hal_gpio.o"
19 | ".\objects\stm32l1xx_hal_i2c.o"
20 | ".\objects\stm32l1xx_hal_pwr.o"
21 | ".\objects\stm32l1xx_hal_pwr_ex.o"
22 | ".\objects\stm32l1xx_hal_rcc.o"
23 | ".\objects\stm32l1xx_hal_rcc_ex.o"
24 | ".\objects\stm32l1xx_hal_rtc.o"
25 | ".\objects\stm32l1xx_hal_rtc_ex.o"
26 | ".\objects\stm32l1xx_hal_spi.o"
27 | ".\objects\stm32l1xx_hal_spi_ex.o"
28 | ".\objects\stm32l1xx_hal_uart.o"
29 | ".\objects\stm32l1xx_hal_usart.o"
30 | ".\objects\stm32l1xx_hal_cortex.o"
31 | ".\objects\sysirqhandlers.o"
32 | ".\objects\utilities.o"
33 | ".\objects\loramac.o"
34 | ".\objects\loramaccrypto.o"
35 | ".\objects\region.o"
36 | ".\objects\regionas923.o"
37 | ".\objects\regionau915.o"
38 | ".\objects\regioncommon.o"
39 | ".\objects\regioneu868.o"
40 | ".\objects\regionin865.o"
41 | ".\objects\regionkr920.o"
42 | ".\objects\regionus915.o"
43 | ".\objects\regionus915-hybrid.o"
44 | ".\objects\lis3dh.o"
45 | ".\objects\sx1276.o"
46 | ".\objects\adc.o"
47 | ".\objects\delay.o"
48 | ".\objects\fifo.o"
49 | ".\objects\gpio.o"
50 | ".\objects\gps.o"
51 | ".\objects\i2c.o"
52 | ".\objects\timer.o"
53 | ".\objects\uart.o"
54 | ".\objects\aes.o"
55 | ".\objects\cmac.o"
56 | --library_type=microlib --strict --scatter ".\Objects\classA.sct"
57 | --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
58 | --info sizes --info totals --info unused --info veneers
59 | --list ".\Listings\classA.map" -o .\Objects\classA.axf
--------------------------------------------------------------------------------
/Keil/classA/Objects/classA.sct:
--------------------------------------------------------------------------------
1 | ; *************************************************************
2 | ; *** Scatter-Loading Description File generated by uVision ***
3 | ; *************************************************************
4 |
5 | LR_IROM1 0x08000000 0x00020000 { ; load region size_region
6 | ER_IROM1 0x08000000 0x00020000 { ; load address = execution address
7 | *.o (RESET, +First)
8 | *(InRoot$$Sections)
9 | .ANY (+RO)
10 | }
11 | RW_IRAM1 0x20000000 0x00004000 { ; RW data
12 | .ANY (+RW +ZI)
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/classA_sct.Bak:
--------------------------------------------------------------------------------
1 | ; *************************************************************
2 | ; *** Scatter-Loading Description File generated by uVision ***
3 | ; *************************************************************
4 |
5 | LR_IROM1 0x08000000 { ; load region
6 | ER_IROM1 0x08000000 0x00020000 { ; load address = execution address
7 | *.o (RESET, +First)
8 | *(InRoot$$Sections)
9 | .ANY (+RO)
10 | }
11 | RW_IRAM1 0x20000000 0x00004000 { ; RW data
12 | .ANY (+RW +ZI)
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/cmac.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/cmac.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/cmac.d:
--------------------------------------------------------------------------------
1 | .\objects\cmac.o: ..\..\src\system\crypto\cmac.c
2 | .\objects\cmac.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
3 | .\objects\cmac.o: ..\..\src\system\crypto\aes.h
4 | .\objects\cmac.o: ..\..\src\system\crypto\cmac.h
5 | .\objects\cmac.o: ..\..\src\boards\mcu\stm32\utilities.h
6 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/cmac.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/cmac.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/delay.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/delay.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/delay.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/delay.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/fifo.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/fifo.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/fifo.d:
--------------------------------------------------------------------------------
1 | .\objects\fifo.o: ..\..\src\system\fifo.c
2 | .\objects\fifo.o: ..\..\src\system\fifo.h
3 | .\objects\fifo.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h
4 | .\objects\fifo.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
5 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/fifo.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/fifo.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/gpio-board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/gpio-board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/gpio-board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/gpio-board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/gpio.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/gpio.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/gpio.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/gpio.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/gps-board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/gps-board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/gps-board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/gps-board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/gps.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/gps.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/gps.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/gps.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/i2c-board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/i2c-board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/i2c-board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/i2c-board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/i2c.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/i2c.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/i2c.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/i2c.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/lis3dh.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/lis3dh.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/lis3dh.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/lis3dh.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/loramac.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/loramac.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/loramac.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/loramac.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/loramaccrypto.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/loramaccrypto.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/loramaccrypto.d:
--------------------------------------------------------------------------------
1 | .\objects\loramaccrypto.o: ..\..\src\mac\LoRaMacCrypto.c
2 | .\objects\loramaccrypto.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h
3 | .\objects\loramaccrypto.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
4 | .\objects\loramaccrypto.o: ..\..\src\boards\mcu\stm32\utilities.h
5 | .\objects\loramaccrypto.o: ..\..\src\system\crypto\aes.h
6 | .\objects\loramaccrypto.o: ..\..\src\system\crypto\cmac.h
7 | .\objects\loramaccrypto.o: ..\..\src\mac\LoRaMacCrypto.h
8 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/loramaccrypto.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/loramaccrypto.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/main.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/main.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/main.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/main.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/region.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/region.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/region.d:
--------------------------------------------------------------------------------
1 | .\objects\region.o: ..\..\src\mac\region\Region.c
2 | .\objects\region.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h
3 | .\objects\region.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
4 | .\objects\region.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
5 | .\objects\region.o: ..\..\src\system\timer.h
6 | .\objects\region.o: ..\..\src\mac\LoRaMac.h
7 | .\objects\region.o: ..\..\src\mac\region\Region.h
8 | .\objects\region.o: ..\..\src\mac\region\RegionEU868.h
9 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/region.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/region.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionas923.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionas923.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionas923.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionas923.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionau915.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionau915.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionau915.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionau915.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/regioncommon.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regioncommon.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/regioncommon.d:
--------------------------------------------------------------------------------
1 | .\objects\regioncommon.o: ..\..\src\mac\region\RegionCommon.c
2 | .\objects\regioncommon.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h
3 | .\objects\regioncommon.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
4 | .\objects\regioncommon.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
5 | .\objects\regioncommon.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
6 | .\objects\regioncommon.o: ..\..\src\system\timer.h
7 | .\objects\regioncommon.o: ..\..\src\boards\mcu\stm32\utilities.h
8 | .\objects\regioncommon.o: ..\..\src\mac\LoRaMac.h
9 | .\objects\regioncommon.o: ..\..\src\mac\region\RegionCommon.h
10 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/regioncommon.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regioncommon.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/regioneu868.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regioneu868.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/regioneu868.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regioneu868.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionin865.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionin865.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionin865.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionin865.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionkr920.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionkr920.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionkr920.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionkr920.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionus915-hybrid.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionus915-hybrid.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionus915-hybrid.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionus915-hybrid.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionus915.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionus915.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/regionus915.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/regionus915.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/rtc-board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/rtc-board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/rtc-board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/rtc-board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/spi-board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/spi-board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/spi-board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/spi-board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/startup_stm32l151xb.d:
--------------------------------------------------------------------------------
1 | .\objects\startup_stm32l151xb.o: ..\..\src\boards\RAK811BreakBoard\cmsis\arm-std\startup_stm32l151xb.s
2 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/startup_stm32l151xb.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/startup_stm32l151xb.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal.d:
--------------------------------------------------------------------------------
1 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Src\stm32l1xx_hal.c
2 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
3 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
4 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
5 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
6 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
7 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
8 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
9 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
10 | .\objects\stm32l1xx_hal.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
11 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
12 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
13 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
14 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
15 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
16 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\stm32l1xx_hal.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\stm32l1xx_hal.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_adc.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_adc.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_adc.d:
--------------------------------------------------------------------------------
1 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Src\stm32l1xx_hal_adc.c
2 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
3 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
4 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
5 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
6 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
7 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
8 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
9 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
10 | .\objects\stm32l1xx_hal_adc.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
11 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
12 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
13 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
14 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
15 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
16 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\stm32l1xx_hal_adc.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\stm32l1xx_hal_adc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_adc.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_adc.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_adc_ex.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_adc_ex.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_adc_ex.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_adc_ex.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_cortex.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_cortex.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_cortex.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_cortex.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_dma.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_dma.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_dma.d:
--------------------------------------------------------------------------------
1 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Src\stm32l1xx_hal_dma.c
2 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
3 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
4 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
5 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
6 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
7 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
8 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
9 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
10 | .\objects\stm32l1xx_hal_dma.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
11 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
12 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
13 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
14 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
15 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
16 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\stm32l1xx_hal_dma.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\stm32l1xx_hal_dma.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_dma.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_dma.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_gpio.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_gpio.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_gpio.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_gpio.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_i2c.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_i2c.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_i2c.d:
--------------------------------------------------------------------------------
1 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Src\stm32l1xx_hal_i2c.c
2 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
3 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
4 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
5 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
6 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
7 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
8 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
9 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
10 | .\objects\stm32l1xx_hal_i2c.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
11 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
12 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
13 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
14 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
15 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
16 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\stm32l1xx_hal_i2c.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\stm32l1xx_hal_i2c.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_i2c.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_i2c.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_pwr.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_pwr.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_pwr.d:
--------------------------------------------------------------------------------
1 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Src\stm32l1xx_hal_pwr.c
2 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
3 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
4 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
5 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
6 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
7 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
8 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
9 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
10 | .\objects\stm32l1xx_hal_pwr.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
11 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
12 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
13 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
14 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
15 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
16 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\stm32l1xx_hal_pwr.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\stm32l1xx_hal_pwr.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_pwr.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_pwr.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_pwr_ex.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_pwr_ex.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_pwr_ex.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_pwr_ex.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rcc.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_rcc.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rcc.d:
--------------------------------------------------------------------------------
1 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Src\stm32l1xx_hal_rcc.c
2 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
3 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
4 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
5 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
6 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
7 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
8 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
9 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
10 | .\objects\stm32l1xx_hal_rcc.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
11 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
12 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
13 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
14 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
15 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
16 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\stm32l1xx_hal_rcc.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\stm32l1xx_hal_rcc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rcc.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_rcc.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rcc_ex.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_rcc_ex.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rcc_ex.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_rcc_ex.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rtc.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_rtc.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rtc.d:
--------------------------------------------------------------------------------
1 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Src\stm32l1xx_hal_rtc.c
2 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
3 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
4 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
5 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
6 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
7 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
8 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
9 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
10 | .\objects\stm32l1xx_hal_rtc.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
11 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
12 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
13 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
14 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
15 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
16 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\stm32l1xx_hal_rtc.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\stm32l1xx_hal_rtc.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rtc.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_rtc.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rtc_ex.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_rtc_ex.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_rtc_ex.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_rtc_ex.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_spi.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_spi.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_spi.d:
--------------------------------------------------------------------------------
1 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Src\stm32l1xx_hal_spi.c
2 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
3 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
4 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
5 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
6 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
7 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
8 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
9 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
10 | .\objects\stm32l1xx_hal_spi.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
11 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
12 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
13 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
14 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
15 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
16 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\stm32l1xx_hal_spi.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\stm32l1xx_hal_spi.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_spi.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_spi.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_spi_ex.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_spi_ex.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_spi_ex.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_spi_ex.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_uart.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_uart.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_uart.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_uart.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_usart.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_usart.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/stm32l1xx_hal_usart.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/stm32l1xx_hal_usart.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/sx1276-board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/sx1276-board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/sx1276-board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/sx1276-board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/sx1276.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/sx1276.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/sx1276.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/sx1276.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/sysirqhandlers.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/sysirqhandlers.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/sysirqhandlers.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/sysirqhandlers.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/system_stm32l1xx.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/system_stm32l1xx.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/system_stm32l1xx.d:
--------------------------------------------------------------------------------
1 | .\objects\system_stm32l1xx.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.c
2 | .\objects\system_stm32l1xx.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
3 | .\objects\system_stm32l1xx.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l151xb.h
4 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\cmsis\core_cm3.h
5 | .\objects\system_stm32l1xx.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
6 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmInstr.h
7 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\cmsis\cmsis_armcc.h
8 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\cmsis\core_cmFunc.h
9 | .\objects\system_stm32l1xx.o: ..\..\src\boards\RAK811BreakBoard\cmsis\system_stm32l1xx.h
10 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal.h
11 | .\objects\system_stm32l1xx.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx_hal_conf.h
12 | .\objects\system_stm32l1xx.o: ..\..\src\boards\RAK811BreakBoard\cmsis\mxconstants.h
13 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc.h
14 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_def.h
15 | .\objects\system_stm32l1xx.o: ..\..\src\boards\RAK811BreakBoard\cmsis\stm32l1xx.h
16 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
17 | .\objects\system_stm32l1xx.o: D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
18 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rcc_ex.h
19 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio.h
20 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_gpio_ex.h
21 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_dma.h
22 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_cortex.h
23 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc.h
24 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_adc_ex.h
25 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash.h
26 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ex.h
27 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_flash_ramfunc.h
28 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_i2c.h
29 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr.h
30 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pwr_ex.h
31 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc.h
32 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_rtc_ex.h
33 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi.h
34 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_spi_ex.h
35 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_uart.h
36 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_usart.h
37 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd.h
38 | .\objects\system_stm32l1xx.o: ..\..\src\boards\mcu\stm32\STM32L1xx_HAL_Driver\Inc\stm32l1xx_hal_pcd_ex.h
39 |
--------------------------------------------------------------------------------
/Keil/classA/Objects/system_stm32l1xx.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/system_stm32l1xx.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/timer.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/timer.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/timer.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/timer.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/uart-board.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/uart-board.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/uart-board.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/uart-board.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/uart.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/uart.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/uart.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/uart.o
--------------------------------------------------------------------------------
/Keil/classA/Objects/utilities.crf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/utilities.crf
--------------------------------------------------------------------------------
/Keil/classA/Objects/utilities.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/Keil/classA/Objects/utilities.o
--------------------------------------------------------------------------------
/Keil/ping-pong/JLinkSettings.ini:
--------------------------------------------------------------------------------
1 | [BREAKPOINTS]
2 | ShowInfoWin = 1
3 | EnableFlashBP = 2
4 | BPDuringExecution = 0
5 | [CFI]
6 | CFISize = 0x00
7 | CFIAddr = 0x00
8 | [CPU]
9 | OverrideMemMap = 0
10 | AllowSimulation = 1
11 | ScriptFile=""
12 | [FLASH]
13 | CacheExcludeSize = 0x00
14 | CacheExcludeAddr = 0x00
15 | MinNumBytesFlashDL = 0
16 | SkipProgOnCRCMatch = 1
17 | VerifyDownload = 1
18 | AllowCaching = 1
19 | EnableFlashDL = 2
20 | Override = 0
21 | Device="UNSPECIFIED"
22 | [GENERAL]
23 | WorkRAMSize = 0x00
24 | WorkRAMAddr = 0x00
25 | RAMUsageLimit = 0x00
26 | [SWO]
27 | SWOLogFile=""
28 | [MEM]
29 | RdOverrideOrMask = 0x00
30 | RdOverrideAndMask = 0xFFFFFFFF
31 | RdOverrideAddr = 0xFFFFFFFF
32 | WrOverrideOrMask = 0x00
33 | WrOverrideAndMask = 0xFFFFFFFF
34 | WrOverrideAddr = 0xFFFFFFFF
35 |
--------------------------------------------------------------------------------
/doc/08. 数据类型类别.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/doc/08. 数据类型类别.xlsx
--------------------------------------------------------------------------------
/doc/2017年地方高校国家级大学生创新创业训练计划项目名单+(地方).xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/doc/2017年地方高校国家级大学生创新创业训练计划项目名单+(地方).xls
--------------------------------------------------------------------------------
/img/Data_Rate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/Data_Rate.png
--------------------------------------------------------------------------------
/img/Illustration of the channel assignment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/Illustration of the channel assignment.png
--------------------------------------------------------------------------------
/img/LoRa_Modem_Calculator_Tool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/LoRa_Modem_Calculator_Tool.png
--------------------------------------------------------------------------------
/img/Network stack of a normal LoRa node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/Network stack of a normal LoRa node.png
--------------------------------------------------------------------------------
/img/Node_red_aliyun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/Node_red_aliyun.png
--------------------------------------------------------------------------------
/img/Node_red_led.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/Node_red_led.png
--------------------------------------------------------------------------------
/img/SX1278.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/SX1278.png
--------------------------------------------------------------------------------
/img/application_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/application_key.png
--------------------------------------------------------------------------------
/img/nide-red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/nide-red.png
--------------------------------------------------------------------------------
/img/树莓派键盘.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/树莓派键盘.png
--------------------------------------------------------------------------------
/img/网关1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/img/网关1.png
--------------------------------------------------------------------------------
/src/apps/classA/Commissioning.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2015 Semtech
8 |
9 | Description: End device commissioning parameters
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __LORA_COMMISSIONING_H__
16 | #define __LORA_COMMISSIONING_H__
17 |
18 | /*!
19 | * When set to 1 the application uses the Over-the-Air activation procedure
20 | * When set to 0 the application uses the Personalization activation procedure
21 | */
22 | #define OVER_THE_AIR_ACTIVATION 1
23 |
24 | /*!
25 | * Indicates if the end-device is to be connected to a private or public network
26 | */
27 | #define LORAWAN_PUBLIC_NETWORK true
28 |
29 | /*!
30 | * IEEE Organizationally Unique Identifier ( OUI ) (big endian)
31 | * \remark This is unique to a company or organization
32 | */
33 | #define IEEE_OUI 0x60, 0xC5, 0xA8
34 |
35 | /*!
36 | * Mote device IEEE EUI (big endian)
37 | *
38 | * \remark In this application the value is automatically generated by calling
39 | * BoardGetUniqueId function
40 | */
41 | #define LORAWAN_DEVICE_EUI { IEEE_OUI, 0xFF, 0xFE, 0xFD, 0xFC, 0x02 }
42 | //Modifications in the case of mass production
43 | /*!
44 | * Application IEEE EUI (big endian)
45 | */
46 | #define LORAWAN_APPLICATION_EUI { 0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x00, 0x88, 0xA8 }
47 | //70b3d57ef00046a4 70B3D57E D0007DFA
48 | /*!
49 | * AES encryption/decryption cipher application key
50 | */
51 | #define LORAWAN_APPLICATION_KEY { 0x73, 0xB6, 0x49, 0xCD, 0xA4, 0x90, 0x1E, 0x9F, 0xBC, 0xE5, 0xCD, 0x68, 0x68, 0xB6, 0x14, 0xC8 }
52 | //Modifications in the case of mass production
53 | /*!
54 | * Current network ID
55 | */
56 | #define LORAWAN_NETWORK_ID ( uint32_t )0
57 |
58 | /*!
59 | * Device address on the network (big endian)
60 | *
61 | * \remark In this application the value is automatically generated using
62 | * a pseudo random generator seeded with a value derived from
63 | * BoardUniqueId value if LORAWAN_DEVICE_ADDRESS is set to 0
64 | */
65 | #define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
66 |
67 | /*!
68 | * AES encryption/decryption cipher network session key
69 | */
70 | #define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
71 |
72 | /*!
73 | * AES encryption/decryption cipher application session key
74 | */
75 | #define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
76 |
77 | #endif // __LORA_COMMISSIONING_H__
78 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/adc-board.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2016 Semtech
8 |
9 | Description: Board ADC driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 | #include "adc-board.h"
17 |
18 | ADC_HandleTypeDef AdcHandle;
19 |
20 | void AdcMcuInit( Adc_t *obj, PinNames adcInput )
21 | {
22 | AdcHandle.Instance = ( ADC_TypeDef* )ADC1_BASE;
23 |
24 | __HAL_RCC_ADC1_CLK_ENABLE( );
25 |
26 | HAL_ADC_DeInit( &AdcHandle );
27 |
28 | if( adcInput != NC )
29 | {
30 | GpioInit( &obj->AdcInput, adcInput, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
31 | }
32 | }
33 |
34 | void AdcMcuConfig( void )
35 | {
36 | // Configure ADC
37 | AdcHandle.Init.Resolution = ADC_RESOLUTION_12B;
38 | AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT;
39 | AdcHandle.Init.ContinuousConvMode = DISABLE;
40 | AdcHandle.Init.DiscontinuousConvMode = DISABLE;
41 | AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
42 | AdcHandle.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T6_TRGO;
43 | AdcHandle.Init.DMAContinuousRequests = DISABLE;
44 | AdcHandle.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
45 | AdcHandle.Init.NbrOfConversion = 1;
46 | AdcHandle.Init.LowPowerAutoWait = DISABLE;
47 | AdcHandle.Init.LowPowerAutoPowerOff = DISABLE;
48 | HAL_ADC_Init( &AdcHandle );
49 | }
50 |
51 | uint16_t AdcMcuReadChannel( Adc_t *obj, uint32_t channel )
52 | {
53 | ADC_ChannelConfTypeDef adcConf = { 0 };
54 | uint16_t adcData = 0;
55 |
56 | // Enable HSI
57 | __HAL_RCC_HSI_ENABLE( );
58 |
59 | // Wait till HSI is ready
60 | while( __HAL_RCC_GET_FLAG( RCC_FLAG_HSIRDY ) == RESET )
61 | {
62 | }
63 |
64 | __HAL_RCC_ADC1_CLK_ENABLE( );
65 |
66 | adcConf.Channel = channel;
67 | adcConf.Rank = ADC_REGULAR_RANK_1;
68 | adcConf.SamplingTime = ADC_SAMPLETIME_192CYCLES;
69 |
70 | HAL_ADC_ConfigChannel( &AdcHandle, &adcConf );
71 |
72 | // Enable ADC1
73 | __HAL_ADC_ENABLE( &AdcHandle );
74 |
75 | // Start ADC Software Conversion
76 | HAL_ADC_Start( &AdcHandle );
77 |
78 | HAL_ADC_PollForConversion( &AdcHandle, HAL_MAX_DELAY );
79 |
80 | adcData = HAL_ADC_GetValue( &AdcHandle );
81 |
82 | __HAL_ADC_DISABLE( &AdcHandle );
83 |
84 | if( ( adcConf.Channel == ADC_CHANNEL_TEMPSENSOR ) || ( adcConf.Channel == ADC_CHANNEL_VREFINT ) )
85 | {
86 | HAL_ADC_DeInit( &AdcHandle );
87 | }
88 | __HAL_RCC_ADC1_CLK_DISABLE( );
89 |
90 | // Disable HSI
91 | __HAL_RCC_HSI_DISABLE( );
92 |
93 | return adcData;
94 | }
95 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/adc-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2016 Semtech
8 |
9 | Description: Board ADC driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __ADC_MCU_H__
16 | #define __ADC_MCU_H__
17 |
18 | /*!
19 | * \brief Initializes the ADC object and MCU peripheral
20 | *
21 | * \param [IN] obj ADC object
22 | * \param [IN] adcInput ADC input pin
23 | */
24 | void AdcMcuInit( Adc_t *obj, PinNames adcInput );
25 |
26 | /*!
27 | * \brief Initializes the ADC internal parameters
28 | */
29 | void AdcMcuConfig( void );
30 |
31 | /*!
32 | * \brief Reads the value of the given channel
33 | *
34 | * \param [IN] obj ADC object
35 | * \param [IN] channel ADC input channel
36 | */
37 | uint16_t AdcMcuReadChannel( Adc_t *obj, uint32_t channel );
38 |
39 | #endif // __ADC_MCU_H__
40 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/cmsis/arm-gcc/STM32L151XBA_FLASH.ld:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/cmsis/arm-gcc/STM32L151XBA_FLASH.ld
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/cmsis/arm-gcc/STM32L151XB_FLASH.ld:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/cmsis/arm-gcc/STM32L151XB_FLASH.ld
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/cmsis/mxconstants.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : mxconstants.h
4 | * Description : This file contains the common defines of the application
5 | ******************************************************************************
6 | *
7 | * COPYRIGHT(c) 2016 STMicroelectronics
8 | *
9 | * Redistribution and use in source and binary forms, with or without modification,
10 | * are permitted provided that the following conditions are met:
11 | * 1. Redistributions of source code must retain the above copyright notice,
12 | * this list of conditions and the following disclaimer.
13 | * 2. Redistributions in binary form must reproduce the above copyright notice,
14 | * this list of conditions and the following disclaimer in the documentation
15 | * and/or other materials provided with the distribution.
16 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
17 | * may be used to endorse or promote products derived from this software
18 | * without specific prior written permission.
19 | *
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 | *
31 | ******************************************************************************
32 | */
33 | /* Define to prevent recursive inclusion -------------------------------------*/
34 | #ifndef __MXCONSTANT_H
35 | #define __MXCONSTANT_H
36 | /* Includes ------------------------------------------------------------------*/
37 |
38 | /* USER CODE BEGIN Includes */
39 |
40 | /* USER CODE END Includes */
41 |
42 | /* Private define ------------------------------------------------------------*/
43 |
44 | /* USER CODE BEGIN Private defines */
45 |
46 | /* USER CODE END Private defines */
47 |
48 | /**
49 | * @}
50 | */
51 |
52 | /**
53 | * @}
54 | */
55 |
56 | #endif /* __MXCONSTANT_H */
57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
58 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/cmsis/stm32l151xb.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/cmsis/stm32l151xb.h
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/cmsis/stm32l151xba.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/cmsis/stm32l151xba.h
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/cmsis/stm32l1xx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/cmsis/stm32l1xx.h
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/eeprom-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Timer objects and scheduling management
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __EEPROM_MCU_H__
16 | #define __EEPROM_MCU_H__
17 |
18 | /*!
19 | * Writes the given buffer to the EEPROM at the specified address.
20 | *
21 | * \param[IN] addr EEPROM address to write to
22 | * \param[IN] buffer Pointer to the buffer to be written.
23 | * \param[IN] size Size of the buffer to be written.
24 | * \retval status [SUCCESS, FAIL]
25 | */
26 | uint8_t EepromMcuWriteBuffer( uint16_t addr, uint8_t *buffer, uint16_t size );
27 |
28 | /*!
29 | * Reads the EEPROM at the specified address to the given buffer.
30 | *
31 | * \param[IN] addr EEPROM address to read from
32 | * \param[OUT] buffer Pointer to the buffer to be written with read data.
33 | * \param[IN] size Size of the buffer to be read.
34 | * \retval status [SUCCESS, FAIL]
35 | */
36 | uint8_t EepromMcuReadBuffer( uint16_t addr, uint8_t *buffer, uint16_t size );
37 |
38 | /*!
39 | * Sets the device address.
40 | *
41 | * \remark Useful for I2C external EEPROMS
42 | *
43 | * \param[IN] addr External EEPROM address
44 | */
45 | void EepromMcuSetDeviceAddr( uint8_t addr );
46 |
47 | /*!
48 | * Gets the current device address.
49 | *
50 | * \remark Useful for I2C external EEPROMS
51 | *
52 | * \retval addr External EEPROM address
53 | */
54 | uint8_t EepromMcuGetDeviceAddr( void );
55 |
56 | #endif // __EEPROM_MCU_H__
57 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/gpio-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Bleeper board GPIO driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __GPIO_MCU_H__
16 | #define __GPIO_MCU_H__
17 |
18 | /*!
19 | * \brief Initializes the given GPIO object
20 | *
21 | * \param [IN] obj Pointer to the GPIO object to be initialized
22 | * \param [IN] pin Pin name ( please look in pinName-board.h file )
23 | * \param [IN] mode Pin mode [PIN_INPUT, PIN_OUTPUT,
24 | * PIN_ALTERNATE_FCT, PIN_ANALOGIC]
25 | * \param [IN] config Pin config [PIN_PUSH_PULL, PIN_OPEN_DRAIN]
26 | * \param [IN] type Pin type [PIN_NO_PULL, PIN_PULL_UP, PIN_PULL_DOWN]
27 | * \param [IN] value Default output value at initialization
28 | */
29 | void GpioMcuInit( Gpio_t *obj, PinNames pin, PinModes mode, PinConfigs config, PinTypes type, uint32_t value );
30 |
31 | /*!
32 | * \brief GPIO IRQ Initialization
33 | *
34 | * \param [IN] obj Pointer to the GPIO object to be initialized
35 | * \param [IN] irqMode IRQ mode [NO_IRQ, IRQ_RISING_EDGE,
36 | * IRQ_FALLING_EDGE, IRQ_RISING_FALLING_EDGE]
37 | * \param [IN] irqPriority IRQ priority [IRQ_VERY_LOW_PRIORITY, IRQ_LOW_PRIORITY
38 | * IRQ_MEDIUM_PRIORITY, IRQ_HIGH_PRIORITY
39 | * IRQ_VERY_HIGH_PRIORITY]
40 | * \param [IN] irqHandler Callback function pointer
41 | */
42 | void GpioMcuSetInterrupt( Gpio_t *obj, IrqModes irqMode, IrqPriorities irqPriority, GpioIrqHandler *irqHandler );
43 |
44 | /*!
45 | * \brief GPIO IRQ DeInitialization
46 | *
47 | * \param [IN] obj Pointer to the GPIO object to be de-initialized
48 | */
49 | void GpioMcuRemoveInterrupt( Gpio_t *obj );
50 |
51 | /*!
52 | * \brief Writes the given value to the GPIO output
53 | *
54 | * \param [IN] obj Pointer to the GPIO object
55 | * \param [IN] value New GPIO output value
56 | */
57 | void GpioMcuWrite( Gpio_t *obj, uint32_t value );
58 |
59 | /*!
60 | * \brief Toggle the value to the GPIO output
61 | *
62 | * \param [IN] obj Pointer to the GPIO object
63 | */
64 | void GpioMcuToggle( Gpio_t *obj );
65 |
66 | /*!
67 | * \brief Reads the current GPIO input value
68 | *
69 | * \param [IN] obj Pointer to the GPIO object
70 | * \retval value Current GPIO input value
71 | */
72 | uint32_t GpioMcuRead( Gpio_t *obj );
73 |
74 | #endif // __GPIO_MCU_H__
75 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/gps-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Generic driver for GPS receiver
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __GPS_BOARD_H__
16 | #define __GPS_BOARD_H__
17 |
18 | /*!
19 | * Select the edge of the PPS signal which is used to start the
20 | * reception of data on the UART. Depending of the GPS, the PPS
21 | * signal may go low or high to indicate the presence of data
22 | */
23 | typedef enum PpsTrigger_s
24 | {
25 | PpsTriggerIsRising = 0,
26 | PpsTriggerIsFalling,
27 | }PpsTrigger_t;
28 |
29 | /*!
30 | * \brief Low level handling of the PPS signal from the GPS receiver
31 | */
32 | void GpsMcuOnPpsSignal( void );
33 |
34 | /*!
35 | * \brief Invert the IRQ trigger edge on the PPS signal
36 | */
37 | void GpsMcuInvertPpsTrigger( void );
38 |
39 | /*!
40 | * \brief Low level Initialisation of the UART and IRQ for the GPS
41 | */
42 | void GpsMcuInit( void );
43 |
44 | /*!
45 | * \brief Switch ON the GPS
46 | */
47 | void GpsMcuStart( void );
48 |
49 | /*!
50 | * \brief Switch OFF the GPS
51 | */
52 | void GpsMcuStop( void );
53 |
54 | /*!
55 | * Updates the GPS status
56 | */
57 | void GpsMcuProcess( void );
58 |
59 | /*!
60 | * \brief IRQ handler for the UART receiver
61 | */
62 | void GpsMcuIrqNotify( UartNotifyId_t id );
63 |
64 | #endif // __GPS_BOARD_H__
65 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/i2c-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Bleeper board I2C driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __I2C_MCU_H__
16 | #define __I2C_MCU_H__
17 |
18 | /*!
19 | * Operation Mode for the I2C
20 | */
21 | typedef enum
22 | {
23 | MODE_I2C = 0,
24 | MODE_SMBUS_DEVICE,
25 | MODE_SMBUS_HOST
26 | }I2cMode;
27 |
28 | /*!
29 | * I2C signal duty cycle
30 | */
31 | typedef enum
32 | {
33 | I2C_DUTY_CYCLE_2 = 0,
34 | I2C_DUTY_CYCLE_16_9
35 | }I2cDutyCycle;
36 |
37 | /*!
38 | * I2C select if the acknowledge in after the 7th or 10th bit
39 | */
40 | typedef enum
41 | {
42 | I2C_ACK_ADD_7_BIT = 0,
43 | I2C_ACK_ADD_10_BIT
44 | }I2cAckAddrMode;
45 |
46 | /*!
47 | * Internal device address size
48 | */
49 | typedef enum
50 | {
51 | I2C_ADDR_SIZE_8 = 0,
52 | I2C_ADDR_SIZE_16,
53 | }I2cAddrSize;
54 |
55 | /*!
56 | * \brief Initializes the I2C object and MCU peripheral
57 | *
58 | * \param [IN] obj I2C object
59 | * \param [IN] scl I2C Scl pin name to be used
60 | * \param [IN] sda I2C Sda pin name to be used
61 | */
62 | void I2cMcuInit( I2c_t *obj, PinNames scl, PinNames sda );
63 |
64 | /*!
65 | * \brief Initializes the I2C object and MCU peripheral
66 | *
67 | * \param [IN] obj I2C object
68 | * \param [IN] mode Mode of operation for the I2C Bus
69 | * \param [IN] dutyCycle Signal duty cycle
70 | * \param [IN] I2cAckEnable Enable or Disable to ack
71 | * \param [IN] AckAddrMode 7bit or 10 bit addressing
72 | * \param [IN] I2cFrequency I2C bus clock frequency
73 | */
74 | void I2cMcuFormat( I2c_t *obj, I2cMode mode, I2cDutyCycle dutyCycle, bool I2cAckEnable, I2cAckAddrMode AckAddrMode, uint32_t I2cFrequency );
75 |
76 | /*!
77 | * \brief DeInitializes the I2C object and MCU peripheral
78 | *
79 | * \param [IN] obj I2C object
80 | */
81 | void I2cMcuDeInit( I2c_t *obj );
82 |
83 | /*!
84 | * \brief Write several data to the I2C device
85 | *
86 | * \param [IN] obj I2C object
87 | * \param [IN] deviceAddr device address
88 | * \param [IN] addr register address
89 | * \param [IN] buffer data buffer to write
90 | * \param [IN] size number of data byte to write
91 | */
92 | uint8_t I2cMcuWriteBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size );
93 |
94 | /*!
95 | * \brief Read several data byte from the I2C device
96 | *
97 | * \param [IN] obj I2C object
98 | * \param [IN] deviceAddr device address
99 | * \param [IN] addr register address
100 | * \param [IN] buffer data buffer used to store the data read
101 | * \param [IN] size number of data byte to read
102 | */
103 | uint8_t I2cMcuReadBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size );
104 |
105 | /*!
106 | * \brief Waits until the given device is in standby mode
107 | *
108 | * \param [IN] obj I2C object
109 | * \param [IN] deviceAddr device address
110 | */
111 | uint8_t I2cMcuWaitStandbyState( I2c_t *obj, uint8_t deviceAddr );
112 |
113 | /*!
114 | * \brief Sets the internal device address size
115 | *
116 | * \param [IN] obj I2C object
117 | * \param [IN] addrSize Internal address size
118 | */
119 | void I2cSetAddrSize( I2c_t *obj, I2cAddrSize addrSize );
120 |
121 | #endif // __I2C_MCU_H__
122 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/pinName-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Bleeper STM32L151RD microcontroller pins definition
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __PIN_NAME_MCU_H__
16 | #define __PIN_NAME_MCU_H__
17 |
18 | /*!
19 | * STM32 Pin Names
20 | */
21 | #define MCU_PINS \
22 | PA_0 = 0, PA_1, PA_2, PA_3, PA_4, PA_5, PA_6, PA_7, PA_8, PA_9, PA_10, PA_11, PA_12, PA_13, PA_14, PA_15, \
23 | PB_0, PB_1, PB_2, PB_3, PB_4, PB_5, PB_6, PB_7, PB_8, PB_9, PB_10, PB_11, PB_12, PB_13, PB_14, PB_15, \
24 | PC_0, PC_1, PC_2, PC_3, PC_4, PC_5, PC_6, PC_7, PC_8, PC_9, PC_10, PC_11, PC_12, PC_13, PC_14, PC_15, \
25 | PD_0, PD_1, PD_2, PD_3, PD_4, PD_5, PD_6, PD_7, PD_8, PD_9, PD_10, PD_11, PD_12, PD_13, PD_14, PD_15, \
26 | PE_0, PE_1, PE_2, PE_3, PE_4, PE_5, PE_6, PE_7, PE_8, PE_9, PE_10, PE_11, PE_12, PE_13, PE_14, PE_15, \
27 | PF_0, PF_1, PF_2, PF_3, PF_4, PF_5, PF_6, PF_7, PF_8, PF_9, PF_10, PF_11, PF_12, PF_13, PF_14, PF_15, \
28 | PH_0, PH_1, PH_2, PH_3, PH_4, PH_5, PH_6, PH_7, PH_8, PH_9, PH_10, PH_11, PH_12, PH_13, PH_14, PH_15
29 |
30 | #endif // __PIN_NAME_MCU_H__
31 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/pinName-ioe.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Bleeper STM32L151RD microcontroller pins definition
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __PIN_NAME_IOE_H__
16 | #define __PIN_NAME_IOE_H__
17 |
18 | // SX1509 Pin Names
19 | #define IOE_PINS \
20 | IOE_0, IOE_1, IOE_2, IOE_3, IOE_4, IOE_5, IOE_6, IOE_7, \
21 | IOE_8, IOE_9, IOE_10, IOE_11, IOE_12, IOE_13, IOE_14, IOE_15
22 | #endif // __PIN_NAME_IOE_H__
23 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/rtc-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: MCU RTC timer and low power modes management
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __RTC_BOARD_H__
16 | #define __RTC_BOARD_H__
17 |
18 | /*!
19 | * \brief Timer time variable definition
20 | */
21 | #ifndef TimerTime_t
22 | typedef uint32_t TimerTime_t;
23 | #endif
24 |
25 | /*!
26 | * \brief Initializes the RTC timer
27 | *
28 | * \remark The timer is based on the RTC
29 | */
30 | void RtcInit( void );
31 |
32 | /*!
33 | * \brief Start the RTC timer
34 | *
35 | * \remark The timer is based on the RTC Alarm running at 32.768KHz
36 | *
37 | * \param[IN] timeout Duration of the Timer
38 | */
39 | void RtcSetTimeout( uint32_t timeout );
40 |
41 | /*!
42 | * \brief Adjust the value of the timeout to handle wakeup time from Alarm and GPIO irq
43 | *
44 | * \param[IN] timeout Duration of the Timer without compensation for wakeup time
45 | * \retval new value for the Timeout with compensations
46 | */
47 | TimerTime_t RtcGetAdjustedTimeoutValue( uint32_t timeout );
48 |
49 | /*!
50 | * \brief Get the RTC timer value
51 | *
52 | * \retval RTC Timer value
53 | */
54 | TimerTime_t RtcGetTimerValue( void );
55 |
56 | /*!
57 | * \brief Get the RTC timer elapsed time since the last Alarm was set
58 | *
59 | * \retval RTC Elapsed time since the last alarm
60 | */
61 | TimerTime_t RtcGetElapsedAlarmTime( void );
62 |
63 | /*!
64 | * \brief Compute the timeout time of a future event in time
65 | *
66 | * \param[IN] futureEventInTime Value in time
67 | * \retval time Time between now and the futureEventInTime
68 | */
69 | TimerTime_t RtcComputeFutureEventTime( TimerTime_t futureEventInTime );
70 |
71 | /*!
72 | * \brief Compute the elapsed time since a fix event in time
73 | *
74 | * \param[IN] eventInTime Value in time
75 | * \retval elapsed Time since the eventInTime
76 | */
77 | TimerTime_t RtcComputeElapsedTime( TimerTime_t eventInTime );
78 |
79 | /*!
80 | * \brief This function blocks the MCU from going into Low Power mode
81 | *
82 | * \param [IN] status [true: Enable, false: Disable
83 | */
84 | void BlockLowPowerDuringTask ( bool status );
85 |
86 | /*!
87 | * \brief Sets the MCU into low power STOP mode
88 | */
89 | void RtcEnterLowPowerStopMode( void );
90 |
91 | /*!
92 | * \brief Restore the MCU to its normal operation mode
93 | */
94 | void RtcRecoverMcuStatus( void );
95 |
96 | #endif // __RTC_BOARD_H__
97 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/spi-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Bleeper board SPI driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __SPI_MCU_H__
16 | #define __SPI_MCU_H__
17 |
18 | /*!
19 | * SPI driver structure definition
20 | */
21 | struct Spi_s
22 | {
23 | SPI_HandleTypeDef Spi;
24 | Gpio_t Mosi;
25 | Gpio_t Miso;
26 | Gpio_t Sclk;
27 | Gpio_t Nss;
28 | };
29 |
30 | #endif // __SPI_MCU_H__
31 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/uart-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2016 Semtech
8 |
9 | Description: Board UART driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __UART_MCU_H__
16 | #define __UART_MCU_H__
17 |
18 | /*!
19 | * UART peripheral ID
20 | */
21 | typedef enum
22 | {
23 | UART_1,
24 | UART_3,
25 | UART_COUNT,
26 | UART_USB_CDC = 255,
27 | }UartId_t;
28 |
29 | /*!
30 | * \brief Initializes the UART object and MCU peripheral
31 | *
32 | * \param [IN] obj UART object
33 | * \param [IN] tx UART Tx pin name to be used
34 | * \param [IN] rx UART Rx pin name to be used
35 | */
36 | void UartMcuInit( Uart_t *obj, uint8_t uartId, PinNames tx, PinNames rx );
37 |
38 | /*!
39 | * \brief Initializes the UART object and MCU peripheral
40 | *
41 | * \param [IN] obj UART object
42 | * \param [IN] mode Mode of operation for the UART
43 | * \param [IN] baudrate UART baudrate
44 | * \param [IN] wordLength packet length
45 | * \param [IN] stopBits stop bits setup
46 | * \param [IN] parity packet parity
47 | * \param [IN] flowCtrl UART flow control
48 | */
49 | void UartMcuConfig( Uart_t *obj, UartMode_t mode, uint32_t baudrate, WordLength_t wordLength, StopBits_t stopBits, Parity_t parity, FlowCtrl_t flowCtrl );
50 |
51 | /*!
52 | * \brief DeInitializes the UART object and MCU peripheral
53 | *
54 | * \param [IN] obj UART object
55 | */
56 | void UartMcuDeInit( Uart_t *obj );
57 |
58 | /*!
59 | * \brief Sends a character to the UART
60 | *
61 | * \param [IN] obj UART object
62 | * \param [IN] data Character to be sent
63 | * \retval status [0: OK, 1: Busy]
64 | */
65 | uint8_t UartMcuPutChar( Uart_t *obj, uint8_t data );
66 |
67 | /*!
68 | * \brief Sends a character to the UART
69 | *
70 | * \param [IN] obj UART object
71 | * \param [IN] data Characters to be sent
72 | * \param [IN] size number of characters to send
73 | * \retval status [0: OK, 1: Busy]
74 | */
75 | uint8_t UartMcuPutBuffer( Uart_t *obj, uint8_t *data, uint16_t size );
76 |
77 | /*!
78 | * \brief Gets a character from the UART
79 | *
80 | * \param [IN] obj UART object
81 | * \param [IN] data Received character
82 | * \retval status [0: OK, 1: Busy]
83 | */
84 | uint8_t UartMcuGetChar( Uart_t *obj, uint8_t *data );
85 |
86 | /*!
87 | * \brief Gets a character from the UART (blocking mode)
88 | *
89 | * \param [IN] obj UART object
90 | * \param [IN] data Received character
91 | * \param [IN] size number of characters to be received
92 | * \retval status [0: OK, 1: Busy]
93 | */
94 | uint8_t UartMcuGetBuffer( Uart_t *obj, uint8_t *data, uint16_t size );
95 |
96 | #endif // __UART_MCU_H__
97 |
98 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/uart-usb-board.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Bleeper board UART driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 |
17 | #include "usbd_core.h"
18 | #include "usbd_desc.h"
19 | #include "usbd_cdc.h"
20 | #include "usbd_cdc_if.h"
21 | #include "uart-usb-board.h"
22 |
23 | /* USB handler declaration */
24 | /* Handle for USB Full Speed IP */
25 | //USBD_HandleTypeDef *hUsbDevice_0;
26 |
27 | USBD_HandleTypeDef hUsbDeviceFS;
28 | extern PCD_HandleTypeDef hpcd_USB_FS;
29 |
30 | void UartUsbInit( Uart_t *obj, uint8_t uartId, PinNames tx, PinNames rx )
31 | {
32 | obj->UartId = uartId;
33 |
34 | __HAL_RCC_COMP_CLK_ENABLE( );
35 | __HAL_RCC_SYSCFG_CLK_ENABLE( );
36 |
37 | CDC_Set_Uart_Obj( obj );
38 |
39 | /* Init Device Library, Add Supported Class and Start the library */
40 | USBD_Init( &hUsbDeviceFS, &FS_Desc, DEVICE_FS );
41 |
42 | USBD_RegisterClass( &hUsbDeviceFS, &USBD_CDC );
43 |
44 | USBD_CDC_RegisterInterface( &hUsbDeviceFS, &USBD_Interface_fops_FS );
45 |
46 | USBD_Start( &hUsbDeviceFS );
47 | }
48 |
49 | void UartUsbConfig( Uart_t *obj, UartMode_t mode, uint32_t baudrate, WordLength_t wordLength, StopBits_t stopBits, Parity_t parity, FlowCtrl_t flowCtrl )
50 | {
51 |
52 | }
53 |
54 | void UartUsbDeInit( Uart_t *obj )
55 | {
56 |
57 | }
58 |
59 | uint8_t UartUsbIsUsbCableConnected( void )
60 | {
61 | if( hUsbDeviceFS.dev_address == 0 )
62 | {
63 | // USB is low Power mode meaning USB cable is not connected
64 | return 0;
65 | }
66 | else
67 | {
68 | // USB is in active mode meaning USB cable is connected
69 | return 1;
70 | }
71 | }
72 |
73 | uint8_t UartUsbPutBuffer( Uart_t *obj, uint8_t *buffer, uint16_t size )
74 | {
75 | return CDC_Transmit_FS( buffer, size );
76 | }
77 |
78 | uint8_t UartUsbPutChar( Uart_t *obj, uint8_t data )
79 | {
80 | return UartUsbPutBuffer( obj, &data, 1 );
81 | }
82 |
83 | uint8_t UartUsbGetChar( Uart_t *obj, uint8_t *data )
84 | {
85 | if( IsFifoEmpty( &obj->FifoRx ) == false )
86 | {
87 | BoardDisableIrq( );
88 | *data = FifoPop( &obj->FifoRx );
89 | BoardEnableIrq( );
90 | return 0;
91 | }
92 | return 1;
93 | }
94 |
95 | void USB_LP_IRQHandler( void )
96 | {
97 | HAL_PCD_IRQHandler( &hpcd_USB_FS );
98 | }
99 |
100 | #ifdef __GNUC__
101 | /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
102 | set to 'Yes') calls __io_putchar() */
103 | int __io_putchar( int c )
104 | #else /* __GNUC__ */
105 | int fputc( int c, FILE *stream )
106 | #endif
107 | {
108 | while( UartUsbPutChar( &UartUsb, c ) != 0 );
109 | return c;
110 | }
111 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/uart-usb-board.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Bleeper board UART driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __UART_USB_H__
16 | #define __UART_USB_H__
17 |
18 | /*!
19 | * \brief Initializes the UART object and MCU peripheral
20 | *
21 | * \param [IN] obj UART object
22 | * \param [IN] tx UART Tx pin name to be used
23 | * \param [IN] rx UART Rx pin name to be used
24 | */
25 | void UartUsbInit( Uart_t *obj, uint8_t uartId, PinNames tx, PinNames rx );
26 |
27 | /*!
28 | * \brief Initializes the UART object and USB peripheral
29 | *
30 | * \param [IN] obj UART object
31 | * \param [IN] mode Mode of operation for the UART
32 | * \param [IN] baudrate UART baudrate
33 | * \param [IN] wordLength packet length
34 | * \param [IN] stopBits stop bits setup
35 | * \param [IN] parity packet parity
36 | * \param [IN] flowCtrl UART flow control
37 | */
38 | void UartUsbConfig( Uart_t *obj, UartMode_t mode, uint32_t baudrate, WordLength_t wordLength, StopBits_t stopBits, Parity_t parity, FlowCtrl_t flowCtrl );
39 |
40 | /*!
41 | * \brief DeInitializes the UART object and USB peripheral
42 | *
43 | * \param [IN] obj UART object
44 | */
45 | void UartUsbDeInit( Uart_t *obj );
46 |
47 | /*!
48 | * \brief Checks if the cable is connected or not
49 | *
50 | * \retval connected [0: Not connected, 1: Connected]
51 | */
52 | uint8_t UartUsbIsUsbCableConnected( void );
53 |
54 | /*!
55 | * \brief Sends a buffer to the UART
56 | *
57 | * \param [IN] obj UART object
58 | * \param [IN] buffer Buffer to be sent
59 | * \param [IN] size Buffer size
60 | * \retval status [0: OK, 1: Busy, 2: Fail]
61 | */
62 | uint8_t UartUsbPutBuffer( Uart_t *obj, uint8_t *buffer, uint16_t size );
63 |
64 | /*!
65 | * \brief Sends a character to the UART
66 | *
67 | * \param [IN] obj UART object
68 | * \param [IN] data Character to be sent
69 | * \retval status [0: OK, 1: Busy, 2: Fail]
70 | */
71 | uint8_t UartUsbPutChar( Uart_t *obj, uint8_t data );
72 |
73 | /*!
74 | * \brief Gets a character from the UART
75 | *
76 | * \param [IN] obj UART object
77 | * \param [IN] data Received character
78 | * \retval status [0: OK, 1: Busy, 2: Fail]
79 | */
80 | uint8_t UartUsbGetChar( Uart_t *obj, uint8_t *data );
81 |
82 | #endif // __UART_USB_H__
83 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/usb/cdc/inc/usbd_desc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file : usbd_desc.h
4 | * @version : v1.0_Cube
5 | * @brief : Header for usbd_desc file.
6 | ******************************************************************************
7 | * COPYRIGHT(c) 2016 STMicroelectronics
8 | *
9 | * Redistribution and use in source and binary forms, with or without modification,
10 | * are permitted provided that the following conditions are met:
11 | * 1. Redistributions of source code must retain the above copyright notice,
12 | * this list of conditions and the following disclaimer.
13 | * 2. Redistributions in binary form must reproduce the above copyright notice,
14 | * this list of conditions and the following disclaimer in the documentation
15 | * and/or other materials provided with the distribution.
16 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
17 | * may be used to endorse or promote products derived from this software
18 | * without specific prior written permission.
19 | *
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 | *
31 | ******************************************************************************
32 | */
33 |
34 | /* Define to prevent recursive inclusion -------------------------------------*/
35 | #ifndef __USBD_DESC__H__
36 | #define __USBD_DESC__H__
37 |
38 | #ifdef __cplusplus
39 | extern "C" {
40 | #endif
41 | /* Includes ------------------------------------------------------------------*/
42 | #include "usbd_def.h"
43 |
44 | /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
45 | * @{
46 | */
47 |
48 | /** @defgroup USB_DESC
49 | * @brief general defines for the usb device library file
50 | * @{
51 | */
52 |
53 | /** @defgroup USB_DESC_Exported_Defines
54 | * @{
55 | */
56 |
57 | /**
58 | * @}
59 | */
60 |
61 | /** @defgroup USBD_DESC_Exported_TypesDefinitions
62 | * @{
63 | */
64 | /**
65 | * @}
66 | */
67 |
68 | /** @defgroup USBD_DESC_Exported_Macros
69 | * @{
70 | */
71 | /**
72 | * @}
73 | */
74 |
75 | /** @defgroup USBD_DESC_Exported_Variables
76 | * @{
77 | */
78 | extern USBD_DescriptorsTypeDef FS_Desc;
79 | /**
80 | * @}
81 | */
82 |
83 | /** @defgroup USBD_DESC_Exported_FunctionsPrototype
84 | * @{
85 | */
86 |
87 | /**
88 | * @}
89 | */
90 | #ifdef __cplusplus
91 | }
92 | #endif
93 |
94 | #endif /* __USBD_DESC_H */
95 |
96 | /**
97 | * @}
98 | */
99 |
100 | /**
101 | * @}
102 | */
103 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
104 |
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/usb/dfu/inc/usbd_conf.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/usb/dfu/inc/usbd_conf.h
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/usb/dfu/inc/usbd_desc.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/usb/dfu/inc/usbd_desc.h
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/usb/dfu/inc/usbd_dfu_flash.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/usb/dfu/inc/usbd_dfu_flash.h
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/usb/dfu/src/usbd_conf.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/usb/dfu/src/usbd_conf.c
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/usb/dfu/src/usbd_desc.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/usb/dfu/src/usbd_desc.c
--------------------------------------------------------------------------------
/src/boards/RAK811BreakBoard/usb/dfu/src/usbd_dfu_flash.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/boards/RAK811BreakBoard/usb/dfu/src/usbd_dfu_flash.c
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/RTE_Components.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Auto generated Run-Time-Environment Component Configuration File
4 | * *** Do not modify ! ***
5 | *
6 | * Project: 'LoRaWAN'
7 | * Target: 'LoRaWAN Configuration'
8 | */
9 |
10 | #ifndef RTE_COMPONENTS_H
11 | #define RTE_COMPONENTS_H
12 |
13 |
14 | #endif /* RTE_COMPONENTS_H */
15 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/STM32L0xx_HAL_Driver/Inc/stm32_assert_template.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32_assert.h
4 | * @author MCD Application Team
5 | * @version V1.7.0
6 | * @date 31-May-2016
7 | * @brief STM32 assert template file.
8 | * This file should be copied to the application folder and renamed
9 | * to stm32_assert.h.
10 | ******************************************************************************
11 | * @attention
12 | *
13 | *
© COPYRIGHT(c) 2016 STMicroelectronics
14 | *
15 | * Redistribution and use in source and binary forms, with or without modification,
16 | * are permitted provided that the following conditions are met:
17 | * 1. Redistributions of source code must retain the above copyright notice,
18 | * this list of conditions and the following disclaimer.
19 | * 2. Redistributions in binary form must reproduce the above copyright notice,
20 | * this list of conditions and the following disclaimer in the documentation
21 | * and/or other materials provided with the distribution.
22 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
23 | * may be used to endorse or promote products derived from this software
24 | * without specific prior written permission.
25 | *
26 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
30 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
32 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 | *
37 | ******************************************************************************
38 | */
39 |
40 | /* Define to prevent recursive inclusion -------------------------------------*/
41 | #ifndef __STM32_ASSERT_H
42 | #define __STM32_ASSERT_H
43 |
44 | #ifdef __cplusplus
45 | extern "C" {
46 | #endif
47 |
48 | /* Exported types ------------------------------------------------------------*/
49 | /* Exported constants --------------------------------------------------------*/
50 | /* Includes ------------------------------------------------------------------*/
51 | /* Exported macro ------------------------------------------------------------*/
52 | #ifdef USE_FULL_ASSERT
53 | /**
54 | * @brief The assert_param macro is used for function's parameters check.
55 | * @param expr: If expr is false, it calls assert_failed function
56 | * which reports the name of the source file and the source
57 | * line number of the call that failed.
58 | * If expr is true, it returns no value.
59 | * @retval None
60 | */
61 | #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
62 | /* Exported functions ------------------------------------------------------- */
63 | void assert_failed(uint8_t* file, uint32_t line);
64 | #else
65 | #define assert_param(expr) ((void)0U)
66 | #endif /* USE_FULL_ASSERT */
67 |
68 | #ifdef __cplusplus
69 | }
70 | #endif
71 |
72 | #endif /* __STM32_ASSERT_H */
73 |
74 |
75 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
76 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_comp_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_comp_ex.h
4 | * @author MCD Application Team
5 | * @version V1.7.0
6 | * @date 31-May-2016
7 | * @brief Header file of COMP HAL Extended module.
8 | ******************************************************************************
9 | * @attention
10 | *
11 | * © COPYRIGHT(c) 2016 STMicroelectronics
12 | *
13 | * Redistribution and use in source and binary forms, with or without modification,
14 | * are permitted provided that the following conditions are met:
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
21 | * may be used to endorse or promote products derived from this software
22 | * without specific prior written permission.
23 | *
24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 | *
35 | ******************************************************************************
36 | */
37 |
38 | /* Define to prevent recursive inclusion -------------------------------------*/
39 | #ifndef __STM32L0xx_HAL_COMP_EX_H
40 | #define __STM32L0xx_HAL_COMP_EX_H
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | /* Includes ------------------------------------------------------------------*/
47 | #include "stm32l0xx_hal_def.h"
48 |
49 | /** @addtogroup STM32L0xx_HAL_Driver
50 | * @{
51 | */
52 |
53 | /** @defgroup COMPEx COMPEx
54 | * @{
55 | */
56 |
57 | /* Exported functions --------------------------------------------------------*/
58 | /** @defgroup COMPEx_Exported_Functions COMPEx Exported Functions
59 | * @{
60 | */
61 |
62 | /** @defgroup COMPEx_Exported_Functions_Group1 Extended COMP VREFINT setup functions
63 | * @{
64 | */
65 | /* COMP specific functions to manage VREFINT *************************************/
66 | void HAL_COMPEx_EnableVREFINT(void);
67 | void HAL_COMPEx_DisableVREFINT(void);
68 |
69 | /**
70 | * @}
71 | */
72 |
73 | /**
74 | * @}
75 | */
76 |
77 | /**
78 | * @}
79 | */
80 |
81 | /**
82 | * @}
83 | */
84 | #ifdef __cplusplus
85 | }
86 | #endif
87 |
88 | #endif /* __STM32L0xx_HAL_COMP_EX_H */
89 |
90 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
91 |
92 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pcd_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_pcd.h
4 | * @author MCD Application Team
5 | * @version V1.7.0
6 | * @date 31-May-2016
7 | * @brief Header file of PCD HAL module.
8 | ******************************************************************************
9 | * @attention
10 | *
11 | * © COPYRIGHT(c) 2016 STMicroelectronics
12 | *
13 | * Redistribution and use in source and binary forms, with or without modification,
14 | * are permitted provided that the following conditions are met:
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
21 | * may be used to endorse or promote products derived from this software
22 | * without specific prior written permission.
23 | *
24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 | *
35 | ******************************************************************************
36 | */
37 |
38 | /* Define to prevent recursive inclusion -------------------------------------*/
39 | #ifndef __STM32L0xx_HAL_PCD_EX_H
40 | #define __STM32L0xx_HAL_PCD_EX_H
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | /* Includes ------------------------------------------------------------------*/
47 | #include "stm32l0xx_hal_def.h"
48 |
49 | /** @addtogroup STM32L0xx_HAL_Driver
50 | * @{
51 | */
52 |
53 | /** @defgroup PCDEx PCDEx
54 | * @{
55 | */
56 |
57 | /* Exported functions --------------------------------------------------------*/
58 |
59 | /** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions
60 | * @{
61 | */
62 |
63 | /** @defgroup PCDEx__Exported_Functions_Group1 Initialization and de-initialization functions
64 | * @brief Initialization and Configuration functions
65 | */
66 | HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd,
67 | uint16_t ep_addr,
68 | uint16_t ep_kind,
69 | uint32_t pmaadress);
70 | /**
71 | * @}
72 | */
73 |
74 | /**
75 | * @}
76 | */
77 |
78 | /**
79 | * @}
80 | */
81 |
82 | #ifdef __cplusplus
83 | }
84 | #endif
85 |
86 |
87 | #endif /* __STM32L0xx_HAL_PCD_EX_H */
88 |
89 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
90 |
91 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/STM32L1xx_HAL_Driver/Inc/stm32_assert_template.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32_assert.h
4 | * @author MCD Application Team
5 | * @version V1.2.0
6 | * @date 01-July-2016
7 | * @brief STM32 assert template file.
8 | * This file should be copied to the application folder and renamed
9 | * to stm32_assert.h.
10 | ******************************************************************************
11 | * @attention
12 | *
13 | * © COPYRIGHT(c) 2016 STMicroelectronics
14 | *
15 | * Redistribution and use in source and binary forms, with or without modification,
16 | * are permitted provided that the following conditions are met:
17 | * 1. Redistributions of source code must retain the above copyright notice,
18 | * this list of conditions and the following disclaimer.
19 | * 2. Redistributions in binary form must reproduce the above copyright notice,
20 | * this list of conditions and the following disclaimer in the documentation
21 | * and/or other materials provided with the distribution.
22 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
23 | * may be used to endorse or promote products derived from this software
24 | * without specific prior written permission.
25 | *
26 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
30 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
32 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 | *
37 | ******************************************************************************
38 | */
39 |
40 | /* Define to prevent recursive inclusion -------------------------------------*/
41 | #ifndef __STM32_ASSERT_H
42 | #define __STM32_ASSERT_H
43 |
44 | #ifdef __cplusplus
45 | extern "C" {
46 | #endif
47 |
48 | /* Exported types ------------------------------------------------------------*/
49 | /* Exported constants --------------------------------------------------------*/
50 | /* Includes ------------------------------------------------------------------*/
51 | /* Exported macro ------------------------------------------------------------*/
52 | #ifdef USE_FULL_ASSERT
53 | /**
54 | * @brief The assert_param macro is used for function's parameters check.
55 | * @param expr: If expr is false, it calls assert_failed function
56 | * which reports the name of the source file and the source
57 | * line number of the call that failed.
58 | * If expr is true, it returns no value.
59 | * @retval None
60 | */
61 | #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
62 | /* Exported functions ------------------------------------------------------- */
63 | void assert_failed(uint8_t* file, uint32_t line);
64 | #else
65 | #define assert_param(expr) ((void)0U)
66 | #endif /* USE_FULL_ASSERT */
67 |
68 | #ifdef __cplusplus
69 | }
70 | #endif
71 |
72 | #endif /* __STM32_ASSERT_H */
73 |
74 |
75 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
76 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cryp_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l1xx_hal_cryp_ex.h
4 | * @author MCD Application Team
5 | * @version V1.2.0
6 | * @date 01-July-2016
7 | * @brief Header file of CRYPEx HAL module.
8 | ******************************************************************************
9 | * @attention
10 | *
11 | * © COPYRIGHT(c) 2016 STMicroelectronics
12 | *
13 | * Redistribution and use in source and binary forms, with or without modification,
14 | * are permitted provided that the following conditions are met:
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
21 | * may be used to endorse or promote products derived from this software
22 | * without specific prior written permission.
23 | *
24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 | *
35 | ******************************************************************************
36 | */
37 |
38 | /* Define to prevent recursive inclusion -------------------------------------*/
39 | #ifndef __STM32L1xx_HAL_CRYP_EX_H
40 | #define __STM32L1xx_HAL_CRYP_EX_H
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | #if defined(STM32L162xC) || defined(STM32L162xCA) || defined(STM32L162xD) || defined(STM32L162xE) || defined(STM32L162xDX)
47 |
48 | /* Includes ------------------------------------------------------------------*/
49 | #include "stm32l1xx_hal_def.h"
50 |
51 | /** @addtogroup STM32L1xx_HAL_Driver
52 | * @{
53 | */
54 |
55 | /** @addtogroup CRYPEx
56 | * @{
57 | */
58 |
59 | /* Exported types ------------------------------------------------------------*/
60 | /* Exported constants --------------------------------------------------------*/
61 | /* Exported functions --------------------------------------------------------*/
62 |
63 | /** @addtogroup CRYPEx_Exported_Functions
64 | * @{
65 | */
66 |
67 | /** @addtogroup CRYPEx_Exported_Functions_Group1
68 | * @{
69 | */
70 |
71 | /* CallBack functions ********************************************************/
72 | void HAL_CRYPEx_ComputationCpltCallback(CRYP_HandleTypeDef *hcryp);
73 |
74 | /**
75 | * @}
76 | */
77 |
78 | /**
79 | * @}
80 | */
81 |
82 | #endif /* STM32L162xC || STM32L162xCA || STM32L162xD || STM32L162xE || STM32L162xDX*/
83 |
84 | /**
85 | * @}
86 | */
87 |
88 | /**
89 | * @}
90 | */
91 |
92 | #ifdef __cplusplus
93 | }
94 | #endif
95 |
96 | #endif /* __STM32L1xx_HAL_CRYP_EX_H */
97 |
98 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
99 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pcd_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l1xx_hal_pcd_ex.h
4 | * @author MCD Application Team
5 | * @version V1.2.0
6 | * @date 01-July-2016
7 | * @brief Header file of PCD HAL module.
8 | ******************************************************************************
9 | * @attention
10 | *
11 | * © COPYRIGHT(c) 2016 STMicroelectronics
12 | *
13 | * Redistribution and use in source and binary forms, with or without modification,
14 | * are permitted provided that the following conditions are met:
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
21 | * may be used to endorse or promote products derived from this software
22 | * without specific prior written permission.
23 | *
24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 | *
35 | ******************************************************************************
36 | */
37 |
38 | /* Define to prevent recursive inclusion -------------------------------------*/
39 | #ifndef __STM32L1xx_HAL_PCD_EX_H
40 | #define __STM32L1xx_HAL_PCD_EX_H
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | /* Includes ------------------------------------------------------------------*/
47 | #include "stm32l1xx_hal_def.h"
48 |
49 | /** @addtogroup STM32L1xx_HAL_Driver
50 | * @{
51 | */
52 |
53 | /** @addtogroup PCDEx
54 | * @{
55 | */
56 |
57 | /* Exported types ------------------------------------------------------------*/
58 | /* Exported constants --------------------------------------------------------*/
59 | /* Exported macros -----------------------------------------------------------*/
60 | /* Internal macros -----------------------------------------------------------*/
61 | /* Exported functions --------------------------------------------------------*/
62 | /** @addtogroup PCDEx_Exported_Functions
63 | * @{
64 | */
65 |
66 | /** @addtogroup PCDEx_Exported_Functions_Group2
67 | * @{
68 | */
69 |
70 | HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd,
71 | uint16_t ep_addr,
72 | uint16_t ep_kind,
73 | uint32_t pmaadress);
74 | /**
75 | * @}
76 | */
77 |
78 | /**
79 | * @}
80 | */
81 |
82 | /**
83 | * @}
84 | */
85 |
86 | /**
87 | * @}
88 | */
89 |
90 | #ifdef __cplusplus
91 | }
92 | #endif
93 |
94 |
95 | #endif /* __STM32L1xx_HAL_PCD_EX_H */
96 |
97 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
98 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file usbd_req.h
4 | * @author MCD Application Team
5 | * @version V2.4.2
6 | * @date 11-December-2015
7 | * @brief Header file for the usbd_req.c file
8 | ******************************************************************************
9 | * @attention
10 | *
11 | * © COPYRIGHT 2015 STMicroelectronics
12 | *
13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
14 | * You may not use this file except in compliance with the License.
15 | * You may obtain a copy of the License at:
16 | *
17 | * http://www.st.com/software_license_agreement_liberty_v2
18 | *
19 | * Unless required by applicable law or agreed to in writing, software
20 | * distributed under the License is distributed on an "AS IS" BASIS,
21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 | * See the License for the specific language governing permissions and
23 | * limitations under the License.
24 | *
25 | ******************************************************************************
26 | */
27 |
28 | /* Define to prevent recursive inclusion -------------------------------------*/
29 | #ifndef __USB_REQUEST_H
30 | #define __USB_REQUEST_H
31 |
32 | #ifdef __cplusplus
33 | extern "C" {
34 | #endif
35 |
36 | /* Includes ------------------------------------------------------------------*/
37 | #include "usbd_def.h"
38 |
39 |
40 | /** @addtogroup STM32_USB_DEVICE_LIBRARY
41 | * @{
42 | */
43 |
44 | /** @defgroup USBD_REQ
45 | * @brief header file for the usbd_req.c file
46 | * @{
47 | */
48 |
49 | /** @defgroup USBD_REQ_Exported_Defines
50 | * @{
51 | */
52 | /**
53 | * @}
54 | */
55 |
56 |
57 | /** @defgroup USBD_REQ_Exported_Types
58 | * @{
59 | */
60 | /**
61 | * @}
62 | */
63 |
64 |
65 |
66 | /** @defgroup USBD_REQ_Exported_Macros
67 | * @{
68 | */
69 | /**
70 | * @}
71 | */
72 |
73 | /** @defgroup USBD_REQ_Exported_Variables
74 | * @{
75 | */
76 | /**
77 | * @}
78 | */
79 |
80 | /** @defgroup USBD_REQ_Exported_FunctionsPrototype
81 | * @{
82 | */
83 |
84 | USBD_StatusTypeDef USBD_StdDevReq (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
85 | USBD_StatusTypeDef USBD_StdItfReq (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
86 | USBD_StatusTypeDef USBD_StdEPReq (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
87 |
88 |
89 | void USBD_CtlError (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
90 |
91 | void USBD_ParseSetupRequest (USBD_SetupReqTypedef *req, uint8_t *pdata);
92 |
93 | void USBD_GetString (uint8_t *desc, uint8_t *unicode, uint16_t *len);
94 | /**
95 | * @}
96 | */
97 |
98 | #ifdef __cplusplus
99 | }
100 | #endif
101 |
102 | #endif /* __USB_REQUEST_H */
103 |
104 | /**
105 | * @}
106 | */
107 |
108 | /**
109 | * @}
110 | */
111 |
112 |
113 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
114 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file usbd_ioreq.h
4 | * @author MCD Application Team
5 | * @version V2.4.2
6 | * @date 11-December-2015
7 | * @brief Header file for the usbd_ioreq.c file
8 | ******************************************************************************
9 | * @attention
10 | *
11 | * © COPYRIGHT 2015 STMicroelectronics
12 | *
13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
14 | * You may not use this file except in compliance with the License.
15 | * You may obtain a copy of the License at:
16 | *
17 | * http://www.st.com/software_license_agreement_liberty_v2
18 | *
19 | * Unless required by applicable law or agreed to in writing, software
20 | * distributed under the License is distributed on an "AS IS" BASIS,
21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 | * See the License for the specific language governing permissions and
23 | * limitations under the License.
24 | *
25 | ******************************************************************************
26 | */
27 |
28 | /* Define to prevent recursive inclusion -------------------------------------*/
29 | #ifndef __USBD_IOREQ_H
30 | #define __USBD_IOREQ_H
31 |
32 | #ifdef __cplusplus
33 | extern "C" {
34 | #endif
35 |
36 | /* Includes ------------------------------------------------------------------*/
37 | #include "usbd_def.h"
38 | #include "usbd_core.h"
39 |
40 | /** @addtogroup STM32_USB_DEVICE_LIBRARY
41 | * @{
42 | */
43 |
44 | /** @defgroup USBD_IOREQ
45 | * @brief header file for the usbd_ioreq.c file
46 | * @{
47 | */
48 |
49 | /** @defgroup USBD_IOREQ_Exported_Defines
50 | * @{
51 | */
52 | /**
53 | * @}
54 | */
55 |
56 |
57 | /** @defgroup USBD_IOREQ_Exported_Types
58 | * @{
59 | */
60 |
61 |
62 | /**
63 | * @}
64 | */
65 |
66 |
67 |
68 | /** @defgroup USBD_IOREQ_Exported_Macros
69 | * @{
70 | */
71 |
72 | /**
73 | * @}
74 | */
75 |
76 | /** @defgroup USBD_IOREQ_Exported_Variables
77 | * @{
78 | */
79 |
80 | /**
81 | * @}
82 | */
83 |
84 | /** @defgroup USBD_IOREQ_Exported_FunctionsPrototype
85 | * @{
86 | */
87 |
88 | USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev,
89 | uint8_t *buf,
90 | uint16_t len);
91 |
92 | USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev,
93 | uint8_t *pbuf,
94 | uint16_t len);
95 |
96 | USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev,
97 | uint8_t *pbuf,
98 | uint16_t len);
99 |
100 | USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev,
101 | uint8_t *pbuf,
102 | uint16_t len);
103 |
104 | USBD_StatusTypeDef USBD_CtlSendStatus (USBD_HandleTypeDef *pdev);
105 |
106 | USBD_StatusTypeDef USBD_CtlReceiveStatus (USBD_HandleTypeDef *pdev);
107 |
108 | uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev ,
109 | uint8_t epnum);
110 |
111 | /**
112 | * @}
113 | */
114 |
115 | #ifdef __cplusplus
116 | }
117 | #endif
118 |
119 | #endif /* __USBD_IOREQ_H */
120 |
121 | /**
122 | * @}
123 | */
124 |
125 | /**
126 | * @}
127 | */
128 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
129 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/cmsis/core_cmFunc.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************//**
2 | * @file core_cmFunc.h
3 | * @brief CMSIS Cortex-M Core Function Access Header File
4 | * @version V4.30
5 | * @date 20. October 2015
6 | ******************************************************************************/
7 | /* Copyright (c) 2009 - 2015 ARM LIMITED
8 |
9 | All rights reserved.
10 | Redistribution and use in source and binary forms, with or without
11 | modification, are permitted provided that the following conditions are met:
12 | - Redistributions of source code must retain the above copyright
13 | notice, this list of conditions and the following disclaimer.
14 | - Redistributions in binary form must reproduce the above copyright
15 | notice, this list of conditions and the following disclaimer in the
16 | documentation and/or other materials provided with the distribution.
17 | - Neither the name of ARM nor the names of its contributors may be used
18 | to endorse or promote products derived from this software without
19 | specific prior written permission.
20 | *
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS 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 |
34 |
35 | #if defined ( __ICCARM__ )
36 | #pragma system_include /* treat file as system include file for MISRA check */
37 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
38 | #pragma clang system_header /* treat file as system include file */
39 | #endif
40 |
41 | #ifndef __CORE_CMFUNC_H
42 | #define __CORE_CMFUNC_H
43 |
44 |
45 | /* ########################### Core Function Access ########################### */
46 | /** \ingroup CMSIS_Core_FunctionInterface
47 | \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
48 | @{
49 | */
50 |
51 | /*------------------ RealView Compiler -----------------*/
52 | #if defined ( __CC_ARM )
53 | #include "cmsis_armcc.h"
54 |
55 | /*------------------ ARM Compiler V6 -------------------*/
56 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
57 | #include "cmsis_armcc_V6.h"
58 |
59 | /*------------------ GNU Compiler ----------------------*/
60 | #elif defined ( __GNUC__ )
61 | #include "cmsis_gcc.h"
62 |
63 | /*------------------ ICC Compiler ----------------------*/
64 | #elif defined ( __ICCARM__ )
65 | #include
66 |
67 | /*------------------ TI CCS Compiler -------------------*/
68 | #elif defined ( __TMS470__ )
69 | #include
70 |
71 | /*------------------ TASKING Compiler ------------------*/
72 | #elif defined ( __TASKING__ )
73 | /*
74 | * The CMSIS functions have been implemented as intrinsics in the compiler.
75 | * Please use "carm -?i" to get an up to date list of all intrinsics,
76 | * Including the CMSIS ones.
77 | */
78 |
79 | /*------------------ COSMIC Compiler -------------------*/
80 | #elif defined ( __CSMC__ )
81 | #include
82 |
83 | #endif
84 |
85 | /*@} end of CMSIS_Core_RegAccFunctions */
86 |
87 | #endif /* __CORE_CMFUNC_H */
88 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/sysIrqHandlers.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Default IRQ handlers
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 |
17 | /*!
18 | * \brief This function handles NMI exception.
19 | * \param None
20 | * \retval None
21 | */
22 | void NMI_Handler( void )
23 | {
24 | }
25 |
26 | /*!
27 | * \brief This function handles Hard Fault exception.
28 | * \param None
29 | * \retval None
30 | */
31 | #if defined( HARD_FAULT_HANDLER_ENABLED )
32 | void HardFault_Handler_C( unsigned int *args )
33 | {
34 | volatile unsigned int stacked_r0;
35 | volatile unsigned int stacked_r1;
36 | volatile unsigned int stacked_r2;
37 | volatile unsigned int stacked_r3;
38 | volatile unsigned int stacked_r12;
39 | volatile unsigned int stacked_lr;
40 | volatile unsigned int stacked_pc;
41 | volatile unsigned int stacked_psr;
42 |
43 | stacked_r0 = ( ( unsigned long) args[0] );
44 | stacked_r1 = ( ( unsigned long) args[1] );
45 | stacked_r2 = ( ( unsigned long) args[2] );
46 | stacked_r3 = ( ( unsigned long) args[3] );
47 |
48 | stacked_r12 = ( ( unsigned long) args[4] );
49 | stacked_lr = ( ( unsigned long) args[5] );
50 | stacked_pc = ( ( unsigned long) args[6] );
51 | stacked_psr = ( ( unsigned long) args[7] );
52 |
53 | ( void )stacked_r0;
54 | ( void )stacked_r1;
55 | ( void )stacked_r2;
56 | ( void )stacked_r3;
57 |
58 | ( void )stacked_r12;
59 | ( void )stacked_lr ;
60 | ( void )stacked_pc ;
61 | ( void )stacked_psr;
62 |
63 | while( 1 );
64 | }
65 |
66 | #if defined(__CC_ARM)
67 | __asm void HardFault_Handler(void)
68 | {
69 | TST LR, #4
70 | ITE EQ
71 | MRSEQ r0, MSP
72 | MRSNE r0, PSP
73 | B __cpp(HardFault_Handler_C)
74 | }
75 | #elif defined(__ICCARM__)
76 | void HardFault_Handler(void)
77 | {
78 | __asm("TST LR, #4");
79 | __asm("ITE EQ");
80 | __asm("MRSEQ r0, MSP");
81 | __asm("MRSNE r0, PSP");
82 | __asm("B HardFault_Handler_C");
83 | }
84 | #elif defined(__GNUC__)
85 | void HardFault_Handler(void)
86 | {
87 | __asm volatile( "TST LR, #4" );
88 | __asm volatile( "ITE EQ" );
89 | __asm volatile( "MRSEQ R0, MSP" );
90 | __asm volatile( "MRSNE R0, PSP" );
91 | __asm volatile( "B HardFault_Handler_C" );
92 | }
93 | #else
94 | #warning Not supported compiler type
95 | #endif
96 |
97 | #endif
98 |
99 | /*!
100 | * \brief This function handles Memory Manage exception.
101 | * \param None
102 | * \retval None
103 | */
104 | void MemManage_Handler( void )
105 | {
106 | /* Go to infinite loop when Memory Manage exception occurs */
107 | while ( 1 )
108 | {
109 | }
110 | }
111 |
112 | /*!
113 | * \brief This function handles Bus Fault exception.
114 | * \param None
115 | * \retval None
116 | */
117 | void BusFault_Handler( void )
118 | {
119 | /* Go to infinite loop when Bus Fault exception occurs */
120 | while ( 1 )
121 | {
122 | }
123 | }
124 |
125 | /*!
126 | * \brief This function handles Usage Fault exception.
127 | * \param None
128 | * \retval None
129 | */
130 | void UsageFault_Handler( void )
131 | {
132 | /* Go to infinite loop when Usage Fault exception occurs */
133 | while ( 1 )
134 | {
135 | }
136 | }
137 |
138 | /*!
139 | * \brief This function handles Debug Monitor exception.
140 | * \param None
141 | * \retval None
142 | */
143 | void DebugMon_Handler( void )
144 | {
145 | }
146 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/utilities.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Helper functions implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include
16 | #include
17 | #include "board.h"
18 | #include "utilities.h"
19 |
20 | /*!
21 | * Redefinition of rand() and srand() standard C functions.
22 | * These functions are redefined in order to get the same behavior across
23 | * different compiler toolchains implementations.
24 | */
25 | // Standard random functions redefinition start
26 | #define RAND_LOCAL_MAX 2147483647L
27 |
28 | static uint32_t next = 1;
29 |
30 | int32_t rand1( void )
31 | {
32 | return ( ( next = next * 1103515245L + 12345L ) % RAND_LOCAL_MAX );
33 | }
34 |
35 | void srand1( uint32_t seed )
36 | {
37 | next = seed;
38 | }
39 | // Standard random functions redefinition end
40 |
41 | int32_t randr( int32_t min, int32_t max )
42 | {
43 | return ( int32_t )rand1( ) % ( max - min + 1 ) + min;
44 | }
45 |
46 | void memcpy1( uint8_t *dst, const uint8_t *src, uint16_t size )
47 | {
48 | while( size-- )
49 | {
50 | *dst++ = *src++;
51 | }
52 | }
53 |
54 | void memcpyr( uint8_t *dst, const uint8_t *src, uint16_t size )
55 | {
56 | dst = dst + ( size - 1 );
57 | while( size-- )
58 | {
59 | *dst-- = *src++;
60 | }
61 | }
62 |
63 | void memset1( uint8_t *dst, uint8_t value, uint16_t size )
64 | {
65 | while( size-- )
66 | {
67 | *dst++ = value;
68 | }
69 | }
70 |
71 | int8_t Nibble2HexChar( uint8_t a )
72 | {
73 | if( a < 10 )
74 | {
75 | return '0' + a;
76 | }
77 | else if( a < 16 )
78 | {
79 | return 'A' + ( a - 10 );
80 | }
81 | else
82 | {
83 | return '?';
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/src/boards/mcu/stm32/utilities.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Helper functions implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __UTILITIES_H__
16 | #define __UTILITIES_H__
17 |
18 | /*!
19 | * \brief Returns the minimum value between a and b
20 | *
21 | * \param [IN] a 1st value
22 | * \param [IN] b 2nd value
23 | * \retval minValue Minimum value
24 | */
25 | #define MIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) )
26 |
27 | /*!
28 | * \brief Returns the maximum value between a and b
29 | *
30 | * \param [IN] a 1st value
31 | * \param [IN] b 2nd value
32 | * \retval maxValue Maximum value
33 | */
34 | #define MAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) )
35 |
36 | /*!
37 | * \brief Returns 2 raised to the power of n
38 | *
39 | * \param [IN] n power value
40 | * \retval result of raising 2 to the power n
41 | */
42 | #define POW2( n ) ( 1 << n )
43 |
44 | /*!
45 | * \brief Initializes the pseudo random generator initial value
46 | *
47 | * \param [IN] seed Pseudo random generator initial value
48 | */
49 | void srand1( uint32_t seed );
50 |
51 | /*!
52 | * \brief Computes a random number between min and max
53 | *
54 | * \param [IN] min range minimum value
55 | * \param [IN] max range maximum value
56 | * \retval random random value in range min..max
57 | */
58 | int32_t randr( int32_t min, int32_t max );
59 |
60 | /*!
61 | * \brief Copies size elements of src array to dst array
62 | *
63 | * \remark STM32 Standard memcpy function only works on pointers that are aligned
64 | *
65 | * \param [OUT] dst Destination array
66 | * \param [IN] src Source array
67 | * \param [IN] size Number of bytes to be copied
68 | */
69 | void memcpy1( uint8_t *dst, const uint8_t *src, uint16_t size );
70 |
71 | /*!
72 | * \brief Copies size elements of src array to dst array reversing the byte order
73 | *
74 | * \param [OUT] dst Destination array
75 | * \param [IN] src Source array
76 | * \param [IN] size Number of bytes to be copied
77 | */
78 | void memcpyr( uint8_t *dst, const uint8_t *src, uint16_t size );
79 |
80 | /*!
81 | * \brief Set size elements of dst array with value
82 | *
83 | * \remark STM32 Standard memset function only works on pointers that are aligned
84 | *
85 | * \param [OUT] dst Destination array
86 | * \param [IN] value Default value
87 | * \param [IN] size Number of bytes to be copied
88 | */
89 | void memset1( uint8_t *dst, uint8_t value, uint16_t size );
90 |
91 | /*!
92 | * \brief Converts a nibble to an hexadecimal character
93 | *
94 | * \param [IN] a Nibble to be converted
95 | * \retval hexChar Converted hexadecimal character
96 | */
97 | int8_t Nibble2HexChar( uint8_t a );
98 |
99 | #endif // __UTILITIES_H__
100 |
--------------------------------------------------------------------------------
/src/mac/LoRaMacTest.h:
--------------------------------------------------------------------------------
1 | /*!
2 | * \file LoRaMacTest.h
3 | *
4 | * \brief LoRa MAC layer test function implementation
5 | *
6 | * \copyright Revised BSD License, see section \ref LICENSE.
7 | *
8 | * \code
9 | * ______ _
10 | * / _____) _ | |
11 | * ( (____ _____ ____ _| |_ _____ ____| |__
12 | * \____ \| ___ | (_ _) ___ |/ ___) _ \
13 | * _____) ) ____| | | || |_| ____( (___| | | |
14 | * (______/|_____)_|_|_| \__)_____)\____)_| |_|
15 | * (C)2013 Semtech
16 | *
17 | * ___ _____ _ ___ _ _____ ___ ___ ___ ___
18 | * / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
19 | * \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
20 | * |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
21 | * embedded.connectivity.solutions===============
22 | *
23 | * \endcode
24 | *
25 | * \author Miguel Luis ( Semtech )
26 | *
27 | * \author Gregory Cristian ( Semtech )
28 | *
29 | * \author Daniel Jaeckle ( STACKFORCE )
30 | *
31 | * \defgroup LORAMACTEST LoRa MAC layer test function implementation
32 | * This module specifies the API implementation of test function of the LoRaMAC layer.
33 | * The functions in this file are only for testing purposes only.
34 | * \{
35 | */
36 | #ifndef __LORAMACTEST_H__
37 | #define __LORAMACTEST_H__
38 |
39 | /*!
40 | * \brief Enabled or disables the reception windows
41 | *
42 | * \details This is a test function. It shall be used for testing purposes only.
43 | * Changing this attribute may lead to a non-conformance LoRaMac operation.
44 | *
45 | * \param [IN] enable - Enabled or disables the reception windows
46 | */
47 | void LoRaMacTestRxWindowsOn( bool enable );
48 |
49 | /*!
50 | * \brief Enables the MIC field test
51 | *
52 | * \details This is a test function. It shall be used for testing purposes only.
53 | * Changing this attribute may lead to a non-conformance LoRaMac operation.
54 | *
55 | * \param [IN] txPacketCounter - Fixed Tx packet counter value
56 | */
57 | void LoRaMacTestSetMic( uint16_t txPacketCounter );
58 |
59 | /*!
60 | * \brief Enabled or disables the duty cycle
61 | *
62 | * \details This is a test function. It shall be used for testing purposes only.
63 | * Changing this attribute may lead to a non-conformance LoRaMac operation.
64 | *
65 | * \param [IN] enable - Enabled or disables the duty cycle
66 | */
67 | void LoRaMacTestSetDutyCycleOn( bool enable );
68 |
69 | /*!
70 | * \brief Sets the channel index
71 | *
72 | * \details This is a test function. It shall be used for testing purposes only.
73 | * Changing this attribute may lead to a non-conformance LoRaMac operation.
74 | *
75 | * \param [IN] channel - Channel index
76 | */
77 | void LoRaMacTestSetChannel( uint8_t channel );
78 |
79 | /*! \} defgroup LORAMACTEST */
80 |
81 | #endif // __LORAMACTEST_H__
82 |
--------------------------------------------------------------------------------
/src/peripherals/gpio-ioe.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: IO expander driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __GPIO_IOE_H__
16 | #define __GPIO_IOE_H__
17 |
18 | /*!
19 | * \brief Initializes the given GPIO object
20 | *
21 | * \param [IN] obj Pointer to the GPIO object to be initialized
22 | * \param [IN] pin Pin name ( please look in pinName-board.h file )
23 | * \param [IN] mode Pin mode [PIN_INPUT, PIN_OUTPUT,
24 | * PIN_ALTERNATE_FCT, PIN_ANALOGIC]
25 | * \param [IN] config Pin config [PIN_PUSH_PULL, PIN_OPEN_DRAIN]
26 | * \param [IN] type Pin type [PIN_NO_PULL, PIN_PULL_UP, PIN_PULL_DOWN]
27 | * \param [IN] value Default output value at initialization
28 | */
29 | void GpioIoeInit( Gpio_t *obj, PinNames pin, PinModes mode, PinConfigs config, PinTypes type, uint32_t value );
30 |
31 | /*!
32 | * \brief GPIO IRQ Initialization
33 | *
34 | * \param [IN] obj Pointer to the GPIO object to be initialized
35 | * \param [IN] irqMode IRQ mode [NO_IRQ, IRQ_RISING_EDGE,
36 | * IRQ_FALLING_EDGE, IRQ_RISING_FALLING_EDGE]
37 | * \param [IN] irqPriority IRQ priority [IRQ_VERY_LOW_PRIORITY, IRQ_LOW_PRIORITY
38 | * IRQ_MEDIUM_PRIORITY, IRQ_HIGH_PRIORITY
39 | * IRQ_VERY_HIGH_PRIORITY]
40 | * \param [IN] irqHandler Callback function pointer
41 | */
42 | void GpioIoeSetInterrupt( Gpio_t *obj, IrqModes irqMode, IrqPriorities irqPriority, GpioIrqHandler *irqHandler );
43 |
44 | /*!
45 | * \brief Writes the given value to the GPIO output
46 | *
47 | * \param [IN] obj Pointer to the GPIO object
48 | * \param [IN] value New GPIO output value
49 | */
50 | void GpioIoeWrite( Gpio_t *obj, uint32_t value );
51 |
52 | /*!
53 | * \brief Reads the current GPIO input value
54 | *
55 | * \param [IN] obj Pointer to the GPIO object
56 | * \retval value Current GPIO input value
57 | */
58 | uint32_t GpioIoeRead( Gpio_t *obj );
59 |
60 | /*!
61 | * \brief GpioIoeInterruptHandler callback function.
62 | */
63 | void GpioIoeInterruptHandler( void );
64 |
65 | #endif // __GPIO_IOE_H__
66 |
--------------------------------------------------------------------------------
/src/peripherals/mag3110.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Driver for the MAG3110 Magnetometer
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 | #include "mag3110.h"
17 |
18 | static uint8_t I2cDeviceAddr = 0;
19 | static bool MAG3110Initialized = false;
20 |
21 | uint8_t MAG3110Init( void )
22 | {
23 | uint8_t regVal = 0;
24 |
25 | MAG3110SetDeviceAddr( MAG3110_I2C_ADDRESS );
26 |
27 | if( MAG3110Initialized == false )
28 | {
29 | MAG3110Initialized = true;
30 |
31 | MAG3110Read( MAG3110_ID, ®Val );
32 | if( regVal != 0xC4 ) // Fixed Device ID Number = 0xC4
33 | {
34 | return FAIL;
35 | }
36 |
37 | MAG3110Reset( );
38 | }
39 | return SUCCESS;
40 | }
41 |
42 | uint8_t MAG3110Reset( void )
43 | {
44 | if( MAG3110Write( 0x11, 0x10 ) == SUCCESS ) // Reset the MAG3110 with CTRL_REG2
45 | {
46 | return SUCCESS;
47 | }
48 | return FAIL;
49 | }
50 |
51 | uint8_t MAG3110Write( uint8_t addr, uint8_t data )
52 | {
53 | return MAG3110WriteBuffer( addr, &data, 1 );
54 | }
55 |
56 | uint8_t MAG3110WriteBuffer( uint8_t addr, uint8_t *data, uint8_t size )
57 | {
58 | return I2cWriteBuffer( &I2c, I2cDeviceAddr << 1, addr, data, size );
59 | }
60 |
61 | uint8_t MAG3110Read( uint8_t addr, uint8_t *data )
62 | {
63 | return MAG3110ReadBuffer( addr, data, 1 );
64 | }
65 |
66 | uint8_t MAG3110ReadBuffer( uint8_t addr, uint8_t *data, uint8_t size )
67 | {
68 | return I2cReadBuffer( &I2c, I2cDeviceAddr << 1, addr, data, size );
69 | }
70 |
71 | void MAG3110SetDeviceAddr( uint8_t addr )
72 | {
73 | I2cDeviceAddr = addr;
74 | }
75 |
76 | uint8_t MAG3110GetDeviceAddr( void )
77 | {
78 | return I2cDeviceAddr;
79 | }
80 |
--------------------------------------------------------------------------------
/src/peripherals/mag3110.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Driver for the MAG3110 Magnetometer
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __MAG3110_H__
16 | #define __MAG3110_H__
17 |
18 | /*!
19 | * MAG3110 I2C address
20 | */
21 | #define MAG3110_I2C_ADDRESS 0x0E
22 |
23 | /*!
24 | * MAG3110 Registers
25 | */
26 | #define MAG3110_ID 0x07
27 |
28 | /*!
29 | * \brief Initializes the device
30 | *
31 | * \retval status [SUCCESS, FAIL]
32 | */
33 | uint8_t MAG3110Init( void );
34 |
35 | /*!
36 | * \brief Resets the device
37 | *
38 | * \retval status [SUCCESS, FAIL]
39 | */
40 | uint8_t MAG3110Reset( void );
41 |
42 | /*!
43 | * \brief Writes a byte at specified address in the device
44 | *
45 | * \param [IN]: addr
46 | * \param [IN]: data
47 | * \retval status [SUCCESS, FAIL]
48 | */
49 | uint8_t MAG3110Write( uint8_t addr, uint8_t data );
50 |
51 | /*!
52 | * \brief Writes a buffer at specified address in the device
53 | *
54 | * \param [IN]: addr
55 | * \param [IN]: data
56 | * \param [IN]: size
57 | * \retval status [SUCCESS, FAIL]
58 | */
59 | uint8_t MAG3110WriteBuffer( uint8_t addr, uint8_t *data, uint8_t size );
60 |
61 | /*!
62 | * \brief Reads a byte at specified address in the device
63 | *
64 | * \param [IN]: addr
65 | * \param [OUT]: data
66 | * \retval status [SUCCESS, FAIL]
67 | */
68 | uint8_t MAG3110Read( uint8_t addr, uint8_t *data );
69 |
70 | /*!
71 | * \brief Reads a buffer at specified address in the device
72 | *
73 | * \param [IN]: addr
74 | * \param [OUT]: data
75 | * \param [IN]: size
76 | * \retval status [SUCCESS, FAIL]
77 | */
78 | uint8_t MAG3110ReadBuffer( uint8_t addr, uint8_t *data, uint8_t size );
79 |
80 | /*!
81 | * \brief Sets the I2C device slave address
82 | *
83 | * \param [IN]: addr
84 | */
85 | void MAG3110SetDeviceAddr( uint8_t addr );
86 |
87 | /*!
88 | * \brief Gets the I2C device slave address
89 | *
90 | * \retval: addr Current device slave address
91 | */
92 | uint8_t MAG3110GetDeviceAddr( void );
93 |
94 | #endif // __MAG3110_H__
95 |
--------------------------------------------------------------------------------
/src/peripherals/mma8451.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Driver for the MMA8451 Accelerometer
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __MMA8451_H__
16 | #define __MMA8451_H__
17 |
18 | /*
19 | * MMA8451 I2C address
20 | */
21 | #define MMA8451_I2C_ADDRESS 0x1C
22 |
23 | /*
24 | * MMA8451 Registers
25 | */
26 | #define MMA8451_STATUS 0x00 //
27 | #define MMA8451_OUT_X_MSB 0x01 //
28 | #define MMA8451_SYSMOD 0x0B //
29 | #define MMA8451_INT_SOURCE 0x0C //
30 | #define MMA8451_ID 0x0D //
31 | #define MMA8451_PL_STATUS 0x10 //
32 | #define MMA8451_PL_CFG 0x11 //
33 | #define MMA8451_PL_COUNT 0x12 // Orientation debounce
34 | #define MMA8451_PL_BF_ZCOMP 0x13 //
35 | #define MMA8451_PL_THS_REG 0x14 //
36 | #define MMA8451_FF_MT_SRC 0x16 //
37 | #define MMA8451_TRANSIENT_CFG 0x1D // Transient enable
38 | #define MMA8451_TRANSIENT_SRC 0x1E // Transient read/clear interrupt
39 | #define MMA8451_TRANSIENT_THS 0x1F // Transient threshold
40 | #define MMA8451_TRANSIENT_COUNT 0x20 // Transient debounce
41 | #define MMA8451_PULSE_SRC 0x22 //
42 | #define MMA8451_CTRL_REG1 0x2A //
43 | #define MMA8451_CTRL_REG2 0x2B //
44 | #define MMA8451_CTRL_REG3 0x2C // Interrupt control
45 | #define MMA8451_CTRL_REG4 0x2D // Interrupt enable
46 | #define MMA8451_CTRL_REG5 0x2E // Interrupt pin selection
47 |
48 | /*!
49 | * \brief Initializes the device
50 | *
51 | * \retval status [SUCCESS, FAIL]
52 | */
53 | uint8_t MMA8451Init( void );
54 |
55 | /*!
56 | * \brief Resets the device
57 | *
58 | * \retval status [SUCCESS, FAIL]
59 | */
60 | uint8_t MMA8451Reset( void );
61 |
62 | /*!
63 | * \brief Initializes the orientation detection
64 | */
65 | void MMA8451OrientDetect( void );
66 |
67 | /*!
68 | * \brief Gets the orientation state.
69 | *
70 | * \retval orientation Bit 6 [1: Horizontal, 0: Vertical]
71 | * Bit 0 [1: Face down, 0: Face up]
72 | * Other bits don't care.
73 | */
74 | uint8_t MMA8451GetOrientation( void );
75 |
76 | #endif // __MMA8451_H__
77 |
--------------------------------------------------------------------------------
/src/peripherals/mpl3115.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuvanCheng/LoRa/94fa4aba1c84073674caa37a59d6a0f6a29591fa/src/peripherals/mpl3115.c
--------------------------------------------------------------------------------
/src/peripherals/pam7q.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2016 Semtech
8 |
9 | Description: Driver for the SX1509 IO expander
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 | #include "pam7q.h"
17 |
18 | static uint8_t I2cDeviceAddr = 0;
19 |
20 | void PAM7QInit( void )
21 | {
22 | PAM7QSetDeviceAddr( PAM7Q_I2C_ADDRESS );
23 | }
24 |
25 | bool PAM7QGetGpsData( uint8_t *nmeaString, uint8_t *nmeaStringSize, uint16_t nmeaMaxStringSize )
26 | {
27 | uint8_t status;
28 | uint16_t pendingBytes;
29 | bool result = false;
30 |
31 | *nmeaStringSize = 0;
32 |
33 | status = PAM7QReadBuffer( MESSAGE_SIZE_1, nmeaString, 2 );
34 |
35 | if( status == SUCCESS )
36 | {
37 | // build a 16bit number
38 | pendingBytes = ( uint16_t )( ( nmeaString[0] << 8 ) | nmeaString[1] );
39 |
40 | // check for invalid length
41 | if( pendingBytes == 0xFFFF )
42 | {
43 | pendingBytes = 0;
44 | }
45 | // just to buffer size
46 | if( pendingBytes > ( nmeaMaxStringSize - 1 ) )
47 | {
48 | pendingBytes = nmeaMaxStringSize - 1;
49 | }
50 |
51 | // read pending data from GPS module
52 | status = PAM7QReadBuffer( PAYLOAD, nmeaString, pendingBytes );
53 |
54 | // make sure the string is terminated
55 | if( status == SUCCESS )
56 | {
57 | nmeaString[pendingBytes] = 0x00;
58 |
59 | // copy length indication to argument
60 | *nmeaStringSize = pendingBytes;
61 |
62 | // return success only if there is data to process
63 | if( pendingBytes > 0 )
64 | {
65 | result = true;
66 | }
67 | }
68 | }
69 | return result;
70 | }
71 |
72 | uint8_t PAM7QGetDeviceAddr( void )
73 | {
74 | return I2cDeviceAddr;
75 | }
76 |
77 | void PAM7QSetDeviceAddr( uint8_t addr )
78 | {
79 | I2cDeviceAddr = addr;
80 | }
81 |
82 | uint8_t PAM7QWrite( uint8_t addr, uint8_t data )
83 | {
84 | return PAM7QWriteBuffer( addr, &data, 1 );
85 | }
86 |
87 | uint8_t PAM7QWriteBuffer( uint8_t addr, uint8_t *data, uint8_t size )
88 | {
89 | return I2cWriteBuffer( &I2c, I2cDeviceAddr << 1, addr, data, size );
90 | }
91 |
92 | uint8_t PAM7QRead( uint8_t addr, uint8_t *data )
93 | {
94 | return PAM7QReadBuffer( addr, data, 1 );
95 | }
96 |
97 | uint8_t PAM7QReadBuffer( uint8_t addr, uint8_t *data, uint8_t size )
98 | {
99 | return I2cReadBuffer( &I2c, I2cDeviceAddr << 1, addr, data, size );
100 | }
101 |
--------------------------------------------------------------------------------
/src/peripherals/pam7q.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2016 Semtech
8 |
9 | Description: Driver for the SX1509 IO expander
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __PAM7Q_H__
16 | #define __PAM7Q_H__
17 |
18 | void PAM7QInit( void );
19 |
20 | uint8_t PAM7QGetDeviceAddr( void );
21 |
22 | void PAM7QSetDeviceAddr( uint8_t addr );
23 |
24 | bool PAM7QGetGpsData( uint8_t *nmeaString, uint8_t *nmeaStringSize, uint16_t nmeaMaxStringSize );
25 |
26 | uint8_t PAM7QWrite( uint8_t addr, uint8_t data );
27 |
28 | uint8_t PAM7QWriteBuffer( uint8_t addr, uint8_t *data, uint8_t size );
29 |
30 | uint8_t PAM7QRead( uint8_t addr, uint8_t *data );
31 |
32 | uint8_t PAM7QReadBuffer( uint8_t addr, uint8_t *data, uint8_t size );
33 |
34 | void GpsMcuOnPpsSignal( void );
35 |
36 | /*
37 | * MPL3115A2 I2C address
38 | */
39 | #define PAM7Q_I2C_ADDRESS 0x42
40 |
41 | #define MESSAGE_SIZE_1 0xFD
42 | #define MESSAGE_SIZE_2 0xFE
43 |
44 | #define PAYLOAD 0xFF
45 |
46 |
47 | #endif // __PAM7Q_H__
48 |
49 |
--------------------------------------------------------------------------------
/src/peripherals/selector.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Hex coder selector driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 |
17 | #include "selector.h"
18 |
19 | uint8_t SelectorGetValue( void )
20 | {
21 | /*!
22 | * Hex coder selector GPIO pins objects
23 | */
24 | Gpio_t Sel1;
25 | Gpio_t Sel2;
26 | Gpio_t Sel3;
27 | Gpio_t Sel4;
28 |
29 | uint8_t i = 0;
30 | uint8_t j = 0;
31 | uint8_t k = 255;
32 |
33 | // Active
34 | GpioInit( &Sel1, SEL_1, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
35 | GpioInit( &Sel2, SEL_2, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
36 | GpioInit( &Sel3, SEL_3, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
37 | GpioInit( &Sel4, SEL_4, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
38 |
39 | do
40 | {
41 | j = i;
42 | k = j;
43 | // 1 ms delay between checks
44 | DelayMs( 1 );
45 | i = !GpioRead( &Sel1 );
46 | i += 2 * !GpioRead( &Sel2 );
47 | i += 4 * !GpioRead( &Sel3 );
48 | i += 8 * !GpioRead( &Sel4 );
49 | } while( ( i != j ) && ( i != k ) ); // Waits for 3 successive values to be equal
50 |
51 | // Sleep
52 | GpioInit( &Sel1, SEL_1, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
53 | GpioInit( &Sel2, SEL_2, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
54 | GpioInit( &Sel3, SEL_3, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
55 | GpioInit( &Sel4, SEL_4, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
56 |
57 | return i;
58 | }
59 |
--------------------------------------------------------------------------------
/src/peripherals/selector.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Hex coder selector driver implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __SELECTOR_H__
16 | #define __SELECTOR_H__
17 |
18 | /*!
19 | * Gets the current hex coder selector position
20 | *
21 | * \retval position Hex coder current position ( On error position = 255 )
22 | */
23 | uint8_t SelectorGetValue( void );
24 |
25 | #endif // __SELECTOR_H__
26 |
--------------------------------------------------------------------------------
/src/peripherals/sx1509.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Driver for the SX1509 IO expander
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 | #include "sx1509.h"
17 |
18 | static uint8_t I2cDeviceAddr = 0;
19 |
20 | static bool SX1509Initialized = false;
21 |
22 | void SX1509Init( void )
23 | {
24 | if( SX1509Initialized == false )
25 | {
26 | SX1509SetDeviceAddr( SX1509_I2C_ADDRESS );
27 | SX1509Initialized = true;
28 |
29 | SX1509Reset( );
30 | }
31 | }
32 |
33 | uint8_t SX1509Reset( )
34 | {
35 | if( SX1509Write( RegReset, 0x12 ) == SUCCESS )
36 | {
37 | if( SX1509Write( RegReset, 0x34 ) == SUCCESS )
38 | {
39 | return SUCCESS;
40 | }
41 | }
42 | return FAIL;
43 | }
44 |
45 | uint8_t SX1509Write( uint8_t addr, uint8_t data )
46 | {
47 | return SX1509WriteBuffer( addr, &data, 1 );
48 | }
49 |
50 | uint8_t SX1509WriteBuffer( uint8_t addr, uint8_t *data, uint8_t size )
51 | {
52 | return I2cWriteBuffer( &I2c, I2cDeviceAddr << 1, addr, data, size );
53 | }
54 |
55 | uint8_t SX1509Read( uint8_t addr, uint8_t *data )
56 | {
57 | return SX1509ReadBuffer( addr, data, 1 );
58 | }
59 |
60 | uint8_t SX1509ReadBuffer( uint8_t addr, uint8_t *data, uint8_t size )
61 | {
62 | return I2cReadBuffer( &I2c, I2cDeviceAddr << 1, addr, data, size );
63 | }
64 |
65 | void SX1509SetDeviceAddr( uint8_t addr )
66 | {
67 | I2cDeviceAddr = addr;
68 | }
69 |
70 | uint8_t SX1509GetDeviceAddr( void )
71 | {
72 | return I2cDeviceAddr;
73 | }
74 |
--------------------------------------------------------------------------------
/src/peripherals/sx9500.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Driver for the SX9500 proximity sensor
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 | #include "sx9500.h"
17 |
18 | static uint8_t I2cDeviceAddr = 0;
19 |
20 | static bool SX9500Initialized = false;
21 |
22 | uint8_t SX9500Init( void )
23 | {
24 | uint8_t regVal = 0;
25 |
26 | SX9500SetDeviceAddr( SX9500_I2C_ADDRESS );
27 |
28 | if( SX9500Initialized == false )
29 | {
30 | SX9500Initialized = true;
31 |
32 | SX9500Read( SX9500_REG_PROXCTRL0, ®Val );
33 | if( regVal != 0x0F )
34 | {
35 | return FAIL;
36 | }
37 |
38 | SX9500Reset( );
39 | }
40 | return SUCCESS;
41 | }
42 |
43 | uint8_t SX9500Reset( )
44 | {
45 | if( SX9500Write( SX9500_REG_RESET, SX9500_RESET_CMD ) == SUCCESS )
46 | {
47 | return SUCCESS;
48 | }
49 | return FAIL;
50 | }
51 |
52 | uint8_t SX9500Write( uint8_t addr, uint8_t data )
53 | {
54 | return SX9500WriteBuffer( addr, &data, 1 );
55 | }
56 |
57 | uint8_t SX9500WriteBuffer( uint8_t addr, uint8_t *data, uint8_t size )
58 | {
59 | return I2cWriteBuffer( &I2c, I2cDeviceAddr << 1, addr, data, size );
60 | }
61 |
62 | uint8_t SX9500Read( uint8_t addr, uint8_t *data )
63 | {
64 | return SX9500ReadBuffer( addr, data, 1 );
65 | }
66 |
67 | uint8_t SX9500ReadBuffer( uint8_t addr, uint8_t *data, uint8_t size )
68 | {
69 | return I2cReadBuffer( &I2c, I2cDeviceAddr << 1, addr, data, size );
70 | }
71 |
72 | void SX9500SetDeviceAddr( uint8_t addr )
73 | {
74 | I2cDeviceAddr = addr;
75 | }
76 |
77 | uint8_t SX9500GetDeviceAddr( void )
78 | {
79 | return I2cDeviceAddr;
80 | }
81 |
82 | void SX9500LockUntilDetection( void )
83 | {
84 | uint8_t val = 0;
85 |
86 | SX9500Write( SX9500_REG_RESET, SX9500_RESET_CMD );
87 | SX9500Read( SX9500_REG_IRQSRC, &val );
88 | SX9500Read( SX9500_REG_STAT, &val );
89 |
90 | SX9500Write( SX9500_REG_PROXCTRL0, 0x0F );
91 | SX9500Write( SX9500_REG_PROXCTRL1, 0x43 );
92 | SX9500Write( SX9500_REG_PROXCTRL2, 0x77 );
93 | SX9500Write( SX9500_REG_PROXCTRL3, 0x01 );
94 | SX9500Write( SX9500_REG_PROXCTRL4, 0x30 );
95 | SX9500Write( SX9500_REG_PROXCTRL5, 0x0F );
96 | SX9500Write( SX9500_REG_PROXCTRL6, 0x04 );
97 | SX9500Write( SX9500_REG_PROXCTRL7, 0x40 );
98 | SX9500Write( SX9500_REG_PROXCTRL8, 0x00 );
99 | SX9500Write( SX9500_REG_IRQMSK, 0x60 );
100 |
101 | val = 0;
102 |
103 | while( ( val & 0xF0 ) == 0x00 )
104 | {
105 | SX9500Read( SX9500_REG_STAT, &val );
106 | }
107 |
108 | SX9500Read( SX9500_REG_STAT, &val );
109 | SX9500Read( SX9500_REG_IRQSRC, &val );
110 | }
111 |
--------------------------------------------------------------------------------
/src/peripherals/sx9500.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Driver for the SX9500 proximity sensor
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __SX9500_H__
16 | #define __SX9500_H__
17 |
18 | #define SX9500_I2C_ADDRESS 0x28
19 |
20 | #define SX9500_REG_IRQSRC 0x00
21 | #define SX9500_REG_STAT 0x01
22 | #define SX9500_REG_IRQMSK 0x03
23 | #define SX9500_REG_PROXCTRL0 0x06
24 | #define SX9500_REG_PROXCTRL1 0x07
25 | #define SX9500_REG_PROXCTRL2 0x08
26 | #define SX9500_REG_PROXCTRL3 0x09
27 | #define SX9500_REG_PROXCTRL4 0x0A
28 | #define SX9500_REG_PROXCTRL5 0x0B
29 | #define SX9500_REG_PROXCTRL6 0x0C
30 | #define SX9500_REG_PROXCTRL7 0x0D
31 | #define SX9500_REG_PROXCTRL8 0x0E
32 | #define SX9500_REG_SENSORSEL 0x20
33 | #define SX9500_REG_USEMSB 0x21
34 | #define SX9500_REG_USELSB 0x22
35 | #define SX9500_REG_AVGMSB 0x23
36 | #define SX9500_REG_AVGLSB 0x24
37 | #define SX9500_REG_DIFFMSB 0x25
38 | #define SX9500_REG_DIFFLSB 0x26
39 | #define SX9500_REG_OFFSETMSB 0x27
40 | #define SX9500_REG_OFFSETLSB 0x28
41 | #define SX9500_REG_RESET 0x7F
42 |
43 | #define SX9500_RESET_CMD 0xDE
44 |
45 | uint8_t SX9500Init( void );
46 |
47 | /*!
48 | * \brief Resets the device
49 | *
50 | * \retval status [OK, ERROR, UNSUPPORTED]
51 | */
52 | uint8_t SX9500Reset( void );
53 |
54 | /*!
55 | * \brief Writes a byte at specified address in the device
56 | *
57 | * \param [IN]: addr
58 | * \param [IN]: data
59 | * \retval status [OK, ERROR, UNSUPPORTED]
60 | */
61 | uint8_t SX9500Write( uint8_t addr, uint8_t data );
62 |
63 | /*!
64 | * \brief Writes a buffer at specified address in the device
65 | *
66 | * \param [IN]: addr
67 | * \param [IN]: data
68 | * \param [IN]: size
69 | * \retval status [OK, ERROR, UNSUPPORTED]
70 | */
71 | uint8_t SX9500WriteBuffer( uint8_t addr, uint8_t *data, uint8_t size );
72 |
73 | /*!
74 | * \brief Reads a byte at specified address in the device
75 | *
76 | * \param [IN]: addr
77 | * \param [OUT]: data
78 | * \retval status [OK, ERROR, UNSUPPORTED]
79 | */
80 | uint8_t SX9500Read( uint8_t addr, uint8_t *data );
81 |
82 | /*!
83 | * \brief Reads a buffer at specified address in the device
84 | *
85 | * \param [IN]: addr
86 | * \param [OUT]: data
87 | * \param [IN]: size
88 | * \retval status [OK, ERROR, UNSUPPORTED]
89 | */
90 | uint8_t SX9500ReadBuffer( uint8_t addr, uint8_t *data, uint8_t size );
91 |
92 | /*!
93 | * \brief Sets the I2C device slave address
94 | *
95 | * \param [IN]: addr
96 | */
97 | void SX9500SetDeviceAddr( uint8_t addr );
98 |
99 | /*!
100 | * \brief Gets the I2C device slave address
101 | *
102 | * \retval: addr Current device slave address
103 | */
104 | uint8_t SX9500GetDeviceAddr( void );
105 |
106 | /*!
107 | * \brief Goes into a loop until a successful capacitive proximity detection
108 | */
109 | void SX9500LockUntilDetection( void );
110 |
111 | #endif // __SX1509_H__
112 |
--------------------------------------------------------------------------------
/src/system/adc.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Implements a generic ADC driver
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 | #include "adc-board.h"
17 |
18 | /*!
19 | * Flag to indicates if the ADC is initialized
20 | */
21 | static bool AdcInitialized = false;
22 |
23 | void AdcInit( Adc_t *obj, PinNames adcInput )
24 | {
25 | if( AdcInitialized == false )
26 | {
27 | AdcInitialized = true;
28 |
29 | AdcMcuInit( obj, adcInput );
30 | AdcMcuConfig( );
31 | }
32 | }
33 |
34 | void AdcDeInit( Adc_t *obj )
35 | {
36 | AdcInitialized = false;
37 | }
38 |
39 | uint16_t AdcReadChannel( Adc_t *obj, uint32_t channel )
40 | {
41 | if( AdcInitialized == true )
42 | {
43 | return AdcMcuReadChannel( obj, channel );
44 | }
45 | else
46 | {
47 | return 0;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/system/adc.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Implements a generic ADC driver
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __ADC_H__
16 | #define __ADC_H__
17 |
18 | /*!
19 | * ADC object type definition
20 | */
21 | typedef struct
22 | {
23 | Gpio_t AdcInput;
24 | }Adc_t;
25 |
26 | /*!
27 | * \brief Initializes the ADC input
28 | *
29 | * \param [IN] obj ADC object
30 | * \param [IN] scl ADC input pin name to be used
31 | */
32 | void AdcInit( Adc_t *obj, PinNames adcInput );
33 |
34 | /*!
35 | * \brief DeInitializes the ADC
36 | *
37 | * \param [IN] obj ADC object
38 | */
39 | void AdcDeInit( Adc_t *obj );
40 |
41 | /*!
42 | * \brief Read the analogue voltage value
43 | *
44 | * \param [IN] obj ADC object
45 | * \param [IN] channel ADC channel
46 | * \retval value Analogue pin value
47 | */
48 | uint16_t AdcReadChannel( Adc_t *obj, uint32_t channel );
49 |
50 | #endif // __ADC_H__
51 |
--------------------------------------------------------------------------------
/src/system/crypto/cmac.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************
2 | Copyright (C) 2009 Lander Casado, Philippas Tsigas
3 |
4 | All rights reserved.
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files
8 | (the "Software"), to deal with the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | Redistributions of source code must retain the above copyright notice,
15 | this list of conditions and the following disclaimers. Redistributions in
16 | binary form must reproduce the above copyright notice, this list of
17 | conditions and the following disclaimers in the documentation and/or
18 | other materials provided with the distribution.
19 |
20 | In no event shall the authors or copyright holders be liable for any special,
21 | incidental, indirect or consequential damages of any kind, or any damages
22 | whatsoever resulting from loss of use, data or profits, whether or not
23 | advised of the possibility of damage, and on any theory of liability,
24 | arising out of or in connection with the use or performance of this software.
25 |
26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
27 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29 | CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
31 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
32 | DEALINGS WITH THE SOFTWARE
33 |
34 | *****************************************************************************/
35 |
36 | #ifndef _CMAC_H_
37 | #define _CMAC_H_
38 |
39 | #include "aes.h"
40 |
41 | #define AES_CMAC_KEY_LENGTH 16
42 | #define AES_CMAC_DIGEST_LENGTH 16
43 |
44 | typedef struct _AES_CMAC_CTX {
45 | aes_context rijndael;
46 | uint8_t X[16];
47 | uint8_t M_last[16];
48 | uint32_t M_n;
49 | } AES_CMAC_CTX;
50 |
51 | //#include
52 |
53 | //__BEGIN_DECLS
54 | void AES_CMAC_Init(AES_CMAC_CTX * ctx);
55 | void AES_CMAC_SetKey(AES_CMAC_CTX * ctx, const uint8_t key[AES_CMAC_KEY_LENGTH]);
56 | void AES_CMAC_Update(AES_CMAC_CTX * ctx, const uint8_t * data, uint32_t len);
57 | // __attribute__((__bounded__(__string__,2,3)));
58 | void AES_CMAC_Final(uint8_t digest[AES_CMAC_DIGEST_LENGTH], AES_CMAC_CTX * ctx);
59 | // __attribute__((__bounded__(__minbytes__,1,AES_CMAC_DIGEST_LENGTH)));
60 | //__END_DECLS
61 |
62 | #endif /* _CMAC_H_ */
63 |
64 |
--------------------------------------------------------------------------------
/src/system/delay.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Delay functions implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 |
17 | void Delay( float s )
18 | {
19 | DelayMs( s * 1000.0f );
20 | }
21 |
22 | void DelayMs( uint32_t ms )
23 | {
24 | HAL_Delay( ms );
25 | }
26 |
--------------------------------------------------------------------------------
/src/system/delay.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Delay functions implementation
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __DELAY_H__
16 | #define __DELAY_H__
17 |
18 | /*!
19 | * Blocking delay of "s" seconds
20 | */
21 | void Delay( float s );
22 |
23 | /*!
24 | * Blocking delay of "ms" milliseconds
25 | */
26 | void DelayMs( uint32_t ms );
27 |
28 | #endif // __DELAY_H__
29 |
30 |
--------------------------------------------------------------------------------
/src/system/eeprom.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Timer objects and scheduling management
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 |
17 | #include "eeprom-board.h"
18 |
19 | uint8_t EepromWriteBuffer( uint16_t addr, uint8_t *buffer, uint16_t size )
20 | {
21 | return EepromMcuWriteBuffer( addr, buffer, size );
22 | }
23 |
24 | uint8_t EepromReadBuffer( uint16_t addr, uint8_t *buffer, uint16_t size )
25 | {
26 | return EepromMcuReadBuffer( addr, buffer, size );
27 | }
28 |
29 | void EepromSetDeviceAddr( uint8_t addr )
30 | {
31 | EepromMcuSetDeviceAddr( addr );
32 | }
33 |
34 | uint8_t EepromGetDeviceAddr( void )
35 | {
36 | return EepromMcuGetDeviceAddr( );
37 | }
38 |
--------------------------------------------------------------------------------
/src/system/eeprom.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Timer objects and scheduling management
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __EEPROM_H__
16 | #define __EEPROM_H__
17 |
18 | /*!
19 | * Writes the given buffer to the EEPROM at the specified address.
20 | *
21 | * \param[IN] addr EEPROM address to write to
22 | * \param[IN] buffer Pointer to the buffer to be written.
23 | * \param[IN] size Size of the buffer to be written.
24 | * \retval status [SUCCESS, FAIL]
25 | */
26 | uint8_t EepromWriteBuffer( uint16_t addr, uint8_t *buffer, uint16_t size );
27 |
28 | /*!
29 | * Reads the EEPROM at the specified address to the given buffer.
30 | *
31 | * \param[IN] addr EEPROM address to read from
32 | * \param[OUT] buffer Pointer to the buffer to be written with read data.
33 | * \param[IN] size Size of the buffer to be read.
34 | * \retval status [SUCCESS, FAIL]
35 | */
36 | uint8_t EepromReadBuffer( uint16_t addr, uint8_t *buffer, uint16_t size );
37 |
38 | /*!
39 | * Sets the device address.
40 | *
41 | * \remark Useful for I2C external EEPROMS
42 | *
43 | * \param[IN] addr External EEPROM address
44 | */
45 | void EepromSetDeviceAddr( uint8_t addr );
46 |
47 | /*!
48 | * Gets the current device address.
49 | *
50 | * \remark Useful for I2C external EEPROMS
51 | *
52 | * \retval addr External EEPROM address
53 | */
54 | uint8_t EepromGetDeviceAddr( void );
55 |
56 | #endif // __EEPROM_H__
57 |
--------------------------------------------------------------------------------
/src/system/fifo.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Implements a FIFO buffer
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "fifo.h"
16 |
17 | static uint16_t FifoNext( Fifo_t *fifo, uint16_t index )
18 | {
19 | return ( index + 1 ) % fifo->Size;
20 | }
21 |
22 | void FifoInit( Fifo_t *fifo, uint8_t *buffer, uint16_t size )
23 | {
24 | fifo->Begin = 0;
25 | fifo->End = 0;
26 | fifo->Data = buffer;
27 | fifo->Size = size;
28 | }
29 |
30 | void FifoPush( Fifo_t *fifo, uint8_t data )
31 | {
32 | fifo->End = FifoNext( fifo, fifo->End );
33 | fifo->Data[fifo->End] = data;
34 | }
35 |
36 | uint8_t FifoPop( Fifo_t *fifo )
37 | {
38 | uint8_t data = fifo->Data[FifoNext( fifo, fifo->Begin )];
39 |
40 | fifo->Begin = FifoNext( fifo, fifo->Begin );
41 | return data;
42 | }
43 |
44 | void FifoFlush( Fifo_t *fifo )
45 | {
46 | fifo->Begin = 0;
47 | fifo->End = 0;
48 | }
49 |
50 | bool IsFifoEmpty( Fifo_t *fifo )
51 | {
52 | return ( fifo->Begin == fifo->End );
53 | }
54 |
55 | bool IsFifoFull( Fifo_t *fifo )
56 | {
57 | return ( FifoNext( fifo, fifo->End ) == fifo->Begin );
58 | }
59 |
--------------------------------------------------------------------------------
/src/system/fifo.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Implements a FIFO buffer
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __FIFO_H__
16 | #define __FIFO_H__
17 |
18 | #include
19 | #include
20 |
21 | /*!
22 | * FIFO structure
23 | */
24 | typedef struct Fifo_s
25 | {
26 | uint16_t Begin;
27 | uint16_t End;
28 | uint8_t *Data;
29 | uint16_t Size;
30 | }Fifo_t;
31 |
32 | /*!
33 | * Initializes the FIFO structure
34 | *
35 | * \param [IN] fifo Pointer to the FIFO object
36 | * \param [IN] buffer Buffer to be used as FIFO
37 | * \param [IN] size Size of the buffer
38 | */
39 | void FifoInit( Fifo_t *fifo, uint8_t *buffer, uint16_t size );
40 |
41 | /*!
42 | * Pushes data to the FIFO
43 | *
44 | * \param [IN] fifo Pointer to the FIFO object
45 | * \param [IN] data Data to be pushed into the FIFO
46 | */
47 | void FifoPush( Fifo_t *fifo, uint8_t data );
48 |
49 | /*!
50 | * Pops data from the FIFO
51 | *
52 | * \param [IN] fifo Pointer to the FIFO object
53 | * \retval data Data popped from the FIFO
54 | */
55 | uint8_t FifoPop( Fifo_t *fifo );
56 |
57 | /*!
58 | * Flushes the FIFO
59 | *
60 | * \param [IN] fifo Pointer to the FIFO object
61 | */
62 | void FifoFlush( Fifo_t *fifo );
63 |
64 | /*!
65 | * Checks if the FIFO is empty
66 | *
67 | * \param [IN] fifo Pointer to the FIFO object
68 | * \retval isEmpty true: FIFO is empty, false FIFO is not empty
69 | */
70 | bool IsFifoEmpty( Fifo_t *fifo );
71 |
72 | /*!
73 | * Checks if the FIFO is full
74 | *
75 | * \param [IN] fifo Pointer to the FIFO object
76 | * \retval isFull true: FIFO is full, false FIFO is not full
77 | */
78 | bool IsFifoFull( Fifo_t *fifo );
79 |
80 | #endif // __FIFO_H__
81 |
--------------------------------------------------------------------------------
/src/system/gpio.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Generic GPIO driver implementation
10 |
11 | Comment: Relies on the specific board GPIO implementation as well as on
12 | IO expander driver implementation if one is available on the target
13 | board.
14 |
15 | License: Revised BSD License, see LICENSE.TXT file include in the project
16 |
17 | Maintainer: Miguel Luis and Gregory Cristian
18 | */
19 | #include "board.h"
20 |
21 | #include "gpio-board.h"
22 |
23 | #if defined( BOARD_IOE_EXT )
24 | #include "gpio-ioe.h"
25 | #endif
26 |
27 | void GpioInit( Gpio_t *obj, PinNames pin, PinModes mode, PinConfigs config, PinTypes type, uint32_t value )
28 | {
29 | if( ( uint32_t )( pin >> 4 ) <= 6 )
30 | {
31 | GpioMcuInit( obj, pin, mode, config, type, value );
32 | }
33 | else
34 | {
35 | #if defined( BOARD_IOE_EXT )
36 | // IOExt Pin
37 | GpioIoeInit( obj, pin, mode, config, type, value );
38 | #endif
39 | }
40 | }
41 |
42 | void GpioSetInterrupt( Gpio_t *obj, IrqModes irqMode, IrqPriorities irqPriority, GpioIrqHandler *irqHandler )
43 | {
44 | if( ( uint32_t )( obj->pin >> 4 ) <= 6 )
45 | {
46 | GpioMcuSetInterrupt( obj, irqMode, irqPriority, irqHandler );
47 | }
48 | else
49 | {
50 | #if defined( BOARD_IOE_EXT )
51 | // IOExt Pin
52 | GpioIoeSetInterrupt( obj, irqMode, irqPriority, irqHandler );
53 | #endif
54 | }
55 | }
56 |
57 | void GpioRemoveInterrupt( Gpio_t *obj )
58 | {
59 | if( ( uint32_t )( obj->pin >> 4 ) <= 6 )
60 | {
61 | //GpioMcuRemoveInterrupt( obj );
62 | }
63 | else
64 | {
65 | #if defined( BOARD_IOE_EXT )
66 | // IOExt Pin
67 | //GpioIoeRemoveInterrupt( obj );
68 | #endif
69 | }
70 | }
71 |
72 | void GpioWrite( Gpio_t *obj, uint32_t value )
73 | {
74 | if( ( uint32_t )( obj->pin >> 4 ) <= 6 )
75 | {
76 | GpioMcuWrite( obj, value );
77 | }
78 | else
79 | {
80 | #if defined( BOARD_IOE_EXT )
81 | // IOExt Pin
82 | GpioIoeWrite( obj, value );
83 | #endif
84 | }
85 | }
86 |
87 | void GpioToggle( Gpio_t *obj )
88 | {
89 | if( ( uint32_t )( obj->pin >> 4 ) <= 6 )
90 | {
91 | GpioMcuToggle( obj );
92 | }
93 | else
94 | {
95 | #if defined( BOARD_IOE_EXT )
96 | // IOExt Pin
97 | GpioIoeWrite( obj, GpioIoeRead( obj ) ^ 1 );
98 | #endif
99 | }
100 | }
101 |
102 | uint32_t GpioRead( Gpio_t *obj )
103 | {
104 | if( ( uint32_t )( obj->pin >> 4 ) <= 6 )
105 | {
106 | return GpioMcuRead( obj );
107 | }
108 | else
109 | {
110 | #if defined( BOARD_IOE_EXT )
111 | // IOExt Pin
112 | return GpioIoeRead( obj );
113 | #else
114 | return 0;
115 | #endif
116 | }
117 | }
118 |
--------------------------------------------------------------------------------
/src/system/i2c.c:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Implements the generic I2C driver
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #include "board.h"
16 | #include "i2c-board.h"
17 |
18 | /*!
19 | * Flag to indicates if the I2C is initialized
20 | */
21 | static bool I2cInitialized = false;
22 |
23 | void I2cInit( I2c_t *obj, PinNames scl, PinNames sda )
24 | {
25 | if( I2cInitialized == false )
26 | {
27 | I2cInitialized = true;
28 |
29 | I2cMcuInit( obj, scl, sda );
30 | I2cMcuFormat( obj, MODE_I2C, I2C_DUTY_CYCLE_2, true, I2C_ACK_ADD_7_BIT, 400000 );
31 | }
32 | }
33 |
34 | void I2cDeInit( I2c_t *obj )
35 | {
36 | I2cInitialized = false;
37 | I2cMcuDeInit( obj );
38 | }
39 |
40 | void I2cResetBus( I2c_t *obj )
41 | {
42 | I2cInitialized = false;
43 | I2cInit( obj, I2C_SCL, I2C_SDA );
44 | }
45 |
46 | uint8_t I2cWrite( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t data )
47 | {
48 | if( I2cInitialized == true )
49 | {
50 | if( I2cMcuWriteBuffer( obj, deviceAddr, addr, &data, 1 ) == FAIL )
51 | {
52 | // if first attempt fails due to an IRQ, try a second time
53 | if( I2cMcuWriteBuffer( obj, deviceAddr, addr, &data, 1 ) == FAIL )
54 | {
55 | return FAIL;
56 | }
57 | else
58 | {
59 | return SUCCESS;
60 | }
61 | }
62 | else
63 | {
64 | return SUCCESS;
65 | }
66 | }
67 | else
68 | {
69 | return FAIL;
70 | }
71 | }
72 |
73 | uint8_t I2cWriteBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size )
74 | {
75 | if( I2cInitialized == true )
76 | {
77 | if( I2cMcuWriteBuffer( obj, deviceAddr, addr, buffer, size ) == FAIL )
78 | {
79 | // if first attempt fails due to an IRQ, try a second time
80 | if( I2cMcuWriteBuffer( obj, deviceAddr, addr, buffer, size ) == FAIL )
81 | {
82 | return FAIL;
83 | }
84 | else
85 | {
86 | return SUCCESS;
87 | }
88 | }
89 | else
90 | {
91 | return SUCCESS;
92 | }
93 | }
94 | else
95 | {
96 | return FAIL;
97 | }
98 | }
99 |
100 | uint8_t I2cRead( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *data )
101 | {
102 | if( I2cInitialized == true )
103 | {
104 | return( I2cMcuReadBuffer( obj, deviceAddr, addr, data, 1 ) );
105 | }
106 | else
107 | {
108 | return FAIL;
109 | }
110 | }
111 |
112 | uint8_t I2cReadBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size )
113 | {
114 | if( I2cInitialized == true )
115 | {
116 | return( I2cMcuReadBuffer( obj, deviceAddr, addr, buffer, size ) );
117 | }
118 | else
119 | {
120 | return FAIL;
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/src/system/i2c.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Implements the generic I2C driver
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __I2C_H__
16 | #define __I2C_H__
17 |
18 | /*!
19 | * I2C object type definition
20 | */
21 | typedef struct
22 | {
23 | I2C_HandleTypeDef I2c;
24 | Gpio_t Scl;
25 | Gpio_t Sda;
26 | }I2c_t;
27 |
28 | /*!
29 | * \brief Initializes the I2C object and MCU peripheral
30 | *
31 | * \param [IN] obj I2C object
32 | * \param [IN] scl I2C Scl pin name to be used
33 | * \param [IN] sda I2C Sda pin name to be used
34 | */
35 | void I2cInit( I2c_t *obj, PinNames scl, PinNames sda );
36 |
37 | /*!
38 | * \brief DeInitializes the I2C object and MCU peripheral
39 | *
40 | * \param [IN] obj I2C object
41 | */
42 | void I2cDeInit( I2c_t *obj );
43 |
44 | /*!
45 | * \brief Reset the I2C object and MCU peripheral
46 | *
47 | * \param [IN] obj I2C object
48 | */
49 | void I2cResetBus( I2c_t *obj );
50 |
51 | /*!
52 | * \brief Write data to the I2C device
53 | *
54 | * \param [IN] obj I2C object
55 | * \param [IN] deviceAddr device address
56 | * \param [IN] addr data address
57 | * \param [IN] data data to write
58 | */
59 | uint8_t I2cWrite( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t data );
60 |
61 | /*!
62 | * \brief Write several data to the I2C device
63 | *
64 | * \param [IN] obj I2C object
65 | * \param [IN] deviceAddr device address
66 | * \param [IN] addr data address
67 | * \param [IN] buffer data buffer to write
68 | * \param [IN] size number of bytes to write
69 | */
70 | uint8_t I2cWriteBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size );
71 |
72 | /*!
73 | * \brief Read data from the I2C device
74 | *
75 | * \param [IN] obj I2C object
76 | * \param [IN] deviceAddr device address
77 | * \param [IN] addr data address
78 | * \param [OUT] data variable used to store the data read
79 | */
80 | uint8_t I2cRead( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *data );
81 |
82 | /*!
83 | * \brief Read several data byte from the I2C device
84 | *
85 | * \param [IN] obj I2C object
86 | * \param [IN] deviceAddr device address
87 | * \param [IN] addr data address
88 | * \param [OUT] buffer data buffer used to store the data read
89 | * \param [IN] size number of data byte to read
90 | */
91 | uint8_t I2cReadBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size );
92 |
93 | #endif // __I2C_H__
94 |
--------------------------------------------------------------------------------
/src/system/serial.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Implements the generic UART driver
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __SERIAL_H__
16 | #define __SERIAL_H__
17 |
18 | #endif // __SERIAL_H__
19 |
--------------------------------------------------------------------------------
/src/system/spi.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Implements the generic SPI driver
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __SPI_H__
16 | #define __SPI_H__
17 |
18 | #include "spi-board.h"
19 |
20 | /*!
21 | * SPI object type definition
22 | */
23 | typedef struct Spi_s Spi_t;
24 |
25 | /*!
26 | * \brief Initializes the SPI object and MCU peripheral
27 | *
28 | * \remark When NSS pin is software controlled set the pin name to NC otherwise
29 | * set the pin name to be used.
30 | *
31 | * \param [IN] obj SPI object
32 | * \param [IN] mosi SPI MOSI pin name to be used
33 | * \param [IN] miso SPI MISO pin name to be used
34 | * \param [IN] sclk SPI SCLK pin name to be used
35 | * \param [IN] nss SPI NSS pin name to be used
36 | */
37 | void SpiInit( Spi_t *obj, PinNames mosi, PinNames miso, PinNames sclk, PinNames nss );
38 |
39 | /*!
40 | * \brief De-initializes the SPI object and MCU peripheral
41 | *
42 | * \param [IN] obj SPI object
43 | */
44 | void SpiDeInit( Spi_t *obj );
45 |
46 | /*!
47 | * \brief Configures the SPI peripheral
48 | *
49 | * \remark Slave mode isn't currently handled
50 | *
51 | * \param [IN] obj SPI object
52 | * \param [IN] bits Number of bits to be used. [8 or 16]
53 | * \param [IN] cpol Clock polarity
54 | * \param [IN] cpha Clock phase
55 | * \param [IN] slave When set the peripheral acts in slave mode
56 | */
57 | void SpiFormat( Spi_t *obj, int8_t bits, int8_t cpol, int8_t cpha, int8_t slave );
58 |
59 | /*!
60 | * \brief Sets the SPI speed
61 | *
62 | * \param [IN] obj SPI object
63 | * \param [IN] hz SPI clock frequency in hz
64 | */
65 | void SpiFrequency( Spi_t *obj, uint32_t hz );
66 |
67 | /*!
68 | * \brief Sends outData and receives inData
69 | *
70 | * \param [IN] obj SPI object
71 | * \param [IN] outData Byte to be sent
72 | * \retval inData Received byte.
73 | */
74 | uint16_t SpiInOut( Spi_t *obj, uint16_t outData );
75 |
76 | #endif // __SPI_H__
77 |
--------------------------------------------------------------------------------
/src/system/timer.h:
--------------------------------------------------------------------------------
1 | /*
2 | / _____) _ | |
3 | ( (____ _____ ____ _| |_ _____ ____| |__
4 | \____ \| ___ | (_ _) ___ |/ ___) _ \
5 | _____) ) ____| | | || |_| ____( (___| | | |
6 | (______/|_____)_|_|_| \__)_____)\____)_| |_|
7 | (C)2013 Semtech
8 |
9 | Description: Timer objects and scheduling management
10 |
11 | License: Revised BSD License, see LICENSE.TXT file include in the project
12 |
13 | Maintainer: Miguel Luis and Gregory Cristian
14 | */
15 | #ifndef __TIMER_H__
16 | #define __TIMER_H__
17 |
18 | /*!
19 | * \brief Timer object description
20 | */
21 | typedef struct TimerEvent_s
22 | {
23 | uint32_t Timestamp; //! Current timer value
24 | uint32_t ReloadValue; //! Timer delay value
25 | bool IsRunning; //! Is the timer currently running
26 | void ( *Callback )( void ); //! Timer IRQ callback function
27 | struct TimerEvent_s *Next; //! Pointer to the next Timer object.
28 | }TimerEvent_t;
29 |
30 | /*!
31 | * \brief Timer time variable definition
32 | */
33 | #ifndef TimerTime_t
34 | typedef uint32_t TimerTime_t;
35 | #endif
36 |
37 | /*!
38 | * \brief Initializes the timer object
39 | *
40 | * \remark TimerSetValue function must be called before starting the timer.
41 | * this function initializes timestamp and reload value at 0.
42 | *
43 | * \param [IN] obj Structure containing the timer object parameters
44 | * \param [IN] callback Function callback called at the end of the timeout
45 | */
46 | void TimerInit( TimerEvent_t *obj, void ( *callback )( void ) );
47 |
48 | /*!
49 | * Timer IRQ event handler
50 | */
51 | void TimerIrqHandler( void );
52 |
53 | /*!
54 | * \brief Starts and adds the timer object to the list of timer events
55 | *
56 | * \param [IN] obj Structure containing the timer object parameters
57 | */
58 | void TimerStart( TimerEvent_t *obj );
59 |
60 | /*!
61 | * \brief Stops and removes the timer object from the list of timer events
62 | *
63 | * \param [IN] obj Structure containing the timer object parameters
64 | */
65 | void TimerStop( TimerEvent_t *obj );
66 |
67 | /*!
68 | * \brief Resets the timer object
69 | *
70 | * \param [IN] obj Structure containing the timer object parameters
71 | */
72 | void TimerReset( TimerEvent_t *obj );
73 |
74 | /*!
75 | * \brief Set timer new timeout value
76 | *
77 | * \param [IN] obj Structure containing the timer object parameters
78 | * \param [IN] value New timer timeout value
79 | */
80 | void TimerSetValue( TimerEvent_t *obj, uint32_t value );
81 |
82 | /*!
83 | * \brief Read the current time
84 | *
85 | * \retval time returns current time
86 | */
87 | TimerTime_t TimerGetCurrentTime( void );
88 |
89 | /*!
90 | * \brief Return the Time elapsed since a fix moment in Time
91 | *
92 | * \param [IN] savedTime fix moment in Time
93 | * \retval time returns elapsed time
94 | */
95 | TimerTime_t TimerGetElapsedTime( TimerTime_t savedTime );
96 |
97 | /*!
98 | * \brief Return the Time elapsed since a fix moment in Time
99 | *
100 | * \param [IN] eventInFuture fix moment in the future
101 | * \retval time returns difference between now and future event
102 | */
103 | TimerTime_t TimerGetFutureTime( TimerTime_t eventInFuture );
104 |
105 | /*!
106 | * \brief Manages the entry into ARM cortex deep-sleep mode
107 | */
108 | void TimerLowPowerHandler( void );
109 |
110 | #endif // __TIMER_H__
111 |
--------------------------------------------------------------------------------