diff --git a/Doc/Bleeper-72-schematic.pdf b/Doc/Bleeper-72-schematic.pdf
deleted file mode 100644
index 478488214..000000000
Binary files a/Doc/Bleeper-72-schematic.pdf and /dev/null differ
diff --git a/Doc/Bleeper-76-schematic.pdf b/Doc/Bleeper-76-schematic.pdf
deleted file mode 100644
index 0b0abfa71..000000000
Binary files a/Doc/Bleeper-76-schematic.pdf and /dev/null differ
diff --git a/Keil/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.uvopt b/Keil/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.uvopt
deleted file mode 100644
index 445fa33c9..000000000
--- a/Keil/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.uvopt
+++ /dev/null
@@ -1,742 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 0
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-72\main-api-v3.c
- main-api-v3.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
- LoRaMac-api-v3.c
- 0
- 0
-
-
- 6
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 37
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.uvproj b/Keil/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.uvproj
deleted file mode 100644
index ba812dbba..000000000
--- a/Keil/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.uvproj
+++ /dev/null
@@ -1,688 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-72;..\..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-72\main-api-v3.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classA/LoRaMac.uvopt b/Keil/Bleeper-72/LoRaMac/classA/LoRaMac.uvopt
deleted file mode 100644
index ca0ad046c..000000000
--- a/Keil/Bleeper-72/LoRaMac/classA/LoRaMac.uvopt
+++ /dev/null
@@ -1,729 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 0
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-72\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classA/LoRaMac.uvproj b/Keil/Bleeper-72/LoRaMac/classA/LoRaMac.uvproj
deleted file mode 100644
index c285111fa..000000000
--- a/Keil/Bleeper-72/LoRaMac/classA/LoRaMac.uvproj
+++ /dev/null
@@ -1,683 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-72;..\..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.uvopt b/Keil/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.uvopt
deleted file mode 100644
index 8d93dfcb2..000000000
--- a/Keil/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.uvopt
+++ /dev/null
@@ -1,742 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 0
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-72\main-api-v3.c
- main-api-v3.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
- LoRaMac-api-v3.c
- 0
- 0
-
-
- 6
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 37
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.uvproj b/Keil/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.uvproj
deleted file mode 100644
index 24724388f..000000000
--- a/Keil/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.uvproj
+++ /dev/null
@@ -1,688 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-72;..\..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-72\main-api-v3.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classB/LoRaMac.uvopt b/Keil/Bleeper-72/LoRaMac/classB/LoRaMac.uvopt
deleted file mode 100644
index c4077728e..000000000
--- a/Keil/Bleeper-72/LoRaMac/classB/LoRaMac.uvopt
+++ /dev/null
@@ -1,729 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 0
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-72\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classB/LoRaMac.uvproj b/Keil/Bleeper-72/LoRaMac/classB/LoRaMac.uvproj
deleted file mode 100644
index 1e7267694..000000000
--- a/Keil/Bleeper-72/LoRaMac/classB/LoRaMac.uvproj
+++ /dev/null
@@ -1,683 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-72;..\..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.uvopt b/Keil/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.uvopt
deleted file mode 100644
index 27c4818bf..000000000
--- a/Keil/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.uvopt
+++ /dev/null
@@ -1,742 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 0
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-72\main-api-v3.c
- main-api-v3.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
- LoRaMac-api-v3.c
- 0
- 0
-
-
- 6
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 37
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.uvproj b/Keil/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.uvproj
deleted file mode 100644
index 3ca84d2c3..000000000
--- a/Keil/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.uvproj
+++ /dev/null
@@ -1,688 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-72;..\..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-72\main-api-v3.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classC/LoRaMac.uvopt b/Keil/Bleeper-72/LoRaMac/classC/LoRaMac.uvopt
deleted file mode 100644
index 34b235579..000000000
--- a/Keil/Bleeper-72/LoRaMac/classC/LoRaMac.uvopt
+++ /dev/null
@@ -1,729 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 0
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-72\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/classC/LoRaMac.uvproj b/Keil/Bleeper-72/LoRaMac/classC/LoRaMac.uvproj
deleted file mode 100644
index 83c80c5ee..000000000
--- a/Keil/Bleeper-72/LoRaMac/classC/LoRaMac.uvproj
+++ /dev/null
@@ -1,683 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-72;..\..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.uvopt b/Keil/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.uvopt
deleted file mode 100644
index f306f931e..000000000
--- a/Keil/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.uvopt
+++ /dev/null
@@ -1,742 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- radioCoverageTest
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\radioCoverageTest\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 0
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\radioCoverageTest\Bleeper-72\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
- LoRaMac-api-v3.c
- 0
- 0
-
-
- 6
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 37
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.uvproj b/Keil/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.uvproj
deleted file mode 100644
index 8d2f5deaa..000000000
--- a/Keil/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.uvproj
+++ /dev/null
@@ -1,688 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- radioCoverageTest
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\radioCoverageTest\
- radioCoverageTest
- 1
- 0
- 1
- 1
- 1
- .\lst\radioCoverageTest\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-72;..\..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\radioCoverageTest\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/ping-pong/Ping-Pong.uvopt b/Keil/Bleeper-72/ping-pong/Ping-Pong.uvopt
deleted file mode 100644
index 268311af5..000000000
--- a/Keil/Bleeper-72/ping-pong/Ping-Pong.uvopt
+++ /dev/null
@@ -1,819 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- Ping-Pong-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 1
- 0
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- Ping-Pong-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 1
- 0
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\apps\ping-pong\Bleeper-72\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 8
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 8
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/ping-pong/Ping-Pong.uvproj b/Keil/Bleeper-72/ping-pong/Ping-Pong.uvproj
deleted file mode 100644
index 3f4aed5a0..000000000
--- a/Keil/Bleeper-72/ping-pong/Ping-Pong.uvproj
+++ /dev/null
@@ -1,1295 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- Ping-Pong-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-lora\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4104
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-72;..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- Ping-Pong-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-fsk\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4104
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-72;..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/rx-sensi/rx-sensi.uvopt b/Keil/Bleeper-72/rx-sensi/rx-sensi.uvopt
deleted file mode 100644
index 1c33b050e..000000000
--- a/Keil/Bleeper-72/rx-sensi/rx-sensi.uvopt
+++ /dev/null
@@ -1,819 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- rx-sensi-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 1
- 0
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- rx-sensi-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 1
- 0
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\apps\rx-sensi\Bleeper-72\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 8
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 8
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/rx-sensi/rx-sensi.uvproj b/Keil/Bleeper-72/rx-sensi/rx-sensi.uvproj
deleted file mode 100644
index bb42aab5f..000000000
--- a/Keil/Bleeper-72/rx-sensi/rx-sensi.uvproj
+++ /dev/null
@@ -1,1295 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- rx-sensi-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-lora\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4104
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-72;..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- rx-sensi-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-fsk\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4104
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-72;..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-72/tx-cw/tx-cw.uvopt b/Keil/Bleeper-72/tx-cw/tx-cw.uvopt
deleted file mode 100644
index a73e568d0..000000000
--- a/Keil/Bleeper-72/tx-cw/tx-cw.uvopt
+++ /dev/null
@@ -1,661 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- tx-cw
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\tx-cw\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 0
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ULP2CM3
- -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_128 -FS08000000 -FL020000)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000)
-
-
-
-
- 0
-
-
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\apps\tx-cw\Bleeper-72\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\sx1272-board.c
- sx1272-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\radio\sx1272\sx1272.c
- sx1272.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 8
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 8
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-72/tx-cw/tx-cw.uvproj b/Keil/Bleeper-72/tx-cw/tx-cw.uvproj
deleted file mode 100644
index 059e969d0..000000000
--- a/Keil/Bleeper-72/tx-cw/tx-cw.uvproj
+++ /dev/null
@@ -1,653 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- tx-cw
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\tx-cw\
- tx-cw
- 1
- 0
- 1
- 1
- 1
- .\lst\tx-cw\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-72;..\..\..\src\boards\Bleeper-72\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\tx-cw\Bleeper-72\main.c
-
-
-
-
- boards\Bleeper-72
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-72\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\spi-board.c
-
-
- sx1272-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\sx1272-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-72\timer-board.c
-
-
-
-
- boards\Bleeper-72\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-72\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-72\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-72\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1272.c
- 1
- ..\..\..\src\radio\sx1272\sx1272.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.uvopt b/Keil/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.uvopt
deleted file mode 100644
index bb7b41e3c..000000000
--- a/Keil/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.uvopt
+++ /dev/null
@@ -1,1201 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-433\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-780\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-868\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-915\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main-api-v3.c
- main-api-v3.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
- LoRaMac-api-v3.c
- 0
- 0
-
-
- 6
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 37
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.uvproj b/Keil/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.uvproj
deleted file mode 100644
index a51029d50..000000000
--- a/Keil/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.uvproj
+++ /dev/null
@@ -1,2719 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-433\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-433\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_433
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-780\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-780\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_780
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-868\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-868\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-915\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-915\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_915
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classA/LoRaMac.uvopt b/Keil/Bleeper-76/LoRaMac/classA/LoRaMac.uvopt
deleted file mode 100644
index d9e715732..000000000
--- a/Keil/Bleeper-76/LoRaMac/classA/LoRaMac.uvopt
+++ /dev/null
@@ -1,1188 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-433\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-780\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-868\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-915\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classA/LoRaMac.uvproj b/Keil/Bleeper-76/LoRaMac/classA/LoRaMac.uvproj
deleted file mode 100644
index 7570fed9a..000000000
--- a/Keil/Bleeper-76/LoRaMac/classA/LoRaMac.uvproj
+++ /dev/null
@@ -1,2699 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-433\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-433\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_433
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-780\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-780\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_780
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-868\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-868\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-915\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-915\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_915
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classA\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.uvopt b/Keil/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.uvopt
deleted file mode 100644
index 8f016c268..000000000
--- a/Keil/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.uvopt
+++ /dev/null
@@ -1,1201 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-433\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-780\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-868\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-915\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main-api-v3.c
- main-api-v3.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
- LoRaMac-api-v3.c
- 0
- 0
-
-
- 6
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 37
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.uvproj b/Keil/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.uvproj
deleted file mode 100644
index ab56503f6..000000000
--- a/Keil/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.uvproj
+++ /dev/null
@@ -1,2719 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-433\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-433\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_433
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-780\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-780\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_780
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-868\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-868\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-915\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-915\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_915
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classB/LoRaMac.uvopt b/Keil/Bleeper-76/LoRaMac/classB/LoRaMac.uvopt
deleted file mode 100644
index 53f87ccff..000000000
--- a/Keil/Bleeper-76/LoRaMac/classB/LoRaMac.uvopt
+++ /dev/null
@@ -1,1188 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-433\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-780\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-868\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-915\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classB/LoRaMac.uvproj b/Keil/Bleeper-76/LoRaMac/classB/LoRaMac.uvproj
deleted file mode 100644
index bed5b0ca3..000000000
--- a/Keil/Bleeper-76/LoRaMac/classB/LoRaMac.uvproj
+++ /dev/null
@@ -1,2699 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-433\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-433\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_433
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-780\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-780\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_780
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-868\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-868\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-915\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-915\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_915
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classB\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.uvopt b/Keil/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.uvopt
deleted file mode 100644
index 5b4ded269..000000000
--- a/Keil/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.uvopt
+++ /dev/null
@@ -1,1201 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-433\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-780\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-868\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-915\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main-api-v3.c
- main-api-v3.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
- LoRaMac-api-v3.c
- 0
- 0
-
-
- 6
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 37
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.uvproj b/Keil/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.uvproj
deleted file mode 100644
index 56531c1e8..000000000
--- a/Keil/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.uvproj
+++ /dev/null
@@ -1,2719 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-433\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-433\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_433
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-780\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-780\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_780
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-868\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-868\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-915\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-915\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_915
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main-api-v3.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main-api-v3.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classC/LoRaMac.uvopt b/Keil/Bleeper-76/LoRaMac/classC/LoRaMac.uvopt
deleted file mode 100644
index de4dd112c..000000000
--- a/Keil/Bleeper-76/LoRaMac/classC/LoRaMac.uvopt
+++ /dev/null
@@ -1,1188 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-433\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-780\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-868\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\LoRaMac-915\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/classC/LoRaMac.uvproj b/Keil/Bleeper-76/LoRaMac/classC/LoRaMac.uvproj
deleted file mode 100644
index ab2fbb901..000000000
--- a/Keil/Bleeper-76/LoRaMac/classC/LoRaMac.uvproj
+++ /dev/null
@@ -1,2699 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- LoRaMac-433
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-433\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-433\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_433
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-780
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-780\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-780\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_780
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-868
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-868\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-868\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- LoRaMac-915
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\LoRaMac-915\
- LoRaMac
- 1
- 0
- 1
- 1
- 1
- .\lst\LoRaMac-915\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_915
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\classC\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.uvopt b/Keil/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.uvopt
deleted file mode 100644
index 54bd3f569..000000000
--- a/Keil/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.uvopt
+++ /dev/null
@@ -1,1201 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- radioCoverageTest-433
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\radioCoverageTest-433\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- radioCoverageTest-780
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\radioCoverageTest-780\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- radioCoverageTest-868
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\radioCoverageTest-868\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- radioCoverageTest-915
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\radioCoverageTest-915\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\apps\LoRaMac\radioCoverageTest\Bleeper-76\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- mac
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac.c
- LoRaMac.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
- LoRaMac-api-v3.c
- 0
- 0
-
-
- 6
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\mac\LoRaMacCrypto.c
- LoRaMacCrypto.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 7
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 7
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 9
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 9
- 33
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 9
- 34
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 9
- 35
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
- system\crypto
- 1
- 0
- 0
- 0
-
- 10
- 36
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\aes.c
- aes.c
- 0
- 0
-
-
- 10
- 37
- 1
- 0
- 0
- 0
- 0
- ..\..\..\..\src\system\crypto\cmac.c
- cmac.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.uvproj b/Keil/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.uvproj
deleted file mode 100644
index 307f3ce6f..000000000
--- a/Keil/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.uvproj
+++ /dev/null
@@ -1,2719 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- radioCoverageTest-433
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\radioCoverageTest-433\
- radioCoverageTest
- 1
- 0
- 1
- 1
- 1
- .\lst\radioCoverageTest-433\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_433
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\radioCoverageTest\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- radioCoverageTest-780
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\radioCoverageTest-780\
- radioCoverageTest
- 1
- 0
- 1
- 1
- 1
- .\lst\radioCoverageTest-780\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_780
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\radioCoverageTest\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- radioCoverageTest-868
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\radioCoverageTest-868\
- radioCoverageTest
- 1
- 0
- 1
- 1
- 1
- .\lst\radioCoverageTest-868\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_868
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\radioCoverageTest\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
- radioCoverageTest-915
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\radioCoverageTest-915\
- radioCoverageTest
- 1
- 0
- 1
- 1
- 1
- .\lst\radioCoverageTest-915\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER LOW_POWER_MODE_ENABLE USE_BAND_915
-
- ..\..\..\..\src;..\..\..\..\src\boards\Bleeper-76;..\..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\..\src\boards\mcu\stm32;..\..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\src\mac;..\..\..\..\src\peripherals;..\..\..\..\src\radio;..\..\..\..\src\system;..\..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\..\src\apps\LoRaMac\radioCoverageTest\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- mac
-
-
- LoRaMac.c
- 1
- ..\..\..\..\src\mac\LoRaMac.c
-
-
- LoRaMac-api-v3.c
- 1
- ..\..\..\..\src\mac\LoRaMac-api-v3.c
-
-
- LoRaMacCrypto.c
- 1
- ..\..\..\..\src\mac\LoRaMacCrypto.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\..\src\system\timer.c
-
-
-
-
- system\crypto
-
-
- aes.c
- 1
- ..\..\..\..\src\system\crypto\aes.c
-
-
- cmac.c
- 1
- ..\..\..\..\src\system\crypto\cmac.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/ping-pong/Ping-Pong.uvopt b/Keil/Bleeper-76/ping-pong/Ping-Pong.uvopt
deleted file mode 100644
index 47a0db128..000000000
--- a/Keil/Bleeper-76/ping-pong/Ping-Pong.uvopt
+++ /dev/null
@@ -1,1727 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- Ping-Pong-433-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-433-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- Ping-Pong-433-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-433-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- Ping-Pong-780-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-780-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- Ping-Pong-780-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-780-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- Ping-Pong-868-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-868-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- Ping-Pong-868-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-868-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- Ping-Pong-915-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-915-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- Ping-Pong-915-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\Ping-Pong-915-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 8
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 8
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/ping-pong/Ping-Pong.uvproj b/Keil/Bleeper-76/ping-pong/Ping-Pong.uvproj
deleted file mode 100644
index f39305400..000000000
--- a/Keil/Bleeper-76/ping-pong/Ping-Pong.uvproj
+++ /dev/null
@@ -1,5147 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- Ping-Pong-433-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-433-lora\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-433-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_433 USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- Ping-Pong-433-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-433-fsk\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-433-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_433 USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- Ping-Pong-780-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-780-lora\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-780-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_780 USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- Ping-Pong-780-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-780-fsk\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-780-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_780 USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- Ping-Pong-868-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-868-lora\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-868-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_868 USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- Ping-Pong-868-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-868-fsk\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-868-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_868 USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- Ping-Pong-915-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-915-lora\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-915-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_915 USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- Ping-Pong-915-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\Ping-Pong-915-fsk\
- Ping-Pong
- 1
- 0
- 1
- 1
- 1
- .\lst\Ping-Pong-915-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_915 USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\ping-pong\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/rx-sensi/rx-sensi.uvopt b/Keil/Bleeper-76/rx-sensi/rx-sensi.uvopt
deleted file mode 100644
index d27dc24cc..000000000
--- a/Keil/Bleeper-76/rx-sensi/rx-sensi.uvopt
+++ /dev/null
@@ -1,1727 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- rx-sensi-433-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-433-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- rx-sensi-433-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-433-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- rx-sensi-780-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-780-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- rx-sensi-780-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-780-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- rx-sensi-868-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-868-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- rx-sensi-868-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-868-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- rx-sensi-915-lora
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-915-lora\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- rx-sensi-915-fsk
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\rx-sensi-915-fsk\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 8
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 8
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/rx-sensi/rx-sensi.uvproj b/Keil/Bleeper-76/rx-sensi/rx-sensi.uvproj
deleted file mode 100644
index aed83db27..000000000
--- a/Keil/Bleeper-76/rx-sensi/rx-sensi.uvproj
+++ /dev/null
@@ -1,5147 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- rx-sensi-433-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-433-lora\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-433-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_433 USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- rx-sensi-433-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-433-fsk\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-433-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_433 USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- rx-sensi-780-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-780-lora\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-780-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_780 USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- rx-sensi-780-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-780-fsk\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-780-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_780 USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- rx-sensi-868-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-868-lora\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-868-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_868 USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- rx-sensi-868-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-868-fsk\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-868-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_868 USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- rx-sensi-915-lora
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-915-lora\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-915-lora\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_915 USE_MODEM_LORA
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- rx-sensi-915-fsk
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\rx-sensi-915-fsk\
- rx-sensi
- 1
- 0
- 1
- 1
- 1
- .\lst\rx-sensi-915-fsk\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_915 USE_MODEM_FSK
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\rx-sensi\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
-
-
diff --git a/Keil/Bleeper-76/tx-cw/tx-cw.uvopt b/Keil/Bleeper-76/tx-cw/tx-cw.uvopt
deleted file mode 100644
index 06948638f..000000000
--- a/Keil/Bleeper-76/tx-cw/tx-cw.uvopt
+++ /dev/null
@@ -1,1115 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
-
-
-
- 0
- 0
-
-
-
- tx-cw-433
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\tx-cw-433\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- tx-cw-780
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\tx-cw-780\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- tx-cw-868
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\tx-cw-868\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- tx-cw-915
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\lst\tx-cw-915\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 0
-
- 255
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 11
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- DLGTARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
-
-
- 0
- ARMDBGFLAGS
-
-
-
- 0
- DLGUARM
- (105=-1,-1,-1,-1,0)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U-O2255 -O10447 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384.FLM -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000 -FP0($$Device:STM32L151RD$Flash\STM32L1xx_384.FLM))
-
-
-
-
- 0
-
-
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
- apps
- 1
- 0
- 0
- 0
-
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\apps\tx-cw\Bleeper-76\main.c
- main.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76
- 1
- 0
- 0
- 0
-
- 2
- 2
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\board.c
- board.c
- 0
- 0
-
-
- 2
- 3
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
- gpio-board.c
- 0
- 0
-
-
- 2
- 4
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
- i2c-board.c
- 0
- 0
-
-
- 2
- 5
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
- rtc-board.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\spi-board.c
- spi-board.c
- 0
- 0
-
-
- 2
- 7
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
- sx1276-board.c
- 0
- 0
-
-
- 2
- 8
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\timer-board.c
- timer-board.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\cmsis
- 0
- 0
- 0
- 0
-
- 3
- 9
- 2
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
- startup_stm32l1xx_hd.s
- 0
- 0
-
-
- 3
- 10
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
- system_stm32l1xx.c
- 0
- 0
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
- 0
- 0
- 0
- 0
-
- 4
- 11
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
- misc.c
- 0
- 0
-
-
- 4
- 12
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
- stm32l1xx_dbgmcu.c
- 0
- 0
-
-
- 4
- 13
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
- stm32l1xx_dma.c
- 0
- 0
-
-
- 4
- 14
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
- stm32l1xx_exti.c
- 0
- 0
-
-
- 4
- 15
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
- stm32l1xx_gpio.c
- 0
- 0
-
-
- 4
- 16
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
- stm32l1xx_i2c.c
- 0
- 0
-
-
- 4
- 17
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
- stm32l1xx_pwr.c
- 0
- 0
-
-
- 4
- 18
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
- stm32l1xx_rcc.c
- 0
- 0
-
-
- 4
- 19
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
- stm32l1xx_rtc.c
- 0
- 0
-
-
- 4
- 20
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
- stm32l1xx_spi.c
- 0
- 0
-
-
- 4
- 21
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
- stm32l1xx_syscfg.c
- 0
- 0
-
-
- 4
- 22
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
- stm32l1xx_tim.c
- 0
- 0
-
-
- 4
- 23
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
- stm32l1xx_usart.c
- 0
- 0
-
-
-
-
- boards\mcu\stm32
- 0
- 0
- 0
- 0
-
- 5
- 24
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
- sysIrqHandlers.c
- 0
- 0
-
-
- 5
- 25
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\boards\mcu\stm32\utilities.c
- utilities.c
- 0
- 0
-
-
-
-
- peripherals
- 1
- 0
- 0
- 0
-
- 6
- 26
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\mpl3115.c
- mpl3115.c
- 0
- 0
-
-
- 6
- 27
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\peripherals\selector.c
- selector.c
- 0
- 0
-
-
-
-
- radio
- 1
- 0
- 0
- 0
-
- 7
- 28
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\radio\sx1276\sx1276.c
- sx1276.c
- 0
- 0
-
-
-
-
- system
- 1
- 0
- 0
- 0
-
- 8
- 29
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\delay.c
- delay.c
- 0
- 0
-
-
- 8
- 30
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\gpio.c
- gpio.c
- 0
- 0
-
-
- 8
- 31
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\i2c.c
- i2c.c
- 0
- 0
-
-
- 8
- 32
- 1
- 0
- 0
- 0
- 0
- ..\..\..\src\system\timer.c
- timer.c
- 0
- 0
-
-
-
-
diff --git a/Keil/Bleeper-76/tx-cw/tx-cw.uvproj b/Keil/Bleeper-76/tx-cw/tx-cw.uvproj
deleted file mode 100644
index b0f61e085..000000000
--- a/Keil/Bleeper-76/tx-cw/tx-cw.uvproj
+++ /dev/null
@@ -1,2579 +0,0 @@
-
-
-
- 1.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- tx-cw-433
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\tx-cw-433\
- tx-cw
- 1
- 0
- 1
- 1
- 1
- .\lst\tx-cw-433\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 0
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_433
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\tx-cw\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- tx-cw-780
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\tx-cw-780\
- tx-cw
- 1
- 0
- 1
- 1
- 1
- .\lst\tx-cw-780\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_780
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\tx-cw\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- tx-cw-868
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\tx-cw-868\
- tx-cw
- 1
- 0
- 1
- 1
- 1
- .\lst\tx-cw-868\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_868
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\tx-cw\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
- tx-cw-915
- 0x4
- ARM-ADS
-
-
- STM32L151RD
- STMicroelectronics
- IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")
-
- "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code")
- ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000)
- 6516
- stm32l1xx.h
-
-
-
-
-
-
-
-
-
- SFD\ST\STM32L1xx\STM32L15x.sfr
- 0
- 0
-
-
-
- ST\STM32L1xx\
- ST\STM32L1xx\
-
- 0
- 0
- 0
- 0
- 1
-
- .\obj\tx-cw-915\
- tx-cw
- 1
- 0
- 1
- 1
- 1
- .\lst\tx-cw-915\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -MPU -REMAP
- DCM.DLL
- -pCM3
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM3
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 1
-
- 0
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4103
-
- 1
- STLink\ST-LINKIII-KEIL_SWO.dll
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M3"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 8
- 1
- 0
- 0
- 3
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x60000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0xc000
-
-
- 0
- 0x0
- 0x0
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
-
-
- USE_DEBUGGER USE_BAND_915
-
- ..\..\..\src;..\..\..\src\boards\Bleeper-76;..\..\..\src\boards\Bleeper-76\cmsis;..\..\..\src\boards\mcu\stm32;..\..\..\src\boards\mcu\stm32\cmsis;..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\inc;..\..\..\src\mac;..\..\..\src\peripherals;..\..\..\src\radio;..\..\..\src\system;..\..\..\src\system\crypto
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- apps
-
-
- main.c
- 1
- ..\..\..\src\apps\tx-cw\Bleeper-76\main.c
-
-
-
-
- boards\Bleeper-76
-
-
- board.c
- 1
- ..\..\..\src\boards\Bleeper-76\board.c
-
-
- gpio-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\gpio-board.c
-
-
- i2c-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\i2c-board.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 1
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
-
-
- rtc-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\rtc-board.c
-
-
- spi-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\spi-board.c
-
-
- sx1276-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\sx1276-board.c
-
-
- timer-board.c
- 1
- ..\..\..\src\boards\Bleeper-76\timer-board.c
-
-
-
-
- boards\Bleeper-76\cmsis
-
-
- startup_stm32l1xx_hd.s
- 2
- ..\..\..\src\boards\Bleeper-76\cmsis\arm-std\startup_stm32l1xx_hd.s
-
-
- system_stm32l1xx.c
- 1
- ..\..\..\src\boards\Bleeper-76\cmsis\system_stm32l1xx.c
-
-
-
-
- boards\Bleeper-76\STM32L1xx_StdPeriph_Driver
-
-
- misc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\misc.c
-
-
- stm32l1xx_dbgmcu.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dbgmcu.c
-
-
- stm32l1xx_dma.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c
-
-
- stm32l1xx_exti.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c
-
-
- stm32l1xx_gpio.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c
-
-
- stm32l1xx_i2c.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c
-
-
- stm32l1xx_pwr.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c
-
-
- stm32l1xx_rcc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c
-
-
- stm32l1xx_rtc.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rtc.c
-
-
- stm32l1xx_spi.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c
-
-
- stm32l1xx_syscfg.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c
-
-
- stm32l1xx_tim.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c
-
-
- stm32l1xx_usart.c
- 1
- ..\..\..\src\boards\mcu\stm32\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c
-
-
-
-
- boards\mcu\stm32
-
-
- sysIrqHandlers.c
- 1
- ..\..\..\src\boards\mcu\stm32\sysIrqHandlers.c
-
-
- utilities.c
- 1
- ..\..\..\src\boards\mcu\stm32\utilities.c
-
-
-
-
- peripherals
-
-
- mpl3115.c
- 1
- ..\..\..\src\peripherals\mpl3115.c
-
-
- selector.c
- 1
- ..\..\..\src\peripherals\selector.c
-
-
-
-
- radio
-
-
- sx1276.c
- 1
- ..\..\..\src\radio\sx1276\sx1276.c
-
-
-
-
- system
-
-
- delay.c
- 1
- ..\..\..\src\system\delay.c
-
-
- gpio.c
- 1
- ..\..\..\src\system\gpio.c
-
-
- i2c.c
- 1
- ..\..\..\src\system\i2c.c
-
-
- timer.c
- 1
- ..\..\..\src\system\timer.c
-
-
-
-
-
-
-
-
diff --git a/Ride/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.rapp b/Ride/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.rapp
deleted file mode 100644
index 6a59035d5..000000000
--- a/Ride/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.rprj b/Ride/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.rprj
deleted file mode 100644
index 35a6eece8..000000000
--- a/Ride/Bleeper-72/LoRaMac/classA/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classA/LoRaMac.rapp b/Ride/Bleeper-72/LoRaMac/classA/LoRaMac.rapp
deleted file mode 100644
index 297098d57..000000000
--- a/Ride/Bleeper-72/LoRaMac/classA/LoRaMac.rapp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classA/LoRaMac.rprj b/Ride/Bleeper-72/LoRaMac/classA/LoRaMac.rprj
deleted file mode 100644
index 55423f815..000000000
--- a/Ride/Bleeper-72/LoRaMac/classA/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.rapp b/Ride/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.rapp
deleted file mode 100644
index 7bfb296e2..000000000
--- a/Ride/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.rprj b/Ride/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.rprj
deleted file mode 100644
index 41066e481..000000000
--- a/Ride/Bleeper-72/LoRaMac/classB/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classB/LoRaMac.rapp b/Ride/Bleeper-72/LoRaMac/classB/LoRaMac.rapp
deleted file mode 100644
index 2e4b580bc..000000000
--- a/Ride/Bleeper-72/LoRaMac/classB/LoRaMac.rapp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classB/LoRaMac.rprj b/Ride/Bleeper-72/LoRaMac/classB/LoRaMac.rprj
deleted file mode 100644
index 97cd3f673..000000000
--- a/Ride/Bleeper-72/LoRaMac/classB/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.rapp b/Ride/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.rapp
deleted file mode 100644
index 1dd489a9f..000000000
--- a/Ride/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.rprj b/Ride/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.rprj
deleted file mode 100644
index ebd36a80e..000000000
--- a/Ride/Bleeper-72/LoRaMac/classC/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classC/LoRaMac.rapp b/Ride/Bleeper-72/LoRaMac/classC/LoRaMac.rapp
deleted file mode 100644
index 4b66753c7..000000000
--- a/Ride/Bleeper-72/LoRaMac/classC/LoRaMac.rapp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/classC/LoRaMac.rprj b/Ride/Bleeper-72/LoRaMac/classC/LoRaMac.rprj
deleted file mode 100644
index 588797210..000000000
--- a/Ride/Bleeper-72/LoRaMac/classC/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.rapp b/Ride/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.rapp
deleted file mode 100644
index 5fdc987c2..000000000
--- a/Ride/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.rapp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.rprj b/Ride/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.rprj
deleted file mode 100644
index 0af616d02..000000000
--- a/Ride/Bleeper-72/LoRaMac/radioCoverageTest/radioCoverageTest.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/ping-pong/Ping-Pong.rapp b/Ride/Bleeper-72/ping-pong/Ping-Pong.rapp
deleted file mode 100644
index 75ed17b30..000000000
--- a/Ride/Bleeper-72/ping-pong/Ping-Pong.rapp
+++ /dev/null
@@ -1,267 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/ping-pong/Ping-Pong.rprj b/Ride/Bleeper-72/ping-pong/Ping-Pong.rprj
deleted file mode 100644
index d8b8aede8..000000000
--- a/Ride/Bleeper-72/ping-pong/Ping-Pong.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/rx-sensi/rx-sensi.rapp b/Ride/Bleeper-72/rx-sensi/rx-sensi.rapp
deleted file mode 100644
index 91ea260e2..000000000
--- a/Ride/Bleeper-72/rx-sensi/rx-sensi.rapp
+++ /dev/null
@@ -1,267 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/rx-sensi/rx-sensi.rprj b/Ride/Bleeper-72/rx-sensi/rx-sensi.rprj
deleted file mode 100644
index c78744811..000000000
--- a/Ride/Bleeper-72/rx-sensi/rx-sensi.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/tx-cw/tx-cw.rapp b/Ride/Bleeper-72/tx-cw/tx-cw.rapp
deleted file mode 100644
index 537a6d137..000000000
--- a/Ride/Bleeper-72/tx-cw/tx-cw.rapp
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-72/tx-cw/tx-cw.rprj b/Ride/Bleeper-72/tx-cw/tx-cw.rprj
deleted file mode 100644
index 3163e8e72..000000000
--- a/Ride/Bleeper-72/tx-cw/tx-cw.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.rapp b/Ride/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.rapp
deleted file mode 100644
index ea7b3fb38..000000000
--- a/Ride/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.rprj b/Ride/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.rprj
deleted file mode 100644
index b7bf92dea..000000000
--- a/Ride/Bleeper-76/LoRaMac/classA/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classA/LoRaMac.rapp b/Ride/Bleeper-76/LoRaMac/classA/LoRaMac.rapp
deleted file mode 100644
index 8da2f69ed..000000000
--- a/Ride/Bleeper-76/LoRaMac/classA/LoRaMac.rapp
+++ /dev/null
@@ -1,431 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classA/LoRaMac.rprj b/Ride/Bleeper-76/LoRaMac/classA/LoRaMac.rprj
deleted file mode 100644
index 33db9b994..000000000
--- a/Ride/Bleeper-76/LoRaMac/classA/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.rapp b/Ride/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.rapp
deleted file mode 100644
index 51b588e4d..000000000
--- a/Ride/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.rprj b/Ride/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.rprj
deleted file mode 100644
index b639834ea..000000000
--- a/Ride/Bleeper-76/LoRaMac/classB/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classB/LoRaMac.rapp b/Ride/Bleeper-76/LoRaMac/classB/LoRaMac.rapp
deleted file mode 100644
index 9fd9318db..000000000
--- a/Ride/Bleeper-76/LoRaMac/classB/LoRaMac.rapp
+++ /dev/null
@@ -1,431 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classB/LoRaMac.rprj b/Ride/Bleeper-76/LoRaMac/classB/LoRaMac.rprj
deleted file mode 100644
index 53f614df6..000000000
--- a/Ride/Bleeper-76/LoRaMac/classB/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.rapp b/Ride/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.rapp
deleted file mode 100644
index a45e0271d..000000000
--- a/Ride/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.rprj b/Ride/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.rprj
deleted file mode 100644
index 82d84f8c5..000000000
--- a/Ride/Bleeper-76/LoRaMac/classC/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classC/LoRaMac.rapp b/Ride/Bleeper-76/LoRaMac/classC/LoRaMac.rapp
deleted file mode 100644
index fb2dc89e3..000000000
--- a/Ride/Bleeper-76/LoRaMac/classC/LoRaMac.rapp
+++ /dev/null
@@ -1,431 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/classC/LoRaMac.rprj b/Ride/Bleeper-76/LoRaMac/classC/LoRaMac.rprj
deleted file mode 100644
index ae4a9288e..000000000
--- a/Ride/Bleeper-76/LoRaMac/classC/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.rapp b/Ride/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.rapp
deleted file mode 100644
index c857d7189..000000000
--- a/Ride/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.rapp
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.rprj b/Ride/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.rprj
deleted file mode 100644
index 98a99b792..000000000
--- a/Ride/Bleeper-76/LoRaMac/radioCoverageTest/radioCoverageTest.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/ping-pong/Ping-Pong.rapp b/Ride/Bleeper-76/ping-pong/Ping-Pong.rapp
deleted file mode 100644
index bec1f45be..000000000
--- a/Ride/Bleeper-76/ping-pong/Ping-Pong.rapp
+++ /dev/null
@@ -1,729 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/ping-pong/Ping-Pong.rprj b/Ride/Bleeper-76/ping-pong/Ping-Pong.rprj
deleted file mode 100644
index be551979c..000000000
--- a/Ride/Bleeper-76/ping-pong/Ping-Pong.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/rx-sensi/rx-sensi.rapp b/Ride/Bleeper-76/rx-sensi/rx-sensi.rapp
deleted file mode 100644
index 9b4252970..000000000
--- a/Ride/Bleeper-76/rx-sensi/rx-sensi.rapp
+++ /dev/null
@@ -1,729 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/rx-sensi/rx-sensi.rprj b/Ride/Bleeper-76/rx-sensi/rx-sensi.rprj
deleted file mode 100644
index ade0dc466..000000000
--- a/Ride/Bleeper-76/rx-sensi/rx-sensi.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/tx-cw/tx-cw.rapp b/Ride/Bleeper-76/tx-cw/tx-cw.rapp
deleted file mode 100644
index db1c2de90..000000000
--- a/Ride/Bleeper-76/tx-cw/tx-cw.rapp
+++ /dev/null
@@ -1,421 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/Bleeper-76/tx-cw/tx-cw.rprj b/Ride/Bleeper-76/tx-cw/tx-cw.rprj
deleted file mode 100644
index 9d0b4b295..000000000
--- a/Ride/Bleeper-76/tx-cw/tx-cw.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/Bootloader/Bootloader.rapp b/Ride/LoRaMote/Bootloader/Bootloader.rapp
deleted file mode 100644
index 7e57c99c4..000000000
--- a/Ride/LoRaMote/Bootloader/Bootloader.rapp
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/Bootloader/Bootloader.rprj b/Ride/LoRaMote/Bootloader/Bootloader.rprj
deleted file mode 100644
index 1c706d165..000000000
--- a/Ride/LoRaMote/Bootloader/Bootloader.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classA/LoRaMac-api-v3.rapp b/Ride/LoRaMote/LoRaMac/classA/LoRaMac-api-v3.rapp
deleted file mode 100644
index adf18ca80..000000000
--- a/Ride/LoRaMote/LoRaMac/classA/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,343 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classA/LoRaMac-api-v3.rprj b/Ride/LoRaMote/LoRaMac/classA/LoRaMac-api-v3.rprj
deleted file mode 100644
index 97f9d19d2..000000000
--- a/Ride/LoRaMote/LoRaMac/classA/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classA/LoRaMac.rapp b/Ride/LoRaMote/LoRaMac/classA/LoRaMac.rapp
deleted file mode 100644
index c44bdf426..000000000
--- a/Ride/LoRaMote/LoRaMac/classA/LoRaMac.rapp
+++ /dev/null
@@ -1,342 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classA/LoRaMac.rprj b/Ride/LoRaMote/LoRaMac/classA/LoRaMac.rprj
deleted file mode 100644
index 25c3f431e..000000000
--- a/Ride/LoRaMote/LoRaMac/classA/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classB/LoRaMac-api-v3.rapp b/Ride/LoRaMote/LoRaMac/classB/LoRaMac-api-v3.rapp
deleted file mode 100644
index bdfe02599..000000000
--- a/Ride/LoRaMote/LoRaMac/classB/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,343 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classB/LoRaMac-api-v3.rprj b/Ride/LoRaMote/LoRaMac/classB/LoRaMac-api-v3.rprj
deleted file mode 100644
index e6de6bdd5..000000000
--- a/Ride/LoRaMote/LoRaMac/classB/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classB/LoRaMac.rapp b/Ride/LoRaMote/LoRaMac/classB/LoRaMac.rapp
deleted file mode 100644
index 3d3a6b076..000000000
--- a/Ride/LoRaMote/LoRaMac/classB/LoRaMac.rapp
+++ /dev/null
@@ -1,342 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classB/LoRaMac.rprj b/Ride/LoRaMote/LoRaMac/classB/LoRaMac.rprj
deleted file mode 100644
index f3fb9002c..000000000
--- a/Ride/LoRaMote/LoRaMac/classB/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classC/LoRaMac-api-v3.rapp b/Ride/LoRaMote/LoRaMac/classC/LoRaMac-api-v3.rapp
deleted file mode 100644
index 7e6b9145d..000000000
--- a/Ride/LoRaMote/LoRaMac/classC/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,343 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classC/LoRaMac-api-v3.rprj b/Ride/LoRaMote/LoRaMac/classC/LoRaMac-api-v3.rprj
deleted file mode 100644
index d45be66fd..000000000
--- a/Ride/LoRaMote/LoRaMac/classC/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classC/LoRaMac.rapp b/Ride/LoRaMote/LoRaMac/classC/LoRaMac.rapp
deleted file mode 100644
index 52cb009e3..000000000
--- a/Ride/LoRaMote/LoRaMac/classC/LoRaMac.rapp
+++ /dev/null
@@ -1,342 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/LoRaMac/classC/LoRaMac.rprj b/Ride/LoRaMote/LoRaMac/classC/LoRaMac.rprj
deleted file mode 100644
index 0ffdb683c..000000000
--- a/Ride/LoRaMote/LoRaMac/classC/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/ping-pong/Ping-Pong.rapp b/Ride/LoRaMote/ping-pong/Ping-Pong.rapp
deleted file mode 100644
index 7ccd057d5..000000000
--- a/Ride/LoRaMote/ping-pong/Ping-Pong.rapp
+++ /dev/null
@@ -1,741 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/ping-pong/Ping-Pong.rprj b/Ride/LoRaMote/ping-pong/Ping-Pong.rprj
deleted file mode 100644
index be551979c..000000000
--- a/Ride/LoRaMote/ping-pong/Ping-Pong.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/rx-sensi/rx-sensi.rapp b/Ride/LoRaMote/rx-sensi/rx-sensi.rapp
deleted file mode 100644
index 9670c1a12..000000000
--- a/Ride/LoRaMote/rx-sensi/rx-sensi.rapp
+++ /dev/null
@@ -1,741 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/rx-sensi/rx-sensi.rprj b/Ride/LoRaMote/rx-sensi/rx-sensi.rprj
deleted file mode 100644
index ade0dc466..000000000
--- a/Ride/LoRaMote/rx-sensi/rx-sensi.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/tx-cw/tx-cw.rapp b/Ride/LoRaMote/tx-cw/tx-cw.rapp
deleted file mode 100644
index ae5f3ec06..000000000
--- a/Ride/LoRaMote/tx-cw/tx-cw.rapp
+++ /dev/null
@@ -1,433 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/LoRaMote/tx-cw/tx-cw.rprj b/Ride/LoRaMote/tx-cw/tx-cw.rprj
deleted file mode 100644
index 9d0b4b295..000000000
--- a/Ride/LoRaMote/tx-cw/tx-cw.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classA/LoRaMac-api-v3.rapp b/Ride/SK-iM880A/LoRaMac/classA/LoRaMac-api-v3.rapp
deleted file mode 100644
index 7ed21d29f..000000000
--- a/Ride/SK-iM880A/LoRaMac/classA/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classA/LoRaMac-api-v3.rprj b/Ride/SK-iM880A/LoRaMac/classA/LoRaMac-api-v3.rprj
deleted file mode 100644
index b54dcb95d..000000000
--- a/Ride/SK-iM880A/LoRaMac/classA/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classA/LoRaMac.rapp b/Ride/SK-iM880A/LoRaMac/classA/LoRaMac.rapp
deleted file mode 100644
index c19b9c67d..000000000
--- a/Ride/SK-iM880A/LoRaMac/classA/LoRaMac.rapp
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classA/LoRaMac.rprj b/Ride/SK-iM880A/LoRaMac/classA/LoRaMac.rprj
deleted file mode 100644
index d9e6dc4ca..000000000
--- a/Ride/SK-iM880A/LoRaMac/classA/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classB/LoRaMac-api-v3.rapp b/Ride/SK-iM880A/LoRaMac/classB/LoRaMac-api-v3.rapp
deleted file mode 100644
index 055fa75cb..000000000
--- a/Ride/SK-iM880A/LoRaMac/classB/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classB/LoRaMac-api-v3.rprj b/Ride/SK-iM880A/LoRaMac/classB/LoRaMac-api-v3.rprj
deleted file mode 100644
index 02448f8f8..000000000
--- a/Ride/SK-iM880A/LoRaMac/classB/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classB/LoRaMac.rapp b/Ride/SK-iM880A/LoRaMac/classB/LoRaMac.rapp
deleted file mode 100644
index d505e6a14..000000000
--- a/Ride/SK-iM880A/LoRaMac/classB/LoRaMac.rapp
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classB/LoRaMac.rprj b/Ride/SK-iM880A/LoRaMac/classB/LoRaMac.rprj
deleted file mode 100644
index c12f39634..000000000
--- a/Ride/SK-iM880A/LoRaMac/classB/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classC/LoRaMac-api-v3.rapp b/Ride/SK-iM880A/LoRaMac/classC/LoRaMac-api-v3.rapp
deleted file mode 100644
index 48cf53e72..000000000
--- a/Ride/SK-iM880A/LoRaMac/classC/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classC/LoRaMac-api-v3.rprj b/Ride/SK-iM880A/LoRaMac/classC/LoRaMac-api-v3.rprj
deleted file mode 100644
index 4649969f7..000000000
--- a/Ride/SK-iM880A/LoRaMac/classC/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classC/LoRaMac.rapp b/Ride/SK-iM880A/LoRaMac/classC/LoRaMac.rapp
deleted file mode 100644
index 56f3205ce..000000000
--- a/Ride/SK-iM880A/LoRaMac/classC/LoRaMac.rapp
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/LoRaMac/classC/LoRaMac.rprj b/Ride/SK-iM880A/LoRaMac/classC/LoRaMac.rprj
deleted file mode 100644
index 22856ada9..000000000
--- a/Ride/SK-iM880A/LoRaMac/classC/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/ping-pong/Ping-Pong.rapp b/Ride/SK-iM880A/ping-pong/Ping-Pong.rapp
deleted file mode 100644
index b52a5d832..000000000
--- a/Ride/SK-iM880A/ping-pong/Ping-Pong.rapp
+++ /dev/null
@@ -1,268 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/ping-pong/Ping-Pong.rprj b/Ride/SK-iM880A/ping-pong/Ping-Pong.rprj
deleted file mode 100644
index d8b8aede8..000000000
--- a/Ride/SK-iM880A/ping-pong/Ping-Pong.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/rx-sensi/rx-sensi.rapp b/Ride/SK-iM880A/rx-sensi/rx-sensi.rapp
deleted file mode 100644
index d030a819d..000000000
--- a/Ride/SK-iM880A/rx-sensi/rx-sensi.rapp
+++ /dev/null
@@ -1,268 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/rx-sensi/rx-sensi.rprj b/Ride/SK-iM880A/rx-sensi/rx-sensi.rprj
deleted file mode 100644
index c78744811..000000000
--- a/Ride/SK-iM880A/rx-sensi/rx-sensi.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/tx-cw/tx-cw.rapp b/Ride/SK-iM880A/tx-cw/tx-cw.rapp
deleted file mode 100644
index 558633549..000000000
--- a/Ride/SK-iM880A/tx-cw/tx-cw.rapp
+++ /dev/null
@@ -1,191 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SK-iM880A/tx-cw/tx-cw.rprj b/Ride/SK-iM880A/tx-cw/tx-cw.rprj
deleted file mode 100644
index 3163e8e72..000000000
--- a/Ride/SK-iM880A/tx-cw/tx-cw.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/Bootloader/Bootloader.rapp b/Ride/SensorNode/Bootloader/Bootloader.rapp
deleted file mode 100644
index b2900be10..000000000
--- a/Ride/SensorNode/Bootloader/Bootloader.rapp
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/Bootloader/Bootloader.rprj b/Ride/SensorNode/Bootloader/Bootloader.rprj
deleted file mode 100644
index abbc8f812..000000000
--- a/Ride/SensorNode/Bootloader/Bootloader.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classA/LoRaMac-api-v3.rapp b/Ride/SensorNode/LoRaMac/classA/LoRaMac-api-v3.rapp
deleted file mode 100644
index 8ee0c2042..000000000
--- a/Ride/SensorNode/LoRaMac/classA/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,752 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classA/LoRaMac-api-v3.rprj b/Ride/SensorNode/LoRaMac/classA/LoRaMac-api-v3.rprj
deleted file mode 100644
index 9f141be60..000000000
--- a/Ride/SensorNode/LoRaMac/classA/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classA/LoRaMac.rapp b/Ride/SensorNode/LoRaMac/classA/LoRaMac.rapp
deleted file mode 100644
index 2474346da..000000000
--- a/Ride/SensorNode/LoRaMac/classA/LoRaMac.rapp
+++ /dev/null
@@ -1,574 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classA/LoRaMac.rprj b/Ride/SensorNode/LoRaMac/classA/LoRaMac.rprj
deleted file mode 100644
index ab9ad4f82..000000000
--- a/Ride/SensorNode/LoRaMac/classA/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classB/LoRaMac-api-v3.rapp b/Ride/SensorNode/LoRaMac/classB/LoRaMac-api-v3.rapp
deleted file mode 100644
index 58d29ff26..000000000
--- a/Ride/SensorNode/LoRaMac/classB/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,752 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classB/LoRaMac-api-v3.rprj b/Ride/SensorNode/LoRaMac/classB/LoRaMac-api-v3.rprj
deleted file mode 100644
index c18c238a3..000000000
--- a/Ride/SensorNode/LoRaMac/classB/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classB/LoRaMac.rapp b/Ride/SensorNode/LoRaMac/classB/LoRaMac.rapp
deleted file mode 100644
index aa474e9a9..000000000
--- a/Ride/SensorNode/LoRaMac/classB/LoRaMac.rapp
+++ /dev/null
@@ -1,574 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classB/LoRaMac.rprj b/Ride/SensorNode/LoRaMac/classB/LoRaMac.rprj
deleted file mode 100644
index 9f98749d3..000000000
--- a/Ride/SensorNode/LoRaMac/classB/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classC/LoRaMac-api-v3.rapp b/Ride/SensorNode/LoRaMac/classC/LoRaMac-api-v3.rapp
deleted file mode 100644
index 435cfb436..000000000
--- a/Ride/SensorNode/LoRaMac/classC/LoRaMac-api-v3.rapp
+++ /dev/null
@@ -1,752 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classC/LoRaMac-api-v3.rprj b/Ride/SensorNode/LoRaMac/classC/LoRaMac-api-v3.rprj
deleted file mode 100644
index 8a65f83ad..000000000
--- a/Ride/SensorNode/LoRaMac/classC/LoRaMac-api-v3.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classC/LoRaMac.rapp b/Ride/SensorNode/LoRaMac/classC/LoRaMac.rapp
deleted file mode 100644
index f2956e387..000000000
--- a/Ride/SensorNode/LoRaMac/classC/LoRaMac.rapp
+++ /dev/null
@@ -1,574 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/LoRaMac/classC/LoRaMac.rprj b/Ride/SensorNode/LoRaMac/classC/LoRaMac.rprj
deleted file mode 100644
index 2c4536f9a..000000000
--- a/Ride/SensorNode/LoRaMac/classC/LoRaMac.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/ping-pong/Ping-Pong.rapp b/Ride/SensorNode/ping-pong/Ping-Pong.rapp
deleted file mode 100644
index 917a96de7..000000000
--- a/Ride/SensorNode/ping-pong/Ping-Pong.rapp
+++ /dev/null
@@ -1,1357 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/ping-pong/Ping-Pong.rprj b/Ride/SensorNode/ping-pong/Ping-Pong.rprj
deleted file mode 100644
index aa91488db..000000000
--- a/Ride/SensorNode/ping-pong/Ping-Pong.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/rx-sensi/rx-sensi.rapp b/Ride/SensorNode/rx-sensi/rx-sensi.rapp
deleted file mode 100644
index 5d5ad280f..000000000
--- a/Ride/SensorNode/rx-sensi/rx-sensi.rapp
+++ /dev/null
@@ -1,1357 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/rx-sensi/rx-sensi.rprj b/Ride/SensorNode/rx-sensi/rx-sensi.rprj
deleted file mode 100644
index 6220fd37a..000000000
--- a/Ride/SensorNode/rx-sensi/rx-sensi.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/tx-cw/tx-cw.rapp b/Ride/SensorNode/tx-cw/tx-cw.rapp
deleted file mode 100644
index 2afdad146..000000000
--- a/Ride/SensorNode/tx-cw/tx-cw.rapp
+++ /dev/null
@@ -1,741 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ride/SensorNode/tx-cw/tx-cw.rprj b/Ride/SensorNode/tx-cw/tx-cw.rprj
deleted file mode 100644
index 0d2b2b101..000000000
--- a/Ride/SensorNode/tx-cw/tx-cw.rprj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/coIDE/SK-iM880A/LoRaMac/classA/LoRaMacClassA-api-v3.coproj b/coIDE/SK-iM880A/LoRaMac/classA/LoRaMacClassA-api-v3.coproj
new file mode 100644
index 000000000..26d4d9511
--- /dev/null
+++ b/coIDE/SK-iM880A/LoRaMac/classA/LoRaMacClassA-api-v3.coproj
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coIDE/SK-iM880A/LoRaMac/classA/LoRaMacClassA.coproj b/coIDE/SK-iM880A/LoRaMac/classA/LoRaMacClassA.coproj
new file mode 100644
index 000000000..361b958e5
--- /dev/null
+++ b/coIDE/SK-iM880A/LoRaMac/classA/LoRaMacClassA.coproj
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coIDE/SK-iM880A/LoRaMac/classB/LoRaMacClassB-api-v3.coproj b/coIDE/SK-iM880A/LoRaMac/classB/LoRaMacClassB-api-v3.coproj
new file mode 100644
index 000000000..989c29495
--- /dev/null
+++ b/coIDE/SK-iM880A/LoRaMac/classB/LoRaMacClassB-api-v3.coproj
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coIDE/SK-iM880A/LoRaMac/classB/LoRaMacClassB.coproj b/coIDE/SK-iM880A/LoRaMac/classB/LoRaMacClassB.coproj
new file mode 100644
index 000000000..813ccd64c
--- /dev/null
+++ b/coIDE/SK-iM880A/LoRaMac/classB/LoRaMacClassB.coproj
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coIDE/SK-iM880A/LoRaMac/classC/LoRaMacClassC-api-v3.coproj b/coIDE/SK-iM880A/LoRaMac/classC/LoRaMacClassC-api-v3.coproj
new file mode 100644
index 000000000..73f6279d5
--- /dev/null
+++ b/coIDE/SK-iM880A/LoRaMac/classC/LoRaMacClassC-api-v3.coproj
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coIDE/SK-iM880A/LoRaMac/classC/LoRaMacClassC.coproj b/coIDE/SK-iM880A/LoRaMac/classC/LoRaMacClassC.coproj
new file mode 100644
index 000000000..cc0ebb232
--- /dev/null
+++ b/coIDE/SK-iM880A/LoRaMac/classC/LoRaMacClassC.coproj
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coIDE/SK-iM880A/ping-pong/Ping-Pong.coproj b/coIDE/SK-iM880A/ping-pong/Ping-Pong.coproj
new file mode 100644
index 000000000..b1f076e3e
--- /dev/null
+++ b/coIDE/SK-iM880A/ping-pong/Ping-Pong.coproj
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/readme.md b/readme.md
index 9ade5c331..dd5924a50 100644
--- a/readme.md
+++ b/readme.md
@@ -5,47 +5,43 @@
(______/|_____)_|_|_| \__)_____)\____)_| |_|
(C)2013 Semtech
-SX1272/76 radio drivers plus Ping-Pong firmware and LoRaWAN node firmware implementation.
+LoRaWAN endpoint stack implementation and example projects.
=====================================
1. Introduction
----------------
-The aim of this project is to show examples of the LoRaWAN specification endpoint firmware
-implementation.
+The aim of this project is to show an example of the endpoint LoRaWAN stack implementation.
-**REMARK 1:** *The Semtech/STACKFORCE implementation is a EU868/US915 band Class A and Class C endpoint
-implementation fully compatible with LoRaWAN 1.0 specification.*
+This LoRaWAN stack is an EU868 and US915 bands Class A and Class C endpoint implementation
+fully compatible with LoRaWAN 1.0 specification.
+Each LoRaWAN application example includes the LoRaWAN certification protocol implementation.
-**REMARK 2:** *Version 4.0 is the first version release maintained by STACKFORCE and Semtech.
-This new version includes big changes on the LoRaMac API. The API documentation
-can be found at : http://stackforce.github.io/LoRaMac-doc/ *
+SX1272/76 radio drivers are also provided.
+In case only point to point links are required a Ping-Pong application is provided as example.
-*Please note that a version 3.x API to version 4.x API wrapper is available.
-Thus, applications built using version 3.x API should work without modifications except that
-one must include LoRaMac-api-v3.h instead of LoRaMac.h file*
+*The LoRaWAN stack API documentation can be found at: http://stackforce.github.io/LoRaMac-doc/*
+
+**Note 1:**
-**Now on the EUIs are to be entered as big endian byte arrays. The MAC layer will reverse the array when necessary.
-Valid for 3.x and 4.x API**
+*A version 3.x API to version 4.x API wrapper is available.
+Applications built using version 3.x API should work without modifications except that
+one must include LoRaMac-api-v3.h instead of LoRaMac.h file*
-**REMARK 3:** *Each LoRaWAN application examples now include the LoRaWAN certification protocol implmentation.*
+**Note 2:**
-**REMARK 4:** *In order to ease the release process the Bleeper-72, Bleeper-76 and SK-iM880A platforms
-will be removed in future releases, unless there are objections.*
+*A port of this project can be found on [MBED Semtech Team page](http://developer.mbed.org/teams/Semtech/)*
-**Note:**
+*The example projects are:*
-*The IBM 'LoRaWAN in C' implementation supports the Class A profile and partial
-Class B support (beacon synchronization).*
+1. [LoRaWAN-demo-72](http://developer.mbed.org/teams/Semtech/code/LoRaWAN-demo-72/)
+2. [LoRaWAN-demo-76](http://developer.mbed.org/teams/Semtech/code/LoRaWAN-demo-76/)
-*A port of the IBM 'LoRaWAN in C' can be found on [MBED Semtech Team page](http://developer.mbed.org/teams/Semtech/)
-project [LoRaWAN-lmic-app](http://developer.mbed.org/teams/Semtech/code/LoRaWAN-lmic-app/)*
2. System schematic and definitions
------------------------------------
-The available supported hardware platforms schematics and LoRaMac specification
-can be found in the Doc directory.
+The available supported hardware platforms schematics can be found in the Doc directory.
-3. Acknowledgements
+3. Acknowledgments
-------------------
The mbed (https://mbed.org/) project was used at the beginning as source of
inspiration.
@@ -62,36 +58,6 @@ Lander Casado, Philippas Tsigas.
This program depends on specific hardware platforms. Currently the supported
platforms are:
- - Bleeper-72
- MCU : STM32L151RD - 384K FLASH, 48K RAM, Timers, SPI, I2C,
- USART,
- USB 2.0 full-speed device/host/OTG controller,
- DAC, ADC, DMA
- RADIO : SX1272
- ANTENNA : Connector for external antenna
- BUTTONS : 1 Reset, 16 position encoder
- LEDS : 3
- SENSORS : Temperature
- GPS : Possible through pin header GPS module connection
- SDCARD : Yes
- EXTENSION HEADER : Yes, 12 pins
- REMARK : None.
-
- - Bleeper-76
- MCU : STM32L151RD - 384K FLASH, 48K RAM, Timers, SPI, I2C,
- USART,
- USB 2.0 full-speed device/host/OTG controller,
- DAC, ADC, DMA
- RADIO : SX1276
- ANTENNA : Connector for external antennas (LF+HF)
- BUTTONS : 1 Reset, 16 position encoder
- LEDS : 3
- SENSORS : Temperature
- GPS : Possible through pin header GPS module connection
- SDCARD : No
- EXTENSION HEADER : Yes, 12 pins
- REMARK : None.
-
- LoRaMote
MCU : STM32L151CB - 128K FLASH, 10K RAM, Timers, SPI, I2C,
USART,
@@ -141,7 +107,7 @@ platforms are:
5. Usage
---------
-Projects for CooCox-CoIDE (partial), Ride7 and Keil Integrated Development Environments are available.
+Projects for CooCox-CoIDE and Keil Integrated Development Environments are available.
One project is available per application and for each hardware platform in each
development environment. Different targets/configurations have been created in
@@ -150,11 +116,39 @@ not of a bootloader and the radio frequency band to be used.
6. Changelog
-------------
+2015-03-10, V4.1
+* General
+ 1. This version has passed all mandatory LoRa-Alliance compliance tests.
+
+ *One of the optional tests is unsuccessful (FSK downlinks PER on Rx1 and Rx2 windows) and is currently under investigation.*
+ 2. Removed support for Raisonance Ride7 IDE (Reduces the amount of work to be done at each new release)
+ 3. Removed the Bleeper-72 and Bleeper-76 platforms support as these are now deprecated.
+ 4. Application state machine. Relocate setting sleep state and update the duty cycle in compliance test mode.
+ 5. Bug fix in TimerIrqHandler. Now, it is possible to insert timers in callback.
+ 6. Changed TimerHwDelayMs function to be re-entrant.
+ 7. Corrected FSK modem packets bigger than 64 bytes handling (Issue #36)
+
+* LoRaWAN
+ 1. Rename attribute nbRetries to NbTrials in structure McpsReqConfirmed_t. (Issue #37)
+ 2. Updated implementation of SetNextChannel. Added enabling default channels in case of join request. (Issue #39)
+ 3. Add missing documentation about MIB_REPEATER_SUPPORT. (Issue #42).
+ 4. Add a new LoRaMacState to allow adding channels during TX procedure. (Issue #43)
+ 5. Relocate the activation of LoRaMacFlags.Bits.McpsInd in OnRadioRxDone.
+ 6. Add a new function PrepareRxDoneAbort to prepare a break-out of OnRadioRxDone in case of an error
+ 7. Activate default channels in case all others are disabled. (Issue #39)
+ 8. Bug fix in setting the default channel in case none is enabled.
+ 9. SRV_MAC_NEW_CHANNEL_REQ MAC command added a fix to the macIndex variable on US915 band.
+ 10. Start the MacStateCheckTimer in OnRxDone and related error cases with a short interval to handle events promptly. (Issue #44)
+ 11. Reset status of NodeAckRequested if we received an ACK or in case of timeout.
+ 12. Removed additional EU868 channels from the LoRaWAN implementation files. GitHub (Issue #49)
+ The creation of these additional channels has been moved to the application example.
+ 13. Improved and corrected AdrNextDr function.
+
2015-12-18, V4.0
* General
1. STACKFORCE new API integration
2. Reverse the EUIs arrays in the MAC layer.
- 3. LoRaWAN certification protocol implmentation
+ 3. LoRaWAN certification protocol implementation
4. All reported issues and Pull requests have been addressed.
2015-10-06, V3.4.1
@@ -252,7 +246,7 @@ not of a bootloader and the radio frequency band to be used.
* Added a new parameter to LoRaMacEventFlags structure that indicates on which Rx window the data has been received.
* Added a new parameter to LoRaMacEventFlags structure that indicates if there is applicative data on the received payload.
- * Corrected ADR MAC command behaviour
+ * Corrected ADR MAC command behavior
* DutyCycle enforcement implementation (EU868 PHY only)
**REMARK 1** *The regulatory duty cycle enforcement is enabled by default
@@ -262,7 +256,7 @@ not of a bootloader and the radio frequency band to be used.
*Toff = TimeOnAir / DutyCycle - TxTimeOnAir*
- *Eaxample:*
+ *Example:*
*A device just transmitted a 0.5 s long frame on one default channel.
This channel is in a sub-band allowing 1% duty-cycle. Therefore this
whole sub-band (868 MHz - 868.6 MHz) will be unavailable for 49.5 s.*
@@ -313,7 +307,7 @@ not of a bootloader and the radio frequency band to be used.
5. Corrected the LoRaMacSetNextChannel function.
6. Corrected the port 0 MAC command decoding.
7. Changed all structures declarations to be packed.
- 8. Corrected the Acknowledgement retries management when only 1 trial is needed.
+ 8. Corrected the Acknowledgment retries management when only 1 trial is needed.
Before the device was issuing at least 2 trials.
9. Corrected server mac new channel req answer.
10. Added the functions to read the Up and Down Link sequence counters.
@@ -363,7 +357,7 @@ not of a bootloader and the radio frequency band to be used.
Possible by issuing DutyCycleReq MAC command.
* Duty cycle management enforcement **NO**
- * Acknowledgements retries **YES**
+ * Acknowledgments retries **YES**
* Unconfirmed messages retries **YES**
2014-07-10, v2.3.RC2
@@ -402,7 +396,7 @@ not of a bootloader and the radio frequency band to be used.
MSB nibble = SELECTOR (barometric)
LSB bit = LED
9. Redefined rand() and srand() standard C functions. These functions are
- redefined in order to get the same behaviour across different compiler
+ redefined in order to get the same behavior across different compiler
tool chains implementations.
10. GPS driver improvements. Made independent of the board platform.
11. Simplified the RTC management.
@@ -437,7 +431,7 @@ not of a bootloader and the radio frequency band to be used.
Possible by issuing DutyCycleReq MAC command.
* Duty cycle management enforcement **NO**
- * Acknowledgements retries **WORK IN PROGRESS**
+ * Acknowledgments retries **WORK IN PROGRESS**
Not fully debugged. Disabled by default.
* Unconfirmed messages retries **WORK IN PROGRESS** (LoRaMac specification R2.2.1)
@@ -495,12 +489,12 @@ not of a bootloader and the radio frequency band to be used.
* DevStatusAns **YES**
* JoinReq **YES**
* JoinAccept **YES**
- 2. Added acknowledgements retries management.
+ 2. Added acknowledgments retries management.
Split the LoRaMacSendOnChannel function in LoRaMacPrepareFrame and
LoRaMacSendFrameOnChannel. LoRaMacSendOnChannel now calls the 2 newly
defined functions.
- **WARNING**: By default the acknowledgement retries specific code isn't
+ **WARNING**: By default the acknowledgment retries specific code isn't
enabled. The current http://iot.semtech.com server version doesn't support
it.
diff --git a/src/apps/LoRaMac/classA/Bleeper-72/Comissioning.h b/src/apps/LoRaMac/classA/Bleeper-72/Comissioning.h
deleted file mode 100644
index f663ac2f8..000000000
--- a/src/apps/LoRaMac/classA/Bleeper-72/Comissioning.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2015 Semtech
-
-Description: End device comissioning parameters
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORA_COMISSIONING_H__
-#define __LORA_COMISSIONING_H__
-
-/*!
- * When set to 1 the application uses the Over-the-Air activation procedure
- * When set to 0 the application uses the Personalization activation procedure
- */
-#define OVER_THE_AIR_ACTIVATION 0
-
-/*!
- * Indicates if the end-device is to be connected to a private or public network
- */
-#define LORAWAN_PUBLIC_NETWORK true
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Mote device IEEE EUI (big endian)
- *
- * \remark In this application the value is automatically generated by calling
- * BoardGetUniqueId function
- */
-#define LORAWAN_DEVICE_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * Application IEEE EUI (big endian)
- */
-#define LORAWAN_APPLICATION_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * AES encryption/decryption cipher application key
- */
-#define LORAWAN_APPLICATION_KEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#else
-
-/*!
- * Current network ID
- */
-#define LORAWAN_NETWORK_ID ( uint32_t )0
-
-/*!
- * Device address on the network (big endian)
- *
- * \remark In this application the value is automatically generated using
- * a pseudo random generator seeded with a value derived from
- * BoardUniqueId value
- */
-#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
-
-/*!
- * AES encryption/decryption cipher network session key
- */
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-/*!
- * AES encryption/decryption cipher application session key
- */
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#endif
-
-#endif // __LORA_COMISSIONING_H__
diff --git a/src/apps/LoRaMac/classA/Bleeper-72/main-api-v3.c b/src/apps/LoRaMac/classA/Bleeper-72/main-api-v3.c
deleted file mode 100644
index ab5e7e2b6..000000000
--- a/src/apps/LoRaMac/classA/Bleeper-72/main-api-v3.c
+++ /dev/null
@@ -1,572 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classA device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac-api-v3.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptative Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Indicates if the MAC layer has already joined a network.
- */
-static bool IsNetworkJoined = false;
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Defines the join request timer
- */
-static TimerEvent_t JoinReqTimer;
-
-#endif
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool TxNextPacket = true;
-static bool ScheduleNextTx = false;
-static bool DownlinkStatusUpdate = false;
-
-static LoRaMacCallbacks_t LoRaMacCallbacks;
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1StateChanged = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2StateChanged = false;
-
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * Prepares the frame buffer to be sent
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static void ProcessRxFrame( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- switch( info->RxPort ) // Check Rx port number
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( info->RxBufferSize == 1 )
- {
- AppLedStateOn = info->RxBuffer[0] & 0x01;
- Led3StateChanged = true;
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( info->RxBufferSize == 4 ) &&
- ( info->RxBuffer[0] == 0x01 ) &&
- ( info->RxBuffer[1] == 0x01 ) &&
- ( info->RxBuffer[2] == 0x01 ) &&
- ( info->RxBuffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- LoRaMacSetAdrOn( true );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = info->RxBuffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = info->RxBufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = info->RxBuffer[i] + 1;
- }
- break;
- case 5: // (viii)
- LoRaMacLinkCheckReq( );
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static bool SendFrame( void )
-{
- uint8_t sendFrameStatus = 0;
-
- if( IsTxConfirmed == false )
- {
- sendFrameStatus = LoRaMacSendFrame( AppPort, AppData, AppDataSize );
- }
- else
- {
- sendFrameStatus = LoRaMacSendConfirmedFrame( AppPort, AppData, AppDataSize, 8 );
- }
-
- switch( sendFrameStatus )
- {
- case 3: // LENGTH_ERROR
- // Send empty frame in order to flush MAC commands
- LoRaMacSendFrame( 0, NULL, 0 );
- return false;
- case 5: // NO_FREE_CHANNEL
- // Try again later
- return true;
- default:
- return false;
- }
-}
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * \brief Function executed on JoinReq Timeout event
- */
-static void OnJoinReqTimerEvent( void )
-{
- TimerStop( &JoinReqTimer );
- TxNextPacket = true;
-}
-
-#endif
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- TimerStop( &TxNextPacketTimer );
- TxNextPacket = true;
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- Led1StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- Led2StateChanged = true;
-}
-
-/*!
- * \brief Function to be executed on MAC layer event
- */
-static void OnMacEvent( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- if( flags->Bits.JoinAccept == 1 )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- TimerStop( &JoinReqTimer );
-#endif
- IsNetworkJoined = true;
- }
- else
- {
- if( flags->Bits.Tx == 1 )
- {
- }
-
- if( flags->Bits.Rx == 1 )
- {
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- if( flags->Bits.LinkCheck == 1 )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = info->DemodMargin;
- ComplianceTest.NbGateways = info->NbGateways;
- }
- }
- if( flags->Bits.RxData == true )
- {
- ProcessRxFrame( flags, info );
- }
-
- DownlinkStatusUpdate = true;
- TimerStart( &Led2Timer );
- }
- }
- // Schedule a new transmission
- ScheduleNextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- uint8_t sendFrameStatus = 0;
-#endif
- bool trySendingFrameAgain = false;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- LoRaMacCallbacks.MacEvent = OnMacEvent;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInit( &LoRaMacCallbacks );
-
- IsNetworkJoined = false;
-
-#if( OVER_THE_AIR_ACTIVATION == 0 )
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
- // Choose a random device address based on Board unique ID
- // NwkAddr rand [0, 33554431]
- DevAddr = randr( 0, 0x01FFFFFF );
-
- LoRaMacInitNwkIds( LORAWAN_NETWORK_ID, DevAddr, NwkSKey, AppSKey );
- IsNetworkJoined = true;
-#else
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- // Sends a JoinReq Command every OVER_THE_AIR_ACTIVATION_DUTYCYCLE
- // seconds until the network is joined
- TimerInit( &JoinReqTimer, OnJoinReqTimerEvent );
- TimerSetValue( &JoinReqTimer, OVER_THE_AIR_ACTIVATION_DUTYCYCLE );
-#endif
-
- TxNextPacket = true;
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
- LoRaMacSetPublicNetwork( LORAWAN_PUBLIC_NETWORK );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
-
- while( 1 )
- {
- while( IsNetworkJoined == false )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- sendFrameStatus = LoRaMacJoinReq( DevEui, AppEui, AppKey );
- switch( sendFrameStatus )
- {
- case 1: // BUSY
- break;
- case 0: // OK
- case 2: // NO_NETWORK_JOINED
- case 3: // LENGTH_PORT_ERROR
- case 4: // MAC_CMD_ERROR
- case 6: // DEVICE_OFF
- default:
- // Relaunch timer for next trial
- TimerStart( &JoinReqTimer );
- break;
- }
- }
- TimerLowPowerHandler( );
-#endif
- }
-
- if( Led1StateChanged == true )
- {
- Led1StateChanged = false;
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- }
- if( Led2StateChanged == true )
- {
- Led2StateChanged = false;
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- }
- if( Led3StateChanged == true )
- {
- Led3StateChanged = false;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- if( DownlinkStatusUpdate == true )
- {
- DownlinkStatusUpdate = false;
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- }
-
- if( ScheduleNextTx == true )
- {
- ScheduleNextTx = false;
-
- if( ComplianceTest.Running == true )
- {
- TxNextPacket = true;
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
- }
- }
-
- if( trySendingFrameAgain == true )
- {
- trySendingFrameAgain = SendFrame( );
- }
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- PrepareTxFrame( AppPort );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- trySendingFrameAgain = SendFrame( );
- }
-
- TimerLowPowerHandler( );
- }
-}
diff --git a/src/apps/LoRaMac/classA/Bleeper-72/main.c b/src/apps/LoRaMac/classA/Bleeper-72/main.c
deleted file mode 100644
index df91a324d..000000000
--- a/src/apps/LoRaMac/classA/Bleeper-72/main.c
+++ /dev/null
@@ -1,704 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classA device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptive Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-#include "LoRaMacTest.h"
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-/*!
- * Specifies the state of the application LED
- */
-static bool AppLedStateOn = false;
-
-/*!
- * Timer to handle the state of LED1
- */
-static TimerEvent_t Led1Timer;
-
-/*!
- * Timer to handle the state of LED2
- */
-static TimerEvent_t Led2Timer;
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool NextTx = true;
-
-/*!
- * Device states
- */
-static enum eDevicState
-{
- DEVICE_STATE_INIT,
- DEVICE_STATE_JOIN,
- DEVICE_STATE_SEND,
- DEVICE_STATE_CYCLE,
- DEVICE_STATE_SLEEP
-}DeviceState;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * \brief Prepares the payload of the frame
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-/*!
- * \brief Prepares the payload of the frame
- *
- * \retval [0: frame could be send, 1: error]
- */
-static bool SendFrame( void )
-{
- McpsReq_t mcpsReq;
- LoRaMacTxInfo_t txInfo;
-
- if( LoRaMacQueryTxPossible( AppDataSize, &txInfo ) != LORAMAC_STATUS_OK )
- {
- // Send empty frame in order to flush MAC commands
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fBuffer = NULL;
- mcpsReq.Req.Unconfirmed.fBufferSize = 0;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- if( IsTxConfirmed == false )
- {
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fPort = AppPort;
- mcpsReq.Req.Unconfirmed.fBuffer = AppData;
- mcpsReq.Req.Unconfirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- mcpsReq.Type = MCPS_CONFIRMED;
- mcpsReq.Req.Confirmed.fPort = AppPort;
- mcpsReq.Req.Confirmed.fBuffer = AppData;
- mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
- mcpsReq.Req.Confirmed.Datarate = DR_0;
- }
- }
-
- if( LoRaMacMcpsRequest( &mcpsReq ) == LORAMAC_STATUS_OK )
- {
- return false;
- }
- return true;
-}
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- MibRequestConfirm_t mibReq;
- LoRaMacStatus_t status;
-
- TimerStop( &TxNextPacketTimer );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- status = LoRaMacMibGetRequestConfirm( &mibReq );
-
- if( status == LORAMAC_STATUS_OK )
- {
- if( mibReq.Param.IsNetworkJoined == true )
- {
- DeviceState = DEVICE_STATE_SEND;
- NextTx = true;
- }
- else
- {
- DeviceState = DEVICE_STATE_JOIN;
- }
- }
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
-}
-
-/*!
- * \brief MCPS-Confirm event function
- *
- * \param [IN] McpsConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void McpsConfirm( McpsConfirm_t *McpsConfirm )
-{
- if( McpsConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( McpsConfirm->McpsRequest )
- {
- case MCPS_UNCONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- break;
- }
- case MCPS_CONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- // Check AckReceived
- // Check NbRetries
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- default:
- break;
- }
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
- }
- NextTx = true;
-}
-
-/*!
- * \brief MCPS-Indication event function
- *
- * \param [IN] McpsIndication - Pointer to the indication structure,
- * containing indication attributes.
- */
-static void McpsIndication( McpsIndication_t *McpsIndication )
-{
- if( McpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
- {
- return;
- }
-
- switch( McpsIndication->McpsIndication )
- {
- case MCPS_UNCONFIRMED:
- {
- break;
- }
- case MCPS_CONFIRMED:
- {
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- case MCPS_MULTICAST:
- {
- break;
- }
- default:
- break;
- }
-
- // Check Multicast
- // Check Port
- // Check Datarate
- // Check FramePending
- // Check Buffer
- // Check BufferSize
- // Check Rssi
- // Check Snr
- // Check RxSlot
-
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- }
-
- if( McpsIndication->RxData == true )
- {
- switch( McpsIndication->Port )
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( McpsIndication->BufferSize == 1 )
- {
- AppLedStateOn = McpsIndication->Buffer[0] & 0x01;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( McpsIndication->BufferSize == 4 ) &&
- ( McpsIndication->Buffer[0] == 0x01 ) &&
- ( McpsIndication->Buffer[1] == 0x01 ) &&
- ( McpsIndication->Buffer[2] == 0x01 ) &&
- ( McpsIndication->Buffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = McpsIndication->Buffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = McpsIndication->BufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = McpsIndication->Buffer[i] + 1;
- }
- break;
- case 5: // (viii)
- {
- MlmeReq_t mlmeReq;
- mlmeReq.Type = MLME_LINK_CHECK;
- LoRaMacMlmeRequest( &mlmeReq );
- }
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
- }
-
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- TimerStart( &Led2Timer );
-}
-
-/*!
- * \brief MLME-Confirm event function
- *
- * \param [IN] MlmeConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void MlmeConfirm( MlmeConfirm_t *MlmeConfirm )
-{
- if( MlmeConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( MlmeConfirm->MlmeRequest )
- {
- case MLME_JOIN:
- {
- // Status is OK, node has joined the network
- break;
- }
- case MLME_LINK_CHECK:
- {
- // Check DemodMargin
- // Check NbGateways
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = MlmeConfirm->DemodMargin;
- ComplianceTest.NbGateways = MlmeConfirm->NbGateways;
- }
- break;
- }
- default:
- break;
- }
- }
- NextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- LoRaMacPrimitives_t LoRaMacPrimitives;
- LoRaMacCallback_t LoRaMacCallbacks;
- MibRequestConfirm_t mibReq;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- DeviceState = DEVICE_STATE_INIT;
-
- while( 1 )
- {
- switch( DeviceState )
- {
- case DEVICE_STATE_INIT:
- {
- LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;
- LoRaMacPrimitives.MacMcpsIndication = McpsIndication;
- LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks );
-
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_PUBLIC_NETWORK;
- mibReq.Param.EnablePublicNetwork = LORAWAN_PUBLIC_NETWORK;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- DeviceState = DEVICE_STATE_JOIN;
- break;
- }
- case DEVICE_STATE_JOIN:
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- MlmeReq_t mlmeReq;
-
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- mlmeReq.Type = MLME_JOIN;
-
- mlmeReq.Req.Join.DevEui = DevEui;
- mlmeReq.Req.Join.AppEui = AppEui;
- mlmeReq.Req.Join.AppKey = AppKey;
-
- if( NextTx == true )
- {
- LoRaMacMlmeRequest( &mlmeReq );
- }
-
- // Schedule next packet transmission
- TxDutyCycleTime = OVER_THE_AIR_ACTIVATION_DUTYCYCLE;
- DeviceState = DEVICE_STATE_CYCLE;
-
-#else
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
-
- // Choose a random device address
- DevAddr = randr( 0, 0x01FFFFFF );
-
- mibReq.Type = MIB_NET_ID;
- mibReq.Param.NetID = LORAWAN_NETWORK_ID;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_DEV_ADDR;
- mibReq.Param.DevAddr = DevAddr;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NWK_SKEY;
- mibReq.Param.NwkSKey = NwkSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_APP_SKEY;
- mibReq.Param.AppSKey = AppSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- mibReq.Param.IsNetworkJoined = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- DeviceState = DEVICE_STATE_SEND;
-#endif
- break;
- }
- case DEVICE_STATE_SEND:
- {
- if( NextTx == true )
- {
- PrepareTxFrame( AppPort );
-
- NextTx = SendFrame( );
- }
- if( ComplianceTest.Running == true )
- {
- // Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- }
- DeviceState = DEVICE_STATE_CYCLE;
- break;
- }
- case DEVICE_STATE_CYCLE:
- {
- // Schedule next packet transmission
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
- break;
- }
- case DEVICE_STATE_SLEEP:
- {
- // Wake up through events
- TimerLowPowerHandler( );
- break;
- }
- default:
- {
- DeviceState = DEVICE_STATE_INIT;
- break;
- }
- }
- }
-}
diff --git a/src/apps/LoRaMac/classA/Bleeper-76/Comissioning.h b/src/apps/LoRaMac/classA/Bleeper-76/Comissioning.h
deleted file mode 100644
index f663ac2f8..000000000
--- a/src/apps/LoRaMac/classA/Bleeper-76/Comissioning.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2015 Semtech
-
-Description: End device comissioning parameters
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORA_COMISSIONING_H__
-#define __LORA_COMISSIONING_H__
-
-/*!
- * When set to 1 the application uses the Over-the-Air activation procedure
- * When set to 0 the application uses the Personalization activation procedure
- */
-#define OVER_THE_AIR_ACTIVATION 0
-
-/*!
- * Indicates if the end-device is to be connected to a private or public network
- */
-#define LORAWAN_PUBLIC_NETWORK true
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Mote device IEEE EUI (big endian)
- *
- * \remark In this application the value is automatically generated by calling
- * BoardGetUniqueId function
- */
-#define LORAWAN_DEVICE_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * Application IEEE EUI (big endian)
- */
-#define LORAWAN_APPLICATION_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * AES encryption/decryption cipher application key
- */
-#define LORAWAN_APPLICATION_KEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#else
-
-/*!
- * Current network ID
- */
-#define LORAWAN_NETWORK_ID ( uint32_t )0
-
-/*!
- * Device address on the network (big endian)
- *
- * \remark In this application the value is automatically generated using
- * a pseudo random generator seeded with a value derived from
- * BoardUniqueId value
- */
-#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
-
-/*!
- * AES encryption/decryption cipher network session key
- */
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-/*!
- * AES encryption/decryption cipher application session key
- */
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#endif
-
-#endif // __LORA_COMISSIONING_H__
diff --git a/src/apps/LoRaMac/classA/Bleeper-76/main-api-v3.c b/src/apps/LoRaMac/classA/Bleeper-76/main-api-v3.c
deleted file mode 100644
index ab5e7e2b6..000000000
--- a/src/apps/LoRaMac/classA/Bleeper-76/main-api-v3.c
+++ /dev/null
@@ -1,572 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classA device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac-api-v3.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptative Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Indicates if the MAC layer has already joined a network.
- */
-static bool IsNetworkJoined = false;
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Defines the join request timer
- */
-static TimerEvent_t JoinReqTimer;
-
-#endif
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool TxNextPacket = true;
-static bool ScheduleNextTx = false;
-static bool DownlinkStatusUpdate = false;
-
-static LoRaMacCallbacks_t LoRaMacCallbacks;
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1StateChanged = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2StateChanged = false;
-
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * Prepares the frame buffer to be sent
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static void ProcessRxFrame( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- switch( info->RxPort ) // Check Rx port number
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( info->RxBufferSize == 1 )
- {
- AppLedStateOn = info->RxBuffer[0] & 0x01;
- Led3StateChanged = true;
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( info->RxBufferSize == 4 ) &&
- ( info->RxBuffer[0] == 0x01 ) &&
- ( info->RxBuffer[1] == 0x01 ) &&
- ( info->RxBuffer[2] == 0x01 ) &&
- ( info->RxBuffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- LoRaMacSetAdrOn( true );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = info->RxBuffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = info->RxBufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = info->RxBuffer[i] + 1;
- }
- break;
- case 5: // (viii)
- LoRaMacLinkCheckReq( );
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static bool SendFrame( void )
-{
- uint8_t sendFrameStatus = 0;
-
- if( IsTxConfirmed == false )
- {
- sendFrameStatus = LoRaMacSendFrame( AppPort, AppData, AppDataSize );
- }
- else
- {
- sendFrameStatus = LoRaMacSendConfirmedFrame( AppPort, AppData, AppDataSize, 8 );
- }
-
- switch( sendFrameStatus )
- {
- case 3: // LENGTH_ERROR
- // Send empty frame in order to flush MAC commands
- LoRaMacSendFrame( 0, NULL, 0 );
- return false;
- case 5: // NO_FREE_CHANNEL
- // Try again later
- return true;
- default:
- return false;
- }
-}
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * \brief Function executed on JoinReq Timeout event
- */
-static void OnJoinReqTimerEvent( void )
-{
- TimerStop( &JoinReqTimer );
- TxNextPacket = true;
-}
-
-#endif
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- TimerStop( &TxNextPacketTimer );
- TxNextPacket = true;
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- Led1StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- Led2StateChanged = true;
-}
-
-/*!
- * \brief Function to be executed on MAC layer event
- */
-static void OnMacEvent( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- if( flags->Bits.JoinAccept == 1 )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- TimerStop( &JoinReqTimer );
-#endif
- IsNetworkJoined = true;
- }
- else
- {
- if( flags->Bits.Tx == 1 )
- {
- }
-
- if( flags->Bits.Rx == 1 )
- {
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- if( flags->Bits.LinkCheck == 1 )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = info->DemodMargin;
- ComplianceTest.NbGateways = info->NbGateways;
- }
- }
- if( flags->Bits.RxData == true )
- {
- ProcessRxFrame( flags, info );
- }
-
- DownlinkStatusUpdate = true;
- TimerStart( &Led2Timer );
- }
- }
- // Schedule a new transmission
- ScheduleNextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- uint8_t sendFrameStatus = 0;
-#endif
- bool trySendingFrameAgain = false;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- LoRaMacCallbacks.MacEvent = OnMacEvent;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInit( &LoRaMacCallbacks );
-
- IsNetworkJoined = false;
-
-#if( OVER_THE_AIR_ACTIVATION == 0 )
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
- // Choose a random device address based on Board unique ID
- // NwkAddr rand [0, 33554431]
- DevAddr = randr( 0, 0x01FFFFFF );
-
- LoRaMacInitNwkIds( LORAWAN_NETWORK_ID, DevAddr, NwkSKey, AppSKey );
- IsNetworkJoined = true;
-#else
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- // Sends a JoinReq Command every OVER_THE_AIR_ACTIVATION_DUTYCYCLE
- // seconds until the network is joined
- TimerInit( &JoinReqTimer, OnJoinReqTimerEvent );
- TimerSetValue( &JoinReqTimer, OVER_THE_AIR_ACTIVATION_DUTYCYCLE );
-#endif
-
- TxNextPacket = true;
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
- LoRaMacSetPublicNetwork( LORAWAN_PUBLIC_NETWORK );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
-
- while( 1 )
- {
- while( IsNetworkJoined == false )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- sendFrameStatus = LoRaMacJoinReq( DevEui, AppEui, AppKey );
- switch( sendFrameStatus )
- {
- case 1: // BUSY
- break;
- case 0: // OK
- case 2: // NO_NETWORK_JOINED
- case 3: // LENGTH_PORT_ERROR
- case 4: // MAC_CMD_ERROR
- case 6: // DEVICE_OFF
- default:
- // Relaunch timer for next trial
- TimerStart( &JoinReqTimer );
- break;
- }
- }
- TimerLowPowerHandler( );
-#endif
- }
-
- if( Led1StateChanged == true )
- {
- Led1StateChanged = false;
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- }
- if( Led2StateChanged == true )
- {
- Led2StateChanged = false;
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- }
- if( Led3StateChanged == true )
- {
- Led3StateChanged = false;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- if( DownlinkStatusUpdate == true )
- {
- DownlinkStatusUpdate = false;
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- }
-
- if( ScheduleNextTx == true )
- {
- ScheduleNextTx = false;
-
- if( ComplianceTest.Running == true )
- {
- TxNextPacket = true;
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
- }
- }
-
- if( trySendingFrameAgain == true )
- {
- trySendingFrameAgain = SendFrame( );
- }
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- PrepareTxFrame( AppPort );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- trySendingFrameAgain = SendFrame( );
- }
-
- TimerLowPowerHandler( );
- }
-}
diff --git a/src/apps/LoRaMac/classA/Bleeper-76/main.c b/src/apps/LoRaMac/classA/Bleeper-76/main.c
deleted file mode 100644
index df91a324d..000000000
--- a/src/apps/LoRaMac/classA/Bleeper-76/main.c
+++ /dev/null
@@ -1,704 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classA device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptive Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-#include "LoRaMacTest.h"
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-/*!
- * Specifies the state of the application LED
- */
-static bool AppLedStateOn = false;
-
-/*!
- * Timer to handle the state of LED1
- */
-static TimerEvent_t Led1Timer;
-
-/*!
- * Timer to handle the state of LED2
- */
-static TimerEvent_t Led2Timer;
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool NextTx = true;
-
-/*!
- * Device states
- */
-static enum eDevicState
-{
- DEVICE_STATE_INIT,
- DEVICE_STATE_JOIN,
- DEVICE_STATE_SEND,
- DEVICE_STATE_CYCLE,
- DEVICE_STATE_SLEEP
-}DeviceState;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * \brief Prepares the payload of the frame
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-/*!
- * \brief Prepares the payload of the frame
- *
- * \retval [0: frame could be send, 1: error]
- */
-static bool SendFrame( void )
-{
- McpsReq_t mcpsReq;
- LoRaMacTxInfo_t txInfo;
-
- if( LoRaMacQueryTxPossible( AppDataSize, &txInfo ) != LORAMAC_STATUS_OK )
- {
- // Send empty frame in order to flush MAC commands
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fBuffer = NULL;
- mcpsReq.Req.Unconfirmed.fBufferSize = 0;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- if( IsTxConfirmed == false )
- {
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fPort = AppPort;
- mcpsReq.Req.Unconfirmed.fBuffer = AppData;
- mcpsReq.Req.Unconfirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- mcpsReq.Type = MCPS_CONFIRMED;
- mcpsReq.Req.Confirmed.fPort = AppPort;
- mcpsReq.Req.Confirmed.fBuffer = AppData;
- mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
- mcpsReq.Req.Confirmed.Datarate = DR_0;
- }
- }
-
- if( LoRaMacMcpsRequest( &mcpsReq ) == LORAMAC_STATUS_OK )
- {
- return false;
- }
- return true;
-}
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- MibRequestConfirm_t mibReq;
- LoRaMacStatus_t status;
-
- TimerStop( &TxNextPacketTimer );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- status = LoRaMacMibGetRequestConfirm( &mibReq );
-
- if( status == LORAMAC_STATUS_OK )
- {
- if( mibReq.Param.IsNetworkJoined == true )
- {
- DeviceState = DEVICE_STATE_SEND;
- NextTx = true;
- }
- else
- {
- DeviceState = DEVICE_STATE_JOIN;
- }
- }
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
-}
-
-/*!
- * \brief MCPS-Confirm event function
- *
- * \param [IN] McpsConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void McpsConfirm( McpsConfirm_t *McpsConfirm )
-{
- if( McpsConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( McpsConfirm->McpsRequest )
- {
- case MCPS_UNCONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- break;
- }
- case MCPS_CONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- // Check AckReceived
- // Check NbRetries
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- default:
- break;
- }
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
- }
- NextTx = true;
-}
-
-/*!
- * \brief MCPS-Indication event function
- *
- * \param [IN] McpsIndication - Pointer to the indication structure,
- * containing indication attributes.
- */
-static void McpsIndication( McpsIndication_t *McpsIndication )
-{
- if( McpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
- {
- return;
- }
-
- switch( McpsIndication->McpsIndication )
- {
- case MCPS_UNCONFIRMED:
- {
- break;
- }
- case MCPS_CONFIRMED:
- {
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- case MCPS_MULTICAST:
- {
- break;
- }
- default:
- break;
- }
-
- // Check Multicast
- // Check Port
- // Check Datarate
- // Check FramePending
- // Check Buffer
- // Check BufferSize
- // Check Rssi
- // Check Snr
- // Check RxSlot
-
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- }
-
- if( McpsIndication->RxData == true )
- {
- switch( McpsIndication->Port )
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( McpsIndication->BufferSize == 1 )
- {
- AppLedStateOn = McpsIndication->Buffer[0] & 0x01;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( McpsIndication->BufferSize == 4 ) &&
- ( McpsIndication->Buffer[0] == 0x01 ) &&
- ( McpsIndication->Buffer[1] == 0x01 ) &&
- ( McpsIndication->Buffer[2] == 0x01 ) &&
- ( McpsIndication->Buffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = McpsIndication->Buffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = McpsIndication->BufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = McpsIndication->Buffer[i] + 1;
- }
- break;
- case 5: // (viii)
- {
- MlmeReq_t mlmeReq;
- mlmeReq.Type = MLME_LINK_CHECK;
- LoRaMacMlmeRequest( &mlmeReq );
- }
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
- }
-
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- TimerStart( &Led2Timer );
-}
-
-/*!
- * \brief MLME-Confirm event function
- *
- * \param [IN] MlmeConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void MlmeConfirm( MlmeConfirm_t *MlmeConfirm )
-{
- if( MlmeConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( MlmeConfirm->MlmeRequest )
- {
- case MLME_JOIN:
- {
- // Status is OK, node has joined the network
- break;
- }
- case MLME_LINK_CHECK:
- {
- // Check DemodMargin
- // Check NbGateways
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = MlmeConfirm->DemodMargin;
- ComplianceTest.NbGateways = MlmeConfirm->NbGateways;
- }
- break;
- }
- default:
- break;
- }
- }
- NextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- LoRaMacPrimitives_t LoRaMacPrimitives;
- LoRaMacCallback_t LoRaMacCallbacks;
- MibRequestConfirm_t mibReq;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- DeviceState = DEVICE_STATE_INIT;
-
- while( 1 )
- {
- switch( DeviceState )
- {
- case DEVICE_STATE_INIT:
- {
- LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;
- LoRaMacPrimitives.MacMcpsIndication = McpsIndication;
- LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks );
-
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_PUBLIC_NETWORK;
- mibReq.Param.EnablePublicNetwork = LORAWAN_PUBLIC_NETWORK;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- DeviceState = DEVICE_STATE_JOIN;
- break;
- }
- case DEVICE_STATE_JOIN:
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- MlmeReq_t mlmeReq;
-
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- mlmeReq.Type = MLME_JOIN;
-
- mlmeReq.Req.Join.DevEui = DevEui;
- mlmeReq.Req.Join.AppEui = AppEui;
- mlmeReq.Req.Join.AppKey = AppKey;
-
- if( NextTx == true )
- {
- LoRaMacMlmeRequest( &mlmeReq );
- }
-
- // Schedule next packet transmission
- TxDutyCycleTime = OVER_THE_AIR_ACTIVATION_DUTYCYCLE;
- DeviceState = DEVICE_STATE_CYCLE;
-
-#else
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
-
- // Choose a random device address
- DevAddr = randr( 0, 0x01FFFFFF );
-
- mibReq.Type = MIB_NET_ID;
- mibReq.Param.NetID = LORAWAN_NETWORK_ID;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_DEV_ADDR;
- mibReq.Param.DevAddr = DevAddr;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NWK_SKEY;
- mibReq.Param.NwkSKey = NwkSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_APP_SKEY;
- mibReq.Param.AppSKey = AppSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- mibReq.Param.IsNetworkJoined = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- DeviceState = DEVICE_STATE_SEND;
-#endif
- break;
- }
- case DEVICE_STATE_SEND:
- {
- if( NextTx == true )
- {
- PrepareTxFrame( AppPort );
-
- NextTx = SendFrame( );
- }
- if( ComplianceTest.Running == true )
- {
- // Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- }
- DeviceState = DEVICE_STATE_CYCLE;
- break;
- }
- case DEVICE_STATE_CYCLE:
- {
- // Schedule next packet transmission
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
- break;
- }
- case DEVICE_STATE_SLEEP:
- {
- // Wake up through events
- TimerLowPowerHandler( );
- break;
- }
- default:
- {
- DeviceState = DEVICE_STATE_INIT;
- break;
- }
- }
- }
-}
diff --git a/src/apps/LoRaMac/classA/LoRaMote/main-api-v3.c b/src/apps/LoRaMac/classA/LoRaMote/main-api-v3.c
index fa8db5001..b859e420f 100644
--- a/src/apps/LoRaMac/classA/LoRaMote/main-api-v3.c
+++ b/src/apps/LoRaMac/classA/LoRaMote/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -523,6 +536,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
while( 1 )
diff --git a/src/apps/LoRaMac/classA/LoRaMote/main.c b/src/apps/LoRaMac/classA/LoRaMote/main.c
index e2626623f..63fd566c5 100644
--- a/src/apps/LoRaMac/classA/LoRaMote/main.c
+++ b/src/apps/LoRaMac/classA/LoRaMote/main.c
@@ -61,6 +61,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -313,7 +326,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -395,7 +408,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -647,6 +660,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
DeviceState = DEVICE_STATE_JOIN;
break;
@@ -716,7 +739,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -728,11 +751,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/classA/SK-iM880A/main-api-v3.c b/src/apps/LoRaMac/classA/SK-iM880A/main-api-v3.c
index 6f4b56c17..d6d1d62b6 100644
--- a/src/apps/LoRaMac/classA/SK-iM880A/main-api-v3.c
+++ b/src/apps/LoRaMac/classA/SK-iM880A/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Andreas Pella (IMST GmbH), Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -473,6 +486,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
while( 1 )
diff --git a/src/apps/LoRaMac/classA/SK-iM880A/main.c b/src/apps/LoRaMac/classA/SK-iM880A/main.c
index b61069dec..16069942c 100644
--- a/src/apps/LoRaMac/classA/SK-iM880A/main.c
+++ b/src/apps/LoRaMac/classA/SK-iM880A/main.c
@@ -59,6 +59,19 @@ Maintainer: Andreas Pella (IMST GmbH), Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -261,7 +274,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -343,7 +356,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -595,6 +608,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
DeviceState = DEVICE_STATE_JOIN;
break;
@@ -664,7 +687,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -676,11 +699,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/classA/SensorNode/main-api-v3.c b/src/apps/LoRaMac/classA/SensorNode/main-api-v3.c
index 63c83a87e..5a550121c 100644
--- a/src/apps/LoRaMac/classA/SensorNode/main-api-v3.c
+++ b/src/apps/LoRaMac/classA/SensorNode/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -537,6 +550,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
while( 1 )
diff --git a/src/apps/LoRaMac/classA/SensorNode/main.c b/src/apps/LoRaMac/classA/SensorNode/main.c
index 930fa7470..f72f2eead 100644
--- a/src/apps/LoRaMac/classA/SensorNode/main.c
+++ b/src/apps/LoRaMac/classA/SensorNode/main.c
@@ -58,6 +58,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -238,8 +251,8 @@ static void PrepareTxFrame( uint8_t port )
altitudeGps = GpsGetLatestGpsAltitude( ); // in m
AppData[0] = AppLedStateOn;
- AppData[1] = temperature;
- AppData[2] = batteryLevel;
+ AppData[1] = temperature; // Signed degrees Celcius in half degree units. So, +/-63 C
+ AppData[2] = batteryLevel; // Per LoRaWAN spec; 0=Charging; 1...254 = level, 255 = N/A
AppData[3] = ( latitude >> 16 ) & 0xFF;
AppData[4] = ( latitude >> 8 ) & 0xFF;
AppData[5] = latitude & 0xFF;
@@ -315,7 +328,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -377,7 +390,7 @@ static void OnLed2TimerEvent( void )
/*!
* \brief Function executed on Led 4 Timeout event
*/
-void OnLed4TimerEvent( void )
+static void OnLed4TimerEvent( void )
{
TimerStop( &Led4Timer );
// Switch LED 4 OFF
@@ -406,7 +419,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -661,6 +674,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
DeviceState = DEVICE_STATE_JOIN;
break;
@@ -730,7 +753,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -742,11 +765,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/classB/Bleeper-72/Comissioning.h b/src/apps/LoRaMac/classB/Bleeper-72/Comissioning.h
deleted file mode 100644
index f663ac2f8..000000000
--- a/src/apps/LoRaMac/classB/Bleeper-72/Comissioning.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2015 Semtech
-
-Description: End device comissioning parameters
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORA_COMISSIONING_H__
-#define __LORA_COMISSIONING_H__
-
-/*!
- * When set to 1 the application uses the Over-the-Air activation procedure
- * When set to 0 the application uses the Personalization activation procedure
- */
-#define OVER_THE_AIR_ACTIVATION 0
-
-/*!
- * Indicates if the end-device is to be connected to a private or public network
- */
-#define LORAWAN_PUBLIC_NETWORK true
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Mote device IEEE EUI (big endian)
- *
- * \remark In this application the value is automatically generated by calling
- * BoardGetUniqueId function
- */
-#define LORAWAN_DEVICE_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * Application IEEE EUI (big endian)
- */
-#define LORAWAN_APPLICATION_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * AES encryption/decryption cipher application key
- */
-#define LORAWAN_APPLICATION_KEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#else
-
-/*!
- * Current network ID
- */
-#define LORAWAN_NETWORK_ID ( uint32_t )0
-
-/*!
- * Device address on the network (big endian)
- *
- * \remark In this application the value is automatically generated using
- * a pseudo random generator seeded with a value derived from
- * BoardUniqueId value
- */
-#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
-
-/*!
- * AES encryption/decryption cipher network session key
- */
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-/*!
- * AES encryption/decryption cipher application session key
- */
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#endif
-
-#endif // __LORA_COMISSIONING_H__
diff --git a/src/apps/LoRaMac/classB/Bleeper-72/main-api-v3.c b/src/apps/LoRaMac/classB/Bleeper-72/main-api-v3.c
deleted file mode 100644
index 26b05d3a7..000000000
--- a/src/apps/LoRaMac/classB/Bleeper-72/main-api-v3.c
+++ /dev/null
@@ -1,572 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classB device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac-api-v3.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptative Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Indicates if the MAC layer has already joined a network.
- */
-static bool IsNetworkJoined = false;
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Defines the join request timer
- */
-static TimerEvent_t JoinReqTimer;
-
-#endif
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool TxNextPacket = true;
-static bool ScheduleNextTx = false;
-static bool DownlinkStatusUpdate = false;
-
-static LoRaMacCallbacks_t LoRaMacCallbacks;
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1StateChanged = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2StateChanged = false;
-
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * Prepares the frame buffer to be sent
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static void ProcessRxFrame( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- switch( info->RxPort ) // Check Rx port number
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( info->RxBufferSize == 1 )
- {
- AppLedStateOn = info->RxBuffer[0] & 0x01;
- Led3StateChanged = true;
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( info->RxBufferSize == 4 ) &&
- ( info->RxBuffer[0] == 0x01 ) &&
- ( info->RxBuffer[1] == 0x01 ) &&
- ( info->RxBuffer[2] == 0x01 ) &&
- ( info->RxBuffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- LoRaMacSetAdrOn( true );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = info->RxBuffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = info->RxBufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = info->RxBuffer[i] + 1;
- }
- break;
- case 5: // (viii)
- LoRaMacLinkCheckReq( );
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static bool SendFrame( void )
-{
- uint8_t sendFrameStatus = 0;
-
- if( IsTxConfirmed == false )
- {
- sendFrameStatus = LoRaMacSendFrame( AppPort, AppData, AppDataSize );
- }
- else
- {
- sendFrameStatus = LoRaMacSendConfirmedFrame( AppPort, AppData, AppDataSize, 8 );
- }
-
- switch( sendFrameStatus )
- {
- case 3: // LENGTH_ERROR
- // Send empty frame in order to flush MAC commands
- LoRaMacSendFrame( 0, NULL, 0 );
- return false;
- case 5: // NO_FREE_CHANNEL
- // Try again later
- return true;
- default:
- return false;
- }
-}
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * \brief Function executed on JoinReq Timeout event
- */
-static void OnJoinReqTimerEvent( void )
-{
- TimerStop( &JoinReqTimer );
- TxNextPacket = true;
-}
-
-#endif
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- TimerStop( &TxNextPacketTimer );
- TxNextPacket = true;
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- Led1StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- Led2StateChanged = true;
-}
-
-/*!
- * \brief Function to be executed on MAC layer event
- */
-static void OnMacEvent( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- if( flags->Bits.JoinAccept == 1 )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- TimerStop( &JoinReqTimer );
-#endif
- IsNetworkJoined = true;
- }
- else
- {
- if( flags->Bits.Tx == 1 )
- {
- }
-
- if( flags->Bits.Rx == 1 )
- {
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- if( flags->Bits.LinkCheck == 1 )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = info->DemodMargin;
- ComplianceTest.NbGateways = info->NbGateways;
- }
- }
- if( flags->Bits.RxData == true )
- {
- ProcessRxFrame( flags, info );
- }
-
- DownlinkStatusUpdate = true;
- TimerStart( &Led2Timer );
- }
- }
- // Schedule a new transmission
- ScheduleNextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- uint8_t sendFrameStatus = 0;
-#endif
- bool trySendingFrameAgain = false;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- LoRaMacCallbacks.MacEvent = OnMacEvent;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInit( &LoRaMacCallbacks );
-
- IsNetworkJoined = false;
-
-#if( OVER_THE_AIR_ACTIVATION == 0 )
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
- // Choose a random device address based on Board unique ID
- // NwkAddr rand [0, 33554431]
- DevAddr = randr( 0, 0x01FFFFFF );
-
- LoRaMacInitNwkIds( LORAWAN_NETWORK_ID, DevAddr, NwkSKey, AppSKey );
- IsNetworkJoined = true;
-#else
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- // Sends a JoinReq Command every OVER_THE_AIR_ACTIVATION_DUTYCYCLE
- // seconds until the network is joined
- TimerInit( &JoinReqTimer, OnJoinReqTimerEvent );
- TimerSetValue( &JoinReqTimer, OVER_THE_AIR_ACTIVATION_DUTYCYCLE );
-#endif
-
- TxNextPacket = true;
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
- LoRaMacSetPublicNetwork( LORAWAN_PUBLIC_NETWORK );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
-
- while( 1 )
- {
- while( IsNetworkJoined == false )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- sendFrameStatus = LoRaMacJoinReq( DevEui, AppEui, AppKey );
- switch( sendFrameStatus )
- {
- case 1: // BUSY
- break;
- case 0: // OK
- case 2: // NO_NETWORK_JOINED
- case 3: // LENGTH_PORT_ERROR
- case 4: // MAC_CMD_ERROR
- case 6: // DEVICE_OFF
- default:
- // Relaunch timer for next trial
- TimerStart( &JoinReqTimer );
- break;
- }
- }
- TimerLowPowerHandler( );
-#endif
- }
-
- if( Led1StateChanged == true )
- {
- Led1StateChanged = false;
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- }
- if( Led2StateChanged == true )
- {
- Led2StateChanged = false;
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- }
- if( Led3StateChanged == true )
- {
- Led3StateChanged = false;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- if( DownlinkStatusUpdate == true )
- {
- DownlinkStatusUpdate = false;
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- }
-
- if( ScheduleNextTx == true )
- {
- ScheduleNextTx = false;
-
- if( ComplianceTest.Running == true )
- {
- TxNextPacket = true;
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
- }
- }
-
- if( trySendingFrameAgain == true )
- {
- trySendingFrameAgain = SendFrame( );
- }
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- PrepareTxFrame( AppPort );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- trySendingFrameAgain = SendFrame( );
- }
-
- TimerLowPowerHandler( );
- }
-}
diff --git a/src/apps/LoRaMac/classB/Bleeper-72/main.c b/src/apps/LoRaMac/classB/Bleeper-72/main.c
deleted file mode 100644
index 8c3899be3..000000000
--- a/src/apps/LoRaMac/classB/Bleeper-72/main.c
+++ /dev/null
@@ -1,704 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classB device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptive Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-#include "LoRaMacTest.h"
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-/*!
- * Specifies the state of the application LED
- */
-static bool AppLedStateOn = false;
-
-/*!
- * Timer to handle the state of LED1
- */
-static TimerEvent_t Led1Timer;
-
-/*!
- * Timer to handle the state of LED2
- */
-static TimerEvent_t Led2Timer;
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool NextTx = true;
-
-/*!
- * Device states
- */
-static enum eDevicState
-{
- DEVICE_STATE_INIT,
- DEVICE_STATE_JOIN,
- DEVICE_STATE_SEND,
- DEVICE_STATE_CYCLE,
- DEVICE_STATE_SLEEP
-}DeviceState;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * \brief Prepares the payload of the frame
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-/*!
- * \brief Prepares the payload of the frame
- *
- * \retval [0: frame could be send, 1: error]
- */
-static bool SendFrame( void )
-{
- McpsReq_t mcpsReq;
- LoRaMacTxInfo_t txInfo;
-
- if( LoRaMacQueryTxPossible( AppDataSize, &txInfo ) != LORAMAC_STATUS_OK )
- {
- // Send empty frame in order to flush MAC commands
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fBuffer = NULL;
- mcpsReq.Req.Unconfirmed.fBufferSize = 0;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- if( IsTxConfirmed == false )
- {
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fPort = AppPort;
- mcpsReq.Req.Unconfirmed.fBuffer = AppData;
- mcpsReq.Req.Unconfirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- mcpsReq.Type = MCPS_CONFIRMED;
- mcpsReq.Req.Confirmed.fPort = AppPort;
- mcpsReq.Req.Confirmed.fBuffer = AppData;
- mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
- mcpsReq.Req.Confirmed.Datarate = DR_0;
- }
- }
-
- if( LoRaMacMcpsRequest( &mcpsReq ) == LORAMAC_STATUS_OK )
- {
- return false;
- }
- return true;
-}
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- MibRequestConfirm_t mibReq;
- LoRaMacStatus_t status;
-
- TimerStop( &TxNextPacketTimer );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- status = LoRaMacMibGetRequestConfirm( &mibReq );
-
- if( status == LORAMAC_STATUS_OK )
- {
- if( mibReq.Param.IsNetworkJoined == true )
- {
- DeviceState = DEVICE_STATE_SEND;
- NextTx = true;
- }
- else
- {
- DeviceState = DEVICE_STATE_JOIN;
- }
- }
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
-}
-
-/*!
- * \brief MCPS-Confirm event function
- *
- * \param [IN] McpsConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void McpsConfirm( McpsConfirm_t *McpsConfirm )
-{
- if( McpsConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( McpsConfirm->McpsRequest )
- {
- case MCPS_UNCONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- break;
- }
- case MCPS_CONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- // Check AckReceived
- // Check NbRetries
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- default:
- break;
- }
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
- }
- NextTx = true;
-}
-
-/*!
- * \brief MCPS-Indication event function
- *
- * \param [IN] McpsIndication - Pointer to the indication structure,
- * containing indication attributes.
- */
-static void McpsIndication( McpsIndication_t *McpsIndication )
-{
- if( McpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
- {
- return;
- }
-
- switch( McpsIndication->McpsIndication )
- {
- case MCPS_UNCONFIRMED:
- {
- break;
- }
- case MCPS_CONFIRMED:
- {
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- case MCPS_MULTICAST:
- {
- break;
- }
- default:
- break;
- }
-
- // Check Multicast
- // Check Port
- // Check Datarate
- // Check FramePending
- // Check Buffer
- // Check BufferSize
- // Check Rssi
- // Check Snr
- // Check RxSlot
-
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- }
-
- if( McpsIndication->RxData == true )
- {
- switch( McpsIndication->Port )
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( McpsIndication->BufferSize == 1 )
- {
- AppLedStateOn = McpsIndication->Buffer[0] & 0x01;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( McpsIndication->BufferSize == 4 ) &&
- ( McpsIndication->Buffer[0] == 0x01 ) &&
- ( McpsIndication->Buffer[1] == 0x01 ) &&
- ( McpsIndication->Buffer[2] == 0x01 ) &&
- ( McpsIndication->Buffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = McpsIndication->Buffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = McpsIndication->BufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = McpsIndication->Buffer[i] + 1;
- }
- break;
- case 5: // (viii)
- {
- MlmeReq_t mlmeReq;
- mlmeReq.Type = MLME_LINK_CHECK;
- LoRaMacMlmeRequest( &mlmeReq );
- }
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
- }
-
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- TimerStart( &Led2Timer );
-}
-
-/*!
- * \brief MLME-Confirm event function
- *
- * \param [IN] MlmeConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void MlmeConfirm( MlmeConfirm_t *MlmeConfirm )
-{
- if( MlmeConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( MlmeConfirm->MlmeRequest )
- {
- case MLME_JOIN:
- {
- // Status is OK, node has joined the network
- break;
- }
- case MLME_LINK_CHECK:
- {
- // Check DemodMargin
- // Check NbGateways
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = MlmeConfirm->DemodMargin;
- ComplianceTest.NbGateways = MlmeConfirm->NbGateways;
- }
- break;
- }
- default:
- break;
- }
- }
- NextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- LoRaMacPrimitives_t LoRaMacPrimitives;
- LoRaMacCallback_t LoRaMacCallbacks;
- MibRequestConfirm_t mibReq;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- DeviceState = DEVICE_STATE_INIT;
-
- while( 1 )
- {
- switch( DeviceState )
- {
- case DEVICE_STATE_INIT:
- {
- LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;
- LoRaMacPrimitives.MacMcpsIndication = McpsIndication;
- LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks );
-
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_PUBLIC_NETWORK;
- mibReq.Param.EnablePublicNetwork = LORAWAN_PUBLIC_NETWORK;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- DeviceState = DEVICE_STATE_JOIN;
- break;
- }
- case DEVICE_STATE_JOIN:
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- MlmeReq_t mlmeReq;
-
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- mlmeReq.Type = MLME_JOIN;
-
- mlmeReq.Req.Join.DevEui = DevEui;
- mlmeReq.Req.Join.AppEui = AppEui;
- mlmeReq.Req.Join.AppKey = AppKey;
-
- if( NextTx == true )
- {
- LoRaMacMlmeRequest( &mlmeReq );
- }
-
- // Schedule next packet transmission
- TxDutyCycleTime = OVER_THE_AIR_ACTIVATION_DUTYCYCLE;
- DeviceState = DEVICE_STATE_CYCLE;
-
-#else
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
-
- // Choose a random device address
- DevAddr = randr( 0, 0x01FFFFFF );
-
- mibReq.Type = MIB_NET_ID;
- mibReq.Param.NetID = LORAWAN_NETWORK_ID;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_DEV_ADDR;
- mibReq.Param.DevAddr = DevAddr;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NWK_SKEY;
- mibReq.Param.NwkSKey = NwkSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_APP_SKEY;
- mibReq.Param.AppSKey = AppSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- mibReq.Param.IsNetworkJoined = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- DeviceState = DEVICE_STATE_SEND;
-#endif
- break;
- }
- case DEVICE_STATE_SEND:
- {
- if( NextTx == true )
- {
- PrepareTxFrame( AppPort );
-
- NextTx = SendFrame( );
- }
- if( ComplianceTest.Running == true )
- {
- // Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- }
- DeviceState = DEVICE_STATE_CYCLE;
- break;
- }
- case DEVICE_STATE_CYCLE:
- {
- // Schedule next packet transmission
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
- break;
- }
- case DEVICE_STATE_SLEEP:
- {
- // Wake up through events
- TimerLowPowerHandler( );
- break;
- }
- default:
- {
- DeviceState = DEVICE_STATE_INIT;
- break;
- }
- }
- }
-}
diff --git a/src/apps/LoRaMac/classB/Bleeper-76/Comissioning.h b/src/apps/LoRaMac/classB/Bleeper-76/Comissioning.h
deleted file mode 100644
index f663ac2f8..000000000
--- a/src/apps/LoRaMac/classB/Bleeper-76/Comissioning.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2015 Semtech
-
-Description: End device comissioning parameters
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORA_COMISSIONING_H__
-#define __LORA_COMISSIONING_H__
-
-/*!
- * When set to 1 the application uses the Over-the-Air activation procedure
- * When set to 0 the application uses the Personalization activation procedure
- */
-#define OVER_THE_AIR_ACTIVATION 0
-
-/*!
- * Indicates if the end-device is to be connected to a private or public network
- */
-#define LORAWAN_PUBLIC_NETWORK true
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Mote device IEEE EUI (big endian)
- *
- * \remark In this application the value is automatically generated by calling
- * BoardGetUniqueId function
- */
-#define LORAWAN_DEVICE_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * Application IEEE EUI (big endian)
- */
-#define LORAWAN_APPLICATION_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * AES encryption/decryption cipher application key
- */
-#define LORAWAN_APPLICATION_KEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#else
-
-/*!
- * Current network ID
- */
-#define LORAWAN_NETWORK_ID ( uint32_t )0
-
-/*!
- * Device address on the network (big endian)
- *
- * \remark In this application the value is automatically generated using
- * a pseudo random generator seeded with a value derived from
- * BoardUniqueId value
- */
-#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
-
-/*!
- * AES encryption/decryption cipher network session key
- */
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-/*!
- * AES encryption/decryption cipher application session key
- */
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#endif
-
-#endif // __LORA_COMISSIONING_H__
diff --git a/src/apps/LoRaMac/classB/Bleeper-76/main-api-v3.c b/src/apps/LoRaMac/classB/Bleeper-76/main-api-v3.c
deleted file mode 100644
index 26b05d3a7..000000000
--- a/src/apps/LoRaMac/classB/Bleeper-76/main-api-v3.c
+++ /dev/null
@@ -1,572 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classB device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac-api-v3.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptative Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Indicates if the MAC layer has already joined a network.
- */
-static bool IsNetworkJoined = false;
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Defines the join request timer
- */
-static TimerEvent_t JoinReqTimer;
-
-#endif
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool TxNextPacket = true;
-static bool ScheduleNextTx = false;
-static bool DownlinkStatusUpdate = false;
-
-static LoRaMacCallbacks_t LoRaMacCallbacks;
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1StateChanged = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2StateChanged = false;
-
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * Prepares the frame buffer to be sent
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static void ProcessRxFrame( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- switch( info->RxPort ) // Check Rx port number
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( info->RxBufferSize == 1 )
- {
- AppLedStateOn = info->RxBuffer[0] & 0x01;
- Led3StateChanged = true;
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( info->RxBufferSize == 4 ) &&
- ( info->RxBuffer[0] == 0x01 ) &&
- ( info->RxBuffer[1] == 0x01 ) &&
- ( info->RxBuffer[2] == 0x01 ) &&
- ( info->RxBuffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- LoRaMacSetAdrOn( true );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = info->RxBuffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = info->RxBufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = info->RxBuffer[i] + 1;
- }
- break;
- case 5: // (viii)
- LoRaMacLinkCheckReq( );
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static bool SendFrame( void )
-{
- uint8_t sendFrameStatus = 0;
-
- if( IsTxConfirmed == false )
- {
- sendFrameStatus = LoRaMacSendFrame( AppPort, AppData, AppDataSize );
- }
- else
- {
- sendFrameStatus = LoRaMacSendConfirmedFrame( AppPort, AppData, AppDataSize, 8 );
- }
-
- switch( sendFrameStatus )
- {
- case 3: // LENGTH_ERROR
- // Send empty frame in order to flush MAC commands
- LoRaMacSendFrame( 0, NULL, 0 );
- return false;
- case 5: // NO_FREE_CHANNEL
- // Try again later
- return true;
- default:
- return false;
- }
-}
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * \brief Function executed on JoinReq Timeout event
- */
-static void OnJoinReqTimerEvent( void )
-{
- TimerStop( &JoinReqTimer );
- TxNextPacket = true;
-}
-
-#endif
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- TimerStop( &TxNextPacketTimer );
- TxNextPacket = true;
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- Led1StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- Led2StateChanged = true;
-}
-
-/*!
- * \brief Function to be executed on MAC layer event
- */
-static void OnMacEvent( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- if( flags->Bits.JoinAccept == 1 )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- TimerStop( &JoinReqTimer );
-#endif
- IsNetworkJoined = true;
- }
- else
- {
- if( flags->Bits.Tx == 1 )
- {
- }
-
- if( flags->Bits.Rx == 1 )
- {
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- if( flags->Bits.LinkCheck == 1 )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = info->DemodMargin;
- ComplianceTest.NbGateways = info->NbGateways;
- }
- }
- if( flags->Bits.RxData == true )
- {
- ProcessRxFrame( flags, info );
- }
-
- DownlinkStatusUpdate = true;
- TimerStart( &Led2Timer );
- }
- }
- // Schedule a new transmission
- ScheduleNextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- uint8_t sendFrameStatus = 0;
-#endif
- bool trySendingFrameAgain = false;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- LoRaMacCallbacks.MacEvent = OnMacEvent;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInit( &LoRaMacCallbacks );
-
- IsNetworkJoined = false;
-
-#if( OVER_THE_AIR_ACTIVATION == 0 )
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
- // Choose a random device address based on Board unique ID
- // NwkAddr rand [0, 33554431]
- DevAddr = randr( 0, 0x01FFFFFF );
-
- LoRaMacInitNwkIds( LORAWAN_NETWORK_ID, DevAddr, NwkSKey, AppSKey );
- IsNetworkJoined = true;
-#else
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- // Sends a JoinReq Command every OVER_THE_AIR_ACTIVATION_DUTYCYCLE
- // seconds until the network is joined
- TimerInit( &JoinReqTimer, OnJoinReqTimerEvent );
- TimerSetValue( &JoinReqTimer, OVER_THE_AIR_ACTIVATION_DUTYCYCLE );
-#endif
-
- TxNextPacket = true;
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
- LoRaMacSetPublicNetwork( LORAWAN_PUBLIC_NETWORK );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
-
- while( 1 )
- {
- while( IsNetworkJoined == false )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- sendFrameStatus = LoRaMacJoinReq( DevEui, AppEui, AppKey );
- switch( sendFrameStatus )
- {
- case 1: // BUSY
- break;
- case 0: // OK
- case 2: // NO_NETWORK_JOINED
- case 3: // LENGTH_PORT_ERROR
- case 4: // MAC_CMD_ERROR
- case 6: // DEVICE_OFF
- default:
- // Relaunch timer for next trial
- TimerStart( &JoinReqTimer );
- break;
- }
- }
- TimerLowPowerHandler( );
-#endif
- }
-
- if( Led1StateChanged == true )
- {
- Led1StateChanged = false;
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- }
- if( Led2StateChanged == true )
- {
- Led2StateChanged = false;
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- }
- if( Led3StateChanged == true )
- {
- Led3StateChanged = false;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- if( DownlinkStatusUpdate == true )
- {
- DownlinkStatusUpdate = false;
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- }
-
- if( ScheduleNextTx == true )
- {
- ScheduleNextTx = false;
-
- if( ComplianceTest.Running == true )
- {
- TxNextPacket = true;
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
- }
- }
-
- if( trySendingFrameAgain == true )
- {
- trySendingFrameAgain = SendFrame( );
- }
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- PrepareTxFrame( AppPort );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- trySendingFrameAgain = SendFrame( );
- }
-
- TimerLowPowerHandler( );
- }
-}
diff --git a/src/apps/LoRaMac/classB/Bleeper-76/main.c b/src/apps/LoRaMac/classB/Bleeper-76/main.c
deleted file mode 100644
index 8c3899be3..000000000
--- a/src/apps/LoRaMac/classB/Bleeper-76/main.c
+++ /dev/null
@@ -1,704 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classB device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptive Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-#include "LoRaMacTest.h"
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-/*!
- * Specifies the state of the application LED
- */
-static bool AppLedStateOn = false;
-
-/*!
- * Timer to handle the state of LED1
- */
-static TimerEvent_t Led1Timer;
-
-/*!
- * Timer to handle the state of LED2
- */
-static TimerEvent_t Led2Timer;
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool NextTx = true;
-
-/*!
- * Device states
- */
-static enum eDevicState
-{
- DEVICE_STATE_INIT,
- DEVICE_STATE_JOIN,
- DEVICE_STATE_SEND,
- DEVICE_STATE_CYCLE,
- DEVICE_STATE_SLEEP
-}DeviceState;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * \brief Prepares the payload of the frame
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-/*!
- * \brief Prepares the payload of the frame
- *
- * \retval [0: frame could be send, 1: error]
- */
-static bool SendFrame( void )
-{
- McpsReq_t mcpsReq;
- LoRaMacTxInfo_t txInfo;
-
- if( LoRaMacQueryTxPossible( AppDataSize, &txInfo ) != LORAMAC_STATUS_OK )
- {
- // Send empty frame in order to flush MAC commands
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fBuffer = NULL;
- mcpsReq.Req.Unconfirmed.fBufferSize = 0;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- if( IsTxConfirmed == false )
- {
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fPort = AppPort;
- mcpsReq.Req.Unconfirmed.fBuffer = AppData;
- mcpsReq.Req.Unconfirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- mcpsReq.Type = MCPS_CONFIRMED;
- mcpsReq.Req.Confirmed.fPort = AppPort;
- mcpsReq.Req.Confirmed.fBuffer = AppData;
- mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
- mcpsReq.Req.Confirmed.Datarate = DR_0;
- }
- }
-
- if( LoRaMacMcpsRequest( &mcpsReq ) == LORAMAC_STATUS_OK )
- {
- return false;
- }
- return true;
-}
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- MibRequestConfirm_t mibReq;
- LoRaMacStatus_t status;
-
- TimerStop( &TxNextPacketTimer );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- status = LoRaMacMibGetRequestConfirm( &mibReq );
-
- if( status == LORAMAC_STATUS_OK )
- {
- if( mibReq.Param.IsNetworkJoined == true )
- {
- DeviceState = DEVICE_STATE_SEND;
- NextTx = true;
- }
- else
- {
- DeviceState = DEVICE_STATE_JOIN;
- }
- }
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
-}
-
-/*!
- * \brief MCPS-Confirm event function
- *
- * \param [IN] McpsConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void McpsConfirm( McpsConfirm_t *McpsConfirm )
-{
- if( McpsConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( McpsConfirm->McpsRequest )
- {
- case MCPS_UNCONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- break;
- }
- case MCPS_CONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- // Check AckReceived
- // Check NbRetries
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- default:
- break;
- }
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
- }
- NextTx = true;
-}
-
-/*!
- * \brief MCPS-Indication event function
- *
- * \param [IN] McpsIndication - Pointer to the indication structure,
- * containing indication attributes.
- */
-static void McpsIndication( McpsIndication_t *McpsIndication )
-{
- if( McpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
- {
- return;
- }
-
- switch( McpsIndication->McpsIndication )
- {
- case MCPS_UNCONFIRMED:
- {
- break;
- }
- case MCPS_CONFIRMED:
- {
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- case MCPS_MULTICAST:
- {
- break;
- }
- default:
- break;
- }
-
- // Check Multicast
- // Check Port
- // Check Datarate
- // Check FramePending
- // Check Buffer
- // Check BufferSize
- // Check Rssi
- // Check Snr
- // Check RxSlot
-
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- }
-
- if( McpsIndication->RxData == true )
- {
- switch( McpsIndication->Port )
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( McpsIndication->BufferSize == 1 )
- {
- AppLedStateOn = McpsIndication->Buffer[0] & 0x01;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( McpsIndication->BufferSize == 4 ) &&
- ( McpsIndication->Buffer[0] == 0x01 ) &&
- ( McpsIndication->Buffer[1] == 0x01 ) &&
- ( McpsIndication->Buffer[2] == 0x01 ) &&
- ( McpsIndication->Buffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = McpsIndication->Buffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = McpsIndication->BufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = McpsIndication->Buffer[i] + 1;
- }
- break;
- case 5: // (viii)
- {
- MlmeReq_t mlmeReq;
- mlmeReq.Type = MLME_LINK_CHECK;
- LoRaMacMlmeRequest( &mlmeReq );
- }
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
- }
-
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- TimerStart( &Led2Timer );
-}
-
-/*!
- * \brief MLME-Confirm event function
- *
- * \param [IN] MlmeConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void MlmeConfirm( MlmeConfirm_t *MlmeConfirm )
-{
- if( MlmeConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( MlmeConfirm->MlmeRequest )
- {
- case MLME_JOIN:
- {
- // Status is OK, node has joined the network
- break;
- }
- case MLME_LINK_CHECK:
- {
- // Check DemodMargin
- // Check NbGateways
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = MlmeConfirm->DemodMargin;
- ComplianceTest.NbGateways = MlmeConfirm->NbGateways;
- }
- break;
- }
- default:
- break;
- }
- }
- NextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- LoRaMacPrimitives_t LoRaMacPrimitives;
- LoRaMacCallback_t LoRaMacCallbacks;
- MibRequestConfirm_t mibReq;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- DeviceState = DEVICE_STATE_INIT;
-
- while( 1 )
- {
- switch( DeviceState )
- {
- case DEVICE_STATE_INIT:
- {
- LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;
- LoRaMacPrimitives.MacMcpsIndication = McpsIndication;
- LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks );
-
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_PUBLIC_NETWORK;
- mibReq.Param.EnablePublicNetwork = LORAWAN_PUBLIC_NETWORK;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- DeviceState = DEVICE_STATE_JOIN;
- break;
- }
- case DEVICE_STATE_JOIN:
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- MlmeReq_t mlmeReq;
-
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- mlmeReq.Type = MLME_JOIN;
-
- mlmeReq.Req.Join.DevEui = DevEui;
- mlmeReq.Req.Join.AppEui = AppEui;
- mlmeReq.Req.Join.AppKey = AppKey;
-
- if( NextTx == true )
- {
- LoRaMacMlmeRequest( &mlmeReq );
- }
-
- // Schedule next packet transmission
- TxDutyCycleTime = OVER_THE_AIR_ACTIVATION_DUTYCYCLE;
- DeviceState = DEVICE_STATE_CYCLE;
-
-#else
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
-
- // Choose a random device address
- DevAddr = randr( 0, 0x01FFFFFF );
-
- mibReq.Type = MIB_NET_ID;
- mibReq.Param.NetID = LORAWAN_NETWORK_ID;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_DEV_ADDR;
- mibReq.Param.DevAddr = DevAddr;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NWK_SKEY;
- mibReq.Param.NwkSKey = NwkSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_APP_SKEY;
- mibReq.Param.AppSKey = AppSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- mibReq.Param.IsNetworkJoined = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- DeviceState = DEVICE_STATE_SEND;
-#endif
- break;
- }
- case DEVICE_STATE_SEND:
- {
- if( NextTx == true )
- {
- PrepareTxFrame( AppPort );
-
- NextTx = SendFrame( );
- }
- if( ComplianceTest.Running == true )
- {
- // Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- }
- DeviceState = DEVICE_STATE_CYCLE;
- break;
- }
- case DEVICE_STATE_CYCLE:
- {
- // Schedule next packet transmission
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
- break;
- }
- case DEVICE_STATE_SLEEP:
- {
- // Wake up through events
- TimerLowPowerHandler( );
- break;
- }
- default:
- {
- DeviceState = DEVICE_STATE_INIT;
- break;
- }
- }
- }
-}
diff --git a/src/apps/LoRaMac/classB/LoRaMote/main-api-v3.c b/src/apps/LoRaMac/classB/LoRaMote/main-api-v3.c
index 4459e9c8b..fd7474236 100644
--- a/src/apps/LoRaMac/classB/LoRaMote/main-api-v3.c
+++ b/src/apps/LoRaMac/classB/LoRaMote/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -523,6 +536,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
while( 1 )
diff --git a/src/apps/LoRaMac/classB/LoRaMote/main.c b/src/apps/LoRaMac/classB/LoRaMote/main.c
index c2fbce509..a4093c852 100644
--- a/src/apps/LoRaMac/classB/LoRaMote/main.c
+++ b/src/apps/LoRaMac/classB/LoRaMote/main.c
@@ -61,6 +61,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -313,7 +326,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -395,7 +408,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -647,6 +660,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
DeviceState = DEVICE_STATE_JOIN;
break;
@@ -716,7 +739,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -728,11 +751,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/classB/SK-iM880A/main-api-v3.c b/src/apps/LoRaMac/classB/SK-iM880A/main-api-v3.c
index 48694af73..f997d39b8 100644
--- a/src/apps/LoRaMac/classB/SK-iM880A/main-api-v3.c
+++ b/src/apps/LoRaMac/classB/SK-iM880A/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Andreas Pella (IMST GmbH), Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -473,6 +486,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
while( 1 )
diff --git a/src/apps/LoRaMac/classB/SK-iM880A/main.c b/src/apps/LoRaMac/classB/SK-iM880A/main.c
index 73cb69b02..e815eed4c 100644
--- a/src/apps/LoRaMac/classB/SK-iM880A/main.c
+++ b/src/apps/LoRaMac/classB/SK-iM880A/main.c
@@ -59,6 +59,19 @@ Maintainer: Andreas Pella (IMST GmbH), Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -261,7 +274,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -343,7 +356,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -595,6 +608,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
DeviceState = DEVICE_STATE_JOIN;
break;
@@ -664,7 +687,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -676,11 +699,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/classB/SensorNode/main-api-v3.c b/src/apps/LoRaMac/classB/SensorNode/main-api-v3.c
index 04d6c5516..636a7113d 100644
--- a/src/apps/LoRaMac/classB/SensorNode/main-api-v3.c
+++ b/src/apps/LoRaMac/classB/SensorNode/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -537,6 +550,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
while( 1 )
diff --git a/src/apps/LoRaMac/classB/SensorNode/main.c b/src/apps/LoRaMac/classB/SensorNode/main.c
index 2b062ba5c..715449de3 100644
--- a/src/apps/LoRaMac/classB/SensorNode/main.c
+++ b/src/apps/LoRaMac/classB/SensorNode/main.c
@@ -58,6 +58,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -238,8 +251,8 @@ static void PrepareTxFrame( uint8_t port )
altitudeGps = GpsGetLatestGpsAltitude( ); // in m
AppData[0] = AppLedStateOn;
- AppData[1] = temperature;
- AppData[2] = batteryLevel;
+ AppData[1] = temperature; // Signed degrees Celcius in half degree units. So, +/-63 C
+ AppData[2] = batteryLevel; // Per LoRaWAN spec; 0=Charging; 1...254 = level, 255 = N/A
AppData[3] = ( latitude >> 16 ) & 0xFF;
AppData[4] = ( latitude >> 8 ) & 0xFF;
AppData[5] = latitude & 0xFF;
@@ -315,7 +328,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -377,7 +390,7 @@ static void OnLed2TimerEvent( void )
/*!
* \brief Function executed on Led 4 Timeout event
*/
-void OnLed4TimerEvent( void )
+static void OnLed4TimerEvent( void )
{
TimerStop( &Led4Timer );
// Switch LED 4 OFF
@@ -406,7 +419,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -661,6 +674,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
DeviceState = DEVICE_STATE_JOIN;
break;
@@ -730,7 +753,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -742,11 +765,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/classC/Bleeper-72/Comissioning.h b/src/apps/LoRaMac/classC/Bleeper-72/Comissioning.h
deleted file mode 100644
index f663ac2f8..000000000
--- a/src/apps/LoRaMac/classC/Bleeper-72/Comissioning.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2015 Semtech
-
-Description: End device comissioning parameters
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORA_COMISSIONING_H__
-#define __LORA_COMISSIONING_H__
-
-/*!
- * When set to 1 the application uses the Over-the-Air activation procedure
- * When set to 0 the application uses the Personalization activation procedure
- */
-#define OVER_THE_AIR_ACTIVATION 0
-
-/*!
- * Indicates if the end-device is to be connected to a private or public network
- */
-#define LORAWAN_PUBLIC_NETWORK true
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Mote device IEEE EUI (big endian)
- *
- * \remark In this application the value is automatically generated by calling
- * BoardGetUniqueId function
- */
-#define LORAWAN_DEVICE_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * Application IEEE EUI (big endian)
- */
-#define LORAWAN_APPLICATION_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * AES encryption/decryption cipher application key
- */
-#define LORAWAN_APPLICATION_KEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#else
-
-/*!
- * Current network ID
- */
-#define LORAWAN_NETWORK_ID ( uint32_t )0
-
-/*!
- * Device address on the network (big endian)
- *
- * \remark In this application the value is automatically generated using
- * a pseudo random generator seeded with a value derived from
- * BoardUniqueId value
- */
-#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
-
-/*!
- * AES encryption/decryption cipher network session key
- */
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-/*!
- * AES encryption/decryption cipher application session key
- */
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#endif
-
-#endif // __LORA_COMISSIONING_H__
diff --git a/src/apps/LoRaMac/classC/Bleeper-72/main-api-v3.c b/src/apps/LoRaMac/classC/Bleeper-72/main-api-v3.c
deleted file mode 100644
index 4fec71317..000000000
--- a/src/apps/LoRaMac/classC/Bleeper-72/main-api-v3.c
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classC device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac-api-v3.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptative Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Indicates if the MAC layer has already joined a network.
- */
-static bool IsNetworkJoined = false;
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Defines the join request timer
- */
-static TimerEvent_t JoinReqTimer;
-
-#endif
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool TxNextPacket = true;
-static bool ScheduleNextTx = false;
-static bool DownlinkStatusUpdate = false;
-
-static LoRaMacCallbacks_t LoRaMacCallbacks;
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1StateChanged = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2StateChanged = false;
-
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * Prepares the frame buffer to be sent
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static void ProcessRxFrame( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- switch( info->RxPort ) // Check Rx port number
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( info->RxBufferSize == 1 )
- {
- AppLedStateOn = info->RxBuffer[0] & 0x01;
- Led3StateChanged = true;
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( info->RxBufferSize == 4 ) &&
- ( info->RxBuffer[0] == 0x01 ) &&
- ( info->RxBuffer[1] == 0x01 ) &&
- ( info->RxBuffer[2] == 0x01 ) &&
- ( info->RxBuffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- LoRaMacSetAdrOn( true );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = info->RxBuffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = info->RxBufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = info->RxBuffer[i] + 1;
- }
- break;
- case 5: // (viii)
- LoRaMacLinkCheckReq( );
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static bool SendFrame( void )
-{
- uint8_t sendFrameStatus = 0;
-
- if( IsTxConfirmed == false )
- {
- sendFrameStatus = LoRaMacSendFrame( AppPort, AppData, AppDataSize );
- }
- else
- {
- sendFrameStatus = LoRaMacSendConfirmedFrame( AppPort, AppData, AppDataSize, 8 );
- }
-
- switch( sendFrameStatus )
- {
- case 3: // LENGTH_ERROR
- // Send empty frame in order to flush MAC commands
- LoRaMacSendFrame( 0, NULL, 0 );
- return false;
- case 5: // NO_FREE_CHANNEL
- // Try again later
- return true;
- default:
- return false;
- }
-}
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * \brief Function executed on JoinReq Timeout event
- */
-static void OnJoinReqTimerEvent( void )
-{
- TimerStop( &JoinReqTimer );
- TxNextPacket = true;
-}
-
-#endif
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- TimerStop( &TxNextPacketTimer );
- TxNextPacket = true;
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- Led1StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- Led2StateChanged = true;
-}
-
-/*!
- * \brief Function to be executed on MAC layer event
- */
-static void OnMacEvent( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- if( flags->Bits.JoinAccept == 1 )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- TimerStop( &JoinReqTimer );
-#endif
- IsNetworkJoined = true;
- }
- else
- {
- if( flags->Bits.Tx == 1 )
- {
- }
-
- if( flags->Bits.Rx == 1 )
- {
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- if( flags->Bits.LinkCheck == 1 )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = info->DemodMargin;
- ComplianceTest.NbGateways = info->NbGateways;
- }
- }
- if( flags->Bits.RxData == true )
- {
- ProcessRxFrame( flags, info );
- }
-
- DownlinkStatusUpdate = true;
- TimerStart( &Led2Timer );
- }
- }
- // Schedule a new transmission
- ScheduleNextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- uint8_t sendFrameStatus = 0;
-#endif
- bool trySendingFrameAgain = false;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- LoRaMacCallbacks.MacEvent = OnMacEvent;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInit( &LoRaMacCallbacks );
-
- IsNetworkJoined = false;
-
-#if( OVER_THE_AIR_ACTIVATION == 0 )
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
- // Choose a random device address based on Board unique ID
- // NwkAddr rand [0, 33554431]
- DevAddr = randr( 0, 0x01FFFFFF );
-
- LoRaMacInitNwkIds( LORAWAN_NETWORK_ID, DevAddr, NwkSKey, AppSKey );
- IsNetworkJoined = true;
-#else
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- // Sends a JoinReq Command every OVER_THE_AIR_ACTIVATION_DUTYCYCLE
- // seconds until the network is joined
- TimerInit( &JoinReqTimer, OnJoinReqTimerEvent );
- TimerSetValue( &JoinReqTimer, OVER_THE_AIR_ACTIVATION_DUTYCYCLE );
-#endif
-
- TxNextPacket = true;
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
- LoRaMacSetPublicNetwork( LORAWAN_PUBLIC_NETWORK );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- LoRaMacSetDeviceClass( CLASS_C );
-
- while( 1 )
- {
- while( IsNetworkJoined == false )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- sendFrameStatus = LoRaMacJoinReq( DevEui, AppEui, AppKey );
- switch( sendFrameStatus )
- {
- case 1: // BUSY
- break;
- case 0: // OK
- case 2: // NO_NETWORK_JOINED
- case 3: // LENGTH_PORT_ERROR
- case 4: // MAC_CMD_ERROR
- case 6: // DEVICE_OFF
- default:
- // Relaunch timer for next trial
- TimerStart( &JoinReqTimer );
- break;
- }
- }
- TimerLowPowerHandler( );
-#endif
- }
-
- if( Led1StateChanged == true )
- {
- Led1StateChanged = false;
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- }
- if( Led2StateChanged == true )
- {
- Led2StateChanged = false;
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- }
- if( Led3StateChanged == true )
- {
- Led3StateChanged = false;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- if( DownlinkStatusUpdate == true )
- {
- DownlinkStatusUpdate = false;
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- }
-
- if( ScheduleNextTx == true )
- {
- ScheduleNextTx = false;
-
- if( ComplianceTest.Running == true )
- {
- TxNextPacket = true;
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
- }
- }
-
- if( trySendingFrameAgain == true )
- {
- trySendingFrameAgain = SendFrame( );
- }
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- PrepareTxFrame( AppPort );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- trySendingFrameAgain = SendFrame( );
- }
-
- TimerLowPowerHandler( );
- }
-}
diff --git a/src/apps/LoRaMac/classC/Bleeper-72/main.c b/src/apps/LoRaMac/classC/Bleeper-72/main.c
deleted file mode 100644
index 3ace39358..000000000
--- a/src/apps/LoRaMac/classC/Bleeper-72/main.c
+++ /dev/null
@@ -1,708 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classC device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptive Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-#include "LoRaMacTest.h"
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-/*!
- * Specifies the state of the application LED
- */
-static bool AppLedStateOn = false;
-
-/*!
- * Timer to handle the state of LED1
- */
-static TimerEvent_t Led1Timer;
-
-/*!
- * Timer to handle the state of LED2
- */
-static TimerEvent_t Led2Timer;
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool NextTx = true;
-
-/*!
- * Device states
- */
-static enum eDevicState
-{
- DEVICE_STATE_INIT,
- DEVICE_STATE_JOIN,
- DEVICE_STATE_SEND,
- DEVICE_STATE_CYCLE,
- DEVICE_STATE_SLEEP
-}DeviceState;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * \brief Prepares the payload of the frame
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-/*!
- * \brief Prepares the payload of the frame
- *
- * \retval [0: frame could be send, 1: error]
- */
-static bool SendFrame( void )
-{
- McpsReq_t mcpsReq;
- LoRaMacTxInfo_t txInfo;
-
- if( LoRaMacQueryTxPossible( AppDataSize, &txInfo ) != LORAMAC_STATUS_OK )
- {
- // Send empty frame in order to flush MAC commands
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fBuffer = NULL;
- mcpsReq.Req.Unconfirmed.fBufferSize = 0;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- if( IsTxConfirmed == false )
- {
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fPort = AppPort;
- mcpsReq.Req.Unconfirmed.fBuffer = AppData;
- mcpsReq.Req.Unconfirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- mcpsReq.Type = MCPS_CONFIRMED;
- mcpsReq.Req.Confirmed.fPort = AppPort;
- mcpsReq.Req.Confirmed.fBuffer = AppData;
- mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
- mcpsReq.Req.Confirmed.Datarate = DR_0;
- }
- }
-
- if( LoRaMacMcpsRequest( &mcpsReq ) == LORAMAC_STATUS_OK )
- {
- return false;
- }
- return true;
-}
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- MibRequestConfirm_t mibReq;
- LoRaMacStatus_t status;
-
- TimerStop( &TxNextPacketTimer );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- status = LoRaMacMibGetRequestConfirm( &mibReq );
-
- if( status == LORAMAC_STATUS_OK )
- {
- if( mibReq.Param.IsNetworkJoined == true )
- {
- DeviceState = DEVICE_STATE_SEND;
- NextTx = true;
- }
- else
- {
- DeviceState = DEVICE_STATE_JOIN;
- }
- }
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
-}
-
-/*!
- * \brief MCPS-Confirm event function
- *
- * \param [IN] McpsConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void McpsConfirm( McpsConfirm_t *McpsConfirm )
-{
- if( McpsConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( McpsConfirm->McpsRequest )
- {
- case MCPS_UNCONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- break;
- }
- case MCPS_CONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- // Check AckReceived
- // Check NbRetries
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- default:
- break;
- }
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
- }
- NextTx = true;
-}
-
-/*!
- * \brief MCPS-Indication event function
- *
- * \param [IN] McpsIndication - Pointer to the indication structure,
- * containing indication attributes.
- */
-static void McpsIndication( McpsIndication_t *McpsIndication )
-{
- if( McpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
- {
- return;
- }
-
- switch( McpsIndication->McpsIndication )
- {
- case MCPS_UNCONFIRMED:
- {
- break;
- }
- case MCPS_CONFIRMED:
- {
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- case MCPS_MULTICAST:
- {
- break;
- }
- default:
- break;
- }
-
- // Check Multicast
- // Check Port
- // Check Datarate
- // Check FramePending
- // Check Buffer
- // Check BufferSize
- // Check Rssi
- // Check Snr
- // Check RxSlot
-
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- }
-
- if( McpsIndication->RxData == true )
- {
- switch( McpsIndication->Port )
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( McpsIndication->BufferSize == 1 )
- {
- AppLedStateOn = McpsIndication->Buffer[0] & 0x01;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( McpsIndication->BufferSize == 4 ) &&
- ( McpsIndication->Buffer[0] == 0x01 ) &&
- ( McpsIndication->Buffer[1] == 0x01 ) &&
- ( McpsIndication->Buffer[2] == 0x01 ) &&
- ( McpsIndication->Buffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = McpsIndication->Buffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = McpsIndication->BufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = McpsIndication->Buffer[i] + 1;
- }
- break;
- case 5: // (viii)
- {
- MlmeReq_t mlmeReq;
- mlmeReq.Type = MLME_LINK_CHECK;
- LoRaMacMlmeRequest( &mlmeReq );
- }
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
- }
-
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- TimerStart( &Led2Timer );
-}
-
-/*!
- * \brief MLME-Confirm event function
- *
- * \param [IN] MlmeConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void MlmeConfirm( MlmeConfirm_t *MlmeConfirm )
-{
- if( MlmeConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( MlmeConfirm->MlmeRequest )
- {
- case MLME_JOIN:
- {
- // Status is OK, node has joined the network
- break;
- }
- case MLME_LINK_CHECK:
- {
- // Check DemodMargin
- // Check NbGateways
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = MlmeConfirm->DemodMargin;
- ComplianceTest.NbGateways = MlmeConfirm->NbGateways;
- }
- break;
- }
- default:
- break;
- }
- }
- NextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- LoRaMacPrimitives_t LoRaMacPrimitives;
- LoRaMacCallback_t LoRaMacCallbacks;
- MibRequestConfirm_t mibReq;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- DeviceState = DEVICE_STATE_INIT;
-
- while( 1 )
- {
- switch( DeviceState )
- {
- case DEVICE_STATE_INIT:
- {
- LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;
- LoRaMacPrimitives.MacMcpsIndication = McpsIndication;
- LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks );
-
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_PUBLIC_NETWORK;
- mibReq.Param.EnablePublicNetwork = LORAWAN_PUBLIC_NETWORK;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- mibReq.Type = MIB_DEVICE_CLASS;
- mibReq.Param.Class = CLASS_C;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- DeviceState = DEVICE_STATE_JOIN;
- break;
- }
- case DEVICE_STATE_JOIN:
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- MlmeReq_t mlmeReq;
-
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- mlmeReq.Type = MLME_JOIN;
-
- mlmeReq.Req.Join.DevEui = DevEui;
- mlmeReq.Req.Join.AppEui = AppEui;
- mlmeReq.Req.Join.AppKey = AppKey;
-
- if( NextTx == true )
- {
- LoRaMacMlmeRequest( &mlmeReq );
- }
-
- // Schedule next packet transmission
- TxDutyCycleTime = OVER_THE_AIR_ACTIVATION_DUTYCYCLE;
- DeviceState = DEVICE_STATE_CYCLE;
-
-#else
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
-
- // Choose a random device address
- DevAddr = randr( 0, 0x01FFFFFF );
-
- mibReq.Type = MIB_NET_ID;
- mibReq.Param.NetID = LORAWAN_NETWORK_ID;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_DEV_ADDR;
- mibReq.Param.DevAddr = DevAddr;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NWK_SKEY;
- mibReq.Param.NwkSKey = NwkSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_APP_SKEY;
- mibReq.Param.AppSKey = AppSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- mibReq.Param.IsNetworkJoined = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- DeviceState = DEVICE_STATE_SEND;
-#endif
- break;
- }
- case DEVICE_STATE_SEND:
- {
- if( NextTx == true )
- {
- PrepareTxFrame( AppPort );
-
- NextTx = SendFrame( );
- }
- if( ComplianceTest.Running == true )
- {
- // Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- }
- DeviceState = DEVICE_STATE_CYCLE;
- break;
- }
- case DEVICE_STATE_CYCLE:
- {
- // Schedule next packet transmission
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
- break;
- }
- case DEVICE_STATE_SLEEP:
- {
- // Wake up through events
- TimerLowPowerHandler( );
- break;
- }
- default:
- {
- DeviceState = DEVICE_STATE_INIT;
- break;
- }
- }
- }
-}
diff --git a/src/apps/LoRaMac/classC/Bleeper-76/Comissioning.h b/src/apps/LoRaMac/classC/Bleeper-76/Comissioning.h
deleted file mode 100644
index f663ac2f8..000000000
--- a/src/apps/LoRaMac/classC/Bleeper-76/Comissioning.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2015 Semtech
-
-Description: End device comissioning parameters
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORA_COMISSIONING_H__
-#define __LORA_COMISSIONING_H__
-
-/*!
- * When set to 1 the application uses the Over-the-Air activation procedure
- * When set to 0 the application uses the Personalization activation procedure
- */
-#define OVER_THE_AIR_ACTIVATION 0
-
-/*!
- * Indicates if the end-device is to be connected to a private or public network
- */
-#define LORAWAN_PUBLIC_NETWORK true
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Mote device IEEE EUI (big endian)
- *
- * \remark In this application the value is automatically generated by calling
- * BoardGetUniqueId function
- */
-#define LORAWAN_DEVICE_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * Application IEEE EUI (big endian)
- */
-#define LORAWAN_APPLICATION_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * AES encryption/decryption cipher application key
- */
-#define LORAWAN_APPLICATION_KEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#else
-
-/*!
- * Current network ID
- */
-#define LORAWAN_NETWORK_ID ( uint32_t )0
-
-/*!
- * Device address on the network (big endian)
- *
- * \remark In this application the value is automatically generated using
- * a pseudo random generator seeded with a value derived from
- * BoardUniqueId value
- */
-#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
-
-/*!
- * AES encryption/decryption cipher network session key
- */
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-/*!
- * AES encryption/decryption cipher application session key
- */
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#endif
-
-#endif // __LORA_COMISSIONING_H__
diff --git a/src/apps/LoRaMac/classC/Bleeper-76/main-api-v3.c b/src/apps/LoRaMac/classC/Bleeper-76/main-api-v3.c
deleted file mode 100644
index 4fec71317..000000000
--- a/src/apps/LoRaMac/classC/Bleeper-76/main-api-v3.c
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classC device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac-api-v3.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptative Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Indicates if the MAC layer has already joined a network.
- */
-static bool IsNetworkJoined = false;
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Defines the join request timer
- */
-static TimerEvent_t JoinReqTimer;
-
-#endif
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool TxNextPacket = true;
-static bool ScheduleNextTx = false;
-static bool DownlinkStatusUpdate = false;
-
-static LoRaMacCallbacks_t LoRaMacCallbacks;
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1StateChanged = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2StateChanged = false;
-
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * Prepares the frame buffer to be sent
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static void ProcessRxFrame( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- switch( info->RxPort ) // Check Rx port number
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( info->RxBufferSize == 1 )
- {
- AppLedStateOn = info->RxBuffer[0] & 0x01;
- Led3StateChanged = true;
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( info->RxBufferSize == 4 ) &&
- ( info->RxBuffer[0] == 0x01 ) &&
- ( info->RxBuffer[1] == 0x01 ) &&
- ( info->RxBuffer[2] == 0x01 ) &&
- ( info->RxBuffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- LoRaMacSetAdrOn( true );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = info->RxBuffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = info->RxBufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = info->RxBuffer[i] + 1;
- }
- break;
- case 5: // (viii)
- LoRaMacLinkCheckReq( );
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-static bool SendFrame( void )
-{
- uint8_t sendFrameStatus = 0;
-
- if( IsTxConfirmed == false )
- {
- sendFrameStatus = LoRaMacSendFrame( AppPort, AppData, AppDataSize );
- }
- else
- {
- sendFrameStatus = LoRaMacSendConfirmedFrame( AppPort, AppData, AppDataSize, 8 );
- }
-
- switch( sendFrameStatus )
- {
- case 3: // LENGTH_ERROR
- // Send empty frame in order to flush MAC commands
- LoRaMacSendFrame( 0, NULL, 0 );
- return false;
- case 5: // NO_FREE_CHANNEL
- // Try again later
- return true;
- default:
- return false;
- }
-}
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * \brief Function executed on JoinReq Timeout event
- */
-static void OnJoinReqTimerEvent( void )
-{
- TimerStop( &JoinReqTimer );
- TxNextPacket = true;
-}
-
-#endif
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- TimerStop( &TxNextPacketTimer );
- TxNextPacket = true;
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- Led1StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- Led2StateChanged = true;
-}
-
-/*!
- * \brief Function to be executed on MAC layer event
- */
-static void OnMacEvent( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- if( flags->Bits.JoinAccept == 1 )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- TimerStop( &JoinReqTimer );
-#endif
- IsNetworkJoined = true;
- }
- else
- {
- if( flags->Bits.Tx == 1 )
- {
- }
-
- if( flags->Bits.Rx == 1 )
- {
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- if( flags->Bits.LinkCheck == 1 )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = info->DemodMargin;
- ComplianceTest.NbGateways = info->NbGateways;
- }
- }
- if( flags->Bits.RxData == true )
- {
- ProcessRxFrame( flags, info );
- }
-
- DownlinkStatusUpdate = true;
- TimerStart( &Led2Timer );
- }
- }
- // Schedule a new transmission
- ScheduleNextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- uint8_t sendFrameStatus = 0;
-#endif
- bool trySendingFrameAgain = false;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- LoRaMacCallbacks.MacEvent = OnMacEvent;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInit( &LoRaMacCallbacks );
-
- IsNetworkJoined = false;
-
-#if( OVER_THE_AIR_ACTIVATION == 0 )
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
- // Choose a random device address based on Board unique ID
- // NwkAddr rand [0, 33554431]
- DevAddr = randr( 0, 0x01FFFFFF );
-
- LoRaMacInitNwkIds( LORAWAN_NETWORK_ID, DevAddr, NwkSKey, AppSKey );
- IsNetworkJoined = true;
-#else
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- // Sends a JoinReq Command every OVER_THE_AIR_ACTIVATION_DUTYCYCLE
- // seconds until the network is joined
- TimerInit( &JoinReqTimer, OnJoinReqTimerEvent );
- TimerSetValue( &JoinReqTimer, OVER_THE_AIR_ACTIVATION_DUTYCYCLE );
-#endif
-
- TxNextPacket = true;
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- LoRaMacSetAdrOn( LORAWAN_ADR_ON );
- LoRaMacSetPublicNetwork( LORAWAN_PUBLIC_NETWORK );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- LoRaMacSetDeviceClass( CLASS_C );
-
- while( 1 )
- {
- while( IsNetworkJoined == false )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- sendFrameStatus = LoRaMacJoinReq( DevEui, AppEui, AppKey );
- switch( sendFrameStatus )
- {
- case 1: // BUSY
- break;
- case 0: // OK
- case 2: // NO_NETWORK_JOINED
- case 3: // LENGTH_PORT_ERROR
- case 4: // MAC_CMD_ERROR
- case 6: // DEVICE_OFF
- default:
- // Relaunch timer for next trial
- TimerStart( &JoinReqTimer );
- break;
- }
- }
- TimerLowPowerHandler( );
-#endif
- }
-
- if( Led1StateChanged == true )
- {
- Led1StateChanged = false;
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- }
- if( Led2StateChanged == true )
- {
- Led2StateChanged = false;
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- }
- if( Led3StateChanged == true )
- {
- Led3StateChanged = false;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- if( DownlinkStatusUpdate == true )
- {
- DownlinkStatusUpdate = false;
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- }
-
- if( ScheduleNextTx == true )
- {
- ScheduleNextTx = false;
-
- if( ComplianceTest.Running == true )
- {
- TxNextPacket = true;
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
- }
- }
-
- if( trySendingFrameAgain == true )
- {
- trySendingFrameAgain = SendFrame( );
- }
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- PrepareTxFrame( AppPort );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- trySendingFrameAgain = SendFrame( );
- }
-
- TimerLowPowerHandler( );
- }
-}
diff --git a/src/apps/LoRaMac/classC/Bleeper-76/main.c b/src/apps/LoRaMac/classC/Bleeper-76/main.c
deleted file mode 100644
index 3ace39358..000000000
--- a/src/apps/LoRaMac/classC/Bleeper-76/main.c
+++ /dev/null
@@ -1,708 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRaMac classC device implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac.h"
-#include "Comissioning.h"
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptive Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-#if defined( USE_BAND_868 )
-
-#include "LoRaMacTest.h"
-
-/*!
- * LoRaWAN ETSI duty cycle control enable/disable
- *
- * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
- */
-#define LORAWAN_DUTYCYCLE_ON true
-
-#endif
-
-/*!
- * LoRaWAN application port
- */
-#define LORAWAN_APP_PORT 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 8
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Application port
- */
-static uint8_t AppPort = LORAWAN_APP_PORT;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Indicates if the node is sending confirmed or unconfirmed messages
- */
-static uint8_t IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
-
-/*!
- * Defines the application data transmission duty cycle
- */
-static uint32_t TxDutyCycleTime;
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-/*!
- * Specifies the state of the application LED
- */
-static bool AppLedStateOn = false;
-
-/*!
- * Timer to handle the state of LED1
- */
-static TimerEvent_t Led1Timer;
-
-/*!
- * Timer to handle the state of LED2
- */
-static TimerEvent_t Led2Timer;
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool NextTx = true;
-
-/*!
- * Device states
- */
-static enum eDevicState
-{
- DEVICE_STATE_INIT,
- DEVICE_STATE_JOIN,
- DEVICE_STATE_SEND,
- DEVICE_STATE_CYCLE,
- DEVICE_STATE_SLEEP
-}DeviceState;
-
-/*!
- * LoRaWAN compliance tests support data
- */
-struct ComplianceTest_s
-{
- bool Running;
- uint8_t State;
- bool IsTxConfirmed;
- uint8_t AppPort;
- uint8_t AppDataSize;
- uint8_t *AppDataBuffer;
- uint16_t DownLinkCounter;
- bool LinkCheck;
- uint8_t DemodMargin;
- uint8_t NbGateways;
-}ComplianceTest;
-
-/*!
- * \brief Prepares the payload of the frame
- */
-static void PrepareTxFrame( uint8_t port )
-{
- switch( port )
- {
- case 1:
- {
- uint16_t pressure = 0;
- int16_t altitudeBar = 0;
- int16_t temperature = 0;
- uint8_t batteryLevel = 0;
-
- pressure = ( uint16_t )( MPL3115ReadPressure( ) / 10 ); // in hPa / 10
- temperature = ( int16_t )( MPL3115ReadTemperature( ) * 100 ); // in °C * 100
- altitudeBar = ( int16_t )( MPL3115ReadAltitude( ) * 10 ); // in m * 10
- batteryLevel = BoardGetBatteryLevel( ); // 1 (very low) to 254 (fully charged)
-
- AppData[0] = ( SelectorGetValue( ) << 4 ) | AppLedStateOn;
- AppData[1] = ( pressure >> 8 ) & 0xFF;
- AppData[2] = pressure & 0xFF;
- AppData[3] = ( temperature >> 8 ) & 0xFF;
- AppData[4] = temperature & 0xFF;
- AppData[5] = ( altitudeBar >> 8 ) & 0xFF;
- AppData[6] = altitudeBar & 0xFF;
- AppData[7] = batteryLevel;
- }
- break;
- case 224:
- if( ComplianceTest.LinkCheck == true )
- {
- ComplianceTest.LinkCheck = false;
- AppDataSize = 3;
- AppData[0] = 5;
- AppData[1] = ComplianceTest.DemodMargin;
- AppData[2] = ComplianceTest.NbGateways;
- ComplianceTest.State = 1;
- }
- else
- {
- switch( ComplianceTest.State )
- {
- case 4:
- ComplianceTest.State = 1;
- break;
- case 1:
- AppDataSize = 2;
- AppData[0] = ComplianceTest.DownLinkCounter >> 8;
- AppData[1] = ComplianceTest.DownLinkCounter;
- break;
- }
- }
- break;
- default:
- break;
- }
-}
-
-/*!
- * \brief Prepares the payload of the frame
- *
- * \retval [0: frame could be send, 1: error]
- */
-static bool SendFrame( void )
-{
- McpsReq_t mcpsReq;
- LoRaMacTxInfo_t txInfo;
-
- if( LoRaMacQueryTxPossible( AppDataSize, &txInfo ) != LORAMAC_STATUS_OK )
- {
- // Send empty frame in order to flush MAC commands
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fBuffer = NULL;
- mcpsReq.Req.Unconfirmed.fBufferSize = 0;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- if( IsTxConfirmed == false )
- {
- mcpsReq.Type = MCPS_UNCONFIRMED;
- mcpsReq.Req.Unconfirmed.fPort = AppPort;
- mcpsReq.Req.Unconfirmed.fBuffer = AppData;
- mcpsReq.Req.Unconfirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Unconfirmed.Datarate = DR_0;
- }
- else
- {
- mcpsReq.Type = MCPS_CONFIRMED;
- mcpsReq.Req.Confirmed.fPort = AppPort;
- mcpsReq.Req.Confirmed.fBuffer = AppData;
- mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
- mcpsReq.Req.Confirmed.Datarate = DR_0;
- }
- }
-
- if( LoRaMacMcpsRequest( &mcpsReq ) == LORAMAC_STATUS_OK )
- {
- return false;
- }
- return true;
-}
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- MibRequestConfirm_t mibReq;
- LoRaMacStatus_t status;
-
- TimerStop( &TxNextPacketTimer );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- status = LoRaMacMibGetRequestConfirm( &mibReq );
-
- if( status == LORAMAC_STATUS_OK )
- {
- if( mibReq.Param.IsNetworkJoined == true )
- {
- DeviceState = DEVICE_STATE_SEND;
- NextTx = true;
- }
- else
- {
- DeviceState = DEVICE_STATE_JOIN;
- }
- }
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
-}
-
-/*!
- * \brief MCPS-Confirm event function
- *
- * \param [IN] McpsConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void McpsConfirm( McpsConfirm_t *McpsConfirm )
-{
- if( McpsConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( McpsConfirm->McpsRequest )
- {
- case MCPS_UNCONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- break;
- }
- case MCPS_CONFIRMED:
- {
- // Check Datarate
- // Check TxPower
- // Check AckReceived
- // Check NbRetries
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- default:
- break;
- }
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
- }
- NextTx = true;
-}
-
-/*!
- * \brief MCPS-Indication event function
- *
- * \param [IN] McpsIndication - Pointer to the indication structure,
- * containing indication attributes.
- */
-static void McpsIndication( McpsIndication_t *McpsIndication )
-{
- if( McpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
- {
- return;
- }
-
- switch( McpsIndication->McpsIndication )
- {
- case MCPS_UNCONFIRMED:
- {
- break;
- }
- case MCPS_CONFIRMED:
- {
- break;
- }
- case MCPS_PROPRIETARY:
- {
- break;
- }
- case MCPS_MULTICAST:
- {
- break;
- }
- default:
- break;
- }
-
- // Check Multicast
- // Check Port
- // Check Datarate
- // Check FramePending
- // Check Buffer
- // Check BufferSize
- // Check Rssi
- // Check Snr
- // Check RxSlot
-
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.DownLinkCounter++;
- }
-
- if( McpsIndication->RxData == true )
- {
- switch( McpsIndication->Port )
- {
- case 1: // The application LED can be controlled on port 1 or 2
- case 2:
- if( McpsIndication->BufferSize == 1 )
- {
- AppLedStateOn = McpsIndication->Buffer[0] & 0x01;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- break;
- case 224:
- if( ComplianceTest.Running == false )
- {
- // Check compliance test enable command (i)
- if( ( McpsIndication->BufferSize == 4 ) &&
- ( McpsIndication->Buffer[0] == 0x01 ) &&
- ( McpsIndication->Buffer[1] == 0x01 ) &&
- ( McpsIndication->Buffer[2] == 0x01 ) &&
- ( McpsIndication->Buffer[3] == 0x01 ) )
- {
- IsTxConfirmed = false;
- AppPort = 224;
- AppDataSize = 2;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.LinkCheck = false;
- ComplianceTest.DemodMargin = 0;
- ComplianceTest.NbGateways = 0;
- ComplianceTest.Running = true;
- ComplianceTest.State = 1;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( false );
-#endif
- }
- }
- else
- {
- ComplianceTest.State = McpsIndication->Buffer[0];
- switch( ComplianceTest.State )
- {
- case 0: // Check compliance test disable command (ii)
- IsTxConfirmed = LORAWAN_CONFIRMED_MSG_ON;
- AppPort = LORAWAN_APP_PORT;
- AppDataSize = LORAWAN_APP_DATA_SIZE;
- ComplianceTest.DownLinkCounter = 0;
- ComplianceTest.Running = false;
-
- MibRequestConfirm_t mibReq;
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- break;
- case 1: // (iii, iv)
- AppDataSize = 2;
- break;
- case 2: // Enable confirmed messages (v)
- IsTxConfirmed = true;
- ComplianceTest.State = 1;
- break;
- case 3: // Disable confirmed messages (vi)
- IsTxConfirmed = false;
- ComplianceTest.State = 1;
- break;
- case 4: // (vii)
- AppDataSize = McpsIndication->BufferSize;
-
- AppData[0] = 4;
- for( uint8_t i = 1; i < AppDataSize; i++ )
- {
- AppData[i] = McpsIndication->Buffer[i] + 1;
- }
- break;
- case 5: // (viii)
- {
- MlmeReq_t mlmeReq;
- mlmeReq.Type = MLME_LINK_CHECK;
- LoRaMacMlmeRequest( &mlmeReq );
- }
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
- }
-
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- TimerStart( &Led2Timer );
-}
-
-/*!
- * \brief MLME-Confirm event function
- *
- * \param [IN] MlmeConfirm - Pointer to the confirm structure,
- * containing confirm attributes.
- */
-static void MlmeConfirm( MlmeConfirm_t *MlmeConfirm )
-{
- if( MlmeConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
- {
- switch( MlmeConfirm->MlmeRequest )
- {
- case MLME_JOIN:
- {
- // Status is OK, node has joined the network
- break;
- }
- case MLME_LINK_CHECK:
- {
- // Check DemodMargin
- // Check NbGateways
- if( ComplianceTest.Running == true )
- {
- ComplianceTest.LinkCheck = true;
- ComplianceTest.DemodMargin = MlmeConfirm->DemodMargin;
- ComplianceTest.NbGateways = MlmeConfirm->NbGateways;
- }
- break;
- }
- default:
- break;
- }
- }
- NextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- LoRaMacPrimitives_t LoRaMacPrimitives;
- LoRaMacCallback_t LoRaMacCallbacks;
- MibRequestConfirm_t mibReq;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- DeviceState = DEVICE_STATE_INIT;
-
- while( 1 )
- {
- switch( DeviceState )
- {
- case DEVICE_STATE_INIT:
- {
- LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;
- LoRaMacPrimitives.MacMcpsIndication = McpsIndication;
- LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks );
-
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- mibReq.Type = MIB_ADR;
- mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_PUBLIC_NETWORK;
- mibReq.Param.EnablePublicNetwork = LORAWAN_PUBLIC_NETWORK;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
-#if defined( USE_BAND_868 )
- LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
-#endif
- mibReq.Type = MIB_DEVICE_CLASS;
- mibReq.Param.Class = CLASS_C;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- DeviceState = DEVICE_STATE_JOIN;
- break;
- }
- case DEVICE_STATE_JOIN:
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- MlmeReq_t mlmeReq;
-
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- mlmeReq.Type = MLME_JOIN;
-
- mlmeReq.Req.Join.DevEui = DevEui;
- mlmeReq.Req.Join.AppEui = AppEui;
- mlmeReq.Req.Join.AppKey = AppKey;
-
- if( NextTx == true )
- {
- LoRaMacMlmeRequest( &mlmeReq );
- }
-
- // Schedule next packet transmission
- TxDutyCycleTime = OVER_THE_AIR_ACTIVATION_DUTYCYCLE;
- DeviceState = DEVICE_STATE_CYCLE;
-
-#else
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
-
- // Choose a random device address
- DevAddr = randr( 0, 0x01FFFFFF );
-
- mibReq.Type = MIB_NET_ID;
- mibReq.Param.NetID = LORAWAN_NETWORK_ID;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_DEV_ADDR;
- mibReq.Param.DevAddr = DevAddr;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NWK_SKEY;
- mibReq.Param.NwkSKey = NwkSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_APP_SKEY;
- mibReq.Param.AppSKey = AppSKey;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- mibReq.Type = MIB_NETWORK_JOINED;
- mibReq.Param.IsNetworkJoined = true;
- LoRaMacMibSetRequestConfirm( &mibReq );
-
- DeviceState = DEVICE_STATE_SEND;
-#endif
- break;
- }
- case DEVICE_STATE_SEND:
- {
- if( NextTx == true )
- {
- PrepareTxFrame( AppPort );
-
- NextTx = SendFrame( );
- }
- if( ComplianceTest.Running == true )
- {
- // Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
- }
- else
- {
- // Schedule next packet transmission
- TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
- }
- DeviceState = DEVICE_STATE_CYCLE;
- break;
- }
- case DEVICE_STATE_CYCLE:
- {
- // Schedule next packet transmission
- TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
- TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
- break;
- }
- case DEVICE_STATE_SLEEP:
- {
- // Wake up through events
- TimerLowPowerHandler( );
- break;
- }
- default:
- {
- DeviceState = DEVICE_STATE_INIT;
- break;
- }
- }
- }
-}
diff --git a/src/apps/LoRaMac/classC/LoRaMote/main-api-v3.c b/src/apps/LoRaMac/classC/LoRaMote/main-api-v3.c
index 658db9016..417eb98f8 100644
--- a/src/apps/LoRaMac/classC/LoRaMote/main-api-v3.c
+++ b/src/apps/LoRaMac/classC/LoRaMote/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -523,6 +536,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
LoRaMacSetDeviceClass( CLASS_C );
diff --git a/src/apps/LoRaMac/classC/LoRaMote/main.c b/src/apps/LoRaMac/classC/LoRaMote/main.c
index 39a0e0bc1..b24f631f2 100644
--- a/src/apps/LoRaMac/classC/LoRaMote/main.c
+++ b/src/apps/LoRaMac/classC/LoRaMote/main.c
@@ -61,6 +61,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -313,7 +326,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -395,7 +408,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -647,6 +660,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
mibReq.Type = MIB_DEVICE_CLASS;
mibReq.Param.Class = CLASS_C;
@@ -720,7 +743,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -732,11 +755,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/classC/SK-iM880A/main-api-v3.c b/src/apps/LoRaMac/classC/SK-iM880A/main-api-v3.c
index 35437c5b6..e6e3bf4dc 100644
--- a/src/apps/LoRaMac/classC/SK-iM880A/main-api-v3.c
+++ b/src/apps/LoRaMac/classC/SK-iM880A/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Andreas Pella (IMST GmbH), Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -473,6 +486,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
LoRaMacSetDeviceClass( CLASS_C );
diff --git a/src/apps/LoRaMac/classC/SK-iM880A/main.c b/src/apps/LoRaMac/classC/SK-iM880A/main.c
index ff31e0bab..fd1066375 100644
--- a/src/apps/LoRaMac/classC/SK-iM880A/main.c
+++ b/src/apps/LoRaMac/classC/SK-iM880A/main.c
@@ -59,6 +59,19 @@ Maintainer: Andreas Pella (IMST GmbH), Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -261,7 +274,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -343,7 +356,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -595,6 +608,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
mibReq.Type = MIB_DEVICE_CLASS;
mibReq.Param.Class = CLASS_C;
@@ -668,7 +691,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -680,11 +703,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/classC/SensorNode/main-api-v3.c b/src/apps/LoRaMac/classC/SensorNode/main-api-v3.c
index 30f5fec6f..ca0cb4db3 100644
--- a/src/apps/LoRaMac/classC/SensorNode/main-api-v3.c
+++ b/src/apps/LoRaMac/classC/SensorNode/main-api-v3.c
@@ -56,6 +56,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -537,6 +550,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
LoRaMacSetDeviceClass( CLASS_C );
diff --git a/src/apps/LoRaMac/classC/SensorNode/main.c b/src/apps/LoRaMac/classC/SensorNode/main.c
index 6d8f6be80..84c134c0d 100644
--- a/src/apps/LoRaMac/classC/SensorNode/main.c
+++ b/src/apps/LoRaMac/classC/SensorNode/main.c
@@ -58,6 +58,19 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#define LORAWAN_DUTYCYCLE_ON true
+#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+
+#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
+#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
+
+#endif
+
#endif
/*!
@@ -238,8 +251,8 @@ static void PrepareTxFrame( uint8_t port )
altitudeGps = GpsGetLatestGpsAltitude( ); // in m
AppData[0] = AppLedStateOn;
- AppData[1] = temperature;
- AppData[2] = batteryLevel;
+ AppData[1] = temperature; // Signed degrees Celcius in half degree units. So, +/-63 C
+ AppData[2] = batteryLevel; // Per LoRaWAN spec; 0=Charging; 1...254 = level, 255 = N/A
AppData[3] = ( latitude >> 16 ) & 0xFF;
AppData[4] = ( latitude >> 8 ) & 0xFF;
AppData[5] = latitude & 0xFF;
@@ -315,7 +328,7 @@ static bool SendFrame( void )
mcpsReq.Req.Confirmed.fPort = AppPort;
mcpsReq.Req.Confirmed.fBuffer = AppData;
mcpsReq.Req.Confirmed.fBufferSize = AppDataSize;
- mcpsReq.Req.Confirmed.nbRetries = 8;
+ mcpsReq.Req.Confirmed.NbTrials = 8;
mcpsReq.Req.Confirmed.Datarate = DR_0;
}
}
@@ -377,7 +390,7 @@ static void OnLed2TimerEvent( void )
/*!
* \brief Function executed on Led 4 Timeout event
*/
-void OnLed4TimerEvent( void )
+static void OnLed4TimerEvent( void )
{
TimerStop( &Led4Timer );
// Switch LED 4 OFF
@@ -406,7 +419,7 @@ static void McpsConfirm( McpsConfirm_t *McpsConfirm )
// Check Datarate
// Check TxPower
// Check AckReceived
- // Check NbRetries
+ // Check NbTrials
break;
}
case MCPS_PROPRIETARY:
@@ -661,6 +674,16 @@ int main( void )
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
+
+#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
+ LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
+ LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
+ LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
+ LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
+ LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
+ LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
+#endif
+
#endif
mibReq.Type = MIB_DEVICE_CLASS;
mibReq.Param.Class = CLASS_C;
@@ -734,7 +757,7 @@ int main( void )
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission as soon as possible
- TxDutyCycleTime = 1000; // 1 ms
+ TxDutyCycleTime = 300000; // 300 ms
}
else
{
@@ -746,11 +769,11 @@ int main( void )
}
case DEVICE_STATE_CYCLE:
{
+ DeviceState = DEVICE_STATE_SLEEP;
+
// Schedule next packet transmission
TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
TimerStart( &TxNextPacketTimer );
-
- DeviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
diff --git a/src/apps/LoRaMac/radioCoverageTest/Bleeper-72/Comissioning.h b/src/apps/LoRaMac/radioCoverageTest/Bleeper-72/Comissioning.h
deleted file mode 100644
index f663ac2f8..000000000
--- a/src/apps/LoRaMac/radioCoverageTest/Bleeper-72/Comissioning.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2015 Semtech
-
-Description: End device comissioning parameters
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORA_COMISSIONING_H__
-#define __LORA_COMISSIONING_H__
-
-/*!
- * When set to 1 the application uses the Over-the-Air activation procedure
- * When set to 0 the application uses the Personalization activation procedure
- */
-#define OVER_THE_AIR_ACTIVATION 0
-
-/*!
- * Indicates if the end-device is to be connected to a private or public network
- */
-#define LORAWAN_PUBLIC_NETWORK true
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Mote device IEEE EUI (big endian)
- *
- * \remark In this application the value is automatically generated by calling
- * BoardGetUniqueId function
- */
-#define LORAWAN_DEVICE_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * Application IEEE EUI (big endian)
- */
-#define LORAWAN_APPLICATION_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * AES encryption/decryption cipher application key
- */
-#define LORAWAN_APPLICATION_KEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#else
-
-/*!
- * Current network ID
- */
-#define LORAWAN_NETWORK_ID ( uint32_t )0
-
-/*!
- * Device address on the network (big endian)
- *
- * \remark In this application the value is automatically generated using
- * a pseudo random generator seeded with a value derived from
- * BoardUniqueId value
- */
-#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
-
-/*!
- * AES encryption/decryption cipher network session key
- */
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-/*!
- * AES encryption/decryption cipher application session key
- */
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#endif
-
-#endif // __LORA_COMISSIONING_H__
diff --git a/src/apps/LoRaMac/radioCoverageTest/Bleeper-72/main.c b/src/apps/LoRaMac/radioCoverageTest/Bleeper-72/main.c
deleted file mode 100644
index d145d4e73..000000000
--- a/src/apps/LoRaMac/radioCoverageTest/Bleeper-72/main.c
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Radio coverage tester implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac-api-v3.h"
-#include "Comissioning.h"
-
-/*!
- * Number of packets sent by channel
- */
-#define NB_PACKETS 15
-
-/*!
- * Enables/Disables the downlink test
- */
-#define DOWNLINK_TEST_ON 0
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptive Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 6
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Indicates if the MAC layer has already joined a network.
- */
-static bool IsNetworkJoined = false;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Defines the join request timer
- */
-static TimerEvent_t JoinReqTimer;
-
-#endif
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool TxNextPacket = true;
-static bool ScheduleNextTx = false;
-static bool DownlinkStatusUpdate = false;
-
-static LoRaMacCallbacks_t LoRaMacCallbacks;
-static LoRaMacEventInfo_t LoRaMacLastRxEvent;
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1StateChanged = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2StateChanged = false;
-
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
-
-static TimerEvent_t StopTimer;
-
-static uint8_t ChannelNb;
-static uint16_t DownLinkCounter = 0;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * \brief Function executed on JoinReq Timeout event
- */
-static void OnJoinReqTimerEvent( void )
-{
- TimerStop( &JoinReqTimer );
- TxNextPacket = true;
-}
-
-#endif
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- TimerStop( &TxNextPacketTimer );
- TxNextPacket = true;
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- Led1StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- Led2StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Stop Timeout event
- */
-static void OnStopTimerEvent( void )
-{
- TimerStart( &StopTimer );
-}
-
-/*!
- * \brief Function to be executed on MAC layer event
- */
-static void OnMacEvent( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- int32_t snr = 0;
-
- LoRaMacLastRxEvent = *info;
-
- if( flags->Bits.JoinAccept == 1 )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- #if ( DOWNLINK_TEST_ON == 0 )
- // Once joined disable reception windows opening
- LoRaMacTestRxWindowsOn( false );
- #endif
- TimerStop( &JoinReqTimer );
-#endif
- IsNetworkJoined = true;
- }
- else
- {
- if( flags->Bits.Tx == 1 )
- {
- }
-
- if( flags->Bits.Rx == 1 )
- {
- if( (flags->Bits.RxData == true ) && ( ( info->RxPort == 1 ) || ( info->RxPort == 2 ) ) )
- {
- AppLedStateOn = info->RxBuffer[0];
- Led3StateChanged = true;
- }
-
- if( info->RxSnr & 0x80 ) // The SNR sign bit is 1
- {
- // Invert and divide by 4
- snr = ( ( ~info->RxSnr + 1 ) & 0xFF ) >> 2;
- snr = -snr;
- }
- else
- {
- // Divide by 4
- snr = ( info->RxSnr & 0xFF ) >> 2;
- }
- DownLinkCounter++;
-
- DownlinkStatusUpdate = true;
- TimerStart( &Led2Timer );
- }
- }
- // Schedule a new transmission
- ScheduleNextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- const ChannelParams_t channels[] =
- {
- { 868100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 868300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 868500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- };
- const uint8_t channelsDatarate[] = { DR_5, DR_2, DR_0 };
-
- ChannelNb = ( sizeof( channels ) / sizeof( ChannelParams_t ) );
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- uint8_t sendFrameStatus = 0;
-#endif
- uint8_t tstState = 0;
- int16_t pktCnt = NB_PACKETS;
- LoRaMacHeader_t macHdr;
- LoRaMacFrameCtrl_t fCtrl;
- uint8_t channelsIndex = 0;
- uint8_t datarateIndex = 0;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- LoRaMacCallbacks.MacEvent = OnMacEvent;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInit( &LoRaMacCallbacks );
-
- IsNetworkJoined = false;
-
-#if( OVER_THE_AIR_ACTIVATION == 0 )
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
- // Choose a random device address based on Board unique ID
- // NwkAddr rand [0, 33554431]
- DevAddr = randr( 0, 0x01FFFFFF );
-
- LoRaMacInitNwkIds( LORAWAN_NETWORK_ID, DevAddr, NwkSKey, AppSKey );
- IsNetworkJoined = true;
-#else
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- // Sends a JoinReq Command every OVER_THE_AIR_ACTIVATION_DUTYCYCLE
- // seconds until the network is joined
- TimerInit( &JoinReqTimer, OnJoinReqTimerEvent );
- TimerSetValue( &JoinReqTimer, OVER_THE_AIR_ACTIVATION_DUTYCYCLE );
-#endif
-
- TxNextPacket = true;
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- // Low power timer to be run when tests are finished.
- TimerInit( &StopTimer, OnStopTimerEvent );
- TimerSetValue( &StopTimer, 3.6e9 ); // wakes up the microcontroller every hour
-
- DownLinkCounter = 0;
-
- // Initialize MAC frame
- macHdr.Value = 0;
-#if ( DOWNLINK_TEST_ON == 1 )
- macHdr.Bits.MType = FRAME_TYPE_DATA_CONFIRMED_UP;
-#else
- // Disable reception windows opening
- LoRaMacTestRxWindowsOn( false );
- macHdr.Bits.MType = FRAME_TYPE_DATA_UNCONFIRMED_UP;
-#endif
- fCtrl.Value = 0;
- fCtrl.Bits.FOptsLen = 0;
- fCtrl.Bits.FPending = 0;
- fCtrl.Bits.Ack = false;
- fCtrl.Bits.AdrAckReq = false;
- fCtrl.Bits.Adr = false;
-
- LoRaMacSetChannelsTxPower( TX_POWER_14_DBM );
-
- LoRaMacTestSetDutyCycleOn( false );
-
- while( 1 )
- {
- while( IsNetworkJoined == false )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- sendFrameStatus = LoRaMacJoinReq( DevEui, AppEui, AppKey );
- switch( sendFrameStatus )
- {
- case 1: // BUSY
- break;
- case 0: // OK
- case 2: // NO_NETWORK_JOINED
- case 3: // LENGTH_PORT_ERROR
- case 4: // MAC_CMD_ERROR
- case 6: // DEVICE_OFF
- default:
- // Relaunch timer for next trial
- TimerStart( &JoinReqTimer );
- break;
- }
- }
- TimerLowPowerHandler( );
-#endif
- }
- for( datarateIndex = 0; datarateIndex < 3; datarateIndex++ )
- {
- pktCnt = NB_PACKETS * ChannelNb;
- while( pktCnt > 0 )
- {
- if( Led1StateChanged == true )
- {
- Led1StateChanged = false;
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- }
- if( Led2StateChanged == true )
- {
- Led2StateChanged = false;
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- }
- if( Led3StateChanged == true )
- {
- Led3StateChanged = false;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- if( DownlinkStatusUpdate == true )
- {
- DownlinkStatusUpdate = false;
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- }
- switch( tstState )
- {
- case 0: // Init
- AppData[0] = SelectorGetValue( );
- AppData[1] = LoRaMacLastRxEvent.RxRssi >> 8;
- AppData[2] = LoRaMacLastRxEvent.RxRssi & 0xFF;
- AppData[3] = LoRaMacLastRxEvent.RxSnr;
- AppData[4] = ( ( DownLinkCounter >> 8 ) & 0xFF );
- AppData[5] = ( ( DownLinkCounter & 0xFF ) );
-
- LoRaMacSetChannelsDatarate( channelsDatarate[datarateIndex] );
- LoRaMacSendOnChannel( channels[channelsIndex], &macHdr, &fCtrl, NULL, 15, AppData, AppDataSize );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- channelsIndex = ( channelsIndex + 1 ) % ChannelNb;
-
- tstState = 1;
- break;
- case 1: // Wait for end of transmission
- if( ScheduleNextTx == true )
- {
- ScheduleNextTx = false;
- pktCnt--;
- // Schedule next packet transmission after 100 ms
- TimerSetValue( &TxNextPacketTimer, 100000 );
- TimerStart( &TxNextPacketTimer );
- tstState = 2;
- }
- break;
- case 2: // Wait for next packet timer to expire
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
- tstState = 0;
- }
- break;
- }
-
- TimerLowPowerHandler( );
- }
- }
-
- // Switch LED OFF
- GpioWrite( &Led1, 1 );
- GpioWrite( &Led2, 1 );
- GpioWrite( &Led3, 1 );
-
- TimerStart( &StopTimer );
- while( 1 ) // Reset device to restart
- {
- TimerLowPowerHandler( );
- }
- }
-}
diff --git a/src/apps/LoRaMac/radioCoverageTest/Bleeper-76/Comissioning.h b/src/apps/LoRaMac/radioCoverageTest/Bleeper-76/Comissioning.h
deleted file mode 100644
index f663ac2f8..000000000
--- a/src/apps/LoRaMac/radioCoverageTest/Bleeper-76/Comissioning.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2015 Semtech
-
-Description: End device comissioning parameters
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORA_COMISSIONING_H__
-#define __LORA_COMISSIONING_H__
-
-/*!
- * When set to 1 the application uses the Over-the-Air activation procedure
- * When set to 0 the application uses the Personalization activation procedure
- */
-#define OVER_THE_AIR_ACTIVATION 0
-
-/*!
- * Indicates if the end-device is to be connected to a private or public network
- */
-#define LORAWAN_PUBLIC_NETWORK true
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Mote device IEEE EUI (big endian)
- *
- * \remark In this application the value is automatically generated by calling
- * BoardGetUniqueId function
- */
-#define LORAWAN_DEVICE_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * Application IEEE EUI (big endian)
- */
-#define LORAWAN_APPLICATION_EUI { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-
-/*!
- * AES encryption/decryption cipher application key
- */
-#define LORAWAN_APPLICATION_KEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#else
-
-/*!
- * Current network ID
- */
-#define LORAWAN_NETWORK_ID ( uint32_t )0
-
-/*!
- * Device address on the network (big endian)
- *
- * \remark In this application the value is automatically generated using
- * a pseudo random generator seeded with a value derived from
- * BoardUniqueId value
- */
-#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x00000000
-
-/*!
- * AES encryption/decryption cipher network session key
- */
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-/*!
- * AES encryption/decryption cipher application session key
- */
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
-
-#endif
-
-#endif // __LORA_COMISSIONING_H__
diff --git a/src/apps/LoRaMac/radioCoverageTest/Bleeper-76/main.c b/src/apps/LoRaMac/radioCoverageTest/Bleeper-76/main.c
deleted file mode 100644
index f0728eb85..000000000
--- a/src/apps/LoRaMac/radioCoverageTest/Bleeper-76/main.c
+++ /dev/null
@@ -1,492 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Radio coverage tester implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-
-#include "LoRaMac-api-v3.h"
-#include "Comissioning.h"
-
-/*!
- * Number of packets sent by channel
- */
-#define NB_PACKETS 15
-
-/*!
- * Enables/Disables the downlink test
- */
-#define DOWNLINK_TEST_ON 0
-
-/*!
- * Join requests trials duty cycle.
- */
-#define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000000 // 10 [s] value in us
-
-/*!
- * Defines the application data transmission duty cycle. 5s, value in [us].
- */
-#define APP_TX_DUTYCYCLE 5000000
-
-/*!
- * Defines a random delay for application data transmission duty cycle. 1s,
- * value in [us].
- */
-#define APP_TX_DUTYCYCLE_RND 1000000
-
-/*!
- * LoRaWAN confirmed messages
- */
-#define LORAWAN_CONFIRMED_MSG_ON false
-
-/*!
- * LoRaWAN Adaptive Data Rate
- *
- * \remark Please note that when ADR is enabled the end-device should be static
- */
-#define LORAWAN_ADR_ON 1
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_SIZE 6
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
-static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
-static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
-
-#else
-
-static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
-static uint8_t AppSKey[] = LORAWAN_APPSKEY;
-
-/*!
- * Device address
- */
-static uint32_t DevAddr;
-
-#endif
-
-/*!
- * Indicates if the MAC layer has already joined a network.
- */
-static bool IsNetworkJoined = false;
-
-/*!
- * User application data size
- */
-static uint8_t AppDataSize = LORAWAN_APP_DATA_SIZE;
-
-/*!
- * User application data buffer size
- */
-#define LORAWAN_APP_DATA_MAX_SIZE 64
-
-/*!
- * User application data
- */
-static uint8_t AppData[LORAWAN_APP_DATA_MAX_SIZE];
-
-/*!
- * Timer to handle the application data transmission duty cycle
- */
-static TimerEvent_t TxNextPacketTimer;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * Defines the join request timer
- */
-static TimerEvent_t JoinReqTimer;
-
-#endif
-
-/*!
- * Indicates if a new packet can be sent
- */
-static bool TxNextPacket = true;
-static bool ScheduleNextTx = false;
-static bool DownlinkStatusUpdate = false;
-
-static LoRaMacCallbacks_t LoRaMacCallbacks;
-static LoRaMacEventInfo_t LoRaMacLastRxEvent;
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1StateChanged = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2StateChanged = false;
-
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
-
-static TimerEvent_t StopTimer;
-
-static uint8_t ChannelNb;
-static uint16_t DownLinkCounter = 0;
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
-
-/*!
- * \brief Function executed on JoinReq Timeout event
- */
-static void OnJoinReqTimerEvent( void )
-{
- TimerStop( &JoinReqTimer );
- TxNextPacket = true;
-}
-
-#endif
-
-/*!
- * \brief Function executed on TxNextPacket Timeout event
- */
-static void OnTxNextPacketTimerEvent( void )
-{
- TimerStop( &TxNextPacketTimer );
- TxNextPacket = true;
-}
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-static void OnLed1TimerEvent( void )
-{
- TimerStop( &Led1Timer );
- Led1StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-static void OnLed2TimerEvent( void )
-{
- TimerStop( &Led2Timer );
- Led2StateChanged = true;
-}
-
-/*!
- * \brief Function executed on Stop Timeout event
- */
-static void OnStopTimerEvent( void )
-{
- TimerStart( &StopTimer );
-}
-
-/*!
- * \brief Function to be executed on MAC layer event
- */
-static void OnMacEvent( LoRaMacEventFlags_t *flags, LoRaMacEventInfo_t *info )
-{
- int32_t snr = 0;
-
- LoRaMacLastRxEvent = *info;
-
- if( flags->Bits.JoinAccept == 1 )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- #if ( DOWNLINK_TEST_ON == 0 )
- // Once joined disable reception windows opening
- LoRaMacTestRxWindowsOn( false );
- #endif
- TimerStop( &JoinReqTimer );
-#endif
- IsNetworkJoined = true;
- }
- else
- {
- if( flags->Bits.Tx == 1 )
- {
- }
-
- if( flags->Bits.Rx == 1 )
- {
- if( (flags->Bits.RxData == true ) && ( ( info->RxPort == 1 ) || ( info->RxPort == 2 ) ) )
- {
- AppLedStateOn = info->RxBuffer[0];
- Led3StateChanged = true;
- }
-
- if( info->RxSnr & 0x80 ) // The SNR sign bit is 1
- {
- // Invert and divide by 4
- snr = ( ( ~info->RxSnr + 1 ) & 0xFF ) >> 2;
- snr = -snr;
- }
- else
- {
- // Divide by 4
- snr = ( info->RxSnr & 0xFF ) >> 2;
- }
- DownLinkCounter++;
-
- DownlinkStatusUpdate = true;
- TimerStart( &Led2Timer );
- }
- }
- // Schedule a new transmission
- ScheduleNextTx = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
-#if defined( USE_BAND_433 )
- const ChannelParams_t channels[] =
- {
- { 433175000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 433375000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 433575000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 433775000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 433975000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 434175000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 434300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 434500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- };
- const uint8_t channelsDatarate[] = { DR_5, DR_2, DR_0 };
-#elif defined( USE_BAND_780 )
- const ChannelParams_t channels[] =
- {
- { 779500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 779700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 779900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 780100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 780300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 780500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 780700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 780900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- };
- const uint8_t channelsDatarate[] = { DR_5, DR_2, DR_0 };
-#elif defined( USE_BAND_868 )
- const ChannelParams_t channels[] =
- {
- { 868100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 868300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 868500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 },
- };
- const uint8_t channelsDatarate[] = { DR_5, DR_2, DR_0 };
-#elif defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
- const ChannelParams_t channels[] =
- {
- { 902300000, { ( ( DR_3 << 4 ) | DR_0 ) }, 0 },
- { 902500000, { ( ( DR_3 << 4 ) | DR_0 ) }, 0 },
- { 902700000, { ( ( DR_3 << 4 ) | DR_0 ) }, 0 },
- { 902900000, { ( ( DR_3 << 4 ) | DR_0 ) }, 0 },
- { 903100000, { ( ( DR_3 << 4 ) | DR_0 ) }, 0 },
- { 903500000, { ( ( DR_3 << 4 ) | DR_0 ) }, 0 },
- { 903700000, { ( ( DR_3 << 4 ) | DR_0 ) }, 0 },
- { 903900000, { ( ( DR_3 << 4 ) | DR_0 ) }, 0 },
- };
- const uint8_t channelsDatarate[] = { DR_3, DR_2, DR_0 };
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
- ChannelNb = ( sizeof( channels ) / sizeof( ChannelParams_t ) );
-
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- uint8_t sendFrameStatus = 0;
-#endif
- uint8_t tstState = 0;
- int16_t pktCnt = NB_PACKETS;
- LoRaMacHeader_t macHdr;
- LoRaMacFrameCtrl_t fCtrl;
- uint8_t channelsIndex = 0;
- uint8_t datarateIndex = 0;
-
- BoardInitMcu( );
- BoardInitPeriph( );
-
- LoRaMacCallbacks.MacEvent = OnMacEvent;
- LoRaMacCallbacks.GetBatteryLevel = BoardGetBatteryLevel;
- LoRaMacInit( &LoRaMacCallbacks );
-
- IsNetworkJoined = false;
-
-#if( OVER_THE_AIR_ACTIVATION == 0 )
- // Random seed initialization
- srand1( BoardGetRandomSeed( ) );
- // Choose a random device address based on Board unique ID
- // NwkAddr rand [0, 33554431]
- DevAddr = randr( 0, 0x01FFFFFF );
-
- LoRaMacInitNwkIds( LORAWAN_NETWORK_ID, DevAddr, NwkSKey, AppSKey );
- IsNetworkJoined = true;
-#else
- // Initialize LoRaMac device unique ID
- BoardGetUniqueId( DevEui );
-
- // Sends a JoinReq Command every OVER_THE_AIR_ACTIVATION_DUTYCYCLE
- // seconds until the network is joined
- TimerInit( &JoinReqTimer, OnJoinReqTimerEvent );
- TimerSetValue( &JoinReqTimer, OVER_THE_AIR_ACTIVATION_DUTYCYCLE );
-#endif
-
- TxNextPacket = true;
- TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
-
- // Low power timer to be run when tests are finished.
- TimerInit( &StopTimer, OnStopTimerEvent );
- TimerSetValue( &StopTimer, 3.6e9 ); // wakes up the microcontroller every hour
-
- DownLinkCounter = 0;
-
- // Initialize MAC frame
- macHdr.Value = 0;
-#if ( DOWNLINK_TEST_ON == 1 )
- macHdr.Bits.MType = FRAME_TYPE_DATA_CONFIRMED_UP;
-#else
- // Disable reception windows opening
- LoRaMacTestRxWindowsOn( false );
- macHdr.Bits.MType = FRAME_TYPE_DATA_UNCONFIRMED_UP;
-#endif
- fCtrl.Value = 0;
- fCtrl.Bits.FOptsLen = 0;
- fCtrl.Bits.FPending = 0;
- fCtrl.Bits.Ack = false;
- fCtrl.Bits.AdrAckReq = false;
- fCtrl.Bits.Adr = false;
-
- LoRaMacSetChannelsTxPower( TX_POWER_14_DBM );
-
- LoRaMacTestSetDutyCycleOn( false );
-
- while( 1 )
- {
- while( IsNetworkJoined == false )
- {
-#if( OVER_THE_AIR_ACTIVATION != 0 )
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
-
- sendFrameStatus = LoRaMacJoinReq( DevEui, AppEui, AppKey );
- switch( sendFrameStatus )
- {
- case 1: // BUSY
- break;
- case 0: // OK
- case 2: // NO_NETWORK_JOINED
- case 3: // LENGTH_PORT_ERROR
- case 4: // MAC_CMD_ERROR
- case 6: // DEVICE_OFF
- default:
- // Relaunch timer for next trial
- TimerStart( &JoinReqTimer );
- break;
- }
- }
- TimerLowPowerHandler( );
-#endif
- }
- for( datarateIndex = 0; datarateIndex < 3; datarateIndex++ )
- {
- pktCnt = NB_PACKETS * ChannelNb;
- while( pktCnt > 0 )
- {
- if( Led1StateChanged == true )
- {
- Led1StateChanged = false;
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- }
- if( Led2StateChanged == true )
- {
- Led2StateChanged = false;
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- }
- if( Led3StateChanged == true )
- {
- Led3StateChanged = false;
- GpioWrite( &Led3, ( ( AppLedStateOn & 0x01 ) != 0 ) ? 0 : 1 );
- }
- if( DownlinkStatusUpdate == true )
- {
- DownlinkStatusUpdate = false;
- // Switch LED 2 ON for each received downlink
- GpioWrite( &Led2, 0 );
- }
- switch( tstState )
- {
- case 0: // Init
- AppData[0] = SelectorGetValue( );
- AppData[1] = LoRaMacLastRxEvent.RxRssi >> 8;
- AppData[2] = LoRaMacLastRxEvent.RxRssi & 0xFF;
- AppData[3] = LoRaMacLastRxEvent.RxSnr;
- AppData[4] = ( ( DownLinkCounter >> 8 ) & 0xFF );
- AppData[5] = ( ( DownLinkCounter & 0xFF ) );
-
- LoRaMacSetChannelsDatarate( channelsDatarate[datarateIndex] );
- LoRaMacSendOnChannel( channels[channelsIndex], &macHdr, &fCtrl, NULL, 15, AppData, AppDataSize );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- channelsIndex = ( channelsIndex + 1 ) % ChannelNb;
-
- tstState = 1;
- break;
- case 1: // Wait for end of transmission
- if( ScheduleNextTx == true )
- {
- ScheduleNextTx = false;
- pktCnt--;
- // Schedule next packet transmission after 100 ms
- TimerSetValue( &TxNextPacketTimer, 100000 );
- TimerStart( &TxNextPacketTimer );
- tstState = 2;
- }
- break;
- case 2: // Wait for next packet timer to expire
- if( TxNextPacket == true )
- {
- TxNextPacket = false;
- tstState = 0;
- }
- break;
- }
-
- TimerLowPowerHandler( );
- }
- }
-
- // Switch LED OFF
- GpioWrite( &Led1, 1 );
- GpioWrite( &Led2, 1 );
- GpioWrite( &Led3, 1 );
-
- TimerStart( &StopTimer );
- while( 1 ) // Reset device to restart
- {
- TimerLowPowerHandler( );
- }
- }
-}
diff --git a/src/apps/ping-pong/Bleeper-72/main.c b/src/apps/ping-pong/Bleeper-72/main.c
deleted file mode 100644
index bfee8fa76..000000000
--- a/src/apps/ping-pong/Bleeper-72/main.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Ping-Pong implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include "board.h"
-#include "radio.h"
-
-#define RF_FREQUENCY 868000000 // Hz
-#define TX_OUTPUT_POWER 14 // dBm
-
-#if defined( USE_MODEM_LORA )
-
-#define LORA_BANDWIDTH 0 // [0: 125 kHz,
- // 1: 250 kHz,
- // 2: 500 kHz,
- // 3: Reserved]
-#define LORA_SPREADING_FACTOR 7 // [SF7..SF12]
-#define LORA_CODINGRATE 1 // [1: 4/5,
- // 2: 4/6,
- // 3: 4/7,
- // 4: 4/8]
-#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
-#define LORA_SYMBOL_TIMEOUT 5 // Symbols
-#define LORA_FIX_LENGTH_PAYLOAD_ON false
-#define LORA_IQ_INVERSION_ON false
-
-#elif defined( USE_MODEM_FSK )
-
-#define FSK_FDEV 25e3 // Hz
-#define FSK_DATARATE 50e3 // bps
-#define FSK_BANDWIDTH 50e3 // Hz
-#define FSK_AFC_BANDWIDTH 83.333e3 // Hz
-#define FSK_PREAMBLE_LENGTH 5 // Same for Tx and Rx
-#define FSK_FIX_LENGTH_PAYLOAD_ON false
-
-#else
- #error "Please define a modem in the compiler options."
-#endif
-
-typedef enum
-{
- LOWPOWER,
- RX,
- RX_TIMEOUT,
- RX_ERROR,
- TX,
- TX_TIMEOUT,
-}States_t;
-
-#define RX_TIMEOUT_VALUE 1000000
-#define BUFFER_SIZE 64 // Define the payload size here
-
-const uint8_t PingMsg[] = "PING";
-const uint8_t PongMsg[] = "PONG";
-
-uint16_t BufferSize = BUFFER_SIZE;
-uint8_t Buffer[BUFFER_SIZE];
-
-States_t State = LOWPOWER;
-
-int8_t RssiValue = 0;
-int8_t SnrValue = 0;
-
-/*!
- * Radio events function pointer
- */
-static RadioEvents_t RadioEvents;
-
-/*!
- * \brief Function to be executed on Radio Tx Done event
- */
-void OnTxDone( void );
-
-/*!
- * \brief Function to be executed on Radio Rx Done event
- */
-void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
-
-/*!
- * \brief Function executed on Radio Tx Timeout event
- */
-void OnTxTimeout( void );
-
-/*!
- * \brief Function executed on Radio Rx Timeout event
- */
-void OnRxTimeout( void );
-
-/*!
- * \brief Function executed on Radio Rx Error event
- */
-void OnRxError( void );
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- bool isMaster = true;
- uint8_t i;
-
- // Target board initialisation
- BoardInitMcu( );
- BoardInitPeriph( );
-
- // Radio initialization
- RadioEvents.TxDone = OnTxDone;
- RadioEvents.RxDone = OnRxDone;
- RadioEvents.TxTimeout = OnTxTimeout;
- RadioEvents.RxTimeout = OnRxTimeout;
- RadioEvents.RxError = OnRxError;
-
- Radio.Init( &RadioEvents );
-
- Radio.SetChannel( RF_FREQUENCY );
-
-#if defined( USE_MODEM_LORA )
-
- Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
- LORA_SPREADING_FACTOR, LORA_CODINGRATE,
- LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
- true, 0, 0, LORA_IQ_INVERSION_ON, 3000000 );
-
- Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
- LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
- LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON,
- 0, true, 0, 0, LORA_IQ_INVERSION_ON, true );
-
-#elif defined( USE_MODEM_FSK )
-
- Radio.SetTxConfig( MODEM_FSK, TX_OUTPUT_POWER, FSK_FDEV, 0,
- FSK_DATARATE, 0,
- FSK_PREAMBLE_LENGTH, FSK_FIX_LENGTH_PAYLOAD_ON,
- true, 0, 0, 0, 3000000 );
-
- Radio.SetRxConfig( MODEM_FSK, FSK_BANDWIDTH, FSK_DATARATE,
- 0, FSK_AFC_BANDWIDTH, FSK_PREAMBLE_LENGTH,
- 0, FSK_FIX_LENGTH_PAYLOAD_ON, 0, true,
- 0, 0,false, true );
-
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
- Radio.Rx( RX_TIMEOUT_VALUE );
-
- while( 1 )
- {
- switch( State )
- {
- case RX:
- if( isMaster == true )
- {
- if( BufferSize > 0 )
- {
- if( strncmp( ( const char* )Buffer, ( const char* )PongMsg, 4 ) == 0 )
- {
- // Indicates on a LED that the received frame is a PONG
- GpioWrite( &Led1, GpioRead( &Led1 ) ^ 1 );
-
- // Send the next PING frame
- Buffer[0] = 'P';
- Buffer[1] = 'I';
- Buffer[2] = 'N';
- Buffer[3] = 'G';
- // We fill the buffer with numbers for the payload
- for( i = 4; i < BufferSize; i++ )
- {
- Buffer[i] = i - 4;
- }
- DelayMs( 1 );
- Radio.Send( Buffer, BufferSize );
- }
- else if( strncmp( ( const char* )Buffer, ( const char* )PingMsg, 4 ) == 0 )
- { // A master already exists then become a slave
- isMaster = false;
- GpioWrite( &Led2, 1 ); // Set LED off
- Radio.Rx( RX_TIMEOUT_VALUE );
- }
- else // valid reception but neither a PING or a PONG message
- { // Set device as master ans start again
- isMaster = true;
- Radio.Rx( RX_TIMEOUT_VALUE );
- }
- }
- }
- else
- {
- if( BufferSize > 0 )
- {
- if( strncmp( ( const char* )Buffer, ( const char* )PingMsg, 4 ) == 0 )
- {
- // Indicates on a LED that the received frame is a PING
- GpioWrite( &Led1, GpioRead( &Led1 ) ^ 1 );
-
- // Send the reply to the PONG string
- Buffer[0] = 'P';
- Buffer[1] = 'O';
- Buffer[2] = 'N';
- Buffer[3] = 'G';
- // We fill the buffer with numbers for the payload
- for( i = 4; i < BufferSize; i++ )
- {
- Buffer[i] = i - 4;
- }
- DelayMs( 1 );
- Radio.Send( Buffer, BufferSize );
- }
- else // valid reception but not a PING as expected
- { // Set device as master and start again
- isMaster = true;
- Radio.Rx( RX_TIMEOUT_VALUE );
- }
- }
- }
- State = LOWPOWER;
- break;
- case TX:
- // Indicates on a LED that we have sent a PING [Master]
- // Indicates on a LED that we have sent a PONG [Slave]
- GpioWrite( &Led2, GpioRead( &Led2 ) ^ 1 );
- Radio.Rx( RX_TIMEOUT_VALUE );
- State = LOWPOWER;
- break;
- case RX_TIMEOUT:
- case RX_ERROR:
- if( isMaster == true )
- {
- // Send the next PING frame
- Buffer[0] = 'P';
- Buffer[1] = 'I';
- Buffer[2] = 'N';
- Buffer[3] = 'G';
- for( i = 4; i < BufferSize; i++ )
- {
- Buffer[i] = i - 4;
- }
- DelayMs( 1 );
- Radio.Send( Buffer, BufferSize );
- }
- else
- {
- Radio.Rx( RX_TIMEOUT_VALUE );
- }
- State = LOWPOWER;
- break;
- case TX_TIMEOUT:
- Radio.Rx( RX_TIMEOUT_VALUE );
- State = LOWPOWER;
- break;
- case LOWPOWER:
- default:
- // Set low power
- break;
- }
-
- TimerLowPowerHandler( );
-
- }
-}
-
-void OnTxDone( void )
-{
- Radio.Sleep( );
- State = TX;
-}
-
-void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
-{
- Radio.Sleep( );
- BufferSize = size;
- memcpy( Buffer, payload, BufferSize );
- RssiValue = rssi;
- SnrValue = snr;
- State = RX;
-}
-
-void OnTxTimeout( void )
-{
- Radio.Sleep( );
- State = TX_TIMEOUT;
-}
-
-void OnRxTimeout( void )
-{
- Radio.Sleep( );
- State = RX_TIMEOUT;
-}
-
-void OnRxError( void )
-{
- Radio.Sleep( );
- State = RX_ERROR;
-}
diff --git a/src/apps/ping-pong/Bleeper-76/main.c b/src/apps/ping-pong/Bleeper-76/main.c
deleted file mode 100644
index eaa53767a..000000000
--- a/src/apps/ping-pong/Bleeper-76/main.c
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Ping-Pong implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include "board.h"
-#include "radio.h"
-
-#if defined( USE_BAND_433 )
-
-#define RF_FREQUENCY 434000000 // Hz
-
-#elif defined( USE_BAND_780 )
-
-#define RF_FREQUENCY 780000000 // Hz
-
-#elif defined( USE_BAND_868 )
-
-#define RF_FREQUENCY 868000000 // Hz
-
-#elif defined( USE_BAND_915 )
-
-#define RF_FREQUENCY 915000000 // Hz
-
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
-#define TX_OUTPUT_POWER 14 // dBm
-
-#if defined( USE_MODEM_LORA )
-
-#define LORA_BANDWIDTH 0 // [0: 125 kHz,
- // 1: 250 kHz,
- // 2: 500 kHz,
- // 3: Reserved]
-#define LORA_SPREADING_FACTOR 7 // [SF7..SF12]
-#define LORA_CODINGRATE 1 // [1: 4/5,
- // 2: 4/6,
- // 3: 4/7,
- // 4: 4/8]
-#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
-#define LORA_SYMBOL_TIMEOUT 5 // Symbols
-#define LORA_FIX_LENGTH_PAYLOAD_ON false
-#define LORA_IQ_INVERSION_ON false
-
-#elif defined( USE_MODEM_FSK )
-
-#define FSK_FDEV 25e3 // Hz
-#define FSK_DATARATE 50e3 // bps
-#define FSK_BANDWIDTH 50e3 // Hz
-#define FSK_AFC_BANDWIDTH 83.333e3 // Hz
-#define FSK_PREAMBLE_LENGTH 5 // Same for Tx and Rx
-#define FSK_FIX_LENGTH_PAYLOAD_ON false
-
-#else
- #error "Please define a modem in the compiler options."
-#endif
-
-typedef enum
-{
- LOWPOWER,
- RX,
- RX_TIMEOUT,
- RX_ERROR,
- TX,
- TX_TIMEOUT,
-}States_t;
-
-#define RX_TIMEOUT_VALUE 1000000
-#define BUFFER_SIZE 64 // Define the payload size here
-
-const uint8_t PingMsg[] = "PING";
-const uint8_t PongMsg[] = "PONG";
-
-uint16_t BufferSize = BUFFER_SIZE;
-uint8_t Buffer[BUFFER_SIZE];
-
-States_t State = LOWPOWER;
-
-int8_t RssiValue = 0;
-int8_t SnrValue = 0;
-
-/*!
- * Radio events function pointer
- */
-static RadioEvents_t RadioEvents;
-
-/*!
- * \brief Function to be executed on Radio Tx Done event
- */
-void OnTxDone( void );
-
-/*!
- * \brief Function to be executed on Radio Rx Done event
- */
-void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
-
-/*!
- * \brief Function executed on Radio Tx Timeout event
- */
-void OnTxTimeout( void );
-
-/*!
- * \brief Function executed on Radio Rx Timeout event
- */
-void OnRxTimeout( void );
-
-/*!
- * \brief Function executed on Radio Rx Error event
- */
-void OnRxError( void );
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- bool isMaster = true;
- uint8_t i;
-
- // Target board initialisation
- BoardInitMcu( );
- BoardInitPeriph( );
-
- // Radio initialization
- RadioEvents.TxDone = OnTxDone;
- RadioEvents.RxDone = OnRxDone;
- RadioEvents.TxTimeout = OnTxTimeout;
- RadioEvents.RxTimeout = OnRxTimeout;
- RadioEvents.RxError = OnRxError;
-
- Radio.Init( &RadioEvents );
-
- Radio.SetChannel( RF_FREQUENCY );
-
-#if defined( USE_MODEM_LORA )
-
- Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
- LORA_SPREADING_FACTOR, LORA_CODINGRATE,
- LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
- true, 0, 0, LORA_IQ_INVERSION_ON, 3000000 );
-
- Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
- LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
- LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON,
- 0, true, 0, 0, LORA_IQ_INVERSION_ON, true );
-
-#elif defined( USE_MODEM_FSK )
-
- Radio.SetTxConfig( MODEM_FSK, TX_OUTPUT_POWER, FSK_FDEV, 0,
- FSK_DATARATE, 0,
- FSK_PREAMBLE_LENGTH, FSK_FIX_LENGTH_PAYLOAD_ON,
- true, 0, 0, 0, 3000000 );
-
- Radio.SetRxConfig( MODEM_FSK, FSK_BANDWIDTH, FSK_DATARATE,
- 0, FSK_AFC_BANDWIDTH, FSK_PREAMBLE_LENGTH,
- 0, FSK_FIX_LENGTH_PAYLOAD_ON, 0, true,
- 0, 0,false, true );
-
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
- Radio.Rx( RX_TIMEOUT_VALUE );
-
- while( 1 )
- {
- switch( State )
- {
- case RX:
- if( isMaster == true )
- {
- if( BufferSize > 0 )
- {
- if( strncmp( ( const char* )Buffer, ( const char* )PongMsg, 4 ) == 0 )
- {
- // Indicates on a LED that the received frame is a PONG
- GpioWrite( &Led1, GpioRead( &Led1 ) ^ 1 );
-
- // Send the next PING frame
- Buffer[0] = 'P';
- Buffer[1] = 'I';
- Buffer[2] = 'N';
- Buffer[3] = 'G';
- // We fill the buffer with numbers for the payload
- for( i = 4; i < BufferSize; i++ )
- {
- Buffer[i] = i - 4;
- }
- DelayMs( 1 );
- Radio.Send( Buffer, BufferSize );
- }
- else if( strncmp( ( const char* )Buffer, ( const char* )PingMsg, 4 ) == 0 )
- { // A master already exists then become a slave
- isMaster = false;
- GpioWrite( &Led2, 1 ); // Set LED off
- Radio.Rx( RX_TIMEOUT_VALUE );
- }
- else // valid reception but neither a PING or a PONG message
- { // Set device as master ans start again
- isMaster = true;
- Radio.Rx( RX_TIMEOUT_VALUE );
- }
- }
- }
- else
- {
- if( BufferSize > 0 )
- {
- if( strncmp( ( const char* )Buffer, ( const char* )PingMsg, 4 ) == 0 )
- {
- // Indicates on a LED that the received frame is a PING
- GpioWrite( &Led1, GpioRead( &Led1 ) ^ 1 );
-
- // Send the reply to the PONG string
- Buffer[0] = 'P';
- Buffer[1] = 'O';
- Buffer[2] = 'N';
- Buffer[3] = 'G';
- // We fill the buffer with numbers for the payload
- for( i = 4; i < BufferSize; i++ )
- {
- Buffer[i] = i - 4;
- }
- DelayMs( 1 );
- Radio.Send( Buffer, BufferSize );
- }
- else // valid reception but not a PING as expected
- { // Set device as master and start again
- isMaster = true;
- Radio.Rx( RX_TIMEOUT_VALUE );
- }
- }
- }
- State = LOWPOWER;
- break;
- case TX:
- // Indicates on a LED that we have sent a PING [Master]
- // Indicates on a LED that we have sent a PONG [Slave]
- GpioWrite( &Led2, GpioRead( &Led2 ) ^ 1 );
- Radio.Rx( RX_TIMEOUT_VALUE );
- State = LOWPOWER;
- break;
- case RX_TIMEOUT:
- case RX_ERROR:
- if( isMaster == true )
- {
- // Send the next PING frame
- Buffer[0] = 'P';
- Buffer[1] = 'I';
- Buffer[2] = 'N';
- Buffer[3] = 'G';
- for( i = 4; i < BufferSize; i++ )
- {
- Buffer[i] = i - 4;
- }
- DelayMs( 1 );
- Radio.Send( Buffer, BufferSize );
- }
- else
- {
- Radio.Rx( RX_TIMEOUT_VALUE );
- }
- State = LOWPOWER;
- break;
- case TX_TIMEOUT:
- Radio.Rx( RX_TIMEOUT_VALUE );
- State = LOWPOWER;
- break;
- case LOWPOWER:
- default:
- // Set low power
- break;
- }
-
- TimerLowPowerHandler( );
-
- }
-}
-
-void OnTxDone( void )
-{
- Radio.Sleep( );
- State = TX;
-}
-
-void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
-{
- Radio.Sleep( );
- BufferSize = size;
- memcpy( Buffer, payload, BufferSize );
- RssiValue = rssi;
- SnrValue = snr;
- State = RX;
-}
-
-void OnTxTimeout( void )
-{
- Radio.Sleep( );
- State = TX_TIMEOUT;
-}
-
-void OnRxTimeout( void )
-{
- Radio.Sleep( );
- State = RX_TIMEOUT;
-}
-
-void OnRxError( void )
-{
- Radio.Sleep( );
- State = RX_ERROR;
-}
diff --git a/src/apps/rx-sensi/Bleeper-72/main.c b/src/apps/rx-sensi/Bleeper-72/main.c
deleted file mode 100644
index 610ef90a8..000000000
--- a/src/apps/rx-sensi/Bleeper-72/main.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Radio sensitivity test.
- When LED1 stops blinking LoRa packets aren't received any more and
- the sensitivity level has been reached.
- By reading the RF generator output power we can estimate the board
- sensitivity.
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include "board.h"
-#include "radio.h"
-
-#define RF_FREQUENCY 868000000 // Hz
-
-#if defined( USE_MODEM_LORA )
-
-#define LORA_BANDWIDTH 0 // [0: 125 kHz,
- // 1: 250 kHz,
- // 2: 500 kHz,
- // 3: Reserved]
-#define LORA_SPREADING_FACTOR 10 // [SF7..SF12]
-#define LORA_CODINGRATE 1 // [1: 4/5,
- // 2: 4/6,
- // 3: 4/7,
- // 4: 4/8]
-#define LORA_SYMBOL_TIMEOUT 5 // Symbols
-#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
-#define LORA_FIX_LENGTH_PAYLOAD_ON false
-#define LORA_IQ_INVERSION_ON false
-
-#elif defined( USE_MODEM_FSK )
-
-#define FSK_DATARATE 50e3 // bps
-#define FSK_BANDWIDTH 50e3 // Hz
-#define FSK_AFC_BANDWIDTH 83.333e3 // Hz
-#define FSK_PREAMBLE_LENGTH 5 // Same for Tx and Rx
-#define FSK_FIX_LENGTH_PAYLOAD_ON false
-
-#else
- #error "Please define a modem in the compiler options."
-#endif
-
-/*!
- * Radio events function pointer
- */
-static RadioEvents_t RadioEvents;
-
-/*!
- * \brief Function to be executed on Radio Rx Done event
- */
-void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
-
-/*!
- * Main application entry point.
- */
-int main( void )
-{
- // Target board initialisation
- BoardInitMcu( );
- BoardInitPeriph( );
-
- // Radio initialization
- RadioEvents.RxDone = OnRxDone;
-
- Radio.Init( &RadioEvents );
-
- Radio.SetChannel( RF_FREQUENCY );
-
-#if defined( USE_MODEM_LORA )
-
- Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
- LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
- LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON,
- 0, true, 0, 0, LORA_IQ_INVERSION_ON, true );
-
-#elif defined( USE_MODEM_FSK )
-
- Radio.SetRxConfig( MODEM_FSK, FSK_BANDWIDTH, FSK_DATARATE,
- 0, FSK_AFC_BANDWIDTH, FSK_PREAMBLE_LENGTH,
- 0, FSK_FIX_LENGTH_PAYLOAD_ON, 0, true,
- 0, 0, false, true );
-
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
- Radio.Rx( 0 ); // Continuous Rx
-
- while( 1 )
- {
- TimerLowPowerHandler( );
- }
-}
-
-void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
-{
- static uint8_t ledState = 1;
- // Toggle LED 1
- ledState ^= 1;
- GpioWrite( &Led1, ledState );
-}
diff --git a/src/apps/rx-sensi/Bleeper-76/main.c b/src/apps/rx-sensi/Bleeper-76/main.c
deleted file mode 100644
index 30deb11ae..000000000
--- a/src/apps/rx-sensi/Bleeper-76/main.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Radio sensitivity test.
- When LED1 stops blinking LoRa packets aren't received any more and
- the sensitivity level has been reached.
- By reading the RF generator output power we can estimate the board
- sensitivity.
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include "board.h"
-#include "radio.h"
-
-#if defined( USE_BAND_433 )
-
-#define RF_FREQUENCY 434000000 // Hz
-
-#elif defined( USE_BAND_780 )
-
-#define RF_FREQUENCY 780000000 // Hz
-
-#elif defined( USE_BAND_868 )
-
-#define RF_FREQUENCY 868000000 // Hz
-
-#elif defined( USE_BAND_915 )
-
-#define RF_FREQUENCY 915000000 // Hz
-
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
-#if defined( USE_MODEM_LORA )
-
-#define LORA_BANDWIDTH 0 // [0: 125 kHz,
- // 1: 250 kHz,
- // 2: 500 kHz,
- // 3: Reserved]
-#define LORA_SPREADING_FACTOR 10 // [SF7..SF12]
-#define LORA_CODINGRATE 1 // [1: 4/5,
- // 2: 4/6,
- // 3: 4/7,
- // 4: 4/8]
-#define LORA_SYMBOL_TIMEOUT 5 // Symbols
-#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
-#define LORA_FIX_LENGTH_PAYLOAD_ON false
-#define LORA_IQ_INVERSION_ON false
-
-#elif defined( USE_MODEM_FSK )
-
-#define FSK_DATARATE 50e3 // bps
-#define FSK_BANDWIDTH 50e3 // Hz
-#define FSK_AFC_BANDWIDTH 83.333e3 // Hz
-#define FSK_PREAMBLE_LENGTH 5 // Same for Tx and Rx
-#define FSK_FIX_LENGTH_PAYLOAD_ON false
-
-#else
- #error "Please define a modem in the compiler options."
-#endif
-
-/*!
- * Radio events function pointer
- */
-static RadioEvents_t RadioEvents;
-
-/*!
- * \brief Function to be executed on Radio Rx Done event
- */
-void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
-
-/*!
- * Main application entry point.
- */
-int main( void )
-{
- // Target board initialisation
- BoardInitMcu( );
- BoardInitPeriph( );
-
- // Radio initialization
- RadioEvents.RxDone = OnRxDone;
-
- Radio.Init( &RadioEvents );
-
- Radio.SetChannel( RF_FREQUENCY );
-
-#if defined( USE_MODEM_LORA )
-
- Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
- LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
- LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON,
- 0, true, 0, 0, LORA_IQ_INVERSION_ON, true );
-
-#elif defined( USE_MODEM_FSK )
-
- Radio.SetRxConfig( MODEM_FSK, FSK_BANDWIDTH, FSK_DATARATE,
- 0, FSK_AFC_BANDWIDTH, FSK_PREAMBLE_LENGTH,
- 0, FSK_FIX_LENGTH_PAYLOAD_ON, 0, true,
- 0, 0, false, true );
-
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
- Radio.Rx( 0 ); // Continuous Rx
-
- while( 1 )
- {
- TimerLowPowerHandler( );
- }
-}
-
-void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
-{
- static uint8_t ledState = 1;
- // Toggle LED 1
- ledState ^= 1;
- GpioWrite( &Led1, ledState );
-}
diff --git a/src/apps/tx-cw/Bleeper-72/main.c b/src/apps/tx-cw/Bleeper-72/main.c
deleted file mode 100644
index 4eaecaabc..000000000
--- a/src/apps/tx-cw/Bleeper-72/main.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Tx Continuous Wave implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include "board.h"
-#include "radio.h"
-
-#define RF_FREQUENCY 868000000 // Hz
-#define TX_OUTPUT_POWER 14 // 14 dBm
-
-#define LORA_BANDWIDTH 0 // [0: 125 kHz,
- // 1: 250 kHz,
- // 2: 500 kHz,
- // 3: Reserved]
-#define LORA_SPREADING_FACTOR 9 // [SF7..SF12]
-#define LORA_CODINGRATE 1 // [1: 4/5,
- // 2: 4/6,
- // 3: 4/7,
- // 4: 4/8]
-#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
-#define LORA_FIX_LENGTH_PAYLOAD_ON false
-#define LORA_IQ_INVERSION_ON false
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1TimerEvent = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2TimerEvent = false;
-
-static TimerEvent_t Led3Timer;
-volatile bool Led3TimerEvent = false;
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-void OnLed1TimerEvent( void )
-{
- Led1TimerEvent = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-void OnLed2TimerEvent( void )
-{
- Led2TimerEvent = true;
-}
-
-/*!
- * \brief Function executed on Led 3 Timeout event
- */
-void OnLed3TimerEvent( void )
-{
- Led3TimerEvent = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- // Target board initialisation
- BoardInitMcu( );
- BoardInitPeriph( );
-
- // Radio initialization
- Radio.Init( NULL );
-
- Radio.SetChannel( RF_FREQUENCY );
-
- Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
- LORA_SPREADING_FACTOR, LORA_CODINGRATE,
- LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
- true, 0, 0, LORA_IQ_INVERSION_ON, 3000000 );
-
- /**********************************************/
- /* WARNING */
- /* The below settings can damage the chipset */
- /* if wrongly used. DO NOT CHANGE THE VALUES! */
- /* */
- /**********************************************/
-
- Radio.Write( 0x3D, 0xAF );
- Radio.Write( 0x1e, 0x08 );
- Radio.Write( 0x01, 0x83 );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 90000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 90000 );
-
- TimerInit( &Led3Timer, OnLed3TimerEvent );
- TimerSetValue( &Led3Timer, 90000 );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- // Sets the radio in Tx mode
- Radio.Send( NULL, 0 );
-
- // Blink LEDs just to show some activity
- while( 1 )
- {
- if( Led1TimerEvent == true )
- {
- Led1TimerEvent = false;
-
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- // Switch LED 2 ON
- GpioWrite( &Led2, 0 );
- TimerStart( &Led2Timer );
- }
-
- if( Led2TimerEvent == true )
- {
- Led2TimerEvent = false;
-
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- // Switch LED 3 ON
- GpioWrite( &Led3, 0 );
- TimerStart( &Led3Timer );
- }
-
- if( Led3TimerEvent == true )
- {
- Led3TimerEvent = false;
-
- // Switch LED 3 OFF
- GpioWrite( &Led3, 1 );
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
- }
- }
-}
diff --git a/src/apps/tx-cw/Bleeper-76/main.c b/src/apps/tx-cw/Bleeper-76/main.c
deleted file mode 100644
index 513d3b6b1..000000000
--- a/src/apps/tx-cw/Bleeper-76/main.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Tx Continuous Wave implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include "board.h"
-#include "radio.h"
-
-#if defined( USE_BAND_433 )
-
-#define RF_FREQUENCY 434000000 // Hz
-#define TX_OUTPUT_POWER 14 // 14 dBm
-
-#elif defined( USE_BAND_780 )
-
-#define RF_FREQUENCY 780000000 // Hz
-#define TX_OUTPUT_POWER 14 // 14 dBm
-
-#elif defined( USE_BAND_868 )
-
-#define RF_FREQUENCY 868000000 // Hz
-#define TX_OUTPUT_POWER 20 // 20 dBm
-
-#elif defined( USE_BAND_915 )
-
-#define RF_FREQUENCY 915000000 // Hz
-#define TX_OUTPUT_POWER 20 // 20 dBm
-
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
-
-#define LORA_BANDWIDTH 0 // [0: 125 kHz,
- // 1: 250 kHz,
- // 2: 500 kHz,
- // 3: Reserved]
-#define LORA_SPREADING_FACTOR 9 // [SF7..SF12]
-#define LORA_CODINGRATE 1 // [1: 4/5,
- // 2: 4/6,
- // 3: 4/7,
- // 4: 4/8]
-#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
-#define LORA_FIX_LENGTH_PAYLOAD_ON false
-#define LORA_IQ_INVERSION_ON false
-
-static TimerEvent_t Led1Timer;
-volatile bool Led1TimerEvent = false;
-
-static TimerEvent_t Led2Timer;
-volatile bool Led2TimerEvent = false;
-
-static TimerEvent_t Led3Timer;
-volatile bool Led3TimerEvent = false;
-
-/*!
- * \brief Function executed on Led 1 Timeout event
- */
-void OnLed1TimerEvent( void )
-{
- Led1TimerEvent = true;
-}
-
-/*!
- * \brief Function executed on Led 2 Timeout event
- */
-void OnLed2TimerEvent( void )
-{
- Led2TimerEvent = true;
-}
-
-/*!
- * \brief Function executed on Led 3 Timeout event
- */
-void OnLed3TimerEvent( void )
-{
- Led3TimerEvent = true;
-}
-
-/**
- * Main application entry point.
- */
-int main( void )
-{
- // Target board initialisation
- BoardInitMcu( );
- BoardInitPeriph( );
-
- // Radio initialization
- Radio.Init( NULL );
-
- Radio.SetChannel( RF_FREQUENCY );
- /**********************************************/
- /* WARNING */
- /* The below settings can damage the chipset */
- /* if wrongly used. DO NOT CHANGE THE VALUES! */
- /* */
- /**********************************************/
-#if defined( USE_BAND_433 )
-
- Radio.Write( 0x01, 0x88 );
- Radio.Write( 0x3D, 0xA1 );
- Radio.Write( 0x36, 0x01 );
- Radio.Write( 0x1e, 0x08 );
-
-#elif ( defined( USE_BAND_780 ) || defined( USE_BAND_868 ) || defined( USE_BAND_915 ) )
-
- Radio.Write( 0x01, 0x80 );
- Radio.Write( 0x44, 0x7B );
- Radio.Write( 0x3D, 0xA1 );
- Radio.Write( 0x36, 0x01 );
- Radio.Write( 0x1e, 0x08 );
- Radio.Write( 0x45, 0xDF );
- Radio.Write( 0x46, 0x03 );
- Radio.Write( 0x4D, 0x87 );
- Radio.Write( 0x52, 0x60 );
-
-#endif
-
- Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
- LORA_SPREADING_FACTOR, LORA_CODINGRATE,
- LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
- true, 0, 0, LORA_IQ_INVERSION_ON, 3000000 );
-
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 90000 );
-
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 90000 );
-
- TimerInit( &Led3Timer, OnLed3TimerEvent );
- TimerSetValue( &Led3Timer, 90000 );
-
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
-
- // Sets the radio in Tx mode
- Radio.Send( NULL, 0 );
-
- // Blink LEDs just to show some activity
- while( 1 )
- {
- if( Led1TimerEvent == true )
- {
- Led1TimerEvent = false;
-
- // Switch LED 1 OFF
- GpioWrite( &Led1, 1 );
- // Switch LED 2 ON
- GpioWrite( &Led2, 0 );
- TimerStart( &Led2Timer );
- }
-
- if( Led2TimerEvent == true )
- {
- Led2TimerEvent = false;
-
- // Switch LED 2 OFF
- GpioWrite( &Led2, 1 );
- // Switch LED 3 ON
- GpioWrite( &Led3, 0 );
- TimerStart( &Led3Timer );
- }
-
- if( Led3TimerEvent == true )
- {
- Led3TimerEvent = false;
-
- // Switch LED 3 OFF
- GpioWrite( &Led3, 1 );
- // Switch LED 1 ON
- GpioWrite( &Led1, 0 );
- TimerStart( &Led1Timer );
- }
- }
-}
diff --git a/src/boards/Bleeper-72/LoRaMac-board.h b/src/boards/Bleeper-72/LoRaMac-board.h
deleted file mode 100644
index 403f0baa5..000000000
--- a/src/boards/Bleeper-72/LoRaMac-board.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRa MAC layer board dependent definitions
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORAMAC_BOARD_H__
-#define __LORAMAC_BOARD_H__
-
-/*!
- * Returns individual channel mask
- *
- * \param[IN] channelIndex Channel index 1 based
- * \retval channelMask
- */
-#define LC( channelIndex ) ( uint16_t )( 1 << ( channelIndex - 1 ) )
-
-#if defined( USE_BAND_868 )
-
-/*!
- * LoRaMac maximum number of channels
- */
-#define LORA_MAX_NB_CHANNELS 16
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MIN_DATARATE DR_0
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MAX_DATARATE DR_7
-
-/*!
- * Default datarate used by the node
- */
-#define LORAMAC_DEFAULT_DATARATE DR_0
-
-/*!
- * Minimal Rx1 receive datarate offset
- */
-#define LORAMAC_MIN_RX1_DR_OFFSET 0
-
-/*!
- * Maximal Rx1 receive datarate offset
- */
-#define LORAMAC_MAX_RX1_DR_OFFSET 5
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MIN_TX_POWER TX_POWER_02_DBM
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MAX_TX_POWER TX_POWER_20_DBM
-
-/*!
- * Default Tx output power used by the node
- */
-#define LORAMAC_DEFAULT_TX_POWER TX_POWER_14_DBM
-
-/*!
- * LoRaMac TxPower definition
- */
-#define TX_POWER_20_DBM 0
-#define TX_POWER_14_DBM 1
-#define TX_POWER_11_DBM 2
-#define TX_POWER_08_DBM 3
-#define TX_POWER_05_DBM 4
-#define TX_POWER_02_DBM 5
-
-/*!
- * LoRaMac datarates definition
- */
-#define DR_0 0 // SF12 - BW125
-#define DR_1 1 // SF11 - BW125
-#define DR_2 2 // SF10 - BW125
-#define DR_3 3 // SF9 - BW125
-#define DR_4 4 // SF8 - BW125
-#define DR_5 5 // SF7 - BW125
-#define DR_6 6 // SF7 - BW250
-#define DR_7 7 // FSK
-
-/*!
- * Second reception window channel definition.
- */
-// Channel = { Frequency [Hz], Datarate }
-#define RX_WND_2_CHANNEL { 869525000, DR_0 }
-
-/*!
- * LoRaMac maximum number of bands
- */
-#define LORA_MAX_NB_BANDS 5
-
-/*!
- * LoRaMac EU868 default bands
- */
-typedef enum
-{
- BAND_G1_0,
- BAND_G1_1,
- BAND_G1_2,
- BAND_G1_3,
- BAND_G1_4,
-}BandId_t;
-
-// Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff }
-#define BAND0 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 %
-#define BAND1 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 %
-#define BAND2 { 1000, TX_POWER_14_DBM, 0, 0 } // 0.1 %
-#define BAND3 { 10 , TX_POWER_14_DBM, 0, 0 } // 10.0 %
-#define BAND4 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 %
-
-/*!
- * LoRaMac default channels
- */
-// Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
-#define LC1 { 868100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
-#define LC2 { 868300000, { ( ( DR_6 << 4 ) | DR_0 ) }, 1 }
-#define LC3 { 868500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
-#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
-
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
-#endif // __LORAMAC_BOARD_H__
diff --git a/src/boards/Bleeper-72/board.c b/src/boards/Bleeper-72/board.c
deleted file mode 100644
index 117b4fd78..000000000
--- a/src/boards/Bleeper-72/board.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Target board general functions implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-
-/*!
- * Unique Devices IDs register set ( STM32L1xxx )
- */
-#define ID1 ( 0x1FF80050 )
-#define ID2 ( 0x1FF80054 )
-#define ID3 ( 0x1FF80064 )
-
-/*!
- * LED GPIO pins objects
- */
-Gpio_t Led1;
-Gpio_t Led2;
-Gpio_t Led3;
-
-/*!
- * Hex coder selector GPIO pins objects
- */
-Gpio_t Sel1;
-Gpio_t Sel2;
-Gpio_t Sel3;
-Gpio_t Sel4;
-
-#if defined( USE_DEBUG_PINS )
-Gpio_t DbgPin1;
-Gpio_t DbgPin2;
-Gpio_t DbgPin3;
-Gpio_t DbgPin4;
-#endif
-
-I2c_t I2c;
-
-/*!
- * Initializes the unused GPIO to a know status
- */
-static void BoardUnusedIoInit( void );
-
-/*!
- * Flag to indicate if the MCU is Initialized
- */
-static bool McuInitialized = false;
-
-volatile uint8_t Led3Status = 1;
-
-void BoardInitPeriph( void )
-{
- GpioInit( &Sel1, SEL_1, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel2, SEL_2, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel3, SEL_3, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel4, SEL_4, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- GpioInit( &Led1, LED_1, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- GpioInit( &Led2, LED_2, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- GpioInit( &Led3, LED_3, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, Led3Status );
-
- // Init temperature, pressure and altitude sensor
- MPL3115Init( );
-}
-
-void BoardInitMcu( void )
-{
- if( McuInitialized == false )
- {
- // We use IRQ priority group 4 for the entire project
- // When setting the IRQ, only the preemption priority is used
- NVIC_PriorityGroupConfig( NVIC_PriorityGroup_4 );
-
- // Disable Systick
- SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk; // Systick IRQ off
- SCB->ICSR |= SCB_ICSR_PENDSTCLR_Msk; // Clear SysTick Exception pending flag
-
- I2cInit( &I2c, I2C_SCL, I2C_SDA );
-
- SpiInit( &SX1272.Spi, RADIO_MOSI, RADIO_MISO, RADIO_SCLK, NC );
- SX1272IoInit( );
-
-#if defined( USE_DEBUG_PINS )
- GpioInit( &DbgPin1, J5_1, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin2, J5_2, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin3, J5_3, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin4, J5_4, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-#endif
- BoardInitPeriph( );
-
-#if( LOW_POWER_MODE_ENABLE )
- TimerSetLowPowerEnable( true );
-#else
- TimerSetLowPowerEnable( false );
-#endif
- BoardUnusedIoInit( );
-
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcInit( );
- }
- else
- {
- TimerHwInit( );
- }
- McuInitialized = true;
- }
-}
-
-void BoardDeInitMcu( void )
-{
- Gpio_t ioPin;
-
- I2cDeInit( &I2c );
- SpiDeInit( &SX1272.Spi );
- SX1272IoDeInit( );
-
- GpioInit( &Led1, LED_1, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- GpioInit( &Led2, LED_2, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- Led3Status = GpioRead( &Led3 );
- if( Led3Status == 1 )
- {
- GpioInit( &Led3, LED_3, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- }
-
- GpioInit( &Sel1, SEL_1, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel2, SEL_2, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel3, SEL_3, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel4, SEL_4, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
-#if ( defined( USE_DEBUG_PINS ) && !defined( LOW_POWER_MODE_ENABLE ) )
- GpioInit( &DbgPin1, J5_1, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin2, J5_2, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin3, J5_3, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin4, J5_4, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-#endif
-
- GpioInit( &ioPin, OSC_HSE_IN, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- GpioInit( &ioPin, OSC_HSE_OUT, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
-
- GpioInit( &ioPin, OSC_LSE_IN, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_DOWN, 1 );
- GpioInit( &ioPin, OSC_LSE_OUT, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_DOWN, 1 );
-
- McuInitialized = false;
-}
-
-uint32_t BoardGetRandomSeed( void )
-{
- return ( ( *( uint32_t* )ID1 ) ^ ( *( uint32_t* )ID2 ) ^ ( *( uint32_t* )ID3 ) );
-}
-
-void BoardGetUniqueId( uint8_t *id )
-{
- id[7] = ( ( *( uint32_t* )ID1 )+ ( *( uint32_t* )ID3 ) ) >> 24;
- id[6] = ( ( *( uint32_t* )ID1 )+ ( *( uint32_t* )ID3 ) ) >> 16;
- id[5] = ( ( *( uint32_t* )ID1 )+ ( *( uint32_t* )ID3 ) ) >> 8;
- id[4] = ( ( *( uint32_t* )ID1 )+ ( *( uint32_t* )ID3 ) );
- id[3] = ( ( *( uint32_t* )ID2 ) ) >> 24;
- id[2] = ( ( *( uint32_t* )ID2 ) ) >> 16;
- id[1] = ( ( *( uint32_t* )ID2 ) ) >> 8;
- id[0] = ( ( *( uint32_t* )ID2 ) );
-}
-
-uint8_t BoardGetBatteryLevel( void )
-{
- uint8_t batteryLevel = 0;
- uint8_t i, result = 0;
- uint32_t tmpreg = 0;
-
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR, ENABLE );
-
- PWR_PVDCmd( ENABLE ); // activate the voltage reference
- DelayMs( 1 );
-
- tmpreg = PWR->CR; // get the CR register for a read-modify-write
-
- for( i = 0; i <= 6; i++ )
- {
- PWR->CR = ( ( tmpreg & 0xFFFFFF1F ) | ( i << 5 ) ); // set PVD level from 0 to 6
- DelayMs( 1 );
- if( PWR_GetFlagStatus( PWR_FLAG_PVDO ) == 1 )
- {
- result |= 0x01 << i; // use 'result' as a bit array
- }
- }
- PWR_PVDCmd( DISABLE ); // shut down voltage reference
-
- switch( result ) { // transcribe result and detect invalid codes
- case 0x7F:
- batteryLevel = 0x1F; // Vbat < 1.9V
- break;
- case 0x7E:
- batteryLevel = 0x3F; // 1.9 < Vbat < 2.1
- break;
- case 0x7C:
- batteryLevel = 0x5F; // 2.1 < Vbat < 2.3
- break;
- case 0x78:
- batteryLevel = 0x7F; // 2.3 < Vbat < 2.5
- break;
- case 0x70:
- batteryLevel = 0x9F; // 2.5 < Vbat < 2.7
- break;
- case 0x60:
- batteryLevel = 0xBF; // 2.7 < Vbat < 2.9
- break;
- case 0x40:
- batteryLevel = 0xDF; // 2.9 < Vbat < 3.1
- break;
- case 0x00:
- batteryLevel = 0xFE; // Vbat > 3.1V
- break;
- default:
- batteryLevel = 0xFF; // Fail
- break;
- }
- return batteryLevel;
-}
-
-static void BoardUnusedIoInit( void )
-{
- Gpio_t ioPin;
-
- /* Non Connected pin */
- GpioInit( &ioPin, NC_1, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_2, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_3, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_4, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- /* External Connector J5 */
-#if !defined( USE_DEBUG_PINS )
- GpioInit( &ioPin, J5_1, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, J5_2, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, J5_3, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, J5_4, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-#endif
-
- /* External Connector J2 */
- GpioInit( &ioPin, J2_2, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, J2_3, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- /* SD Card */
- GpioInit( &ioPin, SD_DET, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, SD_DAT0, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, SD_DAT1, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, SD_DAT2, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, SD_DAT3, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, SD_CLK, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, SD_CMD, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- /* USB */
-#if !defined( USE_USB_CDC )
- GpioInit( &ioPin, USB_DM, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, USB_DP, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-#endif
-
- /* BOOT1 pin */
- GpioInit( &ioPin, BOOT_1, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
-#if defined( USE_DEBUGGER )
- DBGMCU_Config( DBGMCU_SLEEP, ENABLE );
- DBGMCU_Config( DBGMCU_STOP, ENABLE);
- DBGMCU_Config( DBGMCU_STANDBY, ENABLE);
-#else
- DBGMCU_Config( DBGMCU_SLEEP, DISABLE );
- DBGMCU_Config( DBGMCU_STOP, DISABLE );
- DBGMCU_Config( DBGMCU_STANDBY, DISABLE );
-
- GpioInit( &ioPin, JTAG_TMS, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, JTAG_TCK, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, JTAG_TDI, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, JTAG_TDO, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, JTAG_NRST, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-#endif
-}
diff --git a/src/boards/Bleeper-72/board.h b/src/boards/Bleeper-72/board.h
deleted file mode 100644
index 206128e73..000000000
--- a/src/boards/Bleeper-72/board.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Target board general functions implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __BOARD_H__
-#define __BOARD_H__
-
-#include
-#include
-#include
-#include
-#include
-#include "stm32l1xx.h"
-#include "utilities.h"
-#include "timer.h"
-#include "delay.h"
-#include "gpio.h"
-#include "spi.h"
-#include "i2c.h"
-#include "radio.h"
-#include "sx1272/sx1272.h"
-#include "mpl3115.h"
-#include "rtc-board.h"
-#include "timer-board.h"
-#include "sx1272-board.h"
-#include "selector.h"
-
-/*!
- * Generic definition
- */
-#ifndef SUCCESS
-#define SUCCESS 1
-#endif
-
-#ifndef FAIL
-#define FAIL 0
-#endif
-
-/*!
- * Board MCU pins definitions
- */
-#define LED_1 PB_9
-#define LED_2 PB_8
-#define LED_3 PB_5
-
-#define RADIO_RESET PC_2
-
-#define RADIO_MOSI PA_7
-#define RADIO_MISO PA_6
-#define RADIO_SCLK PA_5
-#define RADIO_NSS PA_4
-
-#define RADIO_DIO_0 PA_0
-#define RADIO_DIO_1 PA_1
-#define RADIO_DIO_2 PA_2
-#define RADIO_DIO_3 PA_3
-#define RADIO_DIO_4 PC_4
-#define RADIO_DIO_5 PC_5
-
-#define RADIO_ANT_SWITCH_RX PC_0
-#define RADIO_ANT_SWITCH_TX PC_1
-
-#define OSC_LSE_IN PC_14
-#define OSC_LSE_OUT PC_15
-
-#define OSC_HSE_IN PH_0
-#define OSC_HSE_OUT PH_1
-
-#define NC_1 PC_13
-#define NC_2 PC_3
-#define NC_3 PB_1
-#define NC_4 PA_10
-
-#define J5_1 PB_12
-#define J5_2 PB_15
-#define J5_3 PB_14
-#define J5_4 PB_13
-
-#define J2_2 PB_7
-#define J2_3 PB_6
-
-#define SEL_1 PA_8
-#define SEL_2 PA_9
-#define SEL_3 PC_6
-#define SEL_4 PC_7
-
-#define USB_DM PA_11
-#define USB_DP PA_12
-
-#define BOOT_1 PB_2
-
-#define JTAG_TMS PA_13
-#define JTAG_TCK PA_14
-#define JTAG_TDI PA_15
-#define JTAG_TDO PB_3
-#define JTAG_NRST PB_4
-
-#define SD_DET PB_0
-#define SD_DAT0 PC_8
-#define SD_DAT1 PC_9
-#define SD_DAT2 PC_10
-#define SD_DAT3 PC_11
-#define SD_CLK PC_12
-#define SD_CMD PD_2
-
-#define I2C_SCL PB_10
-#define I2C_SDA PB_11
-
-/*!
- * LED GPIO pins objects
- */
-extern Gpio_t Led1;
-extern Gpio_t Led2;
-extern Gpio_t Led3;
-
-/*!
- * Hex coder selector GPIO pins objects
- */
-extern Gpio_t Sel1;
-extern Gpio_t Sel2;
-extern Gpio_t Sel3;
-extern Gpio_t Sel4;
-
-/*!
- * Debug GPIO pins objects
- */
-#if defined( USE_DEBUG_PINS )
-extern Gpio_t DbgPin1;
-extern Gpio_t DbgPin2;
-extern Gpio_t DbgPin3;
-extern Gpio_t DbgPin4;
-#endif
-
-/*!
- * MCU objects
- */
-extern I2c_t I2c;
-
-/*!
- * \brief Initializes the target board peripherals.
- */
-void BoardInitMcu( void );
-
-/*!
- * \brief Initializes the boards peripherals.
- */
-void BoardInitPeriph( void );
-
-/*!
- * \brief De-initializes the target board peripherals to decrease power
- * consumption.
- */
-void BoardDeInitMcu( void );
-
-/*!
- * \brief Get the current battery level
- *
- * \retval value battery level ( 0: very low, 254: fully charged )
- */
-uint8_t BoardGetBatteryLevel( void );
-
-/*!
- * Returns a pseudo random seed generated using the MCU Unique ID
- *
- * \retval seed Generated pseudo random seed
- */
-uint32_t BoardGetRandomSeed( void );
-
-/*!
- * \brief Gets the board 64 bits unique ID
- *
- * \param [IN] id Pointer to an array that will contain the Unique ID
- */
-void BoardGetUniqueId( uint8_t *id );
-
-#endif // __BOARD_H__
diff --git a/src/boards/Bleeper-72/cmsis/arm-gcc/startup_stm32l1xx_hd.s b/src/boards/Bleeper-72/cmsis/arm-gcc/startup_stm32l1xx_hd.s
deleted file mode 100644
index 926aad7e1..000000000
--- a/src/boards/Bleeper-72/cmsis/arm-gcc/startup_stm32l1xx_hd.s
+++ /dev/null
@@ -1,419 +0,0 @@
-/**
- ******************************************************************************
- * @file startup_stm32l1xx_hd.s
- * @author MCD Application Team
- * @version V1.2.0
- * @date 22-February-2013
- * @brief STM32L1xx Ultra Low Power High-density Devices vector table for
- * RIDE7 toolchain.
- * This module performs:
- * - Set the initial SP
- * - Set the initial PC == Reset_Handler,
- * - Set the vector table entries with the exceptions ISR address
- * - Branches to main in the C library (which eventually
- * calls main()).
- * After Reset the Cortex-M3 processor is in Thread mode,
- * priority is Privileged, and the Stack is set to Main.
- ******************************************************************************
- * @attention
- *
- * © COPYRIGHT 2013 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
- .syntax unified
- .cpu cortex-m3
- .fpu softvfp
- .thumb
-
-.global g_pfnVectors
-.global Default_Handler
-
-/* start address for the initialization values of the .data section.
-defined in linker script */
-.word _sidata
-/* start address for the .data section. defined in linker script */
-.word _sdata
-/* end address for the .data section. defined in linker script */
-.word _edata
-/* start address for the .bss section. defined in linker script */
-.word _sbss
-/* end address for the .bss section. defined in linker script */
-.word _ebss
-
-.equ BootRAM, 0xF108F85F
-/**
- * @brief This is the code that gets called when the processor first
- * starts execution following a reset event. Only the absolutely
- * necessary set is performed, after which the application
- * supplied main() routine is called.
- * @param None
- * @retval : None
-*/
-
- .section .text.Reset_Handler
- .weak Reset_Handler
- .type Reset_Handler, %function
-Reset_Handler:
-
-/* Copy the data segment initializers from flash to SRAM */
- movs r1, #0
- b LoopCopyDataInit
-
-CopyDataInit:
- ldr r3, =_sidata
- ldr r3, [r3, r1]
- str r3, [r0, r1]
- adds r1, r1, #4
-
-LoopCopyDataInit:
- ldr r0, =_sdata
- ldr r3, =_edata
- adds r2, r0, r1
- cmp r2, r3
- bcc CopyDataInit
- ldr r2, =_sbss
- b LoopFillZerobss
-/* Zero fill the bss segment. */
-FillZerobss:
- movs r3, #0
- str r3, [r2], #4
-
-LoopFillZerobss:
- ldr r3, = _ebss
- cmp r2, r3
- bcc FillZerobss
-/* Call the clock system intitialization function.*/
- bl SystemInit
-/* Call the application's entry point.*/
- bl main
- bx lr
-.size Reset_Handler, .-Reset_Handler
-
-/**
- * @brief This is the code that gets called when the processor receives an
- * unexpected interrupt. This simply enters an infinite loop, preserving
- * the system state for examination by a debugger.
- *
- * @param None
- * @retval None
-*/
- .section .text.Default_Handler,"ax",%progbits
-Default_Handler:
-Infinite_Loop:
- b Infinite_Loop
- .size Default_Handler, .-Default_Handler
-/*******************************************************************************
-*
-* The minimal vector table for a Cortex M3. Note that the proper constructs
-* must be placed on this to ensure that it ends up at physical address
-* 0x0000.0000.
-*******************************************************************************/
- .section .isr_vector,"a",%progbits
- .type g_pfnVectors, %object
- .size g_pfnVectors, .-g_pfnVectors
-
-
-g_pfnVectors:
- .word _estack
- .word Reset_Handler
- .word NMI_Handler
- .word HardFault_Handler
- .word MemManage_Handler
- .word BusFault_Handler
- .word UsageFault_Handler
- .word 0
- .word 0
- .word 0
- .word 0
- .word SVC_Handler
- .word DebugMon_Handler
- .word 0
- .word PendSV_Handler
- .word SysTick_Handler
- .word WWDG_IRQHandler
- .word PVD_IRQHandler
- .word TAMPER_STAMP_IRQHandler
- .word RTC_WKUP_IRQHandler
- .word FLASH_IRQHandler
- .word RCC_IRQHandler
- .word EXTI0_IRQHandler
- .word EXTI1_IRQHandler
- .word EXTI2_IRQHandler
- .word EXTI3_IRQHandler
- .word EXTI4_IRQHandler
- .word DMA1_Channel1_IRQHandler
- .word DMA1_Channel2_IRQHandler
- .word DMA1_Channel3_IRQHandler
- .word DMA1_Channel4_IRQHandler
- .word DMA1_Channel5_IRQHandler
- .word DMA1_Channel6_IRQHandler
- .word DMA1_Channel7_IRQHandler
- .word ADC1_IRQHandler
- .word USB_HP_IRQHandler
- .word USB_LP_IRQHandler
- .word DAC_IRQHandler
- .word COMP_IRQHandler
- .word EXTI9_5_IRQHandler
- .word LCD_IRQHandler
- .word TIM9_IRQHandler
- .word TIM10_IRQHandler
- .word TIM11_IRQHandler
- .word TIM2_IRQHandler
- .word TIM3_IRQHandler
- .word TIM4_IRQHandler
- .word I2C1_EV_IRQHandler
- .word I2C1_ER_IRQHandler
- .word I2C2_EV_IRQHandler
- .word I2C2_ER_IRQHandler
- .word SPI1_IRQHandler
- .word SPI2_IRQHandler
- .word USART1_IRQHandler
- .word USART2_IRQHandler
- .word USART3_IRQHandler
- .word EXTI15_10_IRQHandler
- .word RTC_Alarm_IRQHandler
- .word USB_FS_WKUP_IRQHandler
- .word TIM6_IRQHandler
- .word TIM7_IRQHandler
- .word SDIO_IRQHandler
- .word TIM5_IRQHandler
- .word SPI3_IRQHandler
- .word UART4_IRQHandler
- .word UART5_IRQHandler
- .word DMA2_Channel1_IRQHandler
- .word DMA2_Channel2_IRQHandler
- .word DMA2_Channel3_IRQHandler
- .word DMA2_Channel4_IRQHandler
- .word DMA2_Channel5_IRQHandler
- .word AES_IRQHandler
- .word COMP_ACQ_IRQHandler
- .word 0
- .word 0
- .word 0
- .word 0
- .word 0
- .word BootRAM /* @0x108. This is for boot in RAM mode for
- STM32L15x ULtra Low Power High-density devices. */
-
-/*******************************************************************************
-*
-* Provide weak aliases for each Exception handler to the Default_Handler.
-* As they are weak aliases, any function with the same name will override
-* this definition.
-*
-*******************************************************************************/
-
- .weak NMI_Handler
- .thumb_set NMI_Handler,Default_Handler
-
- .weak HardFault_Handler
- .thumb_set HardFault_Handler,Default_Handler
-
- .weak MemManage_Handler
- .thumb_set MemManage_Handler,Default_Handler
-
- .weak BusFault_Handler
- .thumb_set BusFault_Handler,Default_Handler
-
- .weak UsageFault_Handler
- .thumb_set UsageFault_Handler,Default_Handler
-
- .weak SVC_Handler
- .thumb_set SVC_Handler,Default_Handler
-
- .weak DebugMon_Handler
- .thumb_set DebugMon_Handler,Default_Handler
-
- .weak PendSV_Handler
- .thumb_set PendSV_Handler,Default_Handler
-
- .weak SysTick_Handler
- .thumb_set SysTick_Handler,Default_Handler
-
- .weak WWDG_IRQHandler
- .thumb_set WWDG_IRQHandler,Default_Handler
-
- .weak PVD_IRQHandler
- .thumb_set PVD_IRQHandler,Default_Handler
-
- .weak TAMPER_STAMP_IRQHandler
- .thumb_set TAMPER_STAMP_IRQHandler,Default_Handler
-
- .weak RTC_WKUP_IRQHandler
- .thumb_set RTC_WKUP_IRQHandler,Default_Handler
-
- .weak FLASH_IRQHandler
- .thumb_set FLASH_IRQHandler,Default_Handler
-
- .weak RCC_IRQHandler
- .thumb_set RCC_IRQHandler,Default_Handler
-
- .weak EXTI0_IRQHandler
- .thumb_set EXTI0_IRQHandler,Default_Handler
-
- .weak EXTI1_IRQHandler
- .thumb_set EXTI1_IRQHandler,Default_Handler
-
- .weak EXTI2_IRQHandler
- .thumb_set EXTI2_IRQHandler,Default_Handler
-
- .weak EXTI3_IRQHandler
- .thumb_set EXTI3_IRQHandler,Default_Handler
-
- .weak EXTI4_IRQHandler
- .thumb_set EXTI4_IRQHandler,Default_Handler
-
- .weak DMA1_Channel1_IRQHandler
- .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
-
- .weak DMA1_Channel2_IRQHandler
- .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
-
- .weak DMA1_Channel3_IRQHandler
- .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
-
- .weak DMA1_Channel4_IRQHandler
- .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
-
- .weak DMA1_Channel5_IRQHandler
- .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
-
- .weak DMA1_Channel6_IRQHandler
- .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
-
- .weak DMA1_Channel7_IRQHandler
- .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
-
- .weak ADC1_IRQHandler
- .thumb_set ADC1_IRQHandler,Default_Handler
-
- .weak USB_HP_IRQHandler
- .thumb_set USB_HP_IRQHandler,Default_Handler
-
- .weak USB_LP_IRQHandler
- .thumb_set USB_LP_IRQHandler,Default_Handler
-
- .weak DAC_IRQHandler
- .thumb_set DAC_IRQHandler,Default_Handler
-
- .weak COMP_IRQHandler
- .thumb_set COMP_IRQHandler,Default_Handler
-
- .weak EXTI9_5_IRQHandler
- .thumb_set EXTI9_5_IRQHandler,Default_Handler
-
- .weak LCD_IRQHandler
- .thumb_set LCD_IRQHandler,Default_Handler
-
- .weak TIM9_IRQHandler
- .thumb_set TIM9_IRQHandler,Default_Handler
-
- .weak TIM10_IRQHandler
- .thumb_set TIM10_IRQHandler,Default_Handler
-
- .weak TIM11_IRQHandler
- .thumb_set TIM11_IRQHandler,Default_Handler
-
- .weak TIM2_IRQHandler
- .thumb_set TIM2_IRQHandler,Default_Handler
-
- .weak TIM3_IRQHandler
- .thumb_set TIM3_IRQHandler,Default_Handler
-
- .weak TIM4_IRQHandler
- .thumb_set TIM4_IRQHandler,Default_Handler
-
- .weak I2C1_EV_IRQHandler
- .thumb_set I2C1_EV_IRQHandler,Default_Handler
-
- .weak I2C1_ER_IRQHandler
- .thumb_set I2C1_ER_IRQHandler,Default_Handler
-
- .weak I2C2_EV_IRQHandler
- .thumb_set I2C2_EV_IRQHandler,Default_Handler
-
- .weak I2C2_ER_IRQHandler
- .thumb_set I2C2_ER_IRQHandler,Default_Handler
-
- .weak SPI1_IRQHandler
- .thumb_set SPI1_IRQHandler,Default_Handler
-
- .weak SPI2_IRQHandler
- .thumb_set SPI2_IRQHandler,Default_Handler
-
- .weak USART1_IRQHandler
- .thumb_set USART1_IRQHandler,Default_Handler
-
- .weak USART2_IRQHandler
- .thumb_set USART2_IRQHandler,Default_Handler
-
- .weak USART3_IRQHandler
- .thumb_set USART3_IRQHandler,Default_Handler
-
- .weak EXTI15_10_IRQHandler
- .thumb_set EXTI15_10_IRQHandler,Default_Handler
-
- .weak RTC_Alarm_IRQHandler
- .thumb_set RTC_Alarm_IRQHandler,Default_Handler
-
- .weak USB_FS_WKUP_IRQHandler
- .thumb_set USB_FS_WKUP_IRQHandler,Default_Handler
-
- .weak TIM6_IRQHandler
- .thumb_set TIM6_IRQHandler,Default_Handler
-
- .weak TIM7_IRQHandler
- .thumb_set TIM7_IRQHandler,Default_Handler
-
- .weak SDIO_IRQHandler
- .thumb_set SDIO_IRQHandler,Default_Handler
-
- .weak TIM5_IRQHandler
- .thumb_set TIM5_IRQHandler,Default_Handler
-
- .weak SPI3_IRQHandler
- .thumb_set SPI3_IRQHandler,Default_Handler
-
- .weak UART4_IRQHandler
- .thumb_set UART4_IRQHandler,Default_Handler
-
- .weak UART5_IRQHandler
- .thumb_set UART5_IRQHandler,Default_Handler
-
- .weak DMA2_Channel1_IRQHandler
- .thumb_set DMA2_Channel1_IRQHandler,Default_Handler
-
- .weak DMA2_Channel2_IRQHandler
- .thumb_set DMA2_Channel2_IRQHandler,Default_Handler
-
- .weak DMA2_Channel3_IRQHandler
- .thumb_set DMA2_Channel3_IRQHandler,Default_Handler
-
- .weak DMA2_Channel4_IRQHandler
- .thumb_set DMA2_Channel4_IRQHandler,Default_Handler
-
- .weak DMA2_Channel5_IRQHandler
- .thumb_set DMA2_Channel5_IRQHandler,Default_Handler
-
- .weak AES_IRQHandler
- .thumb_set AES_IRQHandler,Default_Handler
-
- .weak COMP_ACQ_IRQHandler
- .thumb_set COMP_ACQ_IRQHandler,Default_Handler
-
-/************************* (C) COPYRIGHT STMicroelectronics *****END OF FILE***/
-
diff --git a/src/boards/Bleeper-72/cmsis/arm-gcc/stm32l1xx_hd_flash.ld b/src/boards/Bleeper-72/cmsis/arm-gcc/stm32l1xx_hd_flash.ld
deleted file mode 100644
index c9382e2b5..000000000
--- a/src/boards/Bleeper-72/cmsis/arm-gcc/stm32l1xx_hd_flash.ld
+++ /dev/null
@@ -1,131 +0,0 @@
-/* Memory regions.*/
-MEMORY
-{
- FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 384K
- RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 48K
-}
-
-/* Entry Point */
-ENTRY(Reset_Handler)
-
-_estack = 0x20000000 + 48K;
-
-/* Define output sections */
-SECTIONS
-{
- .text :
- {
- KEEP(*(.isr_vector))
- *(.text*)
-
- KEEP(*(.init))
- KEEP(*(.fini))
-
- /* .ctors */
- *crtbegin.o(.ctors)
- *crtbegin?.o(.ctors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
- *(SORT(.ctors.*))
- *(.ctors)
-
- /* .dtors */
- *crtbegin.o(.dtors)
- *crtbegin?.o(.dtors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
- *(SORT(.dtors.*))
- *(.dtors)
-
- *(.rodata*)
-
- KEEP(*(.eh_frame*))
- } > FLASH
-
- .ARM.extab :
- {
- *(.ARM.extab* .gnu.linkonce.armextab.*)
- } > FLASH
-
- __exidx_start = .;
- .ARM.exidx :
- {
- *(.ARM.exidx* .gnu.linkonce.armexidx.*)
- } > FLASH
- __exidx_end = .;
- __etext = .;
-
- /* used by the startup to initialize data */
- _sidata = __etext;
-
- .data : AT (__etext)
- {
- __data_start__ = .;
- _sdata = .;
- *(vtable)
- *(.data*)
-
- . = ALIGN(4);
- /* preinit data */
- PROVIDE_HIDDEN (__preinit_array_start = .);
- KEEP(*(.preinit_array))
- PROVIDE_HIDDEN (__preinit_array_end = .);
-
- . = ALIGN(4);
- /* init data */
- PROVIDE_HIDDEN (__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE_HIDDEN (__init_array_end = .);
-
-
- . = ALIGN(4);
- /* finit data */
- PROVIDE_HIDDEN (__fini_array_start = .);
- KEEP(*(SORT(.fini_array.*)))
- KEEP(*(.fini_array))
- PROVIDE_HIDDEN (__fini_array_end = .);
-
- KEEP(*(.jcr*))
- . = ALIGN(4);
- /* All data end */
- __data_end__ = .;
- _edata = .;
- } > RAM
-
- .bss :
- {
- . = ALIGN(4);
- __bss_start__ = .;
- _sbss = .;
- *(.bss*)
- *(COMMON)
- . = ALIGN(4);
- __bss_end__ = .;
- _ebss = .;
- } > RAM
-
- .heap (COPY):
- {
- __end__ = .;
- PROVIDE(_end = .);
- PROVIDE(end = .);
- *(.heap*)
- __HeapLimit = .;
- } > RAM
-
- /* .stack_dummy section doesn't contains any symbols. It is only
- * used for linker to calculate size of stack sections, and assign
- * values to stack symbols later */
- .stack_dummy (COPY):
- {
- *(.stack*)
- } > RAM
-
- /* Set stack top to end of RAM, and stack limit move down by
- * size of stack_dummy section */
- __StackTop = ORIGIN(RAM) + LENGTH(RAM);
- __StackLimit = __StackTop - SIZEOF(.stack_dummy);
- PROVIDE(__stack = __StackTop);
-
- /* Check if data + heap + stack exceeds RAM limit */
- ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
-}
diff --git a/src/boards/Bleeper-72/cmsis/arm-std/startup_stm32l1xx_hd.s b/src/boards/Bleeper-72/cmsis/arm-std/startup_stm32l1xx_hd.s
deleted file mode 100644
index c7d1e5e4a..000000000
--- a/src/boards/Bleeper-72/cmsis/arm-std/startup_stm32l1xx_hd.s
+++ /dev/null
@@ -1,356 +0,0 @@
-;******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
-;* File Name : startup_stm32l1xx_hd.s
-;* Author : MCD Application Team
-;* Version : V1.1.1
-;* Date : 09-March-2012
-;* Description : STM32L1xx Ultra Low Power High-density Devices vector
-;* table for MDK-ARM toolchain.
-;* This module performs:
-;* - Set the initial SP
-;* - Set the initial PC == Reset_Handler
-;* - Set the vector table entries with the exceptions ISR address
-;* - Branches to __main in the C library (which eventually
-;* calls main()).
-;* After Reset the CortexM3 processor is in Thread mode,
-;* priority is Privileged, and the Stack is set to Main.
-;* <<< Use Configuration Wizard in Context Menu >>>
-;*******************************************************************************
-;
-; Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
-; You may not use this file except in compliance with the License.
-; You may obtain a copy of the License at:
-;
-; http://www.st.com/software_license_agreement_liberty_v2
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-;
-;*******************************************************************************
-
-; Amount of memory (in bytes) allocated for Stack
-; Tailor this value to your application needs
-; Stack Configuration
-; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
-;
-
-Stack_Size EQU 0x00000400
-
- AREA STACK, NOINIT, READWRITE, ALIGN=3
-Stack_Mem SPACE Stack_Size
-__initial_sp
-
-
-; Heap Configuration
-; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
-;
-
-Heap_Size EQU 0x00000200
-
- AREA HEAP, NOINIT, READWRITE, ALIGN=3
-__heap_base
-Heap_Mem SPACE Heap_Size
-__heap_limit
-
- PRESERVE8
- THUMB
-
-
-; Vector Table Mapped to Address 0 at Reset
- AREA RESET, DATA, READONLY
- EXPORT __Vectors
- EXPORT __Vectors_End
- EXPORT __Vectors_Size
-
-__Vectors DCD __initial_sp ; Top of Stack
- DCD Reset_Handler ; Reset Handler
- DCD NMI_Handler ; NMI Handler
- DCD HardFault_Handler ; Hard Fault Handler
- DCD MemManage_Handler ; MPU Fault Handler
- DCD BusFault_Handler ; Bus Fault Handler
- DCD UsageFault_Handler ; Usage Fault Handler
- DCD 0 ; Reserved
- DCD 0 ; Reserved
- DCD 0 ; Reserved
- DCD 0 ; Reserved
- DCD SVC_Handler ; SVCall Handler
- DCD DebugMon_Handler ; Debug Monitor Handler
- DCD 0 ; Reserved
- DCD PendSV_Handler ; PendSV Handler
- DCD SysTick_Handler ; SysTick Handler
-
- ; External Interrupts
- DCD WWDG_IRQHandler ; Window Watchdog
- DCD PVD_IRQHandler ; PVD through EXTI Line detect
- DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp
- DCD RTC_WKUP_IRQHandler ; RTC Wakeup
- DCD FLASH_IRQHandler ; FLASH
- DCD RCC_IRQHandler ; RCC
- DCD EXTI0_IRQHandler ; EXTI Line 0
- DCD EXTI1_IRQHandler ; EXTI Line 1
- DCD EXTI2_IRQHandler ; EXTI Line 2
- DCD EXTI3_IRQHandler ; EXTI Line 3
- DCD EXTI4_IRQHandler ; EXTI Line 4
- DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
- DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
- DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
- DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
- DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
- DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
- DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
- DCD ADC1_IRQHandler ; ADC1
- DCD USB_HP_IRQHandler ; USB High Priority
- DCD USB_LP_IRQHandler ; USB Low Priority
- DCD DAC_IRQHandler ; DAC
- DCD COMP_IRQHandler ; COMP through EXTI Line
- DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
- DCD LCD_IRQHandler ; LCD
- DCD TIM9_IRQHandler ; TIM9
- DCD TIM10_IRQHandler ; TIM10
- DCD TIM11_IRQHandler ; TIM11
- DCD TIM2_IRQHandler ; TIM2
- DCD TIM3_IRQHandler ; TIM3
- DCD TIM4_IRQHandler ; TIM4
- DCD I2C1_EV_IRQHandler ; I2C1 Event
- DCD I2C1_ER_IRQHandler ; I2C1 Error
- DCD I2C2_EV_IRQHandler ; I2C2 Event
- DCD I2C2_ER_IRQHandler ; I2C2 Error
- DCD SPI1_IRQHandler ; SPI1
- DCD SPI2_IRQHandler ; SPI2
- DCD USART1_IRQHandler ; USART1
- DCD USART2_IRQHandler ; USART2
- DCD USART3_IRQHandler ; USART3
- DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
- DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
- DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend
- DCD TIM6_IRQHandler ; TIM6
- DCD TIM7_IRQHandler ; TIM7
- DCD SDIO_IRQHandler ; SDIO
- DCD TIM5_IRQHandler ; TIM5
- DCD SPI3_IRQHandler ; SPI3
- DCD UART4_IRQHandler ; UART4
- DCD UART5_IRQHandler ; UART5
- DCD DMA2_Channel1_IRQHandler ; DMA2 Channel 1
- DCD DMA2_Channel2_IRQHandler ; DMA2 Channel 2
- DCD DMA2_Channel3_IRQHandler ; DMA2 Channel 3
- DCD DMA2_Channel4_IRQHandler ; DMA2 Channel 4
- DCD DMA2_Channel5_IRQHandler ; DMA2 Channel 5
- DCD AES_IRQHandler ; AES
- DCD COMP_ACQ_IRQHandler ; Comparator Channel Acquisition
-
-__Vectors_End
-
-__Vectors_Size EQU __Vectors_End - __Vectors
-
- AREA |.text|, CODE, READONLY
-
-; Reset handler routine
-Reset_Handler PROC
- EXPORT Reset_Handler [WEAK]
- IMPORT __main
- IMPORT SystemInit
- LDR R0, =SystemInit
- BLX R0
- LDR R0, =__main
- BX R0
- ENDP
-
-; Dummy Exception Handlers (infinite loops which can be modified)
-
-NMI_Handler PROC
- EXPORT NMI_Handler [WEAK]
- B .
- ENDP
-HardFault_Handler\
- PROC
- EXPORT HardFault_Handler [WEAK]
- B .
- ENDP
-MemManage_Handler\
- PROC
- EXPORT MemManage_Handler [WEAK]
- B .
- ENDP
-BusFault_Handler\
- PROC
- EXPORT BusFault_Handler [WEAK]
- B .
- ENDP
-UsageFault_Handler\
- PROC
- EXPORT UsageFault_Handler [WEAK]
- B .
- ENDP
-SVC_Handler PROC
- EXPORT SVC_Handler [WEAK]
- B .
- ENDP
-DebugMon_Handler\
- PROC
- EXPORT DebugMon_Handler [WEAK]
- B .
- ENDP
-PendSV_Handler PROC
- EXPORT PendSV_Handler [WEAK]
- B .
- ENDP
-SysTick_Handler PROC
- EXPORT SysTick_Handler [WEAK]
- B .
- ENDP
-
-Default_Handler PROC
-
- EXPORT WWDG_IRQHandler [WEAK]
- EXPORT PVD_IRQHandler [WEAK]
- EXPORT TAMPER_STAMP_IRQHandler [WEAK]
- EXPORT RTC_WKUP_IRQHandler [WEAK]
- EXPORT FLASH_IRQHandler [WEAK]
- EXPORT RCC_IRQHandler [WEAK]
- EXPORT EXTI0_IRQHandler [WEAK]
- EXPORT EXTI1_IRQHandler [WEAK]
- EXPORT EXTI2_IRQHandler [WEAK]
- EXPORT EXTI3_IRQHandler [WEAK]
- EXPORT EXTI4_IRQHandler [WEAK]
- EXPORT DMA1_Channel1_IRQHandler [WEAK]
- EXPORT DMA1_Channel2_IRQHandler [WEAK]
- EXPORT DMA1_Channel3_IRQHandler [WEAK]
- EXPORT DMA1_Channel4_IRQHandler [WEAK]
- EXPORT DMA1_Channel5_IRQHandler [WEAK]
- EXPORT DMA1_Channel6_IRQHandler [WEAK]
- EXPORT DMA1_Channel7_IRQHandler [WEAK]
- EXPORT ADC1_IRQHandler [WEAK]
- EXPORT USB_HP_IRQHandler [WEAK]
- EXPORT USB_LP_IRQHandler [WEAK]
- EXPORT DAC_IRQHandler [WEAK]
- EXPORT COMP_IRQHandler [WEAK]
- EXPORT EXTI9_5_IRQHandler [WEAK]
- EXPORT LCD_IRQHandler [WEAK]
- EXPORT TIM9_IRQHandler [WEAK]
- EXPORT TIM10_IRQHandler [WEAK]
- EXPORT TIM11_IRQHandler [WEAK]
- EXPORT TIM2_IRQHandler [WEAK]
- EXPORT TIM3_IRQHandler [WEAK]
- EXPORT TIM4_IRQHandler [WEAK]
- EXPORT I2C1_EV_IRQHandler [WEAK]
- EXPORT I2C1_ER_IRQHandler [WEAK]
- EXPORT I2C2_EV_IRQHandler [WEAK]
- EXPORT I2C2_ER_IRQHandler [WEAK]
- EXPORT SPI1_IRQHandler [WEAK]
- EXPORT SPI2_IRQHandler [WEAK]
- EXPORT USART1_IRQHandler [WEAK]
- EXPORT USART2_IRQHandler [WEAK]
- EXPORT USART3_IRQHandler [WEAK]
- EXPORT EXTI15_10_IRQHandler [WEAK]
- EXPORT RTC_Alarm_IRQHandler [WEAK]
- EXPORT USB_FS_WKUP_IRQHandler [WEAK]
- EXPORT TIM6_IRQHandler [WEAK]
- EXPORT TIM7_IRQHandler [WEAK]
- EXPORT SDIO_IRQHandler [WEAK]
- EXPORT TIM5_IRQHandler [WEAK]
- EXPORT SPI3_IRQHandler [WEAK]
- EXPORT UART4_IRQHandler [WEAK]
- EXPORT UART5_IRQHandler [WEAK]
- EXPORT DMA2_Channel1_IRQHandler [WEAK]
- EXPORT DMA2_Channel2_IRQHandler [WEAK]
- EXPORT DMA2_Channel3_IRQHandler [WEAK]
- EXPORT DMA2_Channel4_IRQHandler [WEAK]
- EXPORT DMA2_Channel5_IRQHandler [WEAK]
- EXPORT AES_IRQHandler [WEAK]
- EXPORT COMP_ACQ_IRQHandler [WEAK]
-
-WWDG_IRQHandler
-PVD_IRQHandler
-TAMPER_STAMP_IRQHandler
-RTC_WKUP_IRQHandler
-FLASH_IRQHandler
-RCC_IRQHandler
-EXTI0_IRQHandler
-EXTI1_IRQHandler
-EXTI2_IRQHandler
-EXTI3_IRQHandler
-EXTI4_IRQHandler
-DMA1_Channel1_IRQHandler
-DMA1_Channel2_IRQHandler
-DMA1_Channel3_IRQHandler
-DMA1_Channel4_IRQHandler
-DMA1_Channel5_IRQHandler
-DMA1_Channel6_IRQHandler
-DMA1_Channel7_IRQHandler
-ADC1_IRQHandler
-USB_HP_IRQHandler
-USB_LP_IRQHandler
-DAC_IRQHandler
-COMP_IRQHandler
-EXTI9_5_IRQHandler
-LCD_IRQHandler
-TIM9_IRQHandler
-TIM10_IRQHandler
-TIM11_IRQHandler
-TIM2_IRQHandler
-TIM3_IRQHandler
-TIM4_IRQHandler
-I2C1_EV_IRQHandler
-I2C1_ER_IRQHandler
-I2C2_EV_IRQHandler
-I2C2_ER_IRQHandler
-SPI1_IRQHandler
-SPI2_IRQHandler
-USART1_IRQHandler
-USART2_IRQHandler
-USART3_IRQHandler
-EXTI15_10_IRQHandler
-RTC_Alarm_IRQHandler
-USB_FS_WKUP_IRQHandler
-TIM6_IRQHandler
-TIM7_IRQHandler
-SDIO_IRQHandler
-TIM5_IRQHandler
-SPI3_IRQHandler
-UART4_IRQHandler
-UART5_IRQHandler
-DMA2_Channel1_IRQHandler
-DMA2_Channel2_IRQHandler
-DMA2_Channel3_IRQHandler
-DMA2_Channel4_IRQHandler
-DMA2_Channel5_IRQHandler
-AES_IRQHandler
-COMP_ACQ_IRQHandler
-
- B .
-
- ENDP
-
- ALIGN
-
-;*******************************************************************************
-; User Stack and Heap initialization
-;*******************************************************************************
- IF :DEF:__MICROLIB
-
- EXPORT __initial_sp
- EXPORT __heap_base
- EXPORT __heap_limit
-
- ELSE
-
- IMPORT __use_two_region_memory
- EXPORT __user_initial_stackheap
-
-__user_initial_stackheap
-
- LDR R0, = Heap_Mem
- LDR R1, =(Stack_Mem + Stack_Size)
- LDR R2, = (Heap_Mem + Heap_Size)
- LDR R3, = Stack_Mem
- BX LR
-
- ALIGN
-
- ENDIF
-
- END
-
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/src/boards/Bleeper-72/cmsis/stm32l1xx.h b/src/boards/Bleeper-72/cmsis/stm32l1xx.h
deleted file mode 100644
index 053b6935b..000000000
--- a/src/boards/Bleeper-72/cmsis/stm32l1xx.h
+++ /dev/null
@@ -1,6355 +0,0 @@
-/**
- ******************************************************************************
- * @file stm32l1xx.h
- * @author MCD Application Team
- * @version V1.2.0
- * @date 22-February-2013
- * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File.
- * This file contains all the peripheral register's definitions, bits
- * definitions and memory mapping for STM32L1xx High-density, Medium-density
- * and Medium-density Plus devices.
- *
- * The file is the unique include file that the application programmer
- * is using in the C source code, usually in main.c. This file contains:
- * - Configuration section that allows to select:
- * - The device used in the target application
- * - To use or not the peripheral’s drivers in application code(i.e.
- * code will be based on direct access to peripheral’s registers
- * rather than drivers API), this option is controlled by
- * "#define USE_STDPERIPH_DRIVER"
- * - To change few application-specific parameters such as the HSE
- * crystal frequency
- * - Data structures and the address mapping for all peripherals
- * - Peripheral's registers declarations and bits definition
- * - Macros to access peripheral’s registers hardware
- *
- ******************************************************************************
- * @attention
- *
- * © COPYRIGHT 2013 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-/** @addtogroup CMSIS
- * @{
- */
-
-/** @addtogroup stm32l1xx
- * @{
- */
-
-#ifndef __STM32L1XX_H
-#define __STM32L1XX_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/** @addtogroup Library_configuration_section
- * @{
- */
-
-/* Uncomment the line below according to the target STM32L device used in your
- application
- */
-
-#if !defined (STM32L1XX_MD) && !defined (STM32L1XX_MDP) && !defined (STM32L1XX_HD)
-
-/* #define STM32L1XX_MD */ /*!< - Ultra Low Power Medium-density devices: STM32L151x6xx, STM32L151x8xx,
- STM32L151xBxx, STM32L152x6xx, STM32L152x8xx and STM32L152xBxx.
- - Ultra Low Power Medium-density Value Line devices: STM32L100x6xx,
- STM32L100x8xx and STM32L100xBxx. */
-
-/* #define STM32L1XX_MDP */ /*!< - Ultra Low Power Medium-density Plus devices: STM32L151xCxx, STM32L152xCxx and STM32L162xCxx
- - Ultra Low Power Medium-density Plus Value Line devices: STM32L100xCxx */
-
- #define STM32L1XX_HD /*!< Ultra Low Power High-density devices: STM32L151xDxx, STM32L152xDxx and STM32L162xDxx */
-#endif
-/* Tip: To avoid modifying this file each time you need to switch between these
- devices, you can define the device in your toolchain compiler preprocessor.
- */
-
-#if !defined (STM32L1XX_MD) && !defined (STM32L1XX_MDP) && !defined (STM32L1XX_HD)
- #error "Please select first the target STM32L1xx device used in your application (in stm32l1xx.h file)"
-#endif
-
-#if !defined USE_STDPERIPH_DRIVER
-/**
- * @brief Comment the line below if you will not use the peripherals drivers.
- In this case, these drivers will not be included and the application code will
- be based on direct access to peripherals registers
- */
- #define USE_STDPERIPH_DRIVER
-#endif
-
-/**
- * @brief In the following line adjust the value of External High Speed oscillator (HSE)
- used in your application
-
- Tip: To avoid modifying this file each time you need to use different HSE, you
- can define the HSE value in your toolchain compiler preprocessor.
- */
-#if !defined (HSE_VALUE)
-#define HSE_VALUE ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */
-#endif
-
-/**
- * @brief In the following line adjust the External High Speed oscillator (HSE) Startup
- Timeout value
- */
-#if !defined (HSE_STARTUP_TIMEOUT)
-#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up */
-#endif
-
-/**
- * @brief In the following line adjust the Internal High Speed oscillator (HSI) Startup
- Timeout value
- */
-#if !defined (HSI_STARTUP_TIMEOUT)
-#define HSI_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSI start up */
-#endif
-
-#if !defined (HSI_VALUE)
-#define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal High Speed oscillator in Hz.
- The real value may vary depending on the variations
- in voltage and temperature. */
-#endif
-
-#if !defined (LSI_VALUE)
-#define LSI_VALUE ((uint32_t)37000) /*!< Value of the Internal Low Speed oscillator in Hz
- The real value may vary depending on the variations
- in voltage and temperature. */
-#endif
-
-#if !defined (LSE_VALUE)
-#define LSE_VALUE ((uint32_t)32768) /*!< Value of the External Low Speed oscillator in Hz */
-#endif
-
-/**
- * @brief STM32L1xx Standard Peripheral Library version number V1.2.0
- */
-#define __STM32L1XX_STDPERIPH_VERSION_MAIN (0x01) /*!< [31:24] main version */
-#define __STM32L1XX_STDPERIPH_VERSION_SUB1 (0x02) /*!< [23:16] sub1 version */
-#define __STM32L1XX_STDPERIPH_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */
-#define __STM32L1XX_STDPERIPH_VERSION_RC (0x00) /*!< [7:0] release candidate */
-#define __STM32L1XX_STDPERIPH_VERSION ( (__STM32L1XX_STDPERIPH_VERSION_MAIN << 24)\
- |(__STM32L1XX_STDPERIPH_VERSION_SUB1 << 16)\
- |(__STM32L1XX_STDPERIPH_VERSION_SUB2 << 8)\
- |(__STM32L1XX_STDPERIPH_VERSION_RC))
-
-/**
- * @}
- */
-
-/** @addtogroup Configuration_section_for_CMSIS
- * @{
- */
-
-/**
- * @brief STM32L1xx Interrupt Number Definition, according to the selected device
- * in @ref Library_configuration_section
- */
-#define __CM3_REV 0x200 /*!< Cortex-M3 Revision r2p0 */
-#define __MPU_PRESENT 1 /*!< STM32L1 provides MPU */
-#define __NVIC_PRIO_BITS 4 /*!< STM32L1 uses 4 Bits for the Priority Levels */
-#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
-
-/*!< Interrupt Number Definition */
-typedef enum IRQn
-{
-/****** Cortex-M3 Processor Exceptions Numbers ******************************************************/
- NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
- MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */
- BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */
- UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */
- SVC_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */
- DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */
- PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */
- SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */
-
-/****** STM32L specific Interrupt Numbers ***********************************************************/
- WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */
- PVD_IRQn = 1, /*!< PVD through EXTI Line detection Interrupt */
- TAMPER_STAMP_IRQn = 2, /*!< Tamper and Time Stamp through EXTI Line Interrupts */
- RTC_WKUP_IRQn = 3, /*!< RTC Wakeup Timer through EXTI Line Interrupt */
- FLASH_IRQn = 4, /*!< FLASH global Interrupt */
- RCC_IRQn = 5, /*!< RCC global Interrupt */
- EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */
- EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */
- EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */
- EXTI3_IRQn = 9, /*!< EXTI Line3 Interrupt */
- EXTI4_IRQn = 10, /*!< EXTI Line4 Interrupt */
- DMA1_Channel1_IRQn = 11, /*!< DMA1 Channel 1 global Interrupt */
- DMA1_Channel2_IRQn = 12, /*!< DMA1 Channel 2 global Interrupt */
- DMA1_Channel3_IRQn = 13, /*!< DMA1 Channel 3 global Interrupt */
- DMA1_Channel4_IRQn = 14, /*!< DMA1 Channel 4 global Interrupt */
- DMA1_Channel5_IRQn = 15, /*!< DMA1 Channel 5 global Interrupt */
- DMA1_Channel6_IRQn = 16, /*!< DMA1 Channel 6 global Interrupt */
- DMA1_Channel7_IRQn = 17, /*!< DMA1 Channel 7 global Interrupt */
- ADC1_IRQn = 18, /*!< ADC1 global Interrupt */
- USB_HP_IRQn = 19, /*!< USB High Priority Interrupt */
- USB_LP_IRQn = 20, /*!< USB Low Priority Interrupt */
- DAC_IRQn = 21, /*!< DAC Interrupt */
- COMP_IRQn = 22, /*!< Comparator through EXTI Line Interrupt */
- EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */
- LCD_IRQn = 24, /*!< LCD Interrupt */
- TIM9_IRQn = 25, /*!< TIM9 global Interrupt */
- TIM10_IRQn = 26, /*!< TIM10 global Interrupt */
- TIM11_IRQn = 27, /*!< TIM11 global Interrupt */
- TIM2_IRQn = 28, /*!< TIM2 global Interrupt */
- TIM3_IRQn = 29, /*!< TIM3 global Interrupt */
- TIM4_IRQn = 30, /*!< TIM4 global Interrupt */
- I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */
- I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */
- I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */
- I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */
- SPI1_IRQn = 35, /*!< SPI1 global Interrupt */
- SPI2_IRQn = 36, /*!< SPI2 global Interrupt */
- USART1_IRQn = 37, /*!< USART1 global Interrupt */
- USART2_IRQn = 38, /*!< USART2 global Interrupt */
- USART3_IRQn = 39, /*!< USART3 global Interrupt */
- EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */
- RTC_Alarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */
- USB_FS_WKUP_IRQn = 42, /*!< USB FS WakeUp from suspend through EXTI Line Interrupt */
- TIM6_IRQn = 43, /*!< TIM6 global Interrupt */
-#ifdef STM32L1XX_MD
- TIM7_IRQn = 44 /*!< TIM7 global Interrupt */
-#endif /* STM32L1XX_MD */
-
-#ifdef STM32L1XX_MDP
- TIM7_IRQn = 44, /*!< TIM7 global Interrupt */
- TIM5_IRQn = 46, /*!< TIM5 global Interrupt */
- SPI3_IRQn = 47, /*!< SPI3 global Interrupt */
- DMA2_Channel1_IRQn = 50, /*!< DMA2 Channel 1 global Interrupt */
- DMA2_Channel2_IRQn = 51, /*!< DMA2 Channel 2 global Interrupt */
- DMA2_Channel3_IRQn = 52, /*!< DMA2 Channel 3 global Interrupt */
- DMA2_Channel4_IRQn = 53, /*!< DMA2 Channel 4 global Interrupt */
- DMA2_Channel5_IRQn = 54, /*!< DMA2 Channel 5 global Interrupt */
- AES_IRQn = 55, /*!< AES global Interrupt */
- COMP_ACQ_IRQn = 56 /*!< Comparator Channel Acquisition global Interrupt */
-#endif /* STM32L1XX_MDP */
-
-#ifdef STM32L1XX_HD
- TIM7_IRQn = 44, /*!< TIM7 global Interrupt */
- SDIO_IRQn = 45, /*!< SDIO global Interrupt */
- TIM5_IRQn = 46, /*!< TIM5 global Interrupt */
- SPI3_IRQn = 47, /*!< SPI3 global Interrupt */
- UART4_IRQn = 48, /*!< UART4 global Interrupt */
- UART5_IRQn = 49, /*!< UART5 global Interrupt */
- DMA2_Channel1_IRQn = 50, /*!< DMA2 Channel 1 global Interrupt */
- DMA2_Channel2_IRQn = 51, /*!< DMA2 Channel 2 global Interrupt */
- DMA2_Channel3_IRQn = 52, /*!< DMA2 Channel 3 global Interrupt */
- DMA2_Channel4_IRQn = 53, /*!< DMA2 Channel 4 global Interrupt */
- DMA2_Channel5_IRQn = 54, /*!< DMA2 Channel 5 global Interrupt */
- AES_IRQn = 55, /*!< AES global Interrupt */
- COMP_ACQ_IRQn = 56 /*!< Comparator Channel Acquisition global Interrupt */
-#endif /* STM32L1XX_HD */
-} IRQn_Type;
-
-/**
- * @}
- */
-
-#include "core_cm3.h"
-#include "system_stm32l1xx.h"
-#include
-
-/** @addtogroup Exported_types
- * @{
- */
-
-typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
-
-typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
-#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
-
-typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
-
-/**
- * @brief __RAM_FUNC definition
- */
-#if defined ( __CC_ARM )
-/* ARM Compiler
- ------------
- RAM functions are defined using the toolchain options.
- Functions that are executed in RAM should reside in a separate source module.
- Using the 'Options for File' dialog you can simply change the 'Code / Const'
- area of a module to a memory space in physical RAM.
- Available memory areas are declared in the 'Target' tab of the 'Options for Target'
- dialog.
-*/
- #define __RAM_FUNC FLASH_Status
-
-#elif defined ( __ICCARM__ )
-/* ICCARM Compiler
- ---------------
- RAM functions are defined using a specific toolchain keyword "__ramfunc".
-*/
- #define __RAM_FUNC __ramfunc FLASH_Status
-
-#elif defined ( __GNUC__ )
-/* GNU Compiler
- ------------
- RAM functions are defined using a specific toolchain attribute
- "__attribute__((section(".data")))".
-*/
- #define __RAM_FUNC FLASH_Status __attribute__((section(".data")))
-
-#elif defined ( __TASKING__ )
-/* TASKING Compiler
- ----------------
- RAM functions are defined using a specific toolchain pragma. This pragma is
- defined in the stm32l1xx_flash_ramfunc.c
-*/
- #define __RAM_FUNC FLASH_Status
-
-#endif
-
-/**
- * @}
- */
-
-/** @addtogroup Peripheral_registers_structures
- * @{
- */
-
-/**
- * @brief Analog to Digital Converter
- */
-
-typedef struct
-{
- __IO uint32_t SR; /*!< ADC status register, Address offset: 0x00 */
- __IO uint32_t CR1; /*!< ADC control register 1, Address offset: 0x04 */
- __IO uint32_t CR2; /*!< ADC control register 2, Address offset: 0x08 */
- __IO uint32_t SMPR1; /*!< ADC sample time register 1, Address offset: 0x0C */
- __IO uint32_t SMPR2; /*!< ADC sample time register 2, Address offset: 0x10 */
- __IO uint32_t SMPR3; /*!< ADC sample time register 3, Address offset: 0x14 */
- __IO uint32_t JOFR1; /*!< ADC injected channel data offset register 1, Address offset: 0x18 */
- __IO uint32_t JOFR2; /*!< ADC injected channel data offset register 2, Address offset: 0x1C */
- __IO uint32_t JOFR3; /*!< ADC injected channel data offset register 3, Address offset: 0x20 */
- __IO uint32_t JOFR4; /*!< ADC injected channel data offset register 4, Address offset: 0x24 */
- __IO uint32_t HTR; /*!< ADC watchdog higher threshold register, Address offset: 0x28 */
- __IO uint32_t LTR; /*!< ADC watchdog lower threshold register, Address offset: 0x2C */
- __IO uint32_t SQR1; /*!< ADC regular sequence register 1, Address offset: 0x30 */
- __IO uint32_t SQR2; /*!< ADC regular sequence register 2, Address offset: 0x34 */
- __IO uint32_t SQR3; /*!< ADC regular sequence register 3, Address offset: 0x38 */
- __IO uint32_t SQR4; /*!< ADC regular sequence register 4, Address offset: 0x3C */
- __IO uint32_t SQR5; /*!< ADC regular sequence register 5, Address offset: 0x40 */
- __IO uint32_t JSQR; /*!< ADC injected sequence register, Address offset: 0x44 */
- __IO uint32_t JDR1; /*!< ADC injected data register 1, Address offset: 0x48 */
- __IO uint32_t JDR2; /*!< ADC injected data register 2, Address offset: 0x4C */
- __IO uint32_t JDR3; /*!< ADC injected data register 3, Address offset: 0x50 */
- __IO uint32_t JDR4; /*!< ADC injected data register 4, Address offset: 0x54 */
- __IO uint32_t DR; /*!< ADC regular data register, Address offset: 0x58 */
- __IO uint32_t SMPR0; /*!< ADC sample time register 0, Address offset: 0x5C */
-} ADC_TypeDef;
-
-typedef struct
-{
- __IO uint32_t CSR; /*!< ADC common status register, Address offset: ADC1 base address + 0x300 */
- __IO uint32_t CCR; /*!< ADC common control register, Address offset: ADC1 base address + 0x304 */
-} ADC_Common_TypeDef;
-
-
-/**
- * @brief AES hardware accelerator
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< AES control register, Address offset: 0x00 */
- __IO uint32_t SR; /*!< AES status register, Address offset: 0x04 */
- __IO uint32_t DINR; /*!< AES data input register, Address offset: 0x08 */
- __IO uint32_t DOUTR; /*!< AES data output register, Address offset: 0x0C */
- __IO uint32_t KEYR0; /*!< AES key register 0, Address offset: 0x10 */
- __IO uint32_t KEYR1; /*!< AES key register 1, Address offset: 0x14 */
- __IO uint32_t KEYR2; /*!< AES key register 2, Address offset: 0x18 */
- __IO uint32_t KEYR3; /*!< AES key register 3, Address offset: 0x1C */
- __IO uint32_t IVR0; /*!< AES initialization vector register 0, Address offset: 0x20 */
- __IO uint32_t IVR1; /*!< AES initialization vector register 1, Address offset: 0x24 */
- __IO uint32_t IVR2; /*!< AES initialization vector register 2, Address offset: 0x28 */
- __IO uint32_t IVR3; /*!< AES initialization vector register 3, Address offset: 0x2C */
-} AES_TypeDef;
-
-/**
- * @brief Comparator
- */
-
-typedef struct
-{
- __IO uint32_t CSR; /*!< COMP comparator control and status register, Address offset: 0x00 */
-} COMP_TypeDef;
-
-/**
- * @brief CRC calculation unit
- */
-
-typedef struct
-{
- __IO uint32_t DR; /*!< CRC Data register, Address offset: 0x00 */
- __IO uint8_t IDR; /*!< CRC Independent data register, Address offset: 0x04 */
- uint8_t RESERVED0; /*!< Reserved, 0x05 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint32_t CR; /*!< CRC Control register, Address offset: 0x08 */
-} CRC_TypeDef;
-
-/**
- * @brief Digital to Analog Converter
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< DAC control register, Address offset: 0x00 */
- __IO uint32_t SWTRIGR; /*!< DAC software trigger register, Address offset: 0x04 */
- __IO uint32_t DHR12R1; /*!< DAC channel1 12-bit right-aligned data holding register, Address offset: 0x08 */
- __IO uint32_t DHR12L1; /*!< DAC channel1 12-bit left aligned data holding register, Address offset: 0x0C */
- __IO uint32_t DHR8R1; /*!< DAC channel1 8-bit right aligned data holding register, Address offset: 0x10 */
- __IO uint32_t DHR12R2; /*!< DAC channel2 12-bit right aligned data holding register, Address offset: 0x14 */
- __IO uint32_t DHR12L2; /*!< DAC channel2 12-bit left aligned data holding register, Address offset: 0x18 */
- __IO uint32_t DHR8R2; /*!< DAC channel2 8-bit right-aligned data holding register, Address offset: 0x1C */
- __IO uint32_t DHR12RD; /*!< Dual DAC 12-bit right-aligned data holding register, Address offset: 0x20 */
- __IO uint32_t DHR12LD; /*!< DUAL DAC 12-bit left aligned data holding register, Address offset: 0x24 */
- __IO uint32_t DHR8RD; /*!< DUAL DAC 8-bit right aligned data holding register, Address offset: 0x28 */
- __IO uint32_t DOR1; /*!< DAC channel1 data output register, Address offset: 0x2C */
- __IO uint32_t DOR2; /*!< DAC channel2 data output register, Address offset: 0x30 */
- __IO uint32_t SR; /*!< DAC status register, Address offset: 0x34 */
-} DAC_TypeDef;
-
-/**
- * @brief Debug MCU
- */
-
-typedef struct
-{
- __IO uint32_t IDCODE; /*!< MCU device ID code, Address offset: 0x00 */
- __IO uint32_t CR; /*!< Debug MCU configuration register, Address offset: 0x04 */
- __IO uint32_t APB1FZ; /*!< Debug MCU APB1 freeze register, Address offset: 0x08 */
- __IO uint32_t APB2FZ; /*!< Debug MCU APB2 freeze register, Address offset: 0x0C */
-}DBGMCU_TypeDef;
-
-/**
- * @brief DMA Controller
- */
-
-typedef struct
-{
- __IO uint32_t CCR; /*!< DMA channel x configuration register */
- __IO uint32_t CNDTR; /*!< DMA channel x number of data register */
- __IO uint32_t CPAR; /*!< DMA channel x peripheral address register */
- __IO uint32_t CMAR; /*!< DMA channel x memory address register */
-} DMA_Channel_TypeDef;
-
-typedef struct
-{
- __IO uint32_t ISR; /*!< DMA interrupt status register, Address offset: 0x00 */
- __IO uint32_t IFCR; /*!< DMA interrupt flag clear register, Address offset: 0x04 */
-} DMA_TypeDef;
-
-/**
- * @brief External Interrupt/Event Controller
- */
-
-typedef struct
-{
- __IO uint32_t IMR; /*!< EXTI interrupt mask register, Address offset: 0x00 */
- __IO uint32_t EMR; /*!< EXTI event mask register, Address offset: 0x04 */
- __IO uint32_t RTSR; /*!< EXTI rising edge trigger selection register, Address offset: 0x08 */
- __IO uint32_t FTSR; /*!< EXTI Falling edge trigger selection register, Address offset: 0x0C */
- __IO uint32_t SWIER; /*!< EXTI software interrupt event register, Address offset: 0x10 */
- __IO uint32_t PR; /*!< EXTI pending register, Address offset: 0x14 */
-} EXTI_TypeDef;
-
-/**
- * @brief FLASH Registers
- */
-
-typedef struct
-{
- __IO uint32_t ACR; /*!< Access control register, Address offset: 0x00 */
- __IO uint32_t PECR; /*!< Program/erase control register, Address offset: 0x04 */
- __IO uint32_t PDKEYR; /*!< Power down key register, Address offset: 0x08 */
- __IO uint32_t PEKEYR; /*!< Program/erase key register, Address offset: 0x0c */
- __IO uint32_t PRGKEYR; /*!< Program memory key register, Address offset: 0x10 */
- __IO uint32_t OPTKEYR; /*!< Option byte key register, Address offset: 0x14 */
- __IO uint32_t SR; /*!< Status register, Address offset: 0x18 */
- __IO uint32_t OBR; /*!< Option byte register, Address offset: 0x1c */
- __IO uint32_t WRPR; /*!< Write protection register, Address offset: 0x20 */
- uint32_t RESERVED[23]; /*!< Reserved, 0x24 */
- __IO uint32_t WRPR1; /*!< Write protection register 1, Address offset: 0x28 */
- __IO uint32_t WRPR2; /*!< Write protection register 2, Address offset: 0x2C */
-} FLASH_TypeDef;
-
-/**
- * @brief Option Bytes Registers
- */
-
-typedef struct
-{
- __IO uint32_t RDP; /*!< Read protection register, Address offset: 0x00 */
- __IO uint32_t USER; /*!< user register, Address offset: 0x04 */
- __IO uint32_t WRP01; /*!< write protection register 0 1, Address offset: 0x08 */
- __IO uint32_t WRP23; /*!< write protection register 2 3, Address offset: 0x0C */
- __IO uint32_t WRP45; /*!< write protection register 4 5, Address offset: 0x10 */
- __IO uint32_t WRP67; /*!< write protection register 6 7, Address offset: 0x14 */
- __IO uint32_t WRP89; /*!< write protection register 8 9, Address offset: 0x18 */
- __IO uint32_t WRP1011; /*!< write protection register 10 11, Address offset: 0x1C */
-} OB_TypeDef;
-
-/**
- * @brief Operational Amplifier (OPAMP)
- */
-
-typedef struct
-{
- __IO uint32_t CSR; /*!< OPAMP control/status register, Address offset: 0x00 */
- __IO uint32_t OTR; /*!< OPAMP offset trimming register for normal mode, Address offset: 0x04 */
- __IO uint32_t LPOTR; /*!< OPAMP offset trimming register for low power mode, Address offset: 0x08 */
-} OPAMP_TypeDef;
-
-/**
- * @brief Flexible Static Memory Controller
- */
-
-typedef struct
-{
- __IO uint32_t BTCR[8]; /*!< NOR/PSRAM chip-select control register(BCR) and chip-select timing register(BTR), Address offset: 0x00-1C */
-} FSMC_Bank1_TypeDef;
-
-/**
- * @brief Flexible Static Memory Controller Bank1E
- */
-
-typedef struct
-{
- __IO uint32_t BWTR[7]; /*!< NOR/PSRAM write timing registers, Address offset: 0x104-0x11C */
-} FSMC_Bank1E_TypeDef;
-
-/**
- * @brief General Purpose IO
- */
-
-typedef struct
-{
- __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */
- __IO uint16_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */
- uint16_t RESERVED0; /*!< Reserved, 0x06 */
- __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */
- __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */
- __IO uint16_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */
- uint16_t RESERVED1; /*!< Reserved, 0x12 */
- __IO uint16_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */
- uint16_t RESERVED2; /*!< Reserved, 0x16 */
- __IO uint16_t BSRRL; /*!< GPIO port bit set/reset low registerBSRR, Address offset: 0x18 */
- __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high registerBSRR, Address offset: 0x1A */
- __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */
- __IO uint32_t AFR[2]; /*!< GPIO alternate function low register, Address offset: 0x20-0x24 */
- __IO uint16_t BRR; /*!< GPIO bit reset register, Address offset: 0x28 */
- uint16_t RESERVED3; /*!< Reserved, 0x2A */
-} GPIO_TypeDef;
-
-/**
- * @brief SysTem Configuration
- */
-
-typedef struct
-{
- __IO uint32_t MEMRMP; /*!< SYSCFG memory remap register, Address offset: 0x00 */
- __IO uint32_t PMC; /*!< SYSCFG peripheral mode configuration register, Address offset: 0x04 */
- __IO uint32_t EXTICR[4]; /*!< SYSCFG external interrupt configuration registers, Address offset: 0x08-0x14 */
-} SYSCFG_TypeDef;
-
-/**
- * @brief Inter-integrated Circuit Interface
- */
-
-typedef struct
-{
- __IO uint16_t CR1; /*!< I2C Control register 1, Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t CR2; /*!< I2C Control register 2, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t OAR1; /*!< I2C Own address register 1, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t OAR2; /*!< I2C Own address register 2, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t DR; /*!< I2C Data register, Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t SR1; /*!< I2C Status register 1, Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t SR2; /*!< I2C Status register 2, Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
- __IO uint16_t CCR; /*!< I2C Clock control register, Address offset: 0x1C */
- uint16_t RESERVED7; /*!< Reserved, 0x1E */
- __IO uint16_t TRISE; /*!< I2C TRISE register, Address offset: 0x20 */
- uint16_t RESERVED8; /*!< Reserved, 0x22 */
-} I2C_TypeDef;
-
-/**
- * @brief Independent WATCHDOG
- */
-
-typedef struct
-{
- __IO uint32_t KR; /*!< Key register, Address offset: 0x00 */
- __IO uint32_t PR; /*!< Prescaler register, Address offset: 0x04 */
- __IO uint32_t RLR; /*!< Reload register, Address offset: 0x08 */
- __IO uint32_t SR; /*!< Status register, Address offset: 0x0C */
-} IWDG_TypeDef;
-
-
-/**
- * @brief LCD
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< LCD control register, Address offset: 0x00 */
- __IO uint32_t FCR; /*!< LCD frame control register, Address offset: 0x04 */
- __IO uint32_t SR; /*!< LCD status register, Address offset: 0x08 */
- __IO uint32_t CLR; /*!< LCD clear register, Address offset: 0x0C */
- uint32_t RESERVED; /*!< Reserved, Address offset: 0x10 */
- __IO uint32_t RAM[16]; /*!< LCD display memory, Address offset: 0x14-0x50 */
-} LCD_TypeDef;
-
-/**
- * @brief Power Control
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< PWR power control register, Address offset: 0x00 */
- __IO uint32_t CSR; /*!< PWR power control/status register, Address offset: 0x04 */
-} PWR_TypeDef;
-
-/**
- * @brief Reset and Clock Control
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< RCC clock control register, Address offset: 0x00 */
- __IO uint32_t ICSCR; /*!< RCC Internal clock sources calibration register, Address offset: 0x04 */
- __IO uint32_t CFGR; /*!< RCC Clock configuration register, Address offset: 0x08 */
- __IO uint32_t CIR; /*!< RCC Clock interrupt register, Address offset: 0x0C */
- __IO uint32_t AHBRSTR; /*!< RCC AHB peripheral reset register, Address offset: 0x10 */
- __IO uint32_t APB2RSTR; /*!< RCC APB2 peripheral reset register, Address offset: 0x14 */
- __IO uint32_t APB1RSTR; /*!< RCC APB1 peripheral reset register, Address offset: 0x18 */
- __IO uint32_t AHBENR; /*!< RCC AHB peripheral clock enable register, Address offset: 0x1C */
- __IO uint32_t APB2ENR; /*!< RCC APB2 peripheral clock enable register, Address offset: 0x20 */
- __IO uint32_t APB1ENR; /*!< RCC APB1 peripheral clock enable register, Address offset: 0x24 */
- __IO uint32_t AHBLPENR; /*!< RCC AHB peripheral clock enable in low power mode register, Address offset: 0x28 */
- __IO uint32_t APB2LPENR; /*!< RCC APB2 peripheral clock enable in low power mode register, Address offset: 0x2C */
- __IO uint32_t APB1LPENR; /*!< RCC APB1 peripheral clock enable in low power mode register, Address offset: 0x30 */
- __IO uint32_t CSR; /*!< RCC Control/status register, Address offset: 0x34 */
-} RCC_TypeDef;
-
-/**
- * @brief Routing Interface
- */
-
-typedef struct
-{
- __IO uint32_t ICR; /*!< RI input capture register, Address offset: 0x00 */
- __IO uint32_t ASCR1; /*!< RI analog switches control register, Address offset: 0x04 */
- __IO uint32_t ASCR2; /*!< RI analog switch control register 2, Address offset: 0x08 */
- __IO uint32_t HYSCR1; /*!< RI hysteresis control register, Address offset: 0x0C */
- __IO uint32_t HYSCR2; /*!< RI Hysteresis control register, Address offset: 0x10 */
- __IO uint32_t HYSCR3; /*!< RI Hysteresis control register, Address offset: 0x14 */
- __IO uint32_t HYSCR4; /*!< RI Hysteresis control register, Address offset: 0x18 */
-} RI_TypeDef;
-
-/**
- * @brief Real-Time Clock
- */
-
-typedef struct
-{
- __IO uint32_t TR; /*!< RTC time register, Address offset: 0x00 */
- __IO uint32_t DR; /*!< RTC date register, Address offset: 0x04 */
- __IO uint32_t CR; /*!< RTC control register, Address offset: 0x08 */
- __IO uint32_t ISR; /*!< RTC initialization and status register, Address offset: 0x0C */
- __IO uint32_t PRER; /*!< RTC prescaler register, Address offset: 0x10 */
- __IO uint32_t WUTR; /*!< RTC wakeup timer register, Address offset: 0x14 */
- __IO uint32_t CALIBR; /*!< RTC calibration register, Address offset: 0x18 */
- __IO uint32_t ALRMAR; /*!< RTC alarm A register, Address offset: 0x1C */
- __IO uint32_t ALRMBR; /*!< RTC alarm B register, Address offset: 0x20 */
- __IO uint32_t WPR; /*!< RTC write protection register, Address offset: 0x24 */
- __IO uint32_t SSR; /*!< RTC sub second register, Address offset: 0x28 */
- __IO uint32_t SHIFTR; /*!< RTC shift control register, Address offset: 0x2C */
- __IO uint32_t TSTR; /*!< RTC time stamp time register, Address offset: 0x30 */
- __IO uint32_t TSDR; /*!< RTC time stamp date register, Address offset: 0x34 */
- __IO uint32_t TSSSR; /*!< RTC time-stamp sub second register, Address offset: 0x38 */
- __IO uint32_t CALR; /*!< RRTC calibration register, Address offset: 0x3C */
- __IO uint32_t TAFCR; /*!< RTC tamper and alternate function configuration register, Address offset: 0x40 */
- __IO uint32_t ALRMASSR; /*!< RTC alarm A sub second register, Address offset: 0x44 */
- __IO uint32_t ALRMBSSR; /*!< RTC alarm B sub second register, Address offset: 0x48 */
- uint32_t RESERVED7; /*!< Reserved, 0x4C */
- __IO uint32_t BKP0R; /*!< RTC backup register 0, Address offset: 0x50 */
- __IO uint32_t BKP1R; /*!< RTC backup register 1, Address offset: 0x54 */
- __IO uint32_t BKP2R; /*!< RTC backup register 2, Address offset: 0x58 */
- __IO uint32_t BKP3R; /*!< RTC backup register 3, Address offset: 0x5C */
- __IO uint32_t BKP4R; /*!< RTC backup register 4, Address offset: 0x60 */
- __IO uint32_t BKP5R; /*!< RTC backup register 5, Address offset: 0x64 */
- __IO uint32_t BKP6R; /*!< RTC backup register 6, Address offset: 0x68 */
- __IO uint32_t BKP7R; /*!< RTC backup register 7, Address offset: 0x6C */
- __IO uint32_t BKP8R; /*!< RTC backup register 8, Address offset: 0x70 */
- __IO uint32_t BKP9R; /*!< RTC backup register 9, Address offset: 0x74 */
- __IO uint32_t BKP10R; /*!< RTC backup register 10, Address offset: 0x78 */
- __IO uint32_t BKP11R; /*!< RTC backup register 11, Address offset: 0x7C */
- __IO uint32_t BKP12R; /*!< RTC backup register 12, Address offset: 0x80 */
- __IO uint32_t BKP13R; /*!< RTC backup register 13, Address offset: 0x84 */
- __IO uint32_t BKP14R; /*!< RTC backup register 14, Address offset: 0x88 */
- __IO uint32_t BKP15R; /*!< RTC backup register 15, Address offset: 0x8C */
- __IO uint32_t BKP16R; /*!< RTC backup register 16, Address offset: 0x90 */
- __IO uint32_t BKP17R; /*!< RTC backup register 17, Address offset: 0x94 */
- __IO uint32_t BKP18R; /*!< RTC backup register 18, Address offset: 0x98 */
- __IO uint32_t BKP19R; /*!< RTC backup register 19, Address offset: 0x9C */
- __IO uint32_t BKP20R; /*!< RTC backup register 20, Address offset: 0xA0 */
- __IO uint32_t BKP21R; /*!< RTC backup register 21, Address offset: 0xA4 */
- __IO uint32_t BKP22R; /*!< RTC backup register 22, Address offset: 0xA8 */
- __IO uint32_t BKP23R; /*!< RTC backup register 23, Address offset: 0xAC */
- __IO uint32_t BKP24R; /*!< RTC backup register 24, Address offset: 0xB0 */
- __IO uint32_t BKP25R; /*!< RTC backup register 25, Address offset: 0xB4 */
- __IO uint32_t BKP26R; /*!< RTC backup register 26, Address offset: 0xB8 */
- __IO uint32_t BKP27R; /*!< RTC backup register 27, Address offset: 0xBC */
- __IO uint32_t BKP28R; /*!< RTC backup register 28, Address offset: 0xC0 */
- __IO uint32_t BKP29R; /*!< RTC backup register 29, Address offset: 0xC4 */
- __IO uint32_t BKP30R; /*!< RTC backup register 30, Address offset: 0xC8 */
- __IO uint32_t BKP31R; /*!< RTC backup register 31, Address offset: 0xCC */
-} RTC_TypeDef;
-
-/**
- * @brief SD host Interface
- */
-
-typedef struct
-{
- __IO uint32_t POWER; /*!< SDIO power control register, Address offset: 0x00 */
- __IO uint32_t CLKCR; /*!< SDI clock control register, Address offset: 0x04 */
- __IO uint32_t ARG; /*!< SDIO argument register, Address offset: 0x08 */
- __IO uint32_t CMD; /*!< SDIO command register, Address offset: 0x0C */
- __I uint32_t RESPCMD; /*!< SDIO command response register, Address offset: 0x10 */
- __I uint32_t RESP1; /*!< SDIO response 1 register, Address offset: 0x14 */
- __I uint32_t RESP2; /*!< SDIO response 2 register, Address offset: 0x18 */
- __I uint32_t RESP3; /*!< SDIO response 3 register, Address offset: 0x1C */
- __I uint32_t RESP4; /*!< SDIO response 4 register, Address offset: 0x20 */
- __IO uint32_t DTIMER; /*!< SDIO data timer register, Address offset: 0x24 */
- __IO uint32_t DLEN; /*!< SDIO data length register, Address offset: 0x28 */
- __IO uint32_t DCTRL; /*!< SDIO data control register, Address offset: 0x2C */
- __I uint32_t DCOUNT; /*!< SDIO data counter register, Address offset: 0x30 */
- __I uint32_t STA; /*!< SDIO status register, Address offset: 0x34 */
- __IO uint32_t ICR; /*!< SDIO interrupt clear register, Address offset: 0x38 */
- __IO uint32_t MASK; /*!< SDIO mask register, Address offset: 0x3C */
- uint32_t RESERVED0[2]; /*!< Reserved, 0x40-0x44 */
- __I uint32_t FIFOCNT; /*!< SDIO FIFO counter register, Address offset: 0x48 */
- uint32_t RESERVED1[13]; /*!< Reserved, 0x4C-0x7C */
- __IO uint32_t FIFO; /*!< SDIO data FIFO register, Address offset: 0x80 */
-} SDIO_TypeDef;
-
-/**
- * @brief Serial Peripheral Interface
- */
-
-typedef struct
-{
- __IO uint16_t CR1; /*!< SPI control register 1 (not used in I2S mode), Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t CR2; /*!< SPI control register 2, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t SR; /*!< SPI status register, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t DR; /*!< SPI data register, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t CRCPR; /*!< SPI CRC polynomial register (not used in I2S mode), Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t RXCRCR; /*!< SPI RX CRC register (not used in I2S mode), Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t TXCRCR; /*!< SPI TX CRC register (not used in I2S mode), Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
- __IO uint16_t I2SCFGR; /*!< SPI_I2S configuration register, Address offset: 0x1C */
- uint16_t RESERVED7; /*!< Reserved, 0x1E */
- __IO uint16_t I2SPR; /*!< SPI_I2S prescaler register, Address offset: 0x20 */
- uint16_t RESERVED8; /*!< Reserved, 0x22 */
-} SPI_TypeDef;
-
-/**
- * @brief TIM
- */
-
-typedef struct
-{
- __IO uint16_t CR1; /*!< TIM control register 1, Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t CR2; /*!< TIM control register 2, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t SMCR; /*!< TIM slave mode control register, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t DIER; /*!< TIM DMA/interrupt enable register, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t SR; /*!< TIM status register, Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t EGR; /*!< TIM event generation register, Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t CCMR1; /*!< TIM capture/compare mode register 1, Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
- __IO uint16_t CCMR2; /*!< TIM capture/compare mode register 2, Address offset: 0x1C */
- uint16_t RESERVED7; /*!< Reserved, 0x1E */
- __IO uint16_t CCER; /*!< TIM capture/compare enable register, Address offset: 0x20 */
- uint16_t RESERVED8; /*!< Reserved, 0x22 */
- __IO uint32_t CNT; /*!< TIM counter register, Address offset: 0x24 */
- __IO uint16_t PSC; /*!< TIM prescaler, Address offset: 0x28 */
- uint16_t RESERVED10; /*!< Reserved, 0x2A */
- __IO uint32_t ARR; /*!< TIM auto-reload register, Address offset: 0x2C */
- uint32_t RESERVED12; /*!< Reserved, 0x30 */
- __IO uint32_t CCR1; /*!< TIM capture/compare register 1, Address offset: 0x34 */
- __IO uint32_t CCR2; /*!< TIM capture/compare register 2, Address offset: 0x38 */
- __IO uint32_t CCR3; /*!< TIM capture/compare register 3, Address offset: 0x3C */
- __IO uint32_t CCR4; /*!< TIM capture/compare register 4, Address offset: 0x40 */
- uint32_t RESERVED17; /*!< Reserved, 0x44 */
- __IO uint16_t DCR; /*!< TIM DMA control register, Address offset: 0x48 */
- uint16_t RESERVED18; /*!< Reserved, 0x4A */
- __IO uint16_t DMAR; /*!< TIM DMA address for full transfer, Address offset: 0x4C */
- uint16_t RESERVED19; /*!< Reserved, 0x4E */
- __IO uint16_t OR; /*!< TIM option register, Address offset: 0x50 */
- uint16_t RESERVED20; /*!< Reserved, 0x52 */
-} TIM_TypeDef;
-
-/**
- * @brief Universal Synchronous Asynchronous Receiver Transmitter
- */
-
-typedef struct
-{
- __IO uint16_t SR; /*!< USART Status register, Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t DR; /*!< USART Data register, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t BRR; /*!< USART Baud rate register, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t CR1; /*!< USART Control register 1, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t CR2; /*!< USART Control register 2, Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t CR3; /*!< USART Control register 3, Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t GTPR; /*!< USART Guard time and prescaler register, Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
-} USART_TypeDef;
-
-/**
- * @brief Window WATCHDOG
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< WWDG Control register, Address offset: 0x00 */
- __IO uint32_t CFR; /*!< WWDG Configuration register, Address offset: 0x04 */
- __IO uint32_t SR; /*!< WWDG Status register, Address offset: 0x08 */
-} WWDG_TypeDef;
-
-/**
- * @}
- */
-
-/** @addtogroup Peripheral_memory_map
- * @{
- */
-
-#define FLASH_BASE ((uint32_t)0x08000000) /*!< FLASH base address in the alias region */
-#define SRAM_BASE ((uint32_t)0x20000000) /*!< SRAM base address in the alias region */
-#define PERIPH_BASE ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */
-
-#define SRAM_BB_BASE ((uint32_t)0x22000000) /*!< SRAM base address in the bit-band region */
-#define PERIPH_BB_BASE ((uint32_t)0x42000000) /*!< Peripheral base address in the bit-band region */
-
-#define FSMC_R_BASE ((uint32_t)0xA0000000) /*!< FSMC registers base address */
-
-/*!< Peripheral memory map */
-#define APB1PERIPH_BASE PERIPH_BASE
-#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
-#define AHBPERIPH_BASE (PERIPH_BASE + 0x20000)
-
-#define TIM2_BASE (APB1PERIPH_BASE + 0x0000)
-#define TIM3_BASE (APB1PERIPH_BASE + 0x0400)
-#define TIM4_BASE (APB1PERIPH_BASE + 0x0800)
-#define TIM5_BASE (APB1PERIPH_BASE + 0x0C00)
-#define TIM6_BASE (APB1PERIPH_BASE + 0x1000)
-#define TIM7_BASE (APB1PERIPH_BASE + 0x1400)
-#define LCD_BASE (APB1PERIPH_BASE + 0x2400)
-#define RTC_BASE (APB1PERIPH_BASE + 0x2800)
-#define WWDG_BASE (APB1PERIPH_BASE + 0x2C00)
-#define IWDG_BASE (APB1PERIPH_BASE + 0x3000)
-#define SPI2_BASE (APB1PERIPH_BASE + 0x3800)
-#define SPI3_BASE (APB1PERIPH_BASE + 0x3C00)
-#define USART2_BASE (APB1PERIPH_BASE + 0x4400)
-#define USART3_BASE (APB1PERIPH_BASE + 0x4800)
-#define UART4_BASE (APB1PERIPH_BASE + 0x4C00)
-#define UART5_BASE (APB1PERIPH_BASE + 0x5000)
-#define I2C1_BASE (APB1PERIPH_BASE + 0x5400)
-#define I2C2_BASE (APB1PERIPH_BASE + 0x5800)
-#define PWR_BASE (APB1PERIPH_BASE + 0x7000)
-#define DAC_BASE (APB1PERIPH_BASE + 0x7400)
-#define COMP_BASE (APB1PERIPH_BASE + 0x7C00)
-#define RI_BASE (APB1PERIPH_BASE + 0x7C04)
-#define OPAMP_BASE (APB1PERIPH_BASE + 0x7C5C)
-
-#define SYSCFG_BASE (APB2PERIPH_BASE + 0x0000)
-#define EXTI_BASE (APB2PERIPH_BASE + 0x0400)
-#define TIM9_BASE (APB2PERIPH_BASE + 0x0800)
-#define TIM10_BASE (APB2PERIPH_BASE + 0x0C00)
-#define TIM11_BASE (APB2PERIPH_BASE + 0x1000)
-#define ADC1_BASE (APB2PERIPH_BASE + 0x2400)
-#define ADC_BASE (APB2PERIPH_BASE + 0x2700)
-#define SDIO_BASE (APB2PERIPH_BASE + 0x2C00)
-#define SPI1_BASE (APB2PERIPH_BASE + 0x3000)
-#define USART1_BASE (APB2PERIPH_BASE + 0x3800)
-
-#define GPIOA_BASE (AHBPERIPH_BASE + 0x0000)
-#define GPIOB_BASE (AHBPERIPH_BASE + 0x0400)
-#define GPIOC_BASE (AHBPERIPH_BASE + 0x0800)
-#define GPIOD_BASE (AHBPERIPH_BASE + 0x0C00)
-#define GPIOE_BASE (AHBPERIPH_BASE + 0x1000)
-#define GPIOH_BASE (AHBPERIPH_BASE + 0x1400)
-#define GPIOF_BASE (AHBPERIPH_BASE + 0x1800)
-#define GPIOG_BASE (AHBPERIPH_BASE + 0x1C00)
-#define CRC_BASE (AHBPERIPH_BASE + 0x3000)
-#define RCC_BASE (AHBPERIPH_BASE + 0x3800)
-
-
-#define FLASH_R_BASE (AHBPERIPH_BASE + 0x3C00) /*!< FLASH registers base address */
-#define OB_BASE ((uint32_t)0x1FF80000) /*!< FLASH Option Bytes base address */
-
-#define DMA1_BASE (AHBPERIPH_BASE + 0x6000)
-#define DMA1_Channel1_BASE (DMA1_BASE + 0x0008)
-#define DMA1_Channel2_BASE (DMA1_BASE + 0x001C)
-#define DMA1_Channel3_BASE (DMA1_BASE + 0x0030)
-#define DMA1_Channel4_BASE (DMA1_BASE + 0x0044)
-#define DMA1_Channel5_BASE (DMA1_BASE + 0x0058)
-#define DMA1_Channel6_BASE (DMA1_BASE + 0x006C)
-#define DMA1_Channel7_BASE (DMA1_BASE + 0x0080)
-
-#define DMA2_BASE (AHBPERIPH_BASE + 0x6400)
-#define DMA2_Channel1_BASE (DMA2_BASE + 0x0008)
-#define DMA2_Channel2_BASE (DMA2_BASE + 0x001C)
-#define DMA2_Channel3_BASE (DMA2_BASE + 0x0030)
-#define DMA2_Channel4_BASE (DMA2_BASE + 0x0044)
-#define DMA2_Channel5_BASE (DMA2_BASE + 0x0058)
-
-#define AES_BASE ((uint32_t)0x50060000)
-
-#define FSMC_Bank1_R_BASE (FSMC_R_BASE + 0x0000) /*!< FSMC Bank1 registers base address */
-#define FSMC_Bank1E_R_BASE (FSMC_R_BASE + 0x0104) /*!< FSMC Bank1E registers base address */
-
-#define DBGMCU_BASE ((uint32_t)0xE0042000) /*!< Debug MCU registers base address */
-
-/**
- * @}
- */
-
-/** @addtogroup Peripheral_declaration
- * @{
- */
-
-#define TIM2 ((TIM_TypeDef *) TIM2_BASE)
-#define TIM3 ((TIM_TypeDef *) TIM3_BASE)
-#define TIM4 ((TIM_TypeDef *) TIM4_BASE)
-#define TIM5 ((TIM_TypeDef *) TIM5_BASE)
-#define TIM6 ((TIM_TypeDef *) TIM6_BASE)
-#define TIM7 ((TIM_TypeDef *) TIM7_BASE)
-#define LCD ((LCD_TypeDef *) LCD_BASE)
-#define RTC ((RTC_TypeDef *) RTC_BASE)
-#define WWDG ((WWDG_TypeDef *) WWDG_BASE)
-#define IWDG ((IWDG_TypeDef *) IWDG_BASE)
-#define SPI2 ((SPI_TypeDef *) SPI2_BASE)
-#define SPI3 ((SPI_TypeDef *) SPI3_BASE)
-#define USART2 ((USART_TypeDef *) USART2_BASE)
-#define USART3 ((USART_TypeDef *) USART3_BASE)
-#define UART4 ((USART_TypeDef *) UART4_BASE)
-#define UART5 ((USART_TypeDef *) UART5_BASE)
-#define I2C1 ((I2C_TypeDef *) I2C1_BASE)
-#define I2C2 ((I2C_TypeDef *) I2C2_BASE)
-#define PWR ((PWR_TypeDef *) PWR_BASE)
-#define DAC ((DAC_TypeDef *) DAC_BASE)
-#define COMP ((COMP_TypeDef *) COMP_BASE)
-#define RI ((RI_TypeDef *) RI_BASE)
-#define OPAMP ((OPAMP_TypeDef *) OPAMP_BASE)
-#define SYSCFG ((SYSCFG_TypeDef *) SYSCFG_BASE)
-#define EXTI ((EXTI_TypeDef *) EXTI_BASE)
-
-#define ADC1 ((ADC_TypeDef *) ADC1_BASE)
-#define ADC ((ADC_Common_TypeDef *) ADC_BASE)
-#define SDIO ((SDIO_TypeDef *) SDIO_BASE)
-#define TIM9 ((TIM_TypeDef *) TIM9_BASE)
-#define TIM10 ((TIM_TypeDef *) TIM10_BASE)
-#define TIM11 ((TIM_TypeDef *) TIM11_BASE)
-#define SPI1 ((SPI_TypeDef *) SPI1_BASE)
-#define USART1 ((USART_TypeDef *) USART1_BASE)
-#define DMA1 ((DMA_TypeDef *) DMA1_BASE)
-#define DMA1_Channel1 ((DMA_Channel_TypeDef *) DMA1_Channel1_BASE)
-#define DMA1_Channel2 ((DMA_Channel_TypeDef *) DMA1_Channel2_BASE)
-#define DMA1_Channel3 ((DMA_Channel_TypeDef *) DMA1_Channel3_BASE)
-#define DMA1_Channel4 ((DMA_Channel_TypeDef *) DMA1_Channel4_BASE)
-#define DMA1_Channel5 ((DMA_Channel_TypeDef *) DMA1_Channel5_BASE)
-#define DMA1_Channel6 ((DMA_Channel_TypeDef *) DMA1_Channel6_BASE)
-#define DMA1_Channel7 ((DMA_Channel_TypeDef *) DMA1_Channel7_BASE)
-
-#define DMA2 ((DMA_TypeDef *) DMA2_BASE)
-#define DMA2_Channel1 ((DMA_Channel_TypeDef *) DMA2_Channel1_BASE)
-#define DMA2_Channel2 ((DMA_Channel_TypeDef *) DMA2_Channel2_BASE)
-#define DMA2_Channel3 ((DMA_Channel_TypeDef *) DMA2_Channel3_BASE)
-#define DMA2_Channel4 ((DMA_Channel_TypeDef *) DMA2_Channel4_BASE)
-#define DMA2_Channel5 ((DMA_Channel_TypeDef *) DMA2_Channel5_BASE)
-
-#define RCC ((RCC_TypeDef *) RCC_BASE)
-#define CRC ((CRC_TypeDef *) CRC_BASE)
-
-#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
-#define GPIOB ((GPIO_TypeDef *) GPIOB_BASE)
-#define GPIOC ((GPIO_TypeDef *) GPIOC_BASE)
-#define GPIOD ((GPIO_TypeDef *) GPIOD_BASE)
-#define GPIOE ((GPIO_TypeDef *) GPIOE_BASE)
-#define GPIOH ((GPIO_TypeDef *) GPIOH_BASE)
-#define GPIOF ((GPIO_TypeDef *) GPIOF_BASE)
-#define GPIOG ((GPIO_TypeDef *) GPIOG_BASE)
-
-#define FLASH ((FLASH_TypeDef *) FLASH_R_BASE)
-#define OB ((OB_TypeDef *) OB_BASE)
-
-#define AES ((AES_TypeDef *) AES_BASE)
-
-#define FSMC_Bank1 ((FSMC_Bank1_TypeDef *) FSMC_Bank1_R_BASE)
-#define FSMC_Bank1E ((FSMC_Bank1E_TypeDef *) FSMC_Bank1E_R_BASE)
-
-#define DBGMCU ((DBGMCU_TypeDef *) DBGMCU_BASE)
-
-/**
- * @}
- */
-
-/** @addtogroup Exported_constants
- * @{
- */
-
-/** @addtogroup Peripheral_Registers_Bits_Definition
- * @{
- */
-
-/******************************************************************************/
-/* Peripheral Registers Bits Definition */
-/******************************************************************************/
-/******************************************************************************/
-/* */
-/* Analog to Digital Converter (ADC) */
-/* */
-/******************************************************************************/
-
-/******************** Bit definition for ADC_SR register ********************/
-#define ADC_SR_AWD ((uint32_t)0x00000001) /*!< Analog watchdog flag */
-#define ADC_SR_EOC ((uint32_t)0x00000002) /*!< End of conversion */
-#define ADC_SR_JEOC ((uint32_t)0x00000004) /*!< Injected channel end of conversion */
-#define ADC_SR_JSTRT ((uint32_t)0x00000008) /*!< Injected channel Start flag */
-#define ADC_SR_STRT ((uint32_t)0x00000010) /*!< Regular channel Start flag */
-#define ADC_SR_OVR ((uint32_t)0x00000020) /*!< Overrun flag */
-#define ADC_SR_ADONS ((uint32_t)0x00000040) /*!< ADC ON status */
-#define ADC_SR_RCNR ((uint32_t)0x00000100) /*!< Regular channel not ready flag */
-#define ADC_SR_JCNR ((uint32_t)0x00000200) /*!< Injected channel not ready flag */
-
-/******************* Bit definition for ADC_CR1 register ********************/
-#define ADC_CR1_AWDCH ((uint32_t)0x0000001F) /*!< AWDCH[4:0] bits (Analog watchdog channel select bits) */
-#define ADC_CR1_AWDCH_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_CR1_AWDCH_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_CR1_AWDCH_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_CR1_AWDCH_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_CR1_AWDCH_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_CR1_EOCIE ((uint32_t)0x00000020) /*!< Interrupt enable for EOC */
-#define ADC_CR1_AWDIE ((uint32_t)0x00000040) /*!< Analog Watchdog interrupt enable */
-#define ADC_CR1_JEOCIE ((uint32_t)0x00000080) /*!< Interrupt enable for injected channels */
-#define ADC_CR1_SCAN ((uint32_t)0x00000100) /*!< Scan mode */
-#define ADC_CR1_AWDSGL ((uint32_t)0x00000200) /*!< Enable the watchdog on a single channel in scan mode */
-#define ADC_CR1_JAUTO ((uint32_t)0x00000400) /*!< Automatic injected group conversion */
-#define ADC_CR1_DISCEN ((uint32_t)0x00000800) /*!< Discontinuous mode on regular channels */
-#define ADC_CR1_JDISCEN ((uint32_t)0x00001000) /*!< Discontinuous mode on injected channels */
-
-#define ADC_CR1_DISCNUM ((uint32_t)0x0000E000) /*!< DISCNUM[2:0] bits (Discontinuous mode channel count) */
-#define ADC_CR1_DISCNUM_0 ((uint32_t)0x00002000) /*!< Bit 0 */
-#define ADC_CR1_DISCNUM_1 ((uint32_t)0x00004000) /*!< Bit 1 */
-#define ADC_CR1_DISCNUM_2 ((uint32_t)0x00008000) /*!< Bit 2 */
-
-#define ADC_CR1_PDD ((uint32_t)0x00010000) /*!< Power Down during Delay phase */
-#define ADC_CR1_PDI ((uint32_t)0x00020000) /*!< Power Down during Idle phase */
-
-#define ADC_CR1_JAWDEN ((uint32_t)0x00400000) /*!< Analog watchdog enable on injected channels */
-#define ADC_CR1_AWDEN ((uint32_t)0x00800000) /*!< Analog watchdog enable on regular channels */
-
-#define ADC_CR1_RES ((uint32_t)0x03000000) /*!< RES[1:0] bits (Resolution) */
-#define ADC_CR1_RES_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_CR1_RES_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-
-#define ADC_CR1_OVRIE ((uint32_t)0x04000000) /*!< Overrun interrupt enable */
-
-/******************* Bit definition for ADC_CR2 register ********************/
-#define ADC_CR2_ADON ((uint32_t)0x00000001) /*!< A/D Converter ON / OFF */
-#define ADC_CR2_CONT ((uint32_t)0x00000002) /*!< Continuous Conversion */
-#define ADC_CR2_CFG ((uint32_t)0x00000004) /*!< ADC Configuration */
-
-#define ADC_CR2_DELS ((uint32_t)0x00000070) /*!< DELS[2:0] bits (Delay selection) */
-#define ADC_CR2_DELS_0 ((uint32_t)0x00000010) /*!< Bit 0 */
-#define ADC_CR2_DELS_1 ((uint32_t)0x00000020) /*!< Bit 1 */
-#define ADC_CR2_DELS_2 ((uint32_t)0x00000040) /*!< Bit 2 */
-
-#define ADC_CR2_DMA ((uint32_t)0x00000100) /*!< Direct Memory access mode */
-#define ADC_CR2_DDS ((uint32_t)0x00000200) /*!< DMA disable selection (Single ADC) */
-#define ADC_CR2_EOCS ((uint32_t)0x00000400) /*!< End of conversion selection */
-#define ADC_CR2_ALIGN ((uint32_t)0x00000800) /*!< Data Alignment */
-
-#define ADC_CR2_JEXTSEL ((uint32_t)0x000F0000) /*!< JEXTSEL[3:0] bits (External event select for injected group) */
-#define ADC_CR2_JEXTSEL_0 ((uint32_t)0x00010000) /*!< Bit 0 */
-#define ADC_CR2_JEXTSEL_1 ((uint32_t)0x00020000) /*!< Bit 1 */
-#define ADC_CR2_JEXTSEL_2 ((uint32_t)0x00040000) /*!< Bit 2 */
-#define ADC_CR2_JEXTSEL_3 ((uint32_t)0x00080000) /*!< Bit 3 */
-
-#define ADC_CR2_JEXTEN ((uint32_t)0x00300000) /*!< JEXTEN[1:0] bits (External Trigger Conversion mode for injected channels) */
-#define ADC_CR2_JEXTEN_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_CR2_JEXTEN_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-
-#define ADC_CR2_JSWSTART ((uint32_t)0x00400000) /*!< Start Conversion of injected channels */
-
-#define ADC_CR2_EXTSEL ((uint32_t)0x0F000000) /*!< EXTSEL[3:0] bits (External Event Select for regular group) */
-#define ADC_CR2_EXTSEL_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_CR2_EXTSEL_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-#define ADC_CR2_EXTSEL_2 ((uint32_t)0x04000000) /*!< Bit 2 */
-#define ADC_CR2_EXTSEL_3 ((uint32_t)0x08000000) /*!< Bit 3 */
-
-#define ADC_CR2_EXTEN ((uint32_t)0x30000000) /*!< EXTEN[1:0] bits (External Trigger Conversion mode for regular channels) */
-#define ADC_CR2_EXTEN_0 ((uint32_t)0x10000000) /*!< Bit 0 */
-#define ADC_CR2_EXTEN_1 ((uint32_t)0x20000000) /*!< Bit 1 */
-
-#define ADC_CR2_SWSTART ((uint32_t)0x40000000) /*!< Start Conversion of regular channels */
-
-/****************** Bit definition for ADC_SMPR1 register *******************/
-#define ADC_SMPR1_SMP20 ((uint32_t)0x00000007) /*!< SMP20[2:0] bits (Channel 20 Sample time selection) */
-#define ADC_SMPR1_SMP20_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SMPR1_SMP20_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SMPR1_SMP20_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP21 ((uint32_t)0x00000038) /*!< SMP21[2:0] bits (Channel 21 Sample time selection) */
-#define ADC_SMPR1_SMP21_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define ADC_SMPR1_SMP21_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-#define ADC_SMPR1_SMP21_2 ((uint32_t)0x00000020) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP22 ((uint32_t)0x000001C0) /*!< SMP22[2:0] bits (Channel 22 Sample time selection) */
-#define ADC_SMPR1_SMP22_0 ((uint32_t)0x00000040) /*!< Bit 0 */
-#define ADC_SMPR1_SMP22_1 ((uint32_t)0x00000080) /*!< Bit 1 */
-#define ADC_SMPR1_SMP22_2 ((uint32_t)0x00000100) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP23 ((uint32_t)0x00000E00) /*!< SMP23[2:0] bits (Channel 23 Sample time selection) */
-#define ADC_SMPR1_SMP23_0 ((uint32_t)0x00000200) /*!< Bit 0 */
-#define ADC_SMPR1_SMP23_1 ((uint32_t)0x00000400) /*!< Bit 1 */
-#define ADC_SMPR1_SMP23_2 ((uint32_t)0x00000800) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP24 ((uint32_t)0x00007000) /*!< SMP24[2:0] bits (Channel 24 Sample time selection) */
-#define ADC_SMPR1_SMP24_0 ((uint32_t)0x00001000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP24_1 ((uint32_t)0x00002000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP24_2 ((uint32_t)0x00004000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP25 ((uint32_t)0x00038000) /*!< SMP25[2:0] bits (Channel 25 Sample time selection) */
-#define ADC_SMPR1_SMP25_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP25_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP25_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP26 ((uint32_t)0x001C0000) /*!< SMP26[2:0] bits (Channel 26 Sample time selection) */
-#define ADC_SMPR1_SMP26_0 ((uint32_t)0x00040000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP26_1 ((uint32_t)0x00080000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP26_2 ((uint32_t)0x00100000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP27 ((uint32_t)0x00E00000) /*!< SMP27[2:0] bits (Channel 27 Sample time selection) */
-#define ADC_SMPR1_SMP27_0 ((uint32_t)0x00200000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP27_1 ((uint32_t)0x00400000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP27_2 ((uint32_t)0x00800000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP28 ((uint32_t)0x07000000) /*!< SMP28[2:0] bits (Channel 28 Sample time selection) */
-#define ADC_SMPR1_SMP28_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP28_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP28_2 ((uint32_t)0x04000000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP29 ((uint32_t)0x38000000) /*!< SMP29[2:0] bits (Channel 29 Sample time selection) */
-#define ADC_SMPR1_SMP29_0 ((uint32_t)0x08000000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP29_1 ((uint32_t)0x10000000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP29_2 ((uint32_t)0x20000000) /*!< Bit 2 */
-
-/****************** Bit definition for ADC_SMPR2 register *******************/
-#define ADC_SMPR2_SMP10 ((uint32_t)0x00000007) /*!< SMP10[2:0] bits (Channel 10 Sample time selection) */
-#define ADC_SMPR2_SMP10_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SMPR2_SMP10_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SMPR2_SMP10_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP11 ((uint32_t)0x00000038) /*!< SMP11[2:0] bits (Channel 11 Sample time selection) */
-#define ADC_SMPR2_SMP11_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define ADC_SMPR2_SMP11_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-#define ADC_SMPR2_SMP11_2 ((uint32_t)0x00000020) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP12 ((uint32_t)0x000001C0) /*!< SMP12[2:0] bits (Channel 12 Sample time selection) */
-#define ADC_SMPR2_SMP12_0 ((uint32_t)0x00000040) /*!< Bit 0 */
-#define ADC_SMPR2_SMP12_1 ((uint32_t)0x00000080) /*!< Bit 1 */
-#define ADC_SMPR2_SMP12_2 ((uint32_t)0x00000100) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP13 ((uint32_t)0x00000E00) /*!< SMP13[2:0] bits (Channel 13 Sample time selection) */
-#define ADC_SMPR2_SMP13_0 ((uint32_t)0x00000200) /*!< Bit 0 */
-#define ADC_SMPR2_SMP13_1 ((uint32_t)0x00000400) /*!< Bit 1 */
-#define ADC_SMPR2_SMP13_2 ((uint32_t)0x00000800) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP14 ((uint32_t)0x00007000) /*!< SMP14[2:0] bits (Channel 14 Sample time selection) */
-#define ADC_SMPR2_SMP14_0 ((uint32_t)0x00001000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP14_1 ((uint32_t)0x00002000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP14_2 ((uint32_t)0x00004000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP15 ((uint32_t)0x00038000) /*!< SMP15[2:0] bits (Channel 5 Sample time selection) */
-#define ADC_SMPR2_SMP15_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP15_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP15_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP16 ((uint32_t)0x001C0000) /*!< SMP16[2:0] bits (Channel 16 Sample time selection) */
-#define ADC_SMPR2_SMP16_0 ((uint32_t)0x00040000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP16_1 ((uint32_t)0x00080000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP16_2 ((uint32_t)0x00100000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP17 ((uint32_t)0x00E00000) /*!< SMP17[2:0] bits (Channel 17 Sample time selection) */
-#define ADC_SMPR2_SMP17_0 ((uint32_t)0x00200000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP17_1 ((uint32_t)0x00400000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP17_2 ((uint32_t)0x00800000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP18 ((uint32_t)0x07000000) /*!< SMP18[2:0] bits (Channel 18 Sample time selection) */
-#define ADC_SMPR2_SMP18_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP18_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP18_2 ((uint32_t)0x04000000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP19 ((uint32_t)0x38000000) /*!< SMP19[2:0] bits (Channel 19 Sample time selection) */
-#define ADC_SMPR2_SMP19_0 ((uint32_t)0x08000000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP19_1 ((uint32_t)0x10000000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP19_2 ((uint32_t)0x20000000) /*!< Bit 2 */
-
-/****************** Bit definition for ADC_SMPR3 register *******************/
-#define ADC_SMPR3_SMP0 ((uint32_t)0x00000007) /*!< SMP0[2:0] bits (Channel 0 Sample time selection) */
-#define ADC_SMPR3_SMP0_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SMPR3_SMP0_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SMPR3_SMP0_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP1 ((uint32_t)0x00000038) /*!< SMP1[2:0] bits (Channel 1 Sample time selection) */
-#define ADC_SMPR3_SMP1_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define ADC_SMPR3_SMP1_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-#define ADC_SMPR3_SMP1_2 ((uint32_t)0x00000020) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP2 ((uint32_t)0x000001C0) /*!< SMP2[2:0] bits (Channel 2 Sample time selection) */
-#define ADC_SMPR3_SMP2_0 ((uint32_t)0x00000040) /*!< Bit 0 */
-#define ADC_SMPR3_SMP2_1 ((uint32_t)0x00000080) /*!< Bit 1 */
-#define ADC_SMPR3_SMP2_2 ((uint32_t)0x00000100) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP3 ((uint32_t)0x00000E00) /*!< SMP3[2:0] bits (Channel 3 Sample time selection) */
-#define ADC_SMPR3_SMP3_0 ((uint32_t)0x00000200) /*!< Bit 0 */
-#define ADC_SMPR3_SMP3_1 ((uint32_t)0x00000400) /*!< Bit 1 */
-#define ADC_SMPR3_SMP3_2 ((uint32_t)0x00000800) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP4 ((uint32_t)0x00007000) /*!< SMP4[2:0] bits (Channel 4 Sample time selection) */
-#define ADC_SMPR3_SMP4_0 ((uint32_t)0x00001000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP4_1 ((uint32_t)0x00002000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP4_2 ((uint32_t)0x00004000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP5 ((uint32_t)0x00038000) /*!< SMP5[2:0] bits (Channel 5 Sample time selection) */
-#define ADC_SMPR3_SMP5_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP5_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP5_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP6 ((uint32_t)0x001C0000) /*!< SMP6[2:0] bits (Channel 6 Sample time selection) */
-#define ADC_SMPR3_SMP6_0 ((uint32_t)0x00040000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP6_1 ((uint32_t)0x00080000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP6_2 ((uint32_t)0x00100000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP7 ((uint32_t)0x00E00000) /*!< SMP7[2:0] bits (Channel 7 Sample time selection) */
-#define ADC_SMPR3_SMP7_0 ((uint32_t)0x00200000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP7_1 ((uint32_t)0x00400000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP7_2 ((uint32_t)0x00800000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP8 ((uint32_t)0x07000000) /*!< SMP8[2:0] bits (Channel 8 Sample time selection) */
-#define ADC_SMPR3_SMP8_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP8_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP8_2 ((uint32_t)0x04000000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP9 ((uint32_t)0x38000000) /*!< SMP9[2:0] bits (Channel 9 Sample time selection) */
-#define ADC_SMPR3_SMP9_0 ((uint32_t)0x08000000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP9_1 ((uint32_t)0x10000000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP9_2 ((uint32_t)0x20000000) /*!< Bit 2 */
-
-/****************** Bit definition for ADC_JOFR1 register *******************/
-#define ADC_JOFR1_JOFFSET1 ((uint32_t)0x00000FFF) /*!< Data offset for injected channel 1 */
-
-/****************** Bit definition for ADC_JOFR2 register *******************/
-#define ADC_JOFR2_JOFFSET2 ((uint32_t)0x00000FFF) /*!< Data offset for injected channel 2 */
-
-/****************** Bit definition for ADC_JOFR3 register *******************/
-#define ADC_JOFR3_JOFFSET3 ((uint32_t)0x00000FFF) /*!< Data offset for injected channel 3 */
-
-/****************** Bit definition for ADC_JOFR4 register *******************/
-#define ADC_JOFR4_JOFFSET4 ((uint32_t)0x00000FFF) /*!< Data offset for injected channel 4 */
-
-/******************* Bit definition for ADC_HTR register ********************/
-#define ADC_HTR_HT ((uint32_t)0x00000FFF) /*!< Analog watchdog high threshold */
-
-/******************* Bit definition for ADC_LTR register ********************/
-#define ADC_LTR_LT ((uint32_t)0x00000FFF) /*!< Analog watchdog low threshold */
-
-/******************* Bit definition for ADC_SQR1 register *******************/
-#define ADC_SQR1_L ((uint32_t)0x00F00000) /*!< L[3:0] bits (Regular channel sequence length) */
-#define ADC_SQR1_L_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR1_L_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR1_L_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR1_L_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-
-#define ADC_SQR1_SQ28 ((uint32_t)0x000F8000) /*!< SQ28[4:0] bits (25th conversion in regular sequence) */
-#define ADC_SQR1_SQ28_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR1_SQ28_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR1_SQ28_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR1_SQ28_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR1_SQ28_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR1_SQ27 ((uint32_t)0x00007C00) /*!< SQ27[4:0] bits (27th conversion in regular sequence) */
-#define ADC_SQR1_SQ27_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR1_SQ27_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR1_SQ27_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR1_SQ27_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR1_SQ27_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR1_SQ26 ((uint32_t)0x000003E0) /*!< SQ26[4:0] bits (26th conversion in regular sequence) */
-#define ADC_SQR1_SQ26_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR1_SQ26_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR1_SQ26_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR1_SQ26_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR1_SQ26_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR1_SQ25 ((uint32_t)0x0000001F) /*!< SQ25[4:0] bits (25th conversion in regular sequence) */
-#define ADC_SQR1_SQ25_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR1_SQ25_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR1_SQ25_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR1_SQ25_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR1_SQ25_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-/******************* Bit definition for ADC_SQR2 register *******************/
-#define ADC_SQR2_SQ19 ((uint32_t)0x0000001F) /*!< SQ19[4:0] bits (19th conversion in regular sequence) */
-#define ADC_SQR2_SQ19_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR2_SQ19_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR2_SQ19_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR2_SQ19_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR2_SQ19_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ20 ((uint32_t)0x000003E0) /*!< SQ20[4:0] bits (20th conversion in regular sequence) */
-#define ADC_SQR2_SQ20_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR2_SQ20_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR2_SQ20_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR2_SQ20_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR2_SQ20_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ21 ((uint32_t)0x00007C00) /*!< SQ21[4:0] bits (21th conversion in regular sequence) */
-#define ADC_SQR2_SQ21_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR2_SQ21_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR2_SQ21_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR2_SQ21_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR2_SQ21_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ22 ((uint32_t)0x000F8000) /*!< SQ22[4:0] bits (22th conversion in regular sequence) */
-#define ADC_SQR2_SQ22_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR2_SQ22_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR2_SQ22_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR2_SQ22_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR2_SQ22_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ23 ((uint32_t)0x01F00000) /*!< SQ23[4:0] bits (23th conversion in regular sequence) */
-#define ADC_SQR2_SQ23_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR2_SQ23_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR2_SQ23_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR2_SQ23_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-#define ADC_SQR2_SQ23_4 ((uint32_t)0x01000000) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ24 ((uint32_t)0x3E000000) /*!< SQ24[4:0] bits (24th conversion in regular sequence) */
-#define ADC_SQR2_SQ24_0 ((uint32_t)0x02000000) /*!< Bit 0 */
-#define ADC_SQR2_SQ24_1 ((uint32_t)0x04000000) /*!< Bit 1 */
-#define ADC_SQR2_SQ24_2 ((uint32_t)0x08000000) /*!< Bit 2 */
-#define ADC_SQR2_SQ24_3 ((uint32_t)0x10000000) /*!< Bit 3 */
-#define ADC_SQR2_SQ24_4 ((uint32_t)0x20000000) /*!< Bit 4 */
-
-/******************* Bit definition for ADC_SQR3 register *******************/
-#define ADC_SQR3_SQ13 ((uint32_t)0x0000001F) /*!< SQ13[4:0] bits (13th conversion in regular sequence) */
-#define ADC_SQR3_SQ13_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR3_SQ13_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR3_SQ13_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR3_SQ13_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR3_SQ13_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ14 ((uint32_t)0x000003E0) /*!< SQ14[4:0] bits (14th conversion in regular sequence) */
-#define ADC_SQR3_SQ14_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR3_SQ14_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR3_SQ14_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR3_SQ14_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR3_SQ14_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ15 ((uint32_t)0x00007C00) /*!< SQ15[4:0] bits (15th conversion in regular sequence) */
-#define ADC_SQR3_SQ15_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR3_SQ15_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR3_SQ15_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR3_SQ15_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR3_SQ15_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ16 ((uint32_t)0x000F8000) /*!< SQ16[4:0] bits (16th conversion in regular sequence) */
-#define ADC_SQR3_SQ16_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR3_SQ16_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR3_SQ16_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR3_SQ16_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR3_SQ16_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ17 ((uint32_t)0x01F00000) /*!< SQ17[4:0] bits (17th conversion in regular sequence) */
-#define ADC_SQR3_SQ17_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR3_SQ17_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR3_SQ17_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR3_SQ17_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-#define ADC_SQR3_SQ17_4 ((uint32_t)0x01000000) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ18 ((uint32_t)0x3E000000) /*!< SQ18[4:0] bits (18th conversion in regular sequence) */
-#define ADC_SQR3_SQ18_0 ((uint32_t)0x02000000) /*!< Bit 0 */
-#define ADC_SQR3_SQ18_1 ((uint32_t)0x04000000) /*!< Bit 1 */
-#define ADC_SQR3_SQ18_2 ((uint32_t)0x08000000) /*!< Bit 2 */
-#define ADC_SQR3_SQ18_3 ((uint32_t)0x10000000) /*!< Bit 3 */
-#define ADC_SQR3_SQ18_4 ((uint32_t)0x20000000) /*!< Bit 4 */
-
-/******************* Bit definition for ADC_SQR4 register *******************/
-#define ADC_SQR4_SQ7 ((uint32_t)0x0000001F) /*!< SQ7[4:0] bits (7th conversion in regular sequence) */
-#define ADC_SQR4_SQ7_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR4_SQ7_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR4_SQ7_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR4_SQ7_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR4_SQ7_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ8 ((uint32_t)0x000003E0) /*!< SQ8[4:0] bits (8th conversion in regular sequence) */
-#define ADC_SQR4_SQ8_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR4_SQ8_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR4_SQ8_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR4_SQ8_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR4_SQ8_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ9 ((uint32_t)0x00007C00) /*!< SQ9[4:0] bits (9th conversion in regular sequence) */
-#define ADC_SQR4_SQ9_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR4_SQ9_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR4_SQ9_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR4_SQ9_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR4_SQ9_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ10 ((uint32_t)0x000F8000) /*!< SQ10[4:0] bits (10th conversion in regular sequence) */
-#define ADC_SQR4_SQ10_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR4_SQ10_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR4_SQ10_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR4_SQ10_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR4_SQ10_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ11 ((uint32_t)0x01F00000) /*!< SQ11[4:0] bits (11th conversion in regular sequence) */
-#define ADC_SQR4_SQ11_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR4_SQ11_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR4_SQ11_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR4_SQ11_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-#define ADC_SQR4_SQ11_4 ((uint32_t)0x01000000) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ12 ((uint32_t)0x3E000000) /*!< SQ12[4:0] bits (12th conversion in regular sequence) */
-#define ADC_SQR4_SQ12_0 ((uint32_t)0x02000000) /*!< Bit 0 */
-#define ADC_SQR4_SQ12_1 ((uint32_t)0x04000000) /*!< Bit 1 */
-#define ADC_SQR4_SQ12_2 ((uint32_t)0x08000000) /*!< Bit 2 */
-#define ADC_SQR4_SQ12_3 ((uint32_t)0x10000000) /*!< Bit 3 */
-#define ADC_SQR4_SQ12_4 ((uint32_t)0x20000000) /*!< Bit 4 */
-
-/******************* Bit definition for ADC_SQR5 register *******************/
-#define ADC_SQR5_SQ1 ((uint32_t)0x0000001F) /*!< SQ1[4:0] bits (1st conversion in regular sequence) */
-#define ADC_SQR5_SQ1_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR5_SQ1_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR5_SQ1_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR5_SQ1_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR5_SQ1_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ2 ((uint32_t)0x000003E0) /*!< SQ2[4:0] bits (2nd conversion in regular sequence) */
-#define ADC_SQR5_SQ2_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR5_SQ2_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR5_SQ2_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR5_SQ2_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR5_SQ2_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ3 ((uint32_t)0x00007C00) /*!< SQ3[4:0] bits (3rd conversion in regular sequence) */
-#define ADC_SQR5_SQ3_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR5_SQ3_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR5_SQ3_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR5_SQ3_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR5_SQ3_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ4 ((uint32_t)0x000F8000) /*!< SQ4[4:0] bits (4th conversion in regular sequence) */
-#define ADC_SQR5_SQ4_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR5_SQ4_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR5_SQ4_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR5_SQ4_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR5_SQ4_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ5 ((uint32_t)0x01F00000) /*!< SQ5[4:0] bits (5th conversion in regular sequence) */
-#define ADC_SQR5_SQ5_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR5_SQ5_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR5_SQ5_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR5_SQ5_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-#define ADC_SQR5_SQ5_4 ((uint32_t)0x01000000) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ6 ((uint32_t)0x3E000000) /*!< SQ6[4:0] bits (6th conversion in regular sequence) */
-#define ADC_SQR5_SQ6_0 ((uint32_t)0x02000000) /*!< Bit 0 */
-#define ADC_SQR5_SQ6_1 ((uint32_t)0x04000000) /*!< Bit 1 */
-#define ADC_SQR5_SQ6_2 ((uint32_t)0x08000000) /*!< Bit 2 */
-#define ADC_SQR5_SQ6_3 ((uint32_t)0x10000000) /*!< Bit 3 */
-#define ADC_SQR5_SQ6_4 ((uint32_t)0x20000000) /*!< Bit 4 */
-
-
-/******************* Bit definition for ADC_JSQR register *******************/
-#define ADC_JSQR_JSQ1 ((uint32_t)0x0000001F) /*!< JSQ1[4:0] bits (1st conversion in injected sequence) */
-#define ADC_JSQR_JSQ1_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_JSQR_JSQ1_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_JSQR_JSQ1_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_JSQR_JSQ1_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_JSQR_JSQ1_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_JSQR_JSQ2 ((uint32_t)0x000003E0) /*!< JSQ2[4:0] bits (2nd conversion in injected sequence) */
-#define ADC_JSQR_JSQ2_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_JSQR_JSQ2_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_JSQR_JSQ2_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_JSQR_JSQ2_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_JSQR_JSQ2_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_JSQR_JSQ3 ((uint32_t)0x00007C00) /*!< JSQ3[4:0] bits (3rd conversion in injected sequence) */
-#define ADC_JSQR_JSQ3_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_JSQR_JSQ3_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_JSQR_JSQ3_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_JSQR_JSQ3_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_JSQR_JSQ3_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_JSQR_JSQ4 ((uint32_t)0x000F8000) /*!< JSQ4[4:0] bits (4th conversion in injected sequence) */
-#define ADC_JSQR_JSQ4_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_JSQR_JSQ4_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_JSQR_JSQ4_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_JSQR_JSQ4_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_JSQR_JSQ4_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_JSQR_JL ((uint32_t)0x00300000) /*!< JL[1:0] bits (Injected Sequence length) */
-#define ADC_JSQR_JL_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_JSQR_JL_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-
-/******************* Bit definition for ADC_JDR1 register *******************/
-#define ADC_JDR1_JDATA ((uint32_t)0x0000FFFF) /*!< Injected data */
-
-/******************* Bit definition for ADC_JDR2 register *******************/
-#define ADC_JDR2_JDATA ((uint32_t)0x0000FFFF) /*!< Injected data */
-
-/******************* Bit definition for ADC_JDR3 register *******************/
-#define ADC_JDR3_JDATA ((uint32_t)0x0000FFFF) /*!< Injected data */
-
-/******************* Bit definition for ADC_JDR4 register *******************/
-#define ADC_JDR4_JDATA ((uint32_t)0x0000FFFF) /*!< Injected data */
-
-/******************** Bit definition for ADC_DR register ********************/
-#define ADC_DR_DATA ((uint32_t)0x0000FFFF) /*!< Regular data */
-
-/****************** Bit definition for ADC_SMPR0 register *******************/
-#define ADC_SMPR3_SMP30 ((uint32_t)0x00000007) /*!< SMP30[2:0] bits (Channel 30 Sample time selection) */
-#define ADC_SMPR3_SMP30_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SMPR3_SMP30_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SMPR3_SMP30_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP31 ((uint32_t)0x00000038) /*!< SMP31[2:0] bits (Channel 31 Sample time selection) */
-#define ADC_SMPR3_SMP31_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define ADC_SMPR3_SMP31_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-#define ADC_SMPR3_SMP31_2 ((uint32_t)0x00000020) /*!< Bit 2 */
-
-/******************* Bit definition for ADC_CSR register ********************/
-#define ADC_CSR_AWD1 ((uint32_t)0x00000001) /*!< ADC1 Analog watchdog flag */
-#define ADC_CSR_EOC1 ((uint32_t)0x00000002) /*!< ADC1 End of conversion */
-#define ADC_CSR_JEOC1 ((uint32_t)0x00000004) /*!< ADC1 Injected channel end of conversion */
-#define ADC_CSR_JSTRT1 ((uint32_t)0x00000008) /*!< ADC1 Injected channel Start flag */
-#define ADC_CSR_STRT1 ((uint32_t)0x00000010) /*!< ADC1 Regular channel Start flag */
-#define ADC_CSR_OVR1 ((uint32_t)0x00000020) /*!< ADC1 overrun flag */
-#define ADC_CSR_ADONS1 ((uint32_t)0x00000040) /*!< ADON status of ADC1 */
-
-/******************* Bit definition for ADC_CCR register ********************/
-#define ADC_CCR_ADCPRE ((uint32_t)0x00030000) /*!< ADC prescaler*/
-#define ADC_CCR_ADCPRE_0 ((uint32_t)0x00010000) /*!< Bit 0 */
-#define ADC_CCR_ADCPRE_1 ((uint32_t)0x00020000) /*!< Bit 1 */
-#define ADC_CCR_TSVREFE ((uint32_t)0x00800000) /*!< Temperature Sensor and VREFINT Enable */
-
-/******************************************************************************/
-/* */
-/* Advanced Encryption Standard (AES) */
-/* */
-/******************************************************************************/
-/******************* Bit definition for AES_CR register *********************/
-#define AES_CR_EN ((uint32_t)0x00000001) /*!< AES Enable */
-#define AES_CR_DATATYPE ((uint32_t)0x00000006) /*!< Data type selection */
-#define AES_CR_DATATYPE_0 ((uint32_t)0x00000002) /*!< Bit 0 */
-#define AES_CR_DATATYPE_1 ((uint32_t)0x00000004) /*!< Bit 1 */
-
-#define AES_CR_MODE ((uint32_t)0x00000018) /*!< AES Mode Of Operation */
-#define AES_CR_MODE_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define AES_CR_MODE_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-
-#define AES_CR_CHMOD ((uint32_t)0x00000060) /*!< AES Chaining Mode */
-#define AES_CR_CHMOD_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define AES_CR_CHMOD_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-
-#define AES_CR_CCFC ((uint32_t)0x00000080) /*!< Computation Complete Flag Clear */
-#define AES_CR_ERRC ((uint32_t)0x00000100) /*!< Error Clear */
-#define AES_CR_CCIE ((uint32_t)0x00000200) /*!< Computation Complete Interrupt Enable */
-#define AES_CR_ERRIE ((uint32_t)0x00000400) /*!< Error Interrupt Enable */
-#define AES_CR_DMAINEN ((uint32_t)0x00000800) /*!< DMA ENable managing the data input phase */
-#define AES_CR_DMAOUTEN ((uint32_t)0x00001000) /*!< DMA Enable managing the data output phase */
-
-/******************* Bit definition for AES_SR register *********************/
-#define AES_SR_CCF ((uint32_t)0x00000001) /*!< Computation Complete Flag */
-#define AES_SR_RDERR ((uint32_t)0x00000002) /*!< Read Error Flag */
-#define AES_SR_WRERR ((uint32_t)0x00000004) /*!< Write Error Flag */
-
-/******************* Bit definition for AES_DINR register *******************/
-#define AES_DINR ((uint32_t)0x0000FFFF) /*!< AES Data Input Register */
-
-/******************* Bit definition for AES_DOUTR register ******************/
-#define AES_DOUTR ((uint32_t)0x0000FFFF) /*!< AES Data Output Register */
-
-/******************* Bit definition for AES_KEYR0 register ******************/
-#define AES_KEYR0 ((uint32_t)0x0000FFFF) /*!< AES Key Register 0 */
-
-/******************* Bit definition for AES_KEYR1 register ******************/
-#define AES_KEYR1 ((uint32_t)0x0000FFFF) /*!< AES Key Register 1 */
-
-/******************* Bit definition for AES_KEYR2 register ******************/
-#define AES_KEYR2 ((uint32_t)0x0000FFFF) /*!< AES Key Register 2 */
-
-/******************* Bit definition for AES_KEYR3 register ******************/
-#define AES_KEYR3 ((uint32_t)0x0000FFFF) /*!< AES Key Register 3 */
-
-/******************* Bit definition for AES_IVR0 register *******************/
-#define AES_IVR0 ((uint32_t)0x0000FFFF) /*!< AES Initialization Vector Register 0 */
-
-/******************* Bit definition for AES_IVR1 register *******************/
-#define AES_IVR1 ((uint32_t)0x0000FFFF) /*!< AES Initialization Vector Register 1 */
-
-/******************* Bit definition for AES_IVR2 register *******************/
-#define AES_IVR2 ((uint32_t)0x0000FFFF) /*!< AES Initialization Vector Register 2 */
-
-/******************* Bit definition for AES_IVR3 register *******************/
-#define AES_IVR3 ((uint32_t)0x0000FFFF) /*!< AES Initialization Vector Register 3 */
-
-/******************************************************************************/
-/* */
-/* Analog Comparators (COMP) */
-/* */
-/******************************************************************************/
-
-/****************** Bit definition for COMP_CSR register ********************/
-#define COMP_CSR_10KPU ((uint32_t)0x00000001) /*!< 10K pull-up resistor */
-#define COMP_CSR_400KPU ((uint32_t)0x00000002) /*!< 400K pull-up resistor */
-#define COMP_CSR_10KPD ((uint32_t)0x00000004) /*!< 10K pull-down resistor */
-#define COMP_CSR_400KPD ((uint32_t)0x00000008) /*!< 400K pull-down resistor */
-
-#define COMP_CSR_CMP1EN ((uint32_t)0x00000010) /*!< Comparator 1 enable */
-#define COMP_CSR_SW1 ((uint32_t)0x00000020) /*!< SW1 analog switch enable */
-#define COMP_CSR_CMP1OUT ((uint32_t)0x00000080) /*!< Comparator 1 output */
-
-#define COMP_CSR_SPEED ((uint32_t)0x00001000) /*!< Comparator 2 speed */
-#define COMP_CSR_CMP2OUT ((uint32_t)0x00002000) /*!< Comparator 2 ouput */
-
-#define COMP_CSR_VREFOUTEN ((uint32_t)0x00010000) /*!< Comparator Vref Enable */
-#define COMP_CSR_WNDWE ((uint32_t)0x00020000) /*!< Window mode enable */
-
-#define COMP_CSR_INSEL ((uint32_t)0x001C0000) /*!< INSEL[2:0] Inversion input Selection */
-#define COMP_CSR_INSEL_0 ((uint32_t)0x00040000) /*!< Bit 0 */
-#define COMP_CSR_INSEL_1 ((uint32_t)0x00080000) /*!< Bit 1 */
-#define COMP_CSR_INSEL_2 ((uint32_t)0x00100000) /*!< Bit 2 */
-
-#define COMP_CSR_OUTSEL ((uint32_t)0x00E00000) /*!< OUTSEL[2:0] comparator 2 output redirection */
-#define COMP_CSR_OUTSEL_0 ((uint32_t)0x00200000) /*!< Bit 0 */
-#define COMP_CSR_OUTSEL_1 ((uint32_t)0x00400000) /*!< Bit 1 */
-#define COMP_CSR_OUTSEL_2 ((uint32_t)0x00800000) /*!< Bit 2 */
-
-#define COMP_CSR_FCH3 ((uint32_t)0x04000000) /*!< Bit 26 */
-#define COMP_CSR_FCH8 ((uint32_t)0x08000000) /*!< Bit 27 */
-#define COMP_CSR_RCH13 ((uint32_t)0x10000000) /*!< Bit 28 */
-
-#define COMP_CSR_CAIE ((uint32_t)0x20000000) /*!< Bit 29 */
-#define COMP_CSR_CAIF ((uint32_t)0x40000000) /*!< Bit 30 */
-#define COMP_CSR_TSUSP ((uint32_t)0x80000000) /*!< Bit 31 */
-
-/******************************************************************************/
-/* */
-/* Operational Amplifier (OPAMP) */
-/* */
-/******************************************************************************/
-/******************* Bit definition for OPAMP_CSR register ******************/
-#define OPAMP_CSR_OPA1PD ((uint32_t)0x00000001) /*!< OPAMP1 disable */
-#define OPAMP_CSR_S3SEL1 ((uint32_t)0x00000002) /*!< Switch 3 for OPAMP1 Enable */
-#define OPAMP_CSR_S4SEL1 ((uint32_t)0x00000004) /*!< Switch 4 for OPAMP1 Enable */
-#define OPAMP_CSR_S5SEL1 ((uint32_t)0x00000008) /*!< Switch 5 for OPAMP1 Enable */
-#define OPAMP_CSR_S6SEL1 ((uint32_t)0x00000010) /*!< Switch 6 for OPAMP1 Enable */
-#define OPAMP_CSR_OPA1CAL_L ((uint32_t)0x00000020) /*!< OPAMP1 Offset calibration for P differential pair */
-#define OPAMP_CSR_OPA1CAL_H ((uint32_t)0x00000040) /*!< OPAMP1 Offset calibration for N differential pair */
-#define OPAMP_CSR_OPA1LPM ((uint32_t)0x00000080) /*!< OPAMP1 Low power enable */
-#define OPAMP_CSR_OPA2PD ((uint32_t)0x00000100) /*!< OPAMP2 disable */
-#define OPAMP_CSR_S3SEL2 ((uint32_t)0x00000200) /*!< Switch 3 for OPAMP2 Enable */
-#define OPAMP_CSR_S4SEL2 ((uint32_t)0x00000400) /*!< Switch 4 for OPAMP2 Enable */
-#define OPAMP_CSR_S5SEL2 ((uint32_t)0x00000800) /*!< Switch 5 for OPAMP2 Enable */
-#define OPAMP_CSR_S6SEL2 ((uint32_t)0x00001000) /*!< Switch 6 for OPAMP2 Enable */
-#define OPAMP_CSR_OPA2CAL_L ((uint32_t)0x00002000) /*!< OPAMP2 Offset calibration for P differential pair */
-#define OPAMP_CSR_OPA2CAL_H ((uint32_t)0x00004000) /*!< OPAMP2 Offset calibration for N differential pair */
-#define OPAMP_CSR_OPA2LPM ((uint32_t)0x00008000) /*!< OPAMP2 Low power enable */
-#define OPAMP_CSR_OPA3PD ((uint32_t)0x00010000) /*!< OPAMP3 disable */
-#define OPAMP_CSR_S3SEL3 ((uint32_t)0x00020000) /*!< Switch 3 for OPAMP3 Enable */
-#define OPAMP_CSR_S4SEL3 ((uint32_t)0x00040000) /*!< Switch 4 for OPAMP3 Enable */
-#define OPAMP_CSR_S5SEL3 ((uint32_t)0x00080000) /*!< Switch 5 for OPAMP3 Enable */
-#define OPAMP_CSR_S6SEL3 ((uint32_t)0x00100000) /*!< Switch 6 for OPAMP3 Enable */
-#define OPAMP_CSR_OPA3CAL_L ((uint32_t)0x00200000) /*!< OPAMP3 Offset calibration for P differential pair */
-#define OPAMP_CSR_OPA3CAL_H ((uint32_t)0x00400000) /*!< OPAMP3 Offset calibration for N differential pair */
-#define OPAMP_CSR_OPA3LPM ((uint32_t)0x00800000) /*!< OPAMP3 Low power enable */
-#define OPAMP_CSR_ANAWSEL1 ((uint32_t)0x01000000) /*!< Switch ANA Enable for OPAMP1 */
-#define OPAMP_CSR_ANAWSEL2 ((uint32_t)0x02000000) /*!< Switch ANA Enable for OPAMP2 */
-#define OPAMP_CSR_ANAWSEL3 ((uint32_t)0x04000000) /*!< Switch ANA Enable for OPAMP3 */
-#define OPAMP_CSR_S7SEL2 ((uint32_t)0x08000000) /*!< Switch 7 for OPAMP2 Enable */
-#define OPAMP_CSR_AOP_RANGE ((uint32_t)0x10000000) /*!< Power range selection */
-#define OPAMP_CSR_OPA1CALOUT ((uint32_t)0x20000000) /*!< OPAMP1 calibration output */
-#define OPAMP_CSR_OPA2CALOUT ((uint32_t)0x40000000) /*!< OPAMP2 calibration output */
-#define OPAMP_CSR_OPA3CALOUT ((uint32_t)0x80000000) /*!< OPAMP3 calibration output */
-
-/******************* Bit definition for OPAMP_OTR register ******************/
-#define OPAMP_OTR_AO1_OPT_OFFSET_TRIM ((uint32_t)0x000003FF) /*!< Offset trim for OPAMP1 */
-#define OPAMP_OTR_AO2_OPT_OFFSET_TRIM ((uint32_t)0x000FFC00) /*!< Offset trim for OPAMP2 */
-#define OPAMP_OTR_AO3_OPT_OFFSET_TRIM ((uint32_t)0x3FF00000) /*!< Offset trim for OPAMP2 */
-#define OPAMP_OTR_OT_USER ((uint32_t)0x80000000) /*!< Switch to OPAMP offset user trimmed values */
-
-/******************* Bit definition for OPAMP_LPOTR register ****************/
-#define OPAMP_LP_OTR_AO1_OPT_OFFSET_TRIM_LP ((uint32_t)0x000003FF) /*!< Offset trim in low power for OPAMP1 */
-#define OPAMP_LP_OTR_AO2_OPT_OFFSET_TRIM_LP ((uint32_t)0x000FFC00) /*!< Offset trim in low power for OPAMP2 */
-#define OPAMP_LP_OTR_AO3_OPT_OFFSET_TRIM_LP ((uint32_t)0x3FF00000) /*!< Offset trim in low power for OPAMP3 */
-
-/******************************************************************************/
-/* */
-/* CRC calculation unit (CRC) */
-/* */
-/******************************************************************************/
-
-/******************* Bit definition for CRC_DR register *********************/
-#define CRC_DR_DR ((uint32_t)0xFFFFFFFF) /*!< Data register bits */
-
-/******************* Bit definition for CRC_IDR register ********************/
-#define CRC_IDR_IDR ((uint8_t)0xFF) /*!< General-purpose 8-bit data register bits */
-
-/******************** Bit definition for CRC_CR register ********************/
-#define CRC_CR_RESET ((uint32_t)0x00000001) /*!< RESET bit */
-
-/******************************************************************************/
-/* */
-/* Digital to Analog Converter (DAC) */
-/* */
-/******************************************************************************/
-
-/******************** Bit definition for DAC_CR register ********************/
-#define DAC_CR_EN1 ((uint32_t)0x00000001) /*!© COPYRIGHT 2012 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef __STM32L1xx_CONF_H
-#define __STM32L1xx_CONF_H
-
-/* Includes ------------------------------------------------------------------*/
-/* Uncomment/Comment the line below to enable/disable peripheral header file inclusion */
-#include "stm32l1xx_adc.h"
-#include "stm32l1xx_aes.h"
-#include "stm32l1xx_comp.h"
-#include "stm32l1xx_crc.h"
-#include "stm32l1xx_dac.h"
-#include "stm32l1xx_dbgmcu.h"
-#include "stm32l1xx_dma.h"
-#include "stm32l1xx_exti.h"
-#include "stm32l1xx_flash.h"
-#include "stm32l1xx_fsmc.h"
-#include "stm32l1xx_gpio.h"
-#include "stm32l1xx_i2c.h"
-#include "stm32l1xx_iwdg.h"
-#include "stm32l1xx_lcd.h"
-#include "stm32l1xx_opamp.h"
-#include "stm32l1xx_pwr.h"
-#include "stm32l1xx_rcc.h"
-#include "stm32l1xx_rtc.h"
-#include "stm32l1xx_sdio.h"
-#include "stm32l1xx_spi.h"
-#include "stm32l1xx_syscfg.h"
-#include "stm32l1xx_tim.h"
-#include "stm32l1xx_usart.h"
-#include "stm32l1xx_wwdg.h"
-#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */
-
-/* Exported types ------------------------------------------------------------*/
-/* Exported constants --------------------------------------------------------*/
-/* Uncomment the line below to expanse the "assert_param" macro in the
- Standard Peripheral Library drivers code */
-/* #define USE_FULL_ASSERT 1 */
-
-/* Exported macro ------------------------------------------------------------*/
-#ifdef USE_FULL_ASSERT
-
-/**
- * @brief The assert_param macro is used for function's parameters check.
- * @param expr: If expr is false, it calls assert_failed function which reports
- * the name of the source file and the source line number of the call
- * that failed. If expr is true, it returns no value.
- * @retval None
- */
- #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
-/* Exported functions ------------------------------------------------------- */
- void assert_failed(uint8_t* file, uint32_t line);
-#else
- #define assert_param(expr) ((void)0)
-#endif /* USE_FULL_ASSERT */
-
-#endif /* __STM32L1xx_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/src/boards/Bleeper-72/cmsis/system_stm32l1xx.c b/src/boards/Bleeper-72/cmsis/system_stm32l1xx.c
deleted file mode 100644
index 4181a7436..000000000
--- a/src/boards/Bleeper-72/cmsis/system_stm32l1xx.c
+++ /dev/null
@@ -1,394 +0,0 @@
-/**
- ******************************************************************************
- * @file system_stm32l1xx.c
- * @author MCD Application Team
- * @version V1.2.0
- * @date 27-August-2013
- * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File.
- * This file contains the system clock configuration for STM32L1xx Ultra
- * Low power devices, and is generated by the clock configuration
- * tool STM32L1xx_Clock_Configuration_V1.2.0.xls
- *
- * 1. This file provides two functions and one global variable to be called from
- * user application:
- * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier
- * and Divider factors, AHB/APBx prescalers and Flash settings),
- * depending on the configuration made in the clock xls tool.
- * This function is called at startup just after reset and
- * before branch to main program. This call is made inside
- * the "startup_stm32l1xx_xx.s" file.
- *
- * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
- * by the user application to setup the SysTick
- * timer or configure other parameters.
- *
- * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
- * be called whenever the core clock is changed
- * during program execution.
- *
- * 2. After each device reset the MSI (2.1 MHz Range) is used as system clock source.
- * Then SystemInit() function is called, in "startup_stm32l1xx_xx.s" file, to
- * configure the system clock before to branch to main program.
- *
- * 3. If the system clock source selected by user fails to startup, the SystemInit()
- * function will do nothing and MSI still used as system clock source. User can
- * add some code to deal with this issue inside the SetSysClock() function.
- *
- * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define
- * in "stm32l1xx.h" file. When HSE is used as system clock source, directly or
- * through PLL, and you are using different crystal you have to adapt the HSE
- * value to your own configuration.
- *
- * 5. This file configures the system clock as follows:
- *=============================================================================
- * System Clock Configuration
- *=============================================================================
- * System Clock source | PLL(HSE)
- *-----------------------------------------------------------------------------
- * SYSCLK | 32000000 Hz
- *-----------------------------------------------------------------------------
- * HCLK | 32000000 Hz
- *-----------------------------------------------------------------------------
- * AHB Prescaler | 1
- *-----------------------------------------------------------------------------
- * APB1 Prescaler | 1
- *-----------------------------------------------------------------------------
- * APB2 Prescaler | 1
- *-----------------------------------------------------------------------------
- * HSE Frequency | 12000000 Hz
- *-----------------------------------------------------------------------------
- * PLL DIV | 3
- *-----------------------------------------------------------------------------
- * PLL MUL | 8
- *-----------------------------------------------------------------------------
- * VDD | 3.3 V
- *-----------------------------------------------------------------------------
- * Vcore | 1.8 V (Range 1)
- *-----------------------------------------------------------------------------
- * Flash Latency | 1 WS
- *-----------------------------------------------------------------------------
- * Require 48MHz for USB clock | Enabled
- *-----------------------------------------------------------------------------
- *=============================================================================
- * @attention
- *
- * © COPYRIGHT 2013 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-/** @addtogroup CMSIS
- * @{
- */
-
-/** @addtogroup stm32l1xx_system
- * @{
- */
-
-/** @addtogroup STM32L1xx_System_Private_Includes
- * @{
- */
-
-#include "stm32l1xx.h"
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_TypesDefinitions
- * @{
- */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_Defines
- * @{
- */
-
-/*!< Uncomment the following line if you need to relocate your vector Table in
- Internal SRAM. */
-/* #define VECT_TAB_SRAM */
-#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field.
- This value must be a multiple of 0x200. */
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_Macros
- * @{
- */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_Variables
- * @{
- */
-uint32_t SystemCoreClock = 32000000;
-__I uint8_t PLLMulTable[9] = {3, 4, 6, 8, 12, 16, 24, 32, 48};
-__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes
- * @{
- */
-
-static void SetSysClock(void);
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_Functions
- * @{
- */
-
-/**
- * @brief Setup the microcontroller system.
- * Initialize the Embedded Flash Interface, the PLL and update the
- * SystemCoreClock variable.
- * @param None
- * @retval None
- */
-void SystemInit (void)
-{
- /*!< Set MSION bit */
- RCC->CR |= (uint32_t)0x00000100;
-
- /*!< Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], MCOSEL[2:0] and MCOPRE[2:0] bits */
- RCC->CFGR &= (uint32_t)0x88FFC00C;
-
- /*!< Reset HSION, HSEON, CSSON and PLLON bits */
- RCC->CR &= (uint32_t)0xEEFEFFFE;
-
- /*!< Reset HSEBYP bit */
- RCC->CR &= (uint32_t)0xFFFBFFFF;
-
- /*!< Reset PLLSRC, PLLMUL[3:0] and PLLDIV[1:0] bits */
- RCC->CFGR &= (uint32_t)0xFF02FFFF;
-
- /*!< Disable all interrupts */
- RCC->CIR = 0x00000000;
-
- /* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */
- SetSysClock();
-
-#ifdef VECT_TAB_SRAM
- SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */
-#else
- SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */
-#endif
-}
-
-/**
- * @brief Update SystemCoreClock according to Clock Register Values
- * The SystemCoreClock variable contains the core clock (HCLK), it can
- * be used by the user application to setup the SysTick timer or configure
- * other parameters.
- *
- * @note Each time the core clock (HCLK) changes, this function must be called
- * to update SystemCoreClock variable value. Otherwise, any configuration
- * based on this variable will be incorrect.
- *
- * @note - The system frequency computed by this function is not the real
- * frequency in the chip. It is calculated based on the predefined
- * constant and the selected clock source:
- *
- * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI
- * value as defined by the MSI range.
- *
- * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
- *
- * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
- *
- * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**)
- * or HSI_VALUE(*) multiplied/divided by the PLL factors.
- *
- * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value
- * 16 MHz) but the real value may vary depending on the variations
- * in voltage and temperature.
- *
- * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value
- * 8 MHz), user has to ensure that HSE_VALUE is same as the real
- * frequency of the crystal used. Otherwise, this function may
- * have wrong result.
- *
- * - The result of this function could be not correct when using fractional
- * value for HSE crystal.
- * @param None
- * @retval None
- */
-void SystemCoreClockUpdate (void)
-{
- uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0;
-
- /* Get SYSCLK source -------------------------------------------------------*/
- tmp = RCC->CFGR & RCC_CFGR_SWS;
-
- switch (tmp)
- {
- case 0x00: /* MSI used as system clock */
- msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13;
- SystemCoreClock = (32768 * (1 << (msirange + 1)));
- break;
- case 0x04: /* HSI used as system clock */
- SystemCoreClock = HSI_VALUE;
- break;
- case 0x08: /* HSE used as system clock */
- SystemCoreClock = HSE_VALUE;
- break;
- case 0x0C: /* PLL used as system clock */
- /* Get PLL clock source and multiplication factor ----------------------*/
- pllmul = RCC->CFGR & RCC_CFGR_PLLMUL;
- plldiv = RCC->CFGR & RCC_CFGR_PLLDIV;
- pllmul = PLLMulTable[(pllmul >> 18)];
- plldiv = (plldiv >> 22) + 1;
-
- pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
-
- if (pllsource == 0x00)
- {
- /* HSI oscillator clock selected as PLL clock entry */
- SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv);
- }
- else
- {
- /* HSE selected as PLL clock entry */
- SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv);
- }
- break;
- default: /* MSI used as system clock */
- msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13;
- SystemCoreClock = (32768 * (1 << (msirange + 1)));
- break;
- }
- /* Compute HCLK clock frequency --------------------------------------------*/
- /* Get HCLK prescaler */
- tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
- /* HCLK clock frequency */
- SystemCoreClock >>= tmp;
-}
-
-/**
- * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash
- * settings.
- * @note This function should be called only once the RCC clock configuration
- * is reset to the default reset state (done in SystemInit() function).
- * @param None
- * @retval None
- */
-static void SetSysClock(void)
-{
- __IO uint32_t StartUpCounter = 0, HSEStatus = 0;
-
- /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/
- /* Enable HSE */
- RCC->CR |= ((uint32_t)RCC_CR_HSEON);
-
- /* Wait till HSE is ready and if Time out is reached exit */
- do
- {
- HSEStatus = RCC->CR & RCC_CR_HSERDY;
- StartUpCounter++;
- } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
-
- if ((RCC->CR & RCC_CR_HSERDY) != RESET)
- {
- HSEStatus = (uint32_t)0x01;
- }
- else
- {
- HSEStatus = (uint32_t)0x00;
- }
-
- if (HSEStatus == (uint32_t)0x01)
- {
- /* Enable 64-bit access */
- FLASH->ACR |= FLASH_ACR_ACC64;
-
- /* Enable Prefetch Buffer */
- FLASH->ACR |= FLASH_ACR_PRFTEN;
-
- /* Flash 1 wait state */
- FLASH->ACR |= FLASH_ACR_LATENCY;
-
- /* Power enable */
- RCC->APB1ENR |= RCC_APB1ENR_PWREN;
-
- /* Select the Voltage Range 1 (1.8 V) */
- PWR->CR = PWR_CR_VOS_0;
-
- /* Wait Until the Voltage Regulator is ready */
- while((PWR->CSR & PWR_CSR_VOSF) != RESET)
- {
- }
-
- /* HCLK = SYSCLK /1*/
- RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;
-
- /* PCLK2 = HCLK /1*/
- RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;
-
- /* PCLK1 = HCLK /1*/
- RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1;
-
- /* PLL configuration */
- RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL |
- RCC_CFGR_PLLDIV));
- RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL8 | RCC_CFGR_PLLDIV3);
-
- /* Enable PLL */
- RCC->CR |= RCC_CR_PLLON;
-
- /* Wait till PLL is ready */
- while((RCC->CR & RCC_CR_PLLRDY) == 0)
- {
- }
-
- /* Select PLL as system clock source */
- RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
- RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;
-
- /* Wait till PLL is used as system clock source */
- while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL)
- {
- }
- }
- else
- {
- /* If HSE fails to start-up, the application will have wrong clock
- configuration. User can add here some code to deal with this error */
- }
-}
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/******************* (C) COPYRIGHT 2013 STMicroelectronics *****END OF FILE****/
diff --git a/src/boards/Bleeper-72/cmsis/system_stm32l1xx.h b/src/boards/Bleeper-72/cmsis/system_stm32l1xx.h
deleted file mode 100644
index 25ad24096..000000000
--- a/src/boards/Bleeper-72/cmsis/system_stm32l1xx.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- ******************************************************************************
- * @file system_stm32l1xx.h
- * @author MCD Application Team
- * @version V1.2.0
- * @date 22-February-2013
- * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Header File.
- ******************************************************************************
- * @attention
- *
- * © COPYRIGHT 2013 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-/** @addtogroup CMSIS
- * @{
- */
-
-/** @addtogroup stm32l1xx_system
- * @{
- */
-
-/**
- * @brief Define to prevent recursive inclusion
- */
-#ifndef __SYSTEM_STM32L1XX_H
-#define __SYSTEM_STM32L1XX_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/** @addtogroup STM32L1xx_System_Includes
- * @{
- */
-
-/**
- * @}
- */
-
-
-/** @addtogroup STM32L1xx_System_Exported_types
- * @{
- */
-
-extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Exported_Constants
- * @{
- */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Exported_Macros
- * @{
- */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Exported_Functions
- * @{
- */
-
-extern void SystemInit(void);
-extern void SystemCoreClockUpdate(void);
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*__SYSTEM_STM32L1XX_H */
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/src/boards/Bleeper-72/gpio-board.c b/src/boards/Bleeper-72/gpio-board.c
deleted file mode 100644
index 7121671ec..000000000
--- a/src/boards/Bleeper-72/gpio-board.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board GPIO driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-#include "gpio-board.h"
-#include "stm32l1xx_gpio.h"
-
-static GpioIrqHandler *GpioIrq[16];
-
-void GpioMcuInit( Gpio_t *obj, PinNames pin, PinModes mode, PinConfigs config, PinTypes type, uint32_t value )
-{
- GPIO_InitTypeDef GPIO_InitStructure;
-
- if( pin == NC )
- {
- return;
- }
-
- obj->portIndex = ( uint32_t ) pin >> 4;
-
- obj->pin = pin;
- obj->pinIndex = ( 0x01 << ( obj->pin & 0x0F ) );
-
- if( obj->portIndex < 6 )
- {
- obj->port = ( GPIO_TypeDef * )( GPIOA_BASE + ( obj->portIndex << 10 ) );
- RCC_AHBPeriphClockCmd( ( 0x01 << obj->portIndex ), ENABLE );
- }
- else if( obj->portIndex == 6 )
- { /* GPIO base address not in alphabetical order after GPIOE (cf stm32l1xx.h, line 926 ) */
- /* Access to GPIOF and GPIOG not implemented */
- obj->port = ( GPIO_TypeDef * )( GPIOH_BASE );
- RCC_AHBPeriphClockCmd( ( 0x01 << ( obj->portIndex - 1 ) ), ENABLE );
- }
-
- // Sets initial output value
- if( mode == PIN_OUTPUT )
- {
- GpioMcuWrite( obj, value );
- }
-
- GPIO_InitStructure.GPIO_Mode = ( GPIOMode_TypeDef )mode;
- GPIO_InitStructure.GPIO_OType = ( GPIOOType_TypeDef )config;
- GPIO_InitStructure.GPIO_PuPd = ( GPIOPuPd_TypeDef )type;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
- GPIO_InitStructure.GPIO_Pin = obj->pinIndex;
- GPIO_Init( obj->port, &GPIO_InitStructure );
-}
-
-void GpioMcuSetInterrupt( Gpio_t *obj, IrqModes irqMode, IrqPriorities irqPriority, GpioIrqHandler *irqHandler )
-{
- NVIC_InitTypeDef NVIC_InitStructure;
- EXTI_InitTypeDef EXTI_InitStructure;
-
- if( irqHandler == NULL )
- {
- return;
- }
-
- GpioIrq[obj->pin & 0x0F] = irqHandler;
-
- /* Enable SYSCFG clock */
- RCC_APB2PeriphClockCmd( RCC_APB2Periph_SYSCFG, ENABLE );
-
- /* Connect EXTI Line to GPIO pin */
- SYSCFG_EXTILineConfig( obj->portIndex, ( ( obj->pin ) & 0x0F ) );
-
- /* Configure EXTI line */
- EXTI_InitStructure.EXTI_Line = ( 0x01 << ( obj->pin & 0x0F ) );
- EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
-
- if( irqMode == IRQ_RISING_EDGE )
- {
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
- }
- else if( irqMode == IRQ_FALLING_EDGE )
- {
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
- }
- else if( irqMode == IRQ_RISING_FALLING_EDGE )
- {
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
- }
- else
- {
- while( 1 );
- }
-
- EXTI_InitStructure.EXTI_LineCmd = ENABLE;
- EXTI_Init(&EXTI_InitStructure);
-
- if( ( ( obj->pin ) & 0x0F ) < 5 )
- {
- NVIC_InitStructure.NVIC_IRQChannel = ( ( obj->pin ) & 0x0F ) + 6;
- }
- else if( ( ( obj->pin ) & 0x0F ) < 10 )
- {
- NVIC_InitStructure.NVIC_IRQChannel = 23;
- }
- else if( ( ( obj->pin ) & 0x0F ) < 16 )
- {
- NVIC_InitStructure.NVIC_IRQChannel = 40;
- }
- else
- {
- while( 1 );
- }
-
- if( irqPriority == IRQ_VERY_LOW_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else if( irqPriority == IRQ_LOW_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 12;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else if( irqPriority == IRQ_MEDIUM_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 8;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else if( irqPriority == IRQ_HIGH_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 4;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else if( irqPriority == IRQ_VERY_HIGH_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else
- {
- while( 1 );
- }
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init( &NVIC_InitStructure );
-
-}
-
-void GpioMcuRemoveInterrupt( Gpio_t *obj )
-{
- EXTI_InitTypeDef EXTI_InitStructure;
-
- GpioIrq[obj->pin & 0x0F] = NULL;
-
- EXTI_InitStructure.EXTI_Line = ( 0x01 << ( obj->pin & 0x0F ) );
- EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
- EXTI_InitStructure.EXTI_LineCmd = DISABLE;
- EXTI_Init(&EXTI_InitStructure);
-}
-
-void GpioMcuWrite( Gpio_t *obj, uint32_t value )
-{
- if( ( obj == NULL ) || ( obj->port == NULL ) )
- {
- while( 1 );
- }
- // Check if pin is not connected
- if( obj->pin == NC )
- {
- return;
- }
- if( value == 0 )
- {
- GPIO_ResetBits( obj->port, obj->pinIndex );
- }
- else
- {
- GPIO_SetBits( obj->port, obj->pinIndex );
- }
-}
-
-uint32_t GpioMcuRead( Gpio_t *obj )
-{
- if( obj == NULL )
- {
- while( 1 );
- }
- // Check if pin is not connected
- if( obj->pin == NC )
- {
- return 0;
- }
- return GPIO_ReadInputDataBit( obj->port, obj->pinIndex );
-}
-
-void EXTI0_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line0 ) != RESET )
- {
- if( GpioIrq[0] != NULL )
- {
- GpioIrq[0]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line0 );
- }
-}
-
-void EXTI1_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line1 ) != RESET )
- {
- if( GpioIrq[1] != NULL )
- {
- GpioIrq[1]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line1 );
- }
-}
-
-void EXTI2_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line2 ) != RESET )
- {
- if( GpioIrq[2] != NULL )
- {
- GpioIrq[2]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line2 );
- }
-}
-
-void EXTI3_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line3 ) != RESET )
- {
- if( GpioIrq[3] != NULL )
- {
- GpioIrq[3]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line3 );
- }
-}
-
-void EXTI4_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line4 ) != RESET )
- {
- if( GpioIrq[4] != NULL )
- {
- GpioIrq[4]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line4 );
- }
-}
-
-void EXTI9_5_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line5 ) != RESET )
- {
- if( GpioIrq[5] != NULL )
- {
- GpioIrq[5]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line5 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line6 ) != RESET )
- {
- if( GpioIrq[6] != NULL )
- {
- GpioIrq[6]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line6 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line7 ) != RESET )
- {
- if( GpioIrq[7] != NULL )
- {
- GpioIrq[7]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line7 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line8 ) != RESET )
- {
- if( GpioIrq[8] != NULL )
- {
- GpioIrq[8]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line8 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line9 ) != RESET )
- {
- if( GpioIrq[9] != NULL )
- {
- GpioIrq[9]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line9 );
- }
-}
-
-void EXTI15_10_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line10 ) != RESET )
- {
- if( GpioIrq[10] != NULL )
- {
- GpioIrq[10]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line10 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line11 ) != RESET )
- {
- if( GpioIrq[11] != NULL )
- {
- GpioIrq[11]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line11 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line12 ) != RESET )
- {
- if( GpioIrq[12] != NULL )
- {
- GpioIrq[12]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line12 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line13 ) != RESET )
- {
- if( GpioIrq[13] != NULL )
- {
- GpioIrq[13]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line13 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line14 ) != RESET )
- {
- if( GpioIrq[14] != NULL )
- {
- GpioIrq[14]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line14 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line15 ) != RESET )
- {
- if( GpioIrq[15] != NULL )
- {
- GpioIrq[15]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line15 );
- }
-}
diff --git a/src/boards/Bleeper-72/gpio-board.h b/src/boards/Bleeper-72/gpio-board.h
deleted file mode 100644
index 4fc0843ac..000000000
--- a/src/boards/Bleeper-72/gpio-board.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board GPIO driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __GPIO_MCU_H__
-#define __GPIO_MCU_H__
-
-/*!
- * \brief Initializes the given GPIO object
- *
- * \param [IN] obj Pointer to the GPIO object to be initialized
- * \param [IN] pin Pin name ( please look in pinName-board.h file )
- * \param [IN] mode Pin mode [PIN_INPUT, PIN_OUTPUT,
- * PIN_ALTERNATE_FCT, PIN_ANALOGIC]
- * \param [IN] config Pin config [PIN_PUSH_PULL, PIN_OPEN_DRAIN]
- * \param [IN] type Pin type [PIN_NO_PULL, PIN_PULL_UP, PIN_PULL_DOWN]
- * \param [IN] value Default output value at initialisation
- */
-void GpioMcuInit( Gpio_t *obj, PinNames pin, PinModes mode, PinConfigs config, PinTypes type, uint32_t value );
-
-/*!
- * \brief GPIO IRQ Initialization
- *
- * \param [IN] obj Pointer to the GPIO object to be initialized
- * \param [IN] irqMode IRQ mode [NO_IRQ, IRQ_RISING_EDGE,
- * IRQ_FALLING_EDGE, IRQ_RISING_FALLING_EDGE]
- * \param [IN] irqPriority IRQ priority [IRQ_VERY_LOW_PRIORITY, IRQ_LOW_PRIORITY
- * IRQ_MEDIUM_PRIORITY, IRQ_HIGH_PRIORITY
- * IRQ_VERY_HIGH_PRIORITY]
- * \param [IN] irqHandler Callback function pointer
- */
-void GpioMcuSetInterrupt( Gpio_t *obj, IrqModes irqMode, IrqPriorities irqPriority, GpioIrqHandler *irqHandler );
-
-/*!
- * \brief GPIO IRQ DeInitialization
- *
- * \param [IN] obj Pointer to the GPIO object to be Deinitialized
- */
-void GpioMcuRemoveInterrupt( Gpio_t *obj );
-
-/*!
- * \brief Writes the given value to the GPIO output
- *
- * \param [IN] obj Pointer to the GPIO object
- * \param [IN] value New GPIO output value
- */
-void GpioMcuWrite( Gpio_t *obj, uint32_t value );
-
-/*!
- * \brief Reads the current GPIO input value
- *
- * \param [IN] obj Pointer to the GPIO object
- * \retval value Current GPIO input value
- */
-uint32_t GpioMcuRead( Gpio_t *obj );
-
-#endif // __GPIO_MCU_H__
diff --git a/src/boards/Bleeper-72/i2c-board.c b/src/boards/Bleeper-72/i2c-board.c
deleted file mode 100644
index def3bf6af..000000000
--- a/src/boards/Bleeper-72/i2c-board.c
+++ /dev/null
@@ -1,582 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board I2C driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-#include "i2c-board.h"
-
-/*!
- * The value of the maximal timeout for I2C waiting loops
- */
-#define TIMEOUT_MAX 0x8000
-
-I2cAddrSize I2cInternalAddrSize = I2C_ADDR_SIZE_8;
-
-/*!
- * MCU I2C peripherals enumeration
- */
-typedef enum {
- I2C_1 = ( uint32_t )I2C1_BASE,
- I2C_2 = ( uint32_t )I2C2_BASE,
-} I2cName;
-
-void I2cMcuInit( I2c_t *obj, PinNames scl, PinNames sda )
-{
- obj->I2c = ( I2C_TypeDef * )I2C2_BASE;
-
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_I2C2, ENABLE );
-
- I2C_DeInit( obj->I2c );
-
- GpioInit( &obj->Scl, scl, PIN_ALTERNATE_FCT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &obj->Sda, sda, PIN_ALTERNATE_FCT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- GPIO_PinAFConfig( obj->Scl.port, ( obj->Scl.pin & 0x0F ), GPIO_AF_I2C2 );
- GPIO_PinAFConfig( obj->Sda.port, ( obj->Sda.pin & 0x0F ), GPIO_AF_I2C2 );
-}
-
-void I2cMcuFormat( I2c_t *obj, I2cMode mode, I2cDutyCycle dutyCycle, bool I2cAckEnable, I2cAckAddrMode AckAddrMode, uint32_t I2cFrequency )
-{
- I2C_InitTypeDef I2C_InitStructure;
-
- if( mode == MODE_I2C )
- {
- I2C_InitStructure.I2C_Mode = 0x0000;
- }
- else if( mode == MODE_SMBUS_DEVICE )
- {
- I2C_InitStructure.I2C_Mode = 0x0002;
- }
- else
- {
- I2C_InitStructure.I2C_Mode = 0x000A; // MODE_SMBUS_HOST
- }
-
- if( dutyCycle == I2C_DUTY_CYCLE_2 )
- {
- I2C_InitStructure.I2C_DutyCycle = 0xBFFF;
- }
- else
- {
- I2C_InitStructure.I2C_DutyCycle = 0x4000; //I2C_DUTY_CYCLE_16_9
- }
-
- if( I2cAckEnable == true )
- {
- I2C_InitStructure.I2C_Ack = 0x0400;
- }
- else
- {
- I2C_InitStructure.I2C_Ack = 0x0000;
- }
-
- if( AckAddrMode == I2C_ACK_ADD_7_BIT )
- {
- I2C_InitStructure.I2C_AcknowledgedAddress = 0x4000;
- }
- else
- {
- I2C_InitStructure.I2C_AcknowledgedAddress = 0xC000; // I2C_ACK_ADD_10_BIT
- }
-
- if( I2cFrequency > 400000 )
- {
- I2C_InitStructure.I2C_ClockSpeed = 400000;
- }
- else
- {
- I2C_InitStructure.I2C_ClockSpeed = I2cFrequency;
- }
-
- I2C_Init( obj->I2c, &I2C_InitStructure );
-
- /* I2C Peripheral Enable */
- I2C_Cmd( obj->I2c, ENABLE );
-}
-
-void I2cMcuDeInit( I2c_t *obj )
-{
- I2C_DeInit( obj->I2c );
-
- GpioInit( &obj->Scl, obj->Scl.pin, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &obj->Sda, obj->Sda.pin, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-}
-
-void I2cSetAddrSize( I2c_t *obj, I2cAddrSize addrSize )
-{
- I2cInternalAddrSize = addrSize;
-}
-
-uint8_t I2cMcuWriteBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size )
-{
- uint32_t timeOut;
-
- __disable_irq( );
-
- /* Test on BUSY Flag */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_BUSY) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send START condition */
- I2C_GenerateSTART( obj->I2c, ENABLE );
-
- /* Test on EV5 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_MODE_SELECT ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send device's address for write */
- I2C_Send7bitAddress( obj->I2c, deviceAddr, I2C_Direction_Transmitter );
-
- /* Test on EV6 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- if( I2cInternalAddrSize == I2C_ADDR_SIZE_16 )
- {
- /* Send the device's internal address MSB to write to */
- I2C_SendData( obj->I2c, ( uint8_t )( ( addr & 0xFF00 ) >> 8 ) );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
- }
-
- /* Send the device's internal address LSB to write to */
- I2C_SendData( obj->I2c, ( uint8_t )( addr & 0x00FF ) );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- while( size )
- {
- /* Send the byte to be written */
- I2C_SendData( obj->I2c, *buffer );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- if( size == 1 )
- {
- I2C_GenerateSTOP( obj->I2c, ENABLE );
-
- /* Wait to make sure that STOP control bit has been cleared */
- timeOut = TIMEOUT_MAX;
- while(obj->I2c->CR1 & I2C_CR1_STOP)
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
- } /* STOP */
-
- buffer++;
- size--;
- }
-
- __enable_irq( );
- return( SUCCESS );
-}
-
-uint8_t I2cMcuReadBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size )
-{
- uint32_t timeOut;
-
- __disable_irq( );
-
- /* Test on BUSY Flag */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_BUSY ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send START condition */
- I2C_GenerateSTART( obj->I2c, ENABLE );
-
- /* Test on EV5 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_MODE_SELECT ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send device's address for write */
- I2C_Send7bitAddress( obj->I2c, deviceAddr, I2C_Direction_Transmitter );
-
- /* Test on EV6 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- if( I2cInternalAddrSize == I2C_ADDR_SIZE_16 )
- {
- /* Send the device's internal address MSB to write to */
- I2C_SendData( obj->I2c, ( uint8_t )( ( addr & 0xFF00 ) >> 8 ) );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
- }
-
- /* Send the device's internal address LSB to write to */
- I2C_SendData( obj->I2c, ( uint8_t )( addr & 0x00FF ) );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_BTF ) == RESET )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send START condition a second time */
- I2C_GenerateSTART( obj->I2c, ENABLE );
-
- /* Test on EV5 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_MODE_SELECT ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send device's address for read */
- I2C_Send7bitAddress( obj->I2c, deviceAddr, I2C_Direction_Receiver );
-
- if( size < 2 )
- {
- /* Wait on ADDR flag to be set (ADDR is still not cleared at this level */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_ADDR ) == RESET )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Disable Acknowledgement */
- I2C_AcknowledgeConfig( obj->I2c, DISABLE );
-
- /* Clear ADDR register by reading SR1 then SR2 register (SR1 has already been read) */
- ( void )obj->I2c->SR2;
-
- /* Send STOP Condition */
- I2C_GenerateSTOP( obj->I2c, ENABLE );
-
- /* Wait for the byte to be received */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_RXNE ) == RESET )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Read a byte from the device */
- *buffer = I2C_ReceiveData( obj->I2c );
-
- /* Decrement the read bytes counter */
- size--;
- }
- else
- {
- timeOut = TIMEOUT_MAX;
- while( I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED ) == ERROR )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- while( size )
- {
- if( size == 1 )
- {
- /* Disable Acknowledgement */
- I2C_AcknowledgeConfig( obj->I2c, DISABLE );
-
- /* Send STOP Condition */
- I2C_GenerateSTOP( obj->I2c, ENABLE );
- }
-
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_RXNE ) == RESET )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Read a byte from the device */
- *buffer = I2C_ReceiveData( obj->I2c );
-
- /* Point to the next location where the byte read will be saved */
- buffer++;
-
- /* Decrement the read bytes counter */
- size--;
- }
-
- /* Wait to make sure that STOP control bit has been cleared */
- timeOut = TIMEOUT_MAX;
- while( obj->I2c->CR1 & I2C_CR1_STOP )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
- }
-
- /*!< Re-Enable Acknowledgement to be ready for another reception */
- I2C_AcknowledgeConfig( obj->I2c, ENABLE );
-
- __enable_irq( );
- return( SUCCESS );
-}
-
-/* Maximum Timeout values for flags and events waiting loops. These timeouts are
- not based on accurate values, they just guarantee that the application will
- not remain stuck if the I2C communication is corrupted.
- You may modify these timeout values depending on CPU frequency and application
- conditions (interrupts routines ...). */
-#define EE_FLAG_TIMEOUT ( ( uint32_t )0x1000 )
-#define EE_LONG_TIMEOUT ( ( uint32_t )( 10 * EE_FLAG_TIMEOUT ) )
-
-/* Maximum number of trials for I2cMcuWaitStandbyState( ) function */
-#define EE_MAX_TRIALS_NUMBER 300
-
-uint8_t I2cMcuWaitStandbyState( I2c_t *obj, uint8_t deviceAddr )
-{
- uint32_t timeOut;
- volatile uint16_t tmpSR1 = 0;
- volatile uint32_t trials = 0;
-
- __disable_irq( );
-
- /*!< While the bus is busy */
- timeOut = EE_LONG_TIMEOUT;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_BUSY ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Keep looping till the slave acknowledge his address or maximum number
- of trials is reached (this number is defined by EE_MAX_TRIALS_NUMBER define
- in eeProm.h file) */
- while( 1 )
- {
- /*!< Send START condition */
- I2C_GenerateSTART( obj->I2c, ENABLE );
-
- /*!< Test on EV5 and clear it */
- timeOut = EE_FLAG_TIMEOUT;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_MODE_SELECT ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /*!< Send device address for write */
- I2C_Send7bitAddress( obj->I2c, deviceAddr, I2C_Direction_Transmitter );
-
- /* Wait for ADDR flag to be set (Slave acknowledged his address) */
- timeOut = EE_LONG_TIMEOUT;
- do
- {
- /* Get the current value of the SR1 register */
- tmpSR1 = obj->I2c->SR1;
-
- /* Update the timeout value and exit if it reach 0 */
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
- __enable_irq( );
- return( FAIL );
- }
- }
- /* Keep looping till the Address is acknowledged or the AF flag is
- set (address not acknowledged at time) */
- while( ( tmpSR1 & ( I2C_SR1_ADDR | I2C_SR1_AF ) ) == 0 );
-
- /* Check if the ADDR flag has been set */
- if ( tmpSR1 & I2C_SR1_ADDR )
- {
- /* Clear ADDR Flag by reading SR1 then SR2 registers (SR1 have already
- been read) */
- ( void )obj->I2c->SR2;
-
- /*!< STOP condition */
- I2C_GenerateSTOP( obj->I2c, ENABLE );
-
- /* Exit the function */
- __enable_irq( );
- return ( SUCCESS );
- }
- else
- {
- /*!< Clear AF flag */
- I2C_ClearFlag( obj->I2c, I2C_FLAG_AF );
- }
-
- /* Check if the maximum allowed number of trials has bee reached */
- if ( trials++ == EE_MAX_TRIALS_NUMBER )
- {
- I2cResetBus( obj );
- /* If the maximum number of trials has been reached, exit the function */
- __enable_irq( );
- return( FAIL );
- }
- }
-}
diff --git a/src/boards/Bleeper-72/i2c-board.h b/src/boards/Bleeper-72/i2c-board.h
deleted file mode 100644
index 72aae12bb..000000000
--- a/src/boards/Bleeper-72/i2c-board.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board I2C driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __I2C_MCU_H__
-#define __I2C_MCU_H__
-
-/*!
- * Operation Mode for the I2C
- */
-typedef enum
-{
- MODE_I2C = 0,
- MODE_SMBUS_DEVICE,
- MODE_SMBUS_HOST
-}I2cMode;
-
-/*!
- * I2C signal duty cycle
- */
-typedef enum
-{
- I2C_DUTY_CYCLE_2 = 0,
- I2C_DUTY_CYCLE_16_9
-}I2cDutyCycle;
-
-/*!
- * I2C select if the acknowledge in after the 7th or 10th bit
- */
-typedef enum
-{
- I2C_ACK_ADD_7_BIT = 0,
- I2C_ACK_ADD_10_BIT
-}I2cAckAddrMode;
-
-/*!
- * Internal device address size
- */
-typedef enum
-{
- I2C_ADDR_SIZE_8 = 0,
- I2C_ADDR_SIZE_16,
-}I2cAddrSize;
-
-/*!
- * \brief Initializes the I2C object and MCU peripheral
- *
- * \param [IN] obj I2C object
- * \param [IN] scl I2C Scl pin name to be used
- * \param [IN] sda I2C Sda pin name to be used
- */
-void I2cMcuInit( I2c_t *obj, PinNames scl, PinNames sda );
-
-/*!
- * \brief Initializes the I2C object and MCU peripheral
- *
- * \param [IN] obj I2C object
- * \param [IN] mode Mode of operation for the I2C Bus
- * \param [IN] dutyCycle Signal duty cycle
- * \param [IN] I2cAckEnable Enable or Disable to ack
- * \param [IN] AckAddrMode 7bit or 10 bit addressing
- * \param [IN] I2cFrequency I2C bus clock frequency
- */
-void I2cMcuFormat( I2c_t *obj, I2cMode mode, I2cDutyCycle dutyCycle, bool I2cAckEnable, I2cAckAddrMode AckAddrMode, uint32_t I2cFrequency );
-
-/*!
- * \brief DeInitializes the I2C object and MCU peripheral
- *
- * \param [IN] obj I2C object
- */
-void I2cMcuDeInit( I2c_t *obj );
-
-/*!
- * \brief Write several data to the I2C device
- *
- * \param [IN] obj I2C object
- * \param [IN] deviceAddr device address
- * \param [IN] addr register address
- * \param [IN] buffer data buffer to write
- * \param [IN] size number of data byte to write
- */
-uint8_t I2cMcuWriteBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size );
-
-/*!
- * \brief Read several data byte from the I2C device
- *
- * \param [IN] obj I2C object
- * \param [IN] deviceAddr device address
- * \param [IN] addr register address
- * \param [IN] buffer data buffer used to store the data read
- * \param [IN] size number of data byte to read
- */
-uint8_t I2cMcuReadBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size );
-
-/*!
- * \brief Waits until the given device is in standby mode
- *
- * \param [IN] obj I2C object
- * \param [IN] deviceAddr device address
- */
-uint8_t I2cMcuWaitStandbyState( I2c_t *obj, uint8_t deviceAddr );
-
-/*!
- * \brief Sets the internal device address size
- *
- * \param [IN] obj I2C object
- * \param [IN] addrSize Internal address size
- */
-void I2cSetAddrSize( I2c_t *obj, I2cAddrSize addrSize );
-
-#endif // __I2C_MCU_H__
diff --git a/src/boards/Bleeper-72/pinName-board.h b/src/boards/Bleeper-72/pinName-board.h
deleted file mode 100644
index 4a66023bb..000000000
--- a/src/boards/Bleeper-72/pinName-board.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper STM32L151RD microcontroller pins definition
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __PIN_NAME_MCU_H__
-#define __PIN_NAME_MCU_H__
-
-/*!
- * STM32 Pin Names
- */
-#define MCU_PINS \
- 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, \
- 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, \
- 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, \
- 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, \
- 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, \
- 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, \
- 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
-
-#endif // __PIN_NAME_MCU_H__
diff --git a/src/boards/Bleeper-72/pinName-ioe.h b/src/boards/Bleeper-72/pinName-ioe.h
deleted file mode 100644
index 531100ab9..000000000
--- a/src/boards/Bleeper-72/pinName-ioe.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper STM32L151RD microcontroller pins definition
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __PIN_NAME_IOE_H__
-#define __PIN_NAME_IOE_H__
-
-// SX1509 Pin Names
-#define IOE_PINS \
- IOE_0, IOE_1, IOE_2, IOE_3, IOE_4, IOE_5, IOE_6, IOE_7, \
- IOE_8, IOE_9, IOE_10, IOE_11, IOE_12, IOE_13, IOE_14, IOE_15
-#endif // __PIN_NAME_IOE_H__
diff --git a/src/boards/Bleeper-72/rtc-board.c b/src/boards/Bleeper-72/rtc-board.c
deleted file mode 100644
index d58622057..000000000
--- a/src/boards/Bleeper-72/rtc-board.c
+++ /dev/null
@@ -1,557 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: MCU RTC timer and low power modes management
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-#include "rtc-board.h"
-
-/*!
- * RTC Time base in us
- */
-#define RTC_ALARM_TIME_BASE 122.07
-
-/*!
- * MCU Wake Up Time
- */
-#define MCU_WAKE_UP_TIME 3400
-
-/*!
- * \brief Configure the Rtc hardware
- */
-static void RtcSetConfig( void );
-
-/*!
- * \brief Configure the Rtc Alarm
- */
-static void RtcSetAlarmConfig( void );
-
-/*!
- * \brief Start the Rtc Alarm (time base 1s)
- */
-static void RtcStartWakeUpAlarm( uint32_t timeoutValue );
-
-/*!
- * \brief Read the MCU internal Calendar value
- *
- * \retval Calendar value
- */
-static TimerTime_t RtcGetCalendarValue( void );
-
-/*!
- * \brief Clear the RTC flags and Stop all IRQs
- */
-static void RtcClearStatus( void );
-
-/*!
- * \brief Indicates if the RTC is already Initalized or not
- */
-static bool RtcInitalized = false;
-
-/*!
- * \brief Flag to indicate if the timestamps until the next event is long enough
- * to set the MCU into low power mode
- */
-static bool RtcTimerEventAllowsLowPower = false;
-
-/*!
- * \brief Flag to disable the LowPower Mode even if the timestamps until the
- * next event is long enough to allow Low Power mode
- */
-static bool LowPowerDisableDuringTask = false;
-
-/*!
- * Keep the value of the RTC timer when the RTC alarm is set
- */
-static TimerTime_t RtcTimerContext = 0;
-
-/*!
- * Number of seconds in a minute
- */
-static const uint8_t SecondsInMinute = 60;
-
-/*!
- * Number of seconds in an hour
- */
-static const uint16_t SecondsInHour = 3600;
-
-/*!
- * Number of seconds in a day
- */
-static const uint32_t SecondsInDay = 86400;
-
-/*!
- * Number of hours in a day
- */
-static const uint8_t HoursInDay = 24;
-
-/*!
- * Number of days in a standard year
- */
-static const uint16_t DaysInYear = 365;
-
-/*!
- * Number of days in a leap year
- */
-static const uint16_t DaysInLeapYear = 366;
-
-/*!
- * Number of days in a century
- */
-static const double DaysInCentury = 36524.219;
-
-/*!
- * Number of days in each month on a normal year
- */
-static const uint8_t DaysInMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-
-/*!
- * Number of days in each month on a leap year
- */
-static const uint8_t DaysInMonthLeapYear[] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-
-/*!
- * Hold the previous year value to detect the turn of a century
- */
-static uint8_t PreviousYear = 0;
-
-/*!
- * Century counter
- */
-static uint8_t Century = 0;
-
-void RtcInit( void )
-{
- if( RtcInitalized == false )
- {
- RtcSetConfig( );
- RtcSetAlarmConfig( );
- RtcInitalized = true;
- }
-}
-
-static void RtcSetConfig( void )
-{
- RTC_InitTypeDef RTC_InitStructure;
- RTC_TimeTypeDef RTC_TimeStruct;
- RTC_DateTypeDef RTC_DateStruct;
-
- /* Enable the PWR clock */
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR, ENABLE );
-
- /* Allow access to RTC */
- PWR_RTCAccessCmd( ENABLE );
-
- /* Reset RTC Domain */
- RCC_RTCResetCmd( ENABLE );
- RCC_RTCResetCmd( DISABLE );
-
- /* Enable the LSE OSC */
- RCC_LSEConfig( RCC_LSE_ON );
-
- /* Wait till LSE is ready */
- while( RCC_GetFlagStatus( RCC_FLAG_LSERDY ) == RESET )
- {}
-
- /* Select the RTC Clock Source */
- RCC_RTCCLKConfig( RCC_RTCCLKSource_LSE );
-
- /* Enable the RTC Clock */
- RCC_RTCCLKCmd( ENABLE );
-
- RTC_TimeStructInit( &RTC_TimeStruct );
- RTC_DateStructInit( &RTC_DateStruct );
-
- RTC_SetDate( RTC_Format_BIN, &RTC_DateStruct );
- RTC_SetTime( RTC_Format_BIN, &RTC_TimeStruct );
-
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro( );
-
- /* Configure the RTC data register and RTC prescaler */
- RTC_InitStructure.RTC_AsynchPrediv = 0x01;
- RTC_InitStructure.RTC_SynchPrediv = 0x01;
- RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24;
- RTC_Init( &RTC_InitStructure );
-
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro( );
-}
-
-static void RtcSetAlarmConfig( void )
-{
- EXTI_InitTypeDef EXTI_InitStructure;
- RTC_AlarmTypeDef RTC_AlarmStructure;
- NVIC_InitTypeDef NVIC_InitStructure;
-
- /* EXTI configuration */
- EXTI_ClearITPendingBit( EXTI_Line17 );
- EXTI_InitStructure.EXTI_Line = EXTI_Line17;
- EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
- EXTI_InitStructure.EXTI_LineCmd = ENABLE;
- EXTI_Init( &EXTI_InitStructure );
-
- /* Enable the RTC Alarm Interrupt */
- NVIC_InitStructure.NVIC_IRQChannel = RTC_Alarm_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init( &NVIC_InitStructure );
-
- /* Set the alarmA Masks */
- RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_DateWeekDay;
- RTC_SetAlarm( RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure );
-
- /* Enable AlarmA interrupt */
- RTC_ITConfig( RTC_IT_ALRA, DISABLE );
-
- /* Enable the alarmA */
- RTC_AlarmCmd( RTC_Alarm_A, DISABLE );
-}
-
-void RtcStopTimer( void )
-{
- RtcClearStatus( );
-}
-
-uint32_t RtcGetMinimumTimeout( void )
-{
- return( ceil( 3 * RTC_ALARM_TIME_BASE ) );
-}
-
-void RtcSetTimeout( uint32_t timeout )
-{
- uint32_t timeoutValue = 0;
-
- timeoutValue = timeout;
-
- if( timeoutValue < ( 3 * RTC_ALARM_TIME_BASE ) )
- {
- timeoutValue = 3 * RTC_ALARM_TIME_BASE;
- }
-
- if( timeoutValue < 55000 )
- {
- // we don't go in Low Power mode for delay below 50ms (needed for LEDs)
- RtcTimerEventAllowsLowPower = false;
- }
- else
- {
- RtcTimerEventAllowsLowPower = true;
- }
-
- if( ( LowPowerDisableDuringTask == false ) && ( RtcTimerEventAllowsLowPower == true ) )
- {
- timeoutValue = timeoutValue - MCU_WAKE_UP_TIME;
- }
-
- RtcStartWakeUpAlarm( timeoutValue );
-}
-
-
-uint32_t RtcGetTimerElapsedTime( void )
-{
- TimerTime_t CalendarValue = 0;
-
- CalendarValue = RtcGetCalendarValue( );
-
- return( ( uint32_t )( ceil ( ( ( CalendarValue - RtcTimerContext ) + 2 ) * RTC_ALARM_TIME_BASE ) ) );
-}
-
-TimerTime_t RtcGetTimerValue( void )
-{
- TimerTime_t CalendarValue = 0;
-
- CalendarValue = RtcGetCalendarValue( );
-
- return( ( CalendarValue + 2 ) * RTC_ALARM_TIME_BASE );
-}
-
-static void RtcClearStatus( void )
-{
- /* Clear RTC Alarm Flag */
- RTC_ClearFlag(RTC_FLAG_ALRAF);
-
- /* Enable RTC Alarm A Interrupt */
- RTC_ITConfig( RTC_IT_ALRA, DISABLE );
-
- /* Enable the Alarm A */
- RTC_AlarmCmd( RTC_Alarm_A, DISABLE );
-}
-
-static void RtcStartWakeUpAlarm( uint32_t timeoutValue )
-{
- uint16_t rtcSeconds = 0;
- uint16_t rtcMinutes = 0;
- uint16_t rtcHours = 0;
- uint16_t rtcDays = 0;
-
- uint8_t rtcAlarmSeconds = 0;
- uint8_t rtcAlarmMinutes = 0;
- uint8_t rtcAlarmHours = 0;
- uint16_t rtcAlarmDays = 0;
-
- RTC_AlarmTypeDef RTC_AlarmStructure;
- RTC_TimeTypeDef RTC_TimeStruct;
- RTC_DateTypeDef RTC_DateStruct;
-
- RtcClearStatus( );
-
- RtcTimerContext = RtcGetCalendarValue( );
- RTC_GetTime( RTC_Format_BIN, &RTC_TimeStruct );
- RTC_GetDate( RTC_Format_BIN, &RTC_DateStruct );
-
- timeoutValue = timeoutValue / RTC_ALARM_TIME_BASE;
-
- if( timeoutValue > 2160000 ) // 25 "days" in tick
- { // drastically reduce the computation time
- rtcAlarmSeconds = RTC_TimeStruct.RTC_Seconds;
- rtcAlarmMinutes = RTC_TimeStruct.RTC_Minutes;
- rtcAlarmHours = RTC_TimeStruct.RTC_Hours;
- rtcAlarmDays = 25 + RTC_DateStruct.RTC_Date; // simply add 25 days to current date and time
-
- if( ( RTC_DateStruct.RTC_Year == 0 ) || ( RTC_DateStruct.RTC_Year % 4 == 0 ) )
- {
- if( rtcAlarmDays > DaysInMonthLeapYear[ RTC_DateStruct.RTC_Month - 1 ] )
- {
- rtcAlarmDays = rtcAlarmDays % DaysInMonthLeapYear[ RTC_DateStruct.RTC_Month - 1];
- }
- }
- else
- {
- if( rtcAlarmDays > DaysInMonth[ RTC_DateStruct.RTC_Month - 1 ] )
- {
- rtcAlarmDays = rtcAlarmDays % DaysInMonth[ RTC_DateStruct.RTC_Month - 1];
- }
- }
- }
- else
- {
- rtcSeconds = ( timeoutValue % SecondsInMinute ) + RTC_TimeStruct.RTC_Seconds;
- rtcMinutes = ( ( timeoutValue / SecondsInMinute ) % SecondsInMinute ) + RTC_TimeStruct.RTC_Minutes;
- rtcHours = ( ( timeoutValue / SecondsInHour ) % HoursInDay ) + RTC_TimeStruct.RTC_Hours;
- rtcDays = ( timeoutValue / SecondsInDay ) + RTC_DateStruct.RTC_Date;
-
- rtcAlarmSeconds = ( rtcSeconds ) % 60;
- rtcAlarmMinutes = ( ( rtcSeconds / 60 ) + rtcMinutes ) % 60;
- rtcAlarmHours = ( ( ( ( rtcSeconds / 60 ) + rtcMinutes ) / 60 ) + rtcHours ) % 24;
- rtcAlarmDays = ( ( ( ( ( rtcSeconds / 60 ) + rtcMinutes ) / 60 ) + rtcHours ) / 24 ) + rtcDays;
-
- if( ( RTC_DateStruct.RTC_Year == 0 ) || ( RTC_DateStruct.RTC_Year % 4 == 0 ) )
- {
- if( rtcAlarmDays > DaysInMonthLeapYear[ RTC_DateStruct.RTC_Month - 1 ] )
- {
- rtcAlarmDays = rtcAlarmDays % DaysInMonthLeapYear[ RTC_DateStruct.RTC_Month - 1 ];
- }
- }
- else
- {
- if( rtcAlarmDays > DaysInMonth[ RTC_DateStruct.RTC_Month - 1 ] )
- {
- rtcAlarmDays = rtcAlarmDays % DaysInMonth[ RTC_DateStruct.RTC_Month - 1 ];
- }
- }
- }
-
- RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = rtcAlarmSeconds;
- RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = rtcAlarmMinutes;
- RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours = rtcAlarmHours;
- RTC_AlarmStructure.RTC_AlarmDateWeekDay = ( uint8_t )rtcAlarmDays;
- RTC_AlarmStructure.RTC_AlarmTime.RTC_H12 = RTC_TimeStruct.RTC_H12;
- RTC_AlarmStructure.RTC_AlarmDateWeekDaySel = RTC_AlarmDateWeekDaySel_Date;
- RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_None;
- RTC_SetAlarm( RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure );
-
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro( );
-
- /* Enable RTC Alarm A Interrupt */
- RTC_ITConfig( RTC_IT_ALRA, ENABLE );
-
- /* Enable the Alarm A */
- RTC_AlarmCmd( RTC_Alarm_A, ENABLE );
-}
-
-void RtcEnterLowPowerStopMode( void )
-{
- if( ( LowPowerDisableDuringTask == false ) && ( RtcTimerEventAllowsLowPower == true ) )
- {
- // Disable IRQ while the MCU is being deinitialized to prevent race issues
- __disable_irq( );
-
- BoardDeInitMcu( );
-
- __enable_irq( );
-
- /* Disable the Power Voltage Detector */
- PWR_PVDCmd( DISABLE );
-
- /* Set MCU in ULP (Ultra Low Power) */
- PWR_UltraLowPowerCmd( ENABLE );
-
- /*Disable fast wakeUp*/
- PWR_FastWakeUpCmd( DISABLE );
-
- /* Enter Stop Mode */
- PWR_EnterSTOPMode( PWR_Regulator_LowPower, PWR_STOPEntry_WFI );
- }
-}
-
-void RtcRecoverMcuStatus( void )
-{
- if( TimerGetLowPowerEnable( ) == true )
- {
- if( ( LowPowerDisableDuringTask == false ) && ( RtcTimerEventAllowsLowPower == true ) )
- {
- // Disable IRQ while the MCU is not running on HSE
- __disable_irq( );
-
- /* After wake-up from STOP reconfigure the system clock */
- /* Enable HSE */
- RCC_HSEConfig( RCC_HSE_ON );
-
- /* Wait till HSE is ready */
- while( RCC_GetFlagStatus( RCC_FLAG_HSERDY ) == RESET )
- {}
-
- /* Enable PLL */
- RCC_PLLCmd( ENABLE );
-
- /* Wait till PLL is ready */
- while( RCC_GetFlagStatus( RCC_FLAG_PLLRDY ) == RESET )
- {}
-
- /* Select PLL as system clock source */
- RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK );
-
- /* Wait till PLL is used as system clock source */
- while( RCC_GetSYSCLKSource( ) != 0x0C )
- {}
-
- /* Set MCU in ULP (Ultra Low Power) */
- PWR_UltraLowPowerCmd( DISABLE ); // add up to 3ms wakeup time
-
- /* Enable the Power Voltage Detector */
- PWR_PVDCmd( ENABLE );
-
- BoardInitMcu( );
-
- __enable_irq( );
- }
- }
-}
-
-/*!
- * \brief RTC IRQ Handler on the RTC Alarm
- */
-void RTC_Alarm_IRQHandler( void )
-{
- if( RTC_GetITStatus( RTC_IT_ALRA ) != RESET )
- {
- RtcRecoverMcuStatus( );
-
- TimerIrqHandler( );
-
- RTC_ClearITPendingBit( RTC_IT_ALRA );
- EXTI_ClearITPendingBit( EXTI_Line17 );
- }
-}
-
-void BlockLowPowerDuringTask( bool status )
-{
- if( status == true )
- {
- RtcRecoverMcuStatus( );
- }
- LowPowerDisableDuringTask = status;
-}
-
-void RtcDelayMs( uint32_t delay )
-{
- TimerTime_t delayValue = 0;
- TimerTime_t timeout = 0;
-
- delayValue = ( TimerTime_t )( delay * 1000 );
-
- // Wait delay ms
- timeout = RtcGetTimerValue( );
- while( ( ( RtcGetTimerValue( ) - timeout ) ) < delayValue )
- {
- __NOP( );
- }
-}
-
-TimerTime_t RtcGetCalendarValue( void )
-{
- TimerTime_t calendarValue = 0;
- uint8_t i = 0;
-
- RTC_TimeTypeDef RTC_TimeStruct;
- RTC_DateTypeDef RTC_DateStruct;
-
- RTC_GetTime( RTC_Format_BIN, &RTC_TimeStruct );
- RTC_GetDate( RTC_Format_BIN, &RTC_DateStruct );
-
- RTC_WaitForSynchro( );
-
- if( ( PreviousYear == 99 ) && ( RTC_DateStruct.RTC_Year == 0 ) )
- {
- Century++;
- }
- PreviousYear = RTC_DateStruct.RTC_Year;
-
- // century
- for( i = 0; i < Century; i++ )
- {
- calendarValue += ( TimerTime_t )( DaysInCentury * SecondsInDay );
- }
-
- // years
- for( i = 0; i < RTC_DateStruct.RTC_Year; i++ )
- {
- if( ( i == 0 ) || ( i % 4 == 0 ) )
- {
- calendarValue += DaysInLeapYear * SecondsInDay;
- }
- else
- {
- calendarValue += DaysInYear * SecondsInDay;
- }
- }
-
- // months
- if( ( RTC_DateStruct.RTC_Year == 0 ) || ( RTC_DateStruct.RTC_Year % 4 == 0 ) )
- {
- for( i = 0; i < ( RTC_DateStruct.RTC_Month - 1 ); i++ )
- {
- calendarValue += DaysInMonthLeapYear[i] * SecondsInDay;
- }
- }
- else
- {
- for( i = 0; i < ( RTC_DateStruct.RTC_Month - 1 ); i++ )
- {
- calendarValue += DaysInMonth[i] * SecondsInDay;
- }
- }
-
- // days
- calendarValue += ( ( uint32_t )RTC_TimeStruct.RTC_Seconds +
- ( ( uint32_t )RTC_TimeStruct.RTC_Minutes * SecondsInMinute ) +
- ( ( uint32_t )RTC_TimeStruct.RTC_Hours * SecondsInHour ) +
- ( ( uint32_t )( RTC_DateStruct.RTC_Date * SecondsInDay ) ) );
-
- return( calendarValue );
-}
diff --git a/src/boards/Bleeper-72/rtc-board.h b/src/boards/Bleeper-72/rtc-board.h
deleted file mode 100644
index 429d6e38e..000000000
--- a/src/boards/Bleeper-72/rtc-board.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: MCU RTC timer and low power modes management
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __RTC_BOARD_H__
-#define __RTC_BOARD_H__
-
-/*!
- * \brief Timer time variable definition
- */
-#ifndef TimerTime_t
-typedef uint64_t TimerTime_t;
-#endif
-
-/*!
- * \brief Initializes the RTC timer
- *
- * \remark The timer is based on the RTC
- */
-void RtcInit( void );
-
-/*!
- * \brief Stop the RTC Timer
- */
-void RtcStopTimer( void );
-
-/*!
- * \brief Return the minimum timeout the RTC is able to handle
- *
- * \retval minimum value for a timeout
- */
-uint32_t RtcGetMinimumTimeout( void );
-
-/*!
- * \brief Start the RTC timer
- *
- * \remark The timer is based on the RTC Alarm running at 32.768KHz
- *
- * \param[IN] timeout Duration of the Timer
- */
-void RtcSetTimeout( uint32_t timeout );
-
-/*!
- * \brief Get the RTC timer value
- *
- * \retval RTC Timer value
- */
-TimerTime_t RtcGetTimerValue( void );
-
-/*!
- * \brief Get the RTC timer elapsed time since the last Alarm was set
- *
- * \retval RTC Elapsed time since the last alarm
- */
-uint32_t RtcGetTimerElapsedTime( void );
-
-/*!
- * \brief This function block the MCU from going into Low Power mode
- *
- * \param [IN] Status enable or disable
- */
-void BlockLowPowerDuringTask ( bool Status );
-
-/*!
- * \brief Sets the MCU in low power STOP mode
- */
-void RtcEnterLowPowerStopMode( void );
-
-/*!
- * \brief Restore the MCU to its normal operation mode
- */
-void RtcRecoverMcuStatus( void );
-
-/*!
- * \brief Perfoms a standard blocking delay in the code execution
- *
- * \param [IN] delay Delay value in ms
- */
-void RtcDelayMs ( uint32_t delay );
-
-#endif // __RTC_BOARD_H__
diff --git a/src/boards/Bleeper-72/spi-board.c b/src/boards/Bleeper-72/spi-board.c
deleted file mode 100644
index 167d77fae..000000000
--- a/src/boards/Bleeper-72/spi-board.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board SPI driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-#include "spi-board.h"
-#include "stm32l1xx_spi.h"
-#include "stm32l1xx_gpio.h"
-
-/*!
- * \brief Find First Set
- * This function identifies the least significant index or position of the
- * bits set to one in the word
- *
- * \param [in] value Value to find least significant index
- * \retval bitIndex Index of least significat bit at one
- */
-__STATIC_INLINE uint8_t __ffs( uint32_t value )
-{
- return( uint32_t )( 32 - __CLZ( value & ( -value ) ) );
-}
-
-/*!
- * MCU SPI peripherals enumeration
- */
-typedef enum {
- SPI_1 = ( uint32_t )SPI1_BASE,
- SPI_2 = ( uint32_t )SPI2_BASE,
- SPI_3 = ( uint32_t )SPI3_BASE,
-} SPIName;
-
-SPI_InitTypeDef SPI_InitStructure;
-
-void SpiInit( Spi_t *obj, PinNames mosi, PinNames miso, PinNames sclk, PinNames nss )
-{
- GpioInit( &obj->Mosi, mosi, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
- GpioInit( &obj->Miso, miso, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
- GpioInit( &obj->Sclk, sclk, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
-
- // TODO: Make independent of stm32l1xx_gpio.h
- GPIO_PinAFConfig( obj->Mosi.port, ( obj->Mosi.pin & 0x0F ), GPIO_AF_SPI1 );
- GPIO_PinAFConfig( obj->Miso.port, ( obj->Miso.pin & 0x0F ), GPIO_AF_SPI1 );
- GPIO_PinAFConfig( obj->Sclk.port, ( obj->Sclk.pin & 0x0F ), GPIO_AF_SPI1 );
-
- if( nss != NC )
- {
- GpioInit( &obj->Nss, nss, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
- // TODO: Make independent of stm32l1xx_gpio.h
- GPIO_PinAFConfig( obj->Nss.port, ( obj->Nss.pin & 0x0F ), GPIO_AF_SPI1 );
- }
- else
- {
- SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
- }
-
- // Choose SPI interface according to the given pins
- obj->Spi = ( SPI_TypeDef* )SPI1_BASE;
- RCC_APB2PeriphClockCmd( RCC_APB2Periph_SPI1, ENABLE );
-
- if( nss == NC )
- {
- // 8 bits, CPOL = 0, CPHA = 0, MASTER
- SpiFormat( obj, 8, 0, 0, 0 );
- }
- else
- {
- // 8 bits, CPOL = 0, CPHA = 0, SLAVE
- SpiFormat( obj, 8, 0, 0, 1 );
- }
- SpiFrequency( obj, 10000000 );
-
- SPI_Cmd( obj->Spi, ENABLE );
-}
-
-void SpiDeInit( Spi_t *obj )
-{
- SPI_Cmd( obj->Spi, DISABLE );
- SPI_I2S_DeInit( obj->Spi );
-
- GpioInit( &obj->Mosi, obj->Mosi.pin, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &obj->Miso, obj->Miso.pin, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
- GpioInit( &obj->Sclk, obj->Sclk.pin, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &obj->Nss, obj->Nss.pin, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
-
-}
-
-void SpiFormat( Spi_t *obj, int8_t bits, int8_t cpol, int8_t cpha, int8_t slave )
-{
- SPI_Cmd( obj->Spi, DISABLE );
-
- if( ( ( ( bits == 8 ) || ( bits == 16 ) ) == false ) ||
- ( ( ( cpol >= 0 ) && ( cpol <= 1 ) ) == false ) ||
- ( ( ( cpha >= 0 ) && ( cpha <= 1 ) ) == false ) )
- {
- // SPI error
- while( 1 );
- }
-
- SPI_InitStructure.SPI_Mode = ( slave == 0x01 ) ? SPI_Mode_Slave : SPI_Mode_Master;
- SPI_InitStructure.SPI_CPOL = ( cpol == 0x01 ) ? SPI_CPOL_High : SPI_CPOL_Low;
- SPI_InitStructure.SPI_CPHA = ( cpha == 0x01 ) ? SPI_CPHA_2Edge : SPI_CPHA_1Edge;
- SPI_InitStructure.SPI_DataSize = ( bits == 8 ) ? SPI_DataSize_8b : SPI_DataSize_16b;
- SPI_Init( obj->Spi, &SPI_InitStructure );
-
- SPI_Cmd( obj->Spi, ENABLE );
-}
-
-void SpiFrequency( Spi_t *obj, uint32_t hz )
-{
- uint32_t divisor;
-
- SPI_Cmd( obj->Spi, DISABLE );
-
- divisor = SystemCoreClock / hz;
-
- // Find the nearest power-of-2
- divisor = divisor > 0 ? divisor-1 : 0;
- divisor |= divisor >> 1;
- divisor |= divisor >> 2;
- divisor |= divisor >> 4;
- divisor |= divisor >> 8;
- divisor |= divisor >> 16;
- divisor++;
-
- divisor = __ffs( divisor ) - 1;
-
- divisor = ( divisor > 0x07 ) ? 0x07 : divisor;
-
- SPI_InitStructure.SPI_BaudRatePrescaler = divisor << 3;
- SPI_Init( obj->Spi, &SPI_InitStructure );
-
- SPI_Cmd( obj->Spi, ENABLE );
-}
-
-uint16_t SpiInOut( Spi_t *obj, uint16_t outData )
-{
- if( ( obj == NULL ) || ( obj->Spi ) == NULL )
- {
- while( 1 );
- }
-
- while( SPI_I2S_GetFlagStatus( obj->Spi, SPI_I2S_FLAG_TXE ) == RESET );
- SPI_I2S_SendData( obj->Spi, outData );
- while( SPI_I2S_GetFlagStatus( obj->Spi, SPI_I2S_FLAG_RXNE ) == RESET );
- return SPI_I2S_ReceiveData( obj->Spi );
-}
-
diff --git a/src/boards/Bleeper-72/spi-board.h b/src/boards/Bleeper-72/spi-board.h
deleted file mode 100644
index 0dfbc8408..000000000
--- a/src/boards/Bleeper-72/spi-board.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board SPI driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __SPI_MCU_H__
-#define __SPI_MCU_H__
-
-/*!
- * SPI driver structure definition
- */
-struct Spi_s
-{
- SPI_TypeDef *Spi;
- Gpio_t Mosi;
- Gpio_t Miso;
- Gpio_t Sclk;
- Gpio_t Nss;
-};
-
-#endif // __SPI_MCU_H__
diff --git a/src/boards/Bleeper-72/sx1272-board.c b/src/boards/Bleeper-72/sx1272-board.c
deleted file mode 100644
index e6bac05ea..000000000
--- a/src/boards/Bleeper-72/sx1272-board.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: SX1272 driver specific target board functions implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-#include "radio.h"
-#include "sx1272/sx1272.h"
-#include "sx1272-board.h"
-
-/*!
- * Flag used to set the RF switch control pins in low power mode when the radio is not active.
- */
-static bool RadioIsActive = false;
-
-/*!
- * Radio driver structure initialization
- */
-const struct Radio_s Radio =
-{
- SX1272Init,
- SX1272GetStatus,
- SX1272SetModem,
- SX1272SetChannel,
- SX1272IsChannelFree,
- SX1272Random,
- SX1272SetRxConfig,
- SX1272SetTxConfig,
- SX1272CheckRfFrequency,
- SX1272GetTimeOnAir,
- SX1272Send,
- SX1272SetSleep,
- SX1272SetStby,
- SX1272SetRx,
- SX1272StartCad,
- SX1272ReadRssi,
- SX1272Write,
- SX1272Read,
- SX1272WriteBuffer,
- SX1272ReadBuffer,
- SX1272SetMaxPayloadLength
-};
-
-/*!
- * Antenna switch GPIO pins objects
- */
-Gpio_t AntRx;
-Gpio_t AntTx;
-
-void SX1272IoInit( void )
-{
- GpioInit( &SX1272.Spi.Nss, RADIO_NSS, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
-
- GpioInit( &SX1272.DIO0, RADIO_DIO_0, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1272.DIO1, RADIO_DIO_1, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1272.DIO2, RADIO_DIO_2, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1272.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1272.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1272.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
-}
-
-void SX1272IoIrqInit( DioIrqHandler **irqHandlers )
-{
- GpioSetInterrupt( &SX1272.DIO0, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[0] );
- GpioSetInterrupt( &SX1272.DIO1, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[1] );
- GpioSetInterrupt( &SX1272.DIO2, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[2] );
- GpioSetInterrupt( &SX1272.DIO3, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[3] );
- GpioSetInterrupt( &SX1272.DIO4, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[4] );
- GpioSetInterrupt( &SX1272.DIO5, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[5] );
-}
-
-void SX1272IoDeInit( void )
-{
- GpioInit( &SX1272.Spi.Nss, RADIO_NSS, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
-
- GpioInit( &SX1272.DIO0, RADIO_DIO_0, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1272.DIO1, RADIO_DIO_1, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1272.DIO2, RADIO_DIO_2, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1272.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1272.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1272.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-}
-
-uint8_t SX1272GetPaSelect( uint32_t channel )
-{
- return RF_PACONFIG_PASELECT_RFO;
-}
-
-void SX1272SetAntSwLowPower( bool status )
-{
- if( RadioIsActive != status )
- {
- RadioIsActive = status;
-
- if( status == false )
- {
- SX1272AntSwInit( );
- }
- else
- {
- SX1272AntSwDeInit( );
- }
- }
-}
-
-void SX1272AntSwInit( void )
-{
- GpioInit( &AntTx, RADIO_ANT_SWITCH_TX, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &AntRx, RADIO_ANT_SWITCH_RX, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
-}
-
-void SX1272AntSwDeInit( void )
-{
- GpioInit( &AntTx, RADIO_ANT_SWITCH_TX, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &AntRx, RADIO_ANT_SWITCH_RX, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-}
-
-void SX1272SetAntSw( uint8_t rxTx )
-{
- if( SX1272.RxTx == rxTx )
- {
- return;
- }
-
- SX1272.RxTx = rxTx;
-
- if( rxTx != 0 ) // 1: TX, 0: RX
- {
- GpioWrite( &AntRx, 0 );
- GpioWrite( &AntTx, 1 );
- }
- else
- {
- GpioWrite( &AntRx, 1 );
- GpioWrite( &AntTx, 0 );
- }
-}
-
-bool SX1272CheckRfFrequency( uint32_t frequency )
-{
- // Implement check. Currently all frequencies are supportted
- return true;
-}
diff --git a/src/boards/Bleeper-72/sx1272-board.h b/src/boards/Bleeper-72/sx1272-board.h
deleted file mode 100644
index e5272e65b..000000000
--- a/src/boards/Bleeper-72/sx1272-board.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: SX1272 driver specific target board functions implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __SX1272_ARCH_H__
-#define __SX1272_ARCH_H__
-
-/*!
- * \brief Radio hardware registers initialization definition
- *
- * \remark Can be automatically generated by the SX1272 GUI (not yet implemented)
- */
-#define RADIO_INIT_REGISTERS_VALUE \
-{ \
- { MODEM_FSK , REG_LNA , 0x23 },\
- { MODEM_FSK , REG_RXCONFIG , 0x1E },\
- { MODEM_FSK , REG_RSSICONFIG , 0xD2 },\
- { MODEM_FSK , REG_PREAMBLEDETECT , 0xAA },\
- { MODEM_FSK , REG_OSC , 0x07 },\
- { MODEM_FSK , REG_SYNCCONFIG , 0x12 },\
- { MODEM_FSK , REG_SYNCVALUE1 , 0xC1 },\
- { MODEM_FSK , REG_SYNCVALUE2 , 0x94 },\
- { MODEM_FSK , REG_SYNCVALUE3 , 0xC1 },\
- { MODEM_FSK , REG_PACKETCONFIG1 , 0xD8 },\
- { MODEM_FSK , REG_FIFOTHRESH , 0x8F },\
- { MODEM_FSK , REG_IMAGECAL , 0x02 },\
- { MODEM_FSK , REG_DIOMAPPING1 , 0x00 },\
- { MODEM_FSK , REG_DIOMAPPING2 , 0x30 },\
- { MODEM_LORA, REG_LR_DETECTOPTIMIZE , 0x43 },\
- { MODEM_LORA, REG_LR_PAYLOADMAXLENGTH, 0x40 },\
-} \
-
-/*!
- * \brief Initializes the radio I/Os pins interface
- */
-void SX1272IoInit( void );
-
-/*!
- * \brief Initializes DIO IRQ handlers
- *
- * \param [IN] irqHandlers Array containing the IRQ callback functions
- */
-void SX1272IoIrqInit( DioIrqHandler **irqHandlers );
-
-/*!
- * \brief De-initializes the radio I/Os pins interface.
- *
- * \remark Useful when going in MCU lowpower modes
- */
-void SX1272IoDeInit( void );
-
-/*!
- * \brief Gets the board PA selection configuration
- *
- * \param [IN] channel Channel frequency in Hz
- * \retval PaSelect RegPaConfig PaSelect value
- */
-uint8_t SX1272GetPaSelect( uint32_t channel );
-
-/*!
- * \brief Set the RF Switch I/Os pins in Low Power mode
- *
- * \param [IN] status enable or disable
- */
-void SX1272SetAntSwLowPower( bool status );
-
-/*!
- * \brief Initializes the RF Switch I/Os pins interface
- */
-void SX1272AntSwInit( void );
-
-/*!
- * \brief De-initializes the RF Switch I/Os pins interface
- *
- * \remark Needed to decrease the power consumption in MCU lowpower modes
- */
-void SX1272AntSwDeInit( void );
-
-/*!
- * \brief Controls the antena switch if necessary.
- *
- * \remark see errata note
- *
- * \param [IN] rxTx [1: Tx, 0: Rx]
- */
-void SX1272SetAntSw( uint8_t rxTx );
-
-/*!
- * \brief Checks if the given RF frequency is supported by the hardware
- *
- * \param [IN] frequency RF frequency to be checked
- * \retval isSupported [true: supported, false: unsupported]
- */
-bool SX1272CheckRfFrequency( uint32_t frequency );
-
-/*!
- * Radio hardware and global parameters
- */
-extern SX1272_t SX1272;
-
-#endif // __SX1272_ARCH_H__
diff --git a/src/boards/Bleeper-72/timer-board.c b/src/boards/Bleeper-72/timer-board.c
deleted file mode 100644
index 84724e99c..000000000
--- a/src/boards/Bleeper-72/timer-board.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: MCU RTC timer and low power modes management
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include "board.h"
-#include "timer-board.h"
-
-/*!
- * Hardware Time base in us
- */
-#define HW_TIMER_TIME_BASE 100 //us
-
-/*!
- * Hardware Timer tick counter
- */
-volatile TimerTime_t TimerTickCounter = 1;
-
-/*!
- * Saved value of the Tick counter at the start of the next event
- */
-static TimerTime_t TimerTickCounterContext = 0;
-
-/*!
- * Value trigging the IRQ
- */
-volatile TimerTime_t TimeoutCntValue = 0;
-
-/*!
- * Increment the Hardware Timer tick counter
- */
-void TimerIncrementTickCounter( void );
-
-/*!
- * Counter used for the Delay operations
- */
-volatile uint32_t TimerDelayCounter = 0;
-
-/*!
- * Return the value of the counter used for a Delay
- */
-uint32_t TimerHwGetDelayValue( void );
-
-/*!
- * Increment the value of TimerDelayCounter
- */
-void TimerIncrementDelayCounter( void );
-
-
-void TimerHwInit( void )
-{
- NVIC_InitTypeDef NVIC_InitStructure;
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
-
- /* TIM2 clock enable */
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_TIM2, ENABLE );
-
- /* --------------------------NVIC Configuration -------------------------------*/
- /* Enable the TIM2 gloabal Interrupt */
- NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
-
- NVIC_Init( &NVIC_InitStructure );
-
- TimeoutCntValue = 0;
-
- /* Time base configuration */
- TIM_TimeBaseStructure.TIM_Period = 3199;
- TIM_TimeBaseStructure.TIM_Prescaler = 0;
- TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseInit( TIM2, &TIM_TimeBaseStructure );
-
- TIM_ITConfig( TIM2, TIM_IT_Update, ENABLE );
-
- /* TIM2 disable counter */
- TIM_Cmd( TIM2, ENABLE );
-
- /* TIM3 clock enable */
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_TIM3, ENABLE );
-
- /* --------------------------NVIC Configuration -------------------------------*/
- /* Enable the TIM3 gloabal Interrupt */
- NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
-
- NVIC_Init( &NVIC_InitStructure );
-
- /* Time base configuration */
- TIM_TimeBaseStructure.TIM_Period = 3199;
- TIM_TimeBaseStructure.TIM_Prescaler = 10;
- TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseInit( TIM3, &TIM_TimeBaseStructure );
-
- TIM_ITConfig( TIM3, TIM_IT_Update, DISABLE );
-
- /* TIM3 disable counter */
- TIM_Cmd( TIM3, DISABLE );
-
-
- TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
- TIM_Cmd( TIM3, ENABLE );
-
-}
-
-void TimerHwDeInit( void )
-{
- /* Deinitialize the timer */
- TIM_DeInit( TIM2 );
-}
-
-uint32_t TimerHwGetMinimumTimeout( void )
-{
- return( ceil( 2 * HW_TIMER_TIME_BASE ) );
-}
-
-void TimerHwStart( uint32_t val )
-{
- TimerTickCounterContext = TimerHwGetTimerValue( );
-
- if( val <= HW_TIMER_TIME_BASE + 1 )
- {
- TimeoutCntValue = TimerTickCounterContext + 1;
- }
- else
- {
- TimeoutCntValue = TimerTickCounterContext + ( ( val - 1 ) / HW_TIMER_TIME_BASE );
- }
-}
-
-void TimerHwStop( void )
-{
- TIM_ITConfig( TIM2, TIM_IT_CC1, DISABLE );
- TIM_Cmd( TIM2, DISABLE );
-}
-
-void TimerHwDelayMs( uint32_t delay )
-{
- uint32_t delayValue = 0;
-
- delayValue = delay;
-
- TimerDelayCounter = 0;
-
- TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
- TIM_Cmd( TIM3, ENABLE );
-
- while( TimerHwGetDelayValue( ) < delayValue )
- {
- }
-
- TIM_ITConfig( TIM3, TIM_IT_Update, DISABLE );
- TIM_Cmd( TIM3, DISABLE );
-}
-
-TimerTime_t TimerHwGetElapsedTime( void )
-{
- return( ( ( TimerHwGetTimerValue( ) - TimerTickCounterContext ) + 1 ) * HW_TIMER_TIME_BASE );
-}
-
-TimerTime_t TimerHwGetTimerValue( void )
-{
- TimerTime_t val = 0;
-
- __disable_irq( );
-
- val = TimerTickCounter;
-
- __enable_irq( );
-
- return( val );
-}
-
-TimerTime_t TimerHwGetTime( void )
-{
-
- return TimerHwGetTimerValue( ) * HW_TIMER_TIME_BASE;
-}
-
-uint32_t TimerHwGetDelayValue( void )
-{
- uint32_t val = 0;
-
- __disable_irq( );
-
- val = TimerDelayCounter;
-
- __enable_irq( );
-
- return( val );
-}
-
-void TimerIncrementTickCounter( void )
-{
- __disable_irq( );
-
- TimerTickCounter++;
-
- __enable_irq( );
-}
-
-void TimerIncrementDelayCounter( void )
-{
- __disable_irq( );
-
- TimerDelayCounter++;
-
- __enable_irq( );
-}
-
-/*!
- * Timer IRQ handler
- */
-void TIM2_IRQHandler( void )
-{
- if( TIM_GetITStatus( TIM2, TIM_IT_Update ) != RESET )
- {
- TimerIncrementTickCounter( );
- TIM_ClearITPendingBit( TIM2, TIM_IT_Update );
-
- if( TimerTickCounter == TimeoutCntValue )
- {
- TimerIrqHandler( );
- }
- }
-}
-
-/*!
- * Timer IRQ handler
- */
-void TIM3_IRQHandler( void )
-{
- if( TIM_GetITStatus( TIM3, TIM_IT_Update ) != RESET )
- {
- TimerIncrementDelayCounter( );
- TIM_ClearITPendingBit( TIM3, TIM_IT_Update );
- }
-}
-
-void TimerHwEnterLowPowerStopMode( void )
-{
-#ifndef USE_DEBUGGER
- __WFI( );
-#endif
-}
diff --git a/src/boards/Bleeper-72/timer-board.h b/src/boards/Bleeper-72/timer-board.h
deleted file mode 100644
index a0734d70c..000000000
--- a/src/boards/Bleeper-72/timer-board.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: MCU timer
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __TIMER_BOARD_H__
-#define __TIMER_BOARD_H__
-
-/*!
- * \brief Timer time variable definition
- */
-#ifndef TimerTime_t
-typedef uint64_t TimerTime_t;
-#endif
-
-/*!
- * \brief Initializes the timer
- *
- * \remark The timer is based on TIM2 with a 10uS time basis
- */
-void TimerHwInit( void );
-
-/*!
- * \brief DeInitializes the timer
- */
-void TimerHwDeInit( void );
-
-/*!
- * \brief Return the minimum timeout the Timer is able to handle
- *
- * \retval minimum value for a timeout
- */
-uint32_t TimerHwGetMinimumTimeout( void );
-
-/*!
- * \brief Start the Standard Timer counter
- *
- * \param [IN] rtcCounter Timer duration
- */
-void TimerHwStart( uint32_t rtcCounter );
-
-/*!
- * \brief Perfoms a standard blocking delay in the code execution
- *
- * \param [IN] delay Delay value in ms
- */
-void TimerHwDelayMs( uint32_t delay );
-
-/*!
- * \brief Stop the the Standard Timer counter
- */
-void TimerHwStop( void );
-
-/*!
- * \brief Return the value of the timer counter
- */
-TimerTime_t TimerHwGetTimerValue( void );
-
-/*!
- * \brief Return the value of the current time in us
- */
-TimerTime_t TimerHwGetTime( void );
-
-/*!
- * \brief Return the value on the timer Tick counter
- */
-TimerTime_t TimerHwGetElapsedTime( void );
-
-/*!
- * \brief Set the ARM core in Wait For Interrupt mode (only working if Debug mode is not used)
- */
-void TimerHwEnterLowPowerStopMode( void );
-
-#endif // __TIMER_BOARD_H__
diff --git a/src/boards/Bleeper-76/LoRaMac-board.h b/src/boards/Bleeper-76/LoRaMac-board.h
deleted file mode 100644
index 946d25e63..000000000
--- a/src/boards/Bleeper-76/LoRaMac-board.h
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: LoRa MAC layer board dependent definitions
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __LORAMAC_BOARD_H__
-#define __LORAMAC_BOARD_H__
-
-/*!
- * Returns individual channel mask
- *
- * \param[IN] channelIndex Channel index 1 based
- * \retval channelMask
- */
-#define LC( channelIndex ) ( uint16_t )( 1 << ( channelIndex - 1 ) )
-
-#if defined( USE_BAND_433 )
-
-/*!
- * LoRaMac maximum number of channels
- */
-#define LORA_MAX_NB_CHANNELS 16
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MIN_DATARATE DR_0
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MAX_DATARATE DR_7
-
-/*!
- * Default datarate used by the node
- */
-#define LORAMAC_DEFAULT_DATARATE DR_0
-
-/*!
- * Minimal Rx1 receive datarate offset
- */
-#define LORAMAC_MIN_RX1_DR_OFFSET 0
-
-/*!
- * Maximal Rx1 receive datarate offset
- */
-#define LORAMAC_MAX_RX1_DR_OFFSET 5
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MIN_TX_POWER TX_POWER_M5_DBM
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MAX_TX_POWER TX_POWER_10_DBM
-
-/*!
- * Default Tx output power used by the node
- */
-#define LORAMAC_DEFAULT_TX_POWER TX_POWER_10_DBM
-
-/*!
- * LoRaMac TxPower definition
- */
-#define TX_POWER_10_DBM 0
-#define TX_POWER_07_DBM 1
-#define TX_POWER_04_DBM 2
-#define TX_POWER_01_DBM 3
-#define TX_POWER_M2_DBM 4
-#define TX_POWER_M5_DBM 5
-
-/*!
- * LoRaMac datarates definition
- */
-#define DR_0 0 // SF12 - BW125
-#define DR_1 1 // SF11 - BW125
-#define DR_2 2 // SF10 - BW125
-#define DR_3 3 // SF9 - BW125
-#define DR_4 4 // SF8 - BW125
-#define DR_5 5 // SF7 - BW125
-#define DR_6 6 // SF7 - BW250
-#define DR_7 7 // FSK
-
-/*!
- * Second reception window channel definition.
- */
-// Channel = { Frequency [Hz], Datarate }
-#define RX_WND_2_CHANNEL { 434665000, DR_0 }
-
-/*!
- * LoRaMac maximum number of bands
- */
-#define LORA_MAX_NB_BANDS 1
-
-// Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff }
-#define BAND0 { 100, TX_POWER_10_DBM, 0, 0 } // 1.0 %
-
-/*!
- * LoRaMac default channels
- */
-// Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
-#define LC1 { 433175000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC2 { 433375000, { ( ( DR_7 << 4 ) | DR_0 ) }, 0 }
-#define LC3 { 433575000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-
-#elif defined( USE_BAND_780 )
-
-/*!
- * LoRaMac maximum number of channels
- */
-#define LORA_MAX_NB_CHANNELS 16
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MIN_DATARATE DR_0
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MAX_DATARATE DR_7
-
-/*!
- * Default datarate used by the node
- */
-#define LORAMAC_DEFAULT_DATARATE DR_0
-
-/*!
- * Minimal Rx1 receive datarate offset
- */
-#define LORAMAC_MIN_RX1_DR_OFFSET 0
-
-/*!
- * Maximal Rx1 receive datarate offset
- */
-#define LORAMAC_MAX_RX1_DR_OFFSET 5
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MIN_TX_POWER TX_POWER_M5_DBM
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MAX_TX_POWER TX_POWER_10_DBM
-
-/*!
- * Default Tx output power used by the node
- */
-#define LORAMAC_DEFAULT_TX_POWER TX_POWER_10_DBM
-
-/*!
- * LoRaMac TxPower definition
- */
-#define TX_POWER_10_DBM 0
-#define TX_POWER_07_DBM 1
-#define TX_POWER_04_DBM 2
-#define TX_POWER_01_DBM 3
-#define TX_POWER_M2_DBM 4
-#define TX_POWER_M5_DBM 5
-
-/*!
- * LoRaMac datarates definition
- */
-#define DR_0 0 // SF12 - BW125
-#define DR_1 1 // SF11 - BW125
-#define DR_2 2 // SF10 - BW125
-#define DR_3 3 // SF9 - BW125
-#define DR_4 4 // SF8 - BW125
-#define DR_5 5 // SF7 - BW125
-#define DR_6 6 // SF7 - BW250
-#define DR_7 7 // FSK
-
-/*!
- * Second reception window channel definition.
- */
-// Channel = { Frequency [Hz], Datarate }
-#define RX_WND_2_CHANNEL { 786000000, DR_0 }
-
-/*!
- * LoRaMac maximum number of bands
- */
-#define LORA_MAX_NB_BANDS 1
-
-// Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff }
-#define BAND0 { 100, TX_POWER_10_DBM, 0, 0 } // 1.0 %
-
-/*!
- * LoRaMac default channels
- */
-// Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
-#define LC1 { 779500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC2 { 779700000, { ( ( DR_7 << 4 ) | DR_0 ) }, 0 }
-#define LC3 { 779900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-
-#elif defined( USE_BAND_868 )
-
-/*!
- * LoRaMac maximum number of channels
- */
-#define LORA_MAX_NB_CHANNELS 16
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MIN_DATARATE DR_0
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MAX_DATARATE DR_7
-
-/*!
- * Default datarate used by the node
- */
-#define LORAMAC_DEFAULT_DATARATE DR_0
-
-/*!
- * Minimal Rx1 receive datarate offset
- */
-#define LORAMAC_MIN_RX1_DR_OFFSET 0
-
-/*!
- * Maximal Rx1 receive datarate offset
- */
-#define LORAMAC_MAX_RX1_DR_OFFSET 5
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MIN_TX_POWER TX_POWER_02_DBM
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MAX_TX_POWER TX_POWER_20_DBM
-
-/*!
- * Default Tx output power used by the node
- */
-#define LORAMAC_DEFAULT_TX_POWER TX_POWER_14_DBM
-
-/*!
- * LoRaMac TxPower definition
- */
-#define TX_POWER_20_DBM 0
-#define TX_POWER_14_DBM 1
-#define TX_POWER_11_DBM 2
-#define TX_POWER_08_DBM 3
-#define TX_POWER_05_DBM 4
-#define TX_POWER_02_DBM 5
-
-/*!
- * LoRaMac datarates definition
- */
-#define DR_0 0 // SF12 - BW125
-#define DR_1 1 // SF11 - BW125
-#define DR_2 2 // SF10 - BW125
-#define DR_3 3 // SF9 - BW125
-#define DR_4 4 // SF8 - BW125
-#define DR_5 5 // SF7 - BW125
-#define DR_6 6 // SF7 - BW250
-#define DR_7 7 // FSK
-
-/*!
- * Second reception window channel definition.
- */
-// Channel = { Frequency [Hz], Datarate }
-#define RX_WND_2_CHANNEL { 869525000, DR_0 }
-
-/*!
- * LoRaMac maximum number of bands
- */
-#define LORA_MAX_NB_BANDS 5
-
-/*!
- * LoRaMac EU868 default bands
- */
-typedef enum
-{
- BAND_G1_0,
- BAND_G1_1,
- BAND_G1_2,
- BAND_G1_3,
- BAND_G1_4,
-}BandId_t;
-
-// Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff }
-#define BAND0 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 %
-#define BAND1 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 %
-#define BAND2 { 1000, TX_POWER_14_DBM, 0, 0 } // 0.1 %
-#define BAND3 { 10 , TX_POWER_14_DBM, 0, 0 } // 10.0 %
-#define BAND4 { 100 , TX_POWER_14_DBM, 0, 0 } // 1.0 %
-
-/*!
- * LoRaMac default channels
- */
-// Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
-#define LC1 { 868100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
-#define LC2 { 868300000, { ( ( DR_6 << 4 ) | DR_0 ) }, 1 }
-#define LC3 { 868500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
-#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
-
-#elif defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
-
-/*!
- * LoRaMac maximum number of channels
- */
-#define LORA_MAX_NB_CHANNELS 72
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MIN_DATARATE DR_0
-
-/*!
- * Minimal datarate that can be used by the node
- */
-#define LORAMAC_MAX_DATARATE DR_4
-
-/*!
- * Default datarate used by the node
- */
-#define LORAMAC_DEFAULT_DATARATE DR_0
-
-/*!
- * Minimal Rx1 receive datarate offset
- */
-#define LORAMAC_MIN_RX1_DR_OFFSET 0
-
-/*!
- * Maximal Rx1 receive datarate offset
- */
-#define LORAMAC_MAX_RX1_DR_OFFSET 3
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MIN_TX_POWER TX_POWER_10_DBM
-
-/*!
- * Minimal Tx output power that can be used by the node
- */
-#define LORAMAC_MAX_TX_POWER TX_POWER_30_DBM
-
-/*!
- * Default Tx output power used by the node
- */
-#define LORAMAC_DEFAULT_TX_POWER TX_POWER_20_DBM
-
-/*!
- * LoRaMac TxPower definition
- */
-#define TX_POWER_30_DBM 0
-#define TX_POWER_28_DBM 1
-#define TX_POWER_26_DBM 2
-#define TX_POWER_24_DBM 3
-#define TX_POWER_22_DBM 4
-#define TX_POWER_20_DBM 5
-#define TX_POWER_18_DBM 6
-#define TX_POWER_16_DBM 7
-#define TX_POWER_14_DBM 8
-#define TX_POWER_12_DBM 9
-#define TX_POWER_10_DBM 10
-
-/*!
- * LoRaMac datarates definition
- */
-#define DR_0 0 // SF10 - BW125 |
-#define DR_1 1 // SF9 - BW125 |
-#define DR_2 2 // SF8 - BW125 +-> Up link
-#define DR_3 3 // SF7 - BW125 |
-#define DR_4 4 // SF8 - BW500 |
-#define DR_5 5 // RFU
-#define DR_6 6 // RFU
-#define DR_7 7 // RFU
-#define DR_8 8 // SF12 - BW500 |
-#define DR_9 9 // SF11 - BW500 |
-#define DR_10 10 // SF10 - BW500 |
-#define DR_11 11 // SF9 - BW500 |
-#define DR_12 12 // SF8 - BW500 +-> Down link
-#define DR_13 13 // SF7 - BW500 |
-#define DR_14 14 // RFU |
-#define DR_15 15 // RFU |
-
-/*!
- * Second reception window channel definition.
- */
-// Channel = { Frequency [Hz], Datarate }
-#define RX_WND_2_CHANNEL { 923300000, DR_8 }
-
-/*!
- * LoRaMac maximum number of bands
- */
-#define LORA_MAX_NB_BANDS 1
-
-// Band = { DutyCycle, TxMaxPower, LastTxDoneTime, TimeOff }
-#define BAND0 { 1, TX_POWER_20_DBM, 0, 0 } // 100.0 %
-
-/*!
- * LoRaMac default channels
- */
-// Channel = { Frequency [Hz], { ( ( DrMax << 4 ) | DrMin ) }, Band }
-/*
- * US band channels are initialized using a loop in LoRaMacInit function
- * \code
- * // 125 kHz channels
- * for( uint8_t i = 0; i < LORA_MAX_NB_CHANNELS - 8; i++ )
- * {
- * Channels[i].Frequency = 902.3e6 + i * 200e3;
- * Channels[i].DrRange.Value = ( DR_3 << 4 ) | DR_0;
- * Channels[i].Band = 0;
- * }
- * // 500 kHz channels
- * for( uint8_t i = LORA_MAX_NB_CHANNELS - 8; i < LORA_MAX_NB_CHANNELS; i++ )
- * {
- * Channels[i].Frequency = 903.0e6 + ( i - ( LORA_MAX_NB_CHANNELS - 8 ) ) * 1.6e6;
- * Channels[i].DrRange.Value = ( DR_4 << 4 ) | DR_4;
- * Channels[i].Band = 0;
- * }
- * \endcode
- */
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
-
-#endif // __LORAMAC_BOARD_H__
diff --git a/src/boards/Bleeper-76/board.c b/src/boards/Bleeper-76/board.c
deleted file mode 100644
index 200213094..000000000
--- a/src/boards/Bleeper-76/board.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Target board general functions implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-
-/*!
- * Unique Devices IDs register set ( STM32L1xxx )
- */
-#define ID1 ( 0x1FF80050 )
-#define ID2 ( 0x1FF80054 )
-#define ID3 ( 0x1FF80064 )
-
-/*!
- * LED GPIO pins objects
- */
-Gpio_t Led1;
-Gpio_t Led2;
-Gpio_t Led3;
-
-/*!
- * Hex coder selector GPIO pins objects
- */
-Gpio_t Sel1;
-Gpio_t Sel2;
-Gpio_t Sel3;
-Gpio_t Sel4;
-
-#if defined( USE_DEBUG_PINS )
-Gpio_t DbgPin1;
-Gpio_t DbgPin2;
-Gpio_t DbgPin3;
-Gpio_t DbgPin4;
-#endif
-
-I2c_t I2c;
-
-/*!
- * Initializes the unused GPIO to a know status
- */
-static void BoardUnusedIoInit( void );
-
-/*!
- * Flag to indicate if the MCU is Initialized
- */
-static bool McuInitialized = false;
-
-volatile uint8_t Led3Status = 1;
-
-void BoardInitPeriph( void )
-{
- GpioInit( &Sel1, SEL_1, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel2, SEL_2, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel3, SEL_3, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel4, SEL_4, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- GpioInit( &Led1, LED_1, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- GpioInit( &Led2, LED_2, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- GpioInit( &Led3, LED_3, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, Led3Status );
-
- // Init temperature, pressure and altitude sensor
- MPL3115Init( );
-}
-
-void BoardInitMcu( void )
-{
- if( McuInitialized == false )
- {
- // We use IRQ priority group 4 for the entire project
- // When setting the IRQ, only the preemption priority is used
- NVIC_PriorityGroupConfig( NVIC_PriorityGroup_4 );
-
- // Disable Systick
- SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk; // Systick IRQ off
- SCB->ICSR |= SCB_ICSR_PENDSTCLR_Msk; // Clear SysTick Exception pending flag
-
- I2cInit( &I2c, I2C_SCL, I2C_SDA );
-
- SpiInit( &SX1276.Spi, RADIO_MOSI, RADIO_MISO, RADIO_SCLK, NC );
- SX1276IoInit( );
-
-#if defined( USE_DEBUG_PINS )
- GpioInit( &DbgPin1, J1_1, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin2, J1_2, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin3, J1_3, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin4, J1_4, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-#endif
- BoardInitPeriph( );
-
-#if( LOW_POWER_MODE_ENABLE )
- TimerSetLowPowerEnable( true );
-#else
- TimerSetLowPowerEnable( false );
-#endif
- BoardUnusedIoInit( );
-
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcInit( );
- }
- else
- {
- TimerHwInit( );
- }
- McuInitialized = true;
- }
-}
-
-void BoardDeInitMcu( void )
-{
- Gpio_t ioPin;
-
- I2cDeInit( &I2c );
- SpiDeInit( &SX1276.Spi );
- SX1276IoDeInit( );
-
- GpioInit( &Led1, LED_1, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- GpioInit( &Led2, LED_2, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- Led3Status = GpioRead( &Led3 );
- if( Led3Status == 1 )
- {
- GpioInit( &Led3, LED_3, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- }
-
- GpioInit( &Sel1, SEL_1, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel2, SEL_2, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel3, SEL_3, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &Sel4, SEL_4, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
-#if ( defined( USE_DEBUG_PINS ) && !defined( LOW_POWER_MODE_ENABLE ) )
- GpioInit( &DbgPin1, J1_1, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin2, J1_2, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin3, J1_3, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &DbgPin4, J1_4, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-#endif
-
- GpioInit( &ioPin, OSC_HSE_IN, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
- GpioInit( &ioPin, OSC_HSE_OUT, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
-
- GpioInit( &ioPin, OSC_LSE_IN, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_DOWN, 1 );
- GpioInit( &ioPin, OSC_LSE_OUT, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_DOWN, 1 );
-
- McuInitialized = false;
-}
-
-uint32_t BoardGetRandomSeed( void )
-{
- return ( ( *( uint32_t* )ID1 ) ^ ( *( uint32_t* )ID2 ) ^ ( *( uint32_t* )ID3 ) );
-}
-
-void BoardGetUniqueId( uint8_t *id )
-{
- id[7] = ( ( *( uint32_t* )ID1 )+ ( *( uint32_t* )ID3 ) ) >> 24;
- id[6] = ( ( *( uint32_t* )ID1 )+ ( *( uint32_t* )ID3 ) ) >> 16;
- id[5] = ( ( *( uint32_t* )ID1 )+ ( *( uint32_t* )ID3 ) ) >> 8;
- id[4] = ( ( *( uint32_t* )ID1 )+ ( *( uint32_t* )ID3 ) );
- id[3] = ( ( *( uint32_t* )ID2 ) ) >> 24;
- id[2] = ( ( *( uint32_t* )ID2 ) ) >> 16;
- id[1] = ( ( *( uint32_t* )ID2 ) ) >> 8;
- id[0] = ( ( *( uint32_t* )ID2 ) );
-}
-
-uint8_t BoardGetBatteryLevel( void )
-{
- uint8_t batteryLevel = 0;
- uint8_t i, result = 0;
- uint32_t tmpreg = 0;
-
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR, ENABLE );
-
- PWR_PVDCmd( ENABLE ); // activate the voltage reference
- DelayMs( 1 );
-
- tmpreg = PWR->CR; // get the CR register for a read-modify-write
-
- for( i = 0; i <= 6; i++ )
- {
- PWR->CR = ( ( tmpreg & 0xFFFFFF1F ) | ( i << 5 ) ); // set PVD level from 0 to 6
- DelayMs( 1 );
- if( PWR_GetFlagStatus( PWR_FLAG_PVDO ) == 1 )
- {
- result |= 0x01 << i; // use 'result' as a bit array
- }
- }
- PWR_PVDCmd( DISABLE ); // shut down voltage reference
-
- switch( result ) { // transcribe result and detect invalid codes
- case 0x7F:
- batteryLevel = 0x1F; // Vbat < 1.9V
- break;
- case 0x7E:
- batteryLevel = 0x3F; // 1.9 < Vbat < 2.1
- break;
- case 0x7C:
- batteryLevel = 0x5F; // 2.1 < Vbat < 2.3
- break;
- case 0x78:
- batteryLevel = 0x7F; // 2.3 < Vbat < 2.5
- break;
- case 0x70:
- batteryLevel = 0x9F; // 2.5 < Vbat < 2.7
- break;
- case 0x60:
- batteryLevel = 0xBF; // 2.7 < Vbat < 2.9
- break;
- case 0x40:
- batteryLevel = 0xDF; // 2.9 < Vbat < 3.1
- break;
- case 0x00:
- batteryLevel = 0xFE; // Vbat > 3.1V
- break;
- default:
- batteryLevel = 0xFF; // Fail
- break;
- }
- return batteryLevel;
-}
-
-static void BoardUnusedIoInit( void )
-{
- Gpio_t ioPin;
-
- /* Non Connected pin */
- GpioInit( &ioPin, NC_1, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_2, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_3, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_4, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- /* External Connector J5 */
-#if !defined( USE_DEBUG_PINS )
- GpioInit( &ioPin, J1_1, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, J1_2, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, J1_3, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, J1_4, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-#endif
-
- /* External Connector J2 */
- GpioInit( &ioPin, J2_2, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, J2_3, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- /* SD Card */
- GpioInit( &ioPin, NC_7, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_8, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_9, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_10, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_11, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_12, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, NC_13, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- /* USB */
-#if !defined( USE_USB_CDC )
- GpioInit( &ioPin, USB_DM, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, USB_DP, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-#endif
-
- /* BOOT1 pin */
- GpioInit( &ioPin, BOOT_1, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
-#if defined( USE_DEBUGGER )
- DBGMCU_Config( DBGMCU_SLEEP, ENABLE );
- DBGMCU_Config( DBGMCU_STOP, ENABLE);
- DBGMCU_Config( DBGMCU_STANDBY, ENABLE);
-#else
- DBGMCU_Config( DBGMCU_SLEEP, DISABLE );
- DBGMCU_Config( DBGMCU_STOP, DISABLE );
- DBGMCU_Config( DBGMCU_STANDBY, DISABLE );
-
- GpioInit( &ioPin, JTAG_TMS, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, JTAG_TCK, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, JTAG_TDI, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, JTAG_TDO, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &ioPin, JTAG_NRST, PIN_ANALOGIC, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-#endif
-}
diff --git a/src/boards/Bleeper-76/board.h b/src/boards/Bleeper-76/board.h
deleted file mode 100644
index 5d5fe3be9..000000000
--- a/src/boards/Bleeper-76/board.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Target board general functions implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __BOARD_H__
-#define __BOARD_H__
-
-#include
-#include
-#include
-#include
-#include
-#include "stm32l1xx.h"
-#include "utilities.h"
-#include "timer.h"
-#include "delay.h"
-#include "gpio.h"
-#include "spi.h"
-#include "i2c.h"
-#include "radio.h"
-#include "sx1276/sx1276.h"
-#include "mpl3115.h"
-#include "rtc-board.h"
-#include "timer-board.h"
-#include "sx1276-board.h"
-#include "selector.h"
-
-/*!
- * Generic definition
- */
-#ifndef SUCCESS
-#define SUCCESS 1
-#endif
-
-#ifndef FAIL
-#define FAIL 0
-#endif
-
-/*!
- * Board MCU pins definitions
- */
-#define LED_1 PB_9
-#define LED_2 PB_8
-#define LED_3 PB_5
-
-#define RADIO_RESET PC_2
-
-#define RADIO_MOSI PA_7
-#define RADIO_MISO PA_6
-#define RADIO_SCLK PA_5
-#define RADIO_NSS PA_4
-
-#define RADIO_DIO_0 PA_0
-#define RADIO_DIO_1 PA_1
-#define RADIO_DIO_2 PA_2
-#define RADIO_DIO_3 PA_3
-#define RADIO_DIO_4 PC_4
-#define RADIO_DIO_5 PC_5
-
-#define RADIO_ANT_SWITCH_LF PC_0
-#define RADIO_ANT_SWITCH_HF PC_1
-
-#define OSC_LSE_IN PC_14
-#define OSC_LSE_OUT PC_15
-
-#define OSC_HSE_IN PH_0
-#define OSC_HSE_OUT PH_1
-
-#define NC_1 PC_13
-#define NC_2 PC_3
-#define NC_3 PB_1
-#define NC_4 PA_10
-
-#define J1_1 PB_12
-#define J1_2 PB_15
-#define J1_3 PB_14
-#define J1_4 PB_13
-
-#define J2_2 PB_7
-#define J2_3 PB_6
-
-#define SEL_1 PA_8
-#define SEL_2 PA_9
-#define SEL_3 PC_6
-#define SEL_4 PC_7
-
-#define USB_DM PA_11
-#define USB_DP PA_12
-
-#define BOOT_1 PB_2
-
-#define JTAG_TMS PA_13
-#define JTAG_TCK PA_14
-#define JTAG_TDI PA_15
-#define JTAG_TDO PB_3
-#define JTAG_NRST PB_4
-
-#define NC_7 PB_0
-#define NC_8 PC_8
-#define NC_9 PC_9
-#define NC_10 PC_10
-#define NC_11 PC_11
-#define NC_12 PC_12
-#define NC_13 PD_2
-
-#define I2C_SCL PB_10
-#define I2C_SDA PB_11
-
-/*!
- * LED GPIO pins objects
- */
-extern Gpio_t Led1;
-extern Gpio_t Led2;
-extern Gpio_t Led3;
-
-/*!
- * Hex coder selector GPIO pins objects
- */
-extern Gpio_t Sel1;
-extern Gpio_t Sel2;
-extern Gpio_t Sel3;
-extern Gpio_t Sel4;
-
-/*!
- * Debug GPIO pins objects
- */
-#if defined( USE_DEBUG_PINS )
-extern Gpio_t DbgPin1;
-extern Gpio_t DbgPin2;
-extern Gpio_t DbgPin3;
-extern Gpio_t DbgPin4;
-#endif
-
-/*!
- * MCU objects
- */
-extern I2c_t I2c;
-
-/*!
- * \brief Initializes the target board peripherals.
- */
-void BoardInitMcu( void );
-
-/*!
- * \brief Initializes the boards peripherals.
- */
-void BoardInitPeriph( void );
-
-/*!
- * \brief De-initializes the target board peripherals to decrease power
- * consumption.
- */
-void BoardDeInitMcu( void );
-
-/*!
- * \brief Get the current battery level
- *
- * \retval value battery level ( 0: very low, 254: fully charged )
- */
-uint8_t BoardGetBatteryLevel( void );
-
-/*!
- * Returns a pseudo random seed generated using the MCU Unique ID
- *
- * \retval seed Generated pseudo random seed
- */
-uint32_t BoardGetRandomSeed( void );
-
-/*!
- * \brief Gets the board 64 bits unique ID
- *
- * \param [IN] id Pointer to an array that will contain the Unique ID
- */
-void BoardGetUniqueId( uint8_t *id );
-
-#endif // __BOARD_H__
diff --git a/src/boards/Bleeper-76/cmsis/arm-gcc/startup_stm32l1xx_hd.s b/src/boards/Bleeper-76/cmsis/arm-gcc/startup_stm32l1xx_hd.s
deleted file mode 100644
index 926aad7e1..000000000
--- a/src/boards/Bleeper-76/cmsis/arm-gcc/startup_stm32l1xx_hd.s
+++ /dev/null
@@ -1,419 +0,0 @@
-/**
- ******************************************************************************
- * @file startup_stm32l1xx_hd.s
- * @author MCD Application Team
- * @version V1.2.0
- * @date 22-February-2013
- * @brief STM32L1xx Ultra Low Power High-density Devices vector table for
- * RIDE7 toolchain.
- * This module performs:
- * - Set the initial SP
- * - Set the initial PC == Reset_Handler,
- * - Set the vector table entries with the exceptions ISR address
- * - Branches to main in the C library (which eventually
- * calls main()).
- * After Reset the Cortex-M3 processor is in Thread mode,
- * priority is Privileged, and the Stack is set to Main.
- ******************************************************************************
- * @attention
- *
- * © COPYRIGHT 2013 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
- .syntax unified
- .cpu cortex-m3
- .fpu softvfp
- .thumb
-
-.global g_pfnVectors
-.global Default_Handler
-
-/* start address for the initialization values of the .data section.
-defined in linker script */
-.word _sidata
-/* start address for the .data section. defined in linker script */
-.word _sdata
-/* end address for the .data section. defined in linker script */
-.word _edata
-/* start address for the .bss section. defined in linker script */
-.word _sbss
-/* end address for the .bss section. defined in linker script */
-.word _ebss
-
-.equ BootRAM, 0xF108F85F
-/**
- * @brief This is the code that gets called when the processor first
- * starts execution following a reset event. Only the absolutely
- * necessary set is performed, after which the application
- * supplied main() routine is called.
- * @param None
- * @retval : None
-*/
-
- .section .text.Reset_Handler
- .weak Reset_Handler
- .type Reset_Handler, %function
-Reset_Handler:
-
-/* Copy the data segment initializers from flash to SRAM */
- movs r1, #0
- b LoopCopyDataInit
-
-CopyDataInit:
- ldr r3, =_sidata
- ldr r3, [r3, r1]
- str r3, [r0, r1]
- adds r1, r1, #4
-
-LoopCopyDataInit:
- ldr r0, =_sdata
- ldr r3, =_edata
- adds r2, r0, r1
- cmp r2, r3
- bcc CopyDataInit
- ldr r2, =_sbss
- b LoopFillZerobss
-/* Zero fill the bss segment. */
-FillZerobss:
- movs r3, #0
- str r3, [r2], #4
-
-LoopFillZerobss:
- ldr r3, = _ebss
- cmp r2, r3
- bcc FillZerobss
-/* Call the clock system intitialization function.*/
- bl SystemInit
-/* Call the application's entry point.*/
- bl main
- bx lr
-.size Reset_Handler, .-Reset_Handler
-
-/**
- * @brief This is the code that gets called when the processor receives an
- * unexpected interrupt. This simply enters an infinite loop, preserving
- * the system state for examination by a debugger.
- *
- * @param None
- * @retval None
-*/
- .section .text.Default_Handler,"ax",%progbits
-Default_Handler:
-Infinite_Loop:
- b Infinite_Loop
- .size Default_Handler, .-Default_Handler
-/*******************************************************************************
-*
-* The minimal vector table for a Cortex M3. Note that the proper constructs
-* must be placed on this to ensure that it ends up at physical address
-* 0x0000.0000.
-*******************************************************************************/
- .section .isr_vector,"a",%progbits
- .type g_pfnVectors, %object
- .size g_pfnVectors, .-g_pfnVectors
-
-
-g_pfnVectors:
- .word _estack
- .word Reset_Handler
- .word NMI_Handler
- .word HardFault_Handler
- .word MemManage_Handler
- .word BusFault_Handler
- .word UsageFault_Handler
- .word 0
- .word 0
- .word 0
- .word 0
- .word SVC_Handler
- .word DebugMon_Handler
- .word 0
- .word PendSV_Handler
- .word SysTick_Handler
- .word WWDG_IRQHandler
- .word PVD_IRQHandler
- .word TAMPER_STAMP_IRQHandler
- .word RTC_WKUP_IRQHandler
- .word FLASH_IRQHandler
- .word RCC_IRQHandler
- .word EXTI0_IRQHandler
- .word EXTI1_IRQHandler
- .word EXTI2_IRQHandler
- .word EXTI3_IRQHandler
- .word EXTI4_IRQHandler
- .word DMA1_Channel1_IRQHandler
- .word DMA1_Channel2_IRQHandler
- .word DMA1_Channel3_IRQHandler
- .word DMA1_Channel4_IRQHandler
- .word DMA1_Channel5_IRQHandler
- .word DMA1_Channel6_IRQHandler
- .word DMA1_Channel7_IRQHandler
- .word ADC1_IRQHandler
- .word USB_HP_IRQHandler
- .word USB_LP_IRQHandler
- .word DAC_IRQHandler
- .word COMP_IRQHandler
- .word EXTI9_5_IRQHandler
- .word LCD_IRQHandler
- .word TIM9_IRQHandler
- .word TIM10_IRQHandler
- .word TIM11_IRQHandler
- .word TIM2_IRQHandler
- .word TIM3_IRQHandler
- .word TIM4_IRQHandler
- .word I2C1_EV_IRQHandler
- .word I2C1_ER_IRQHandler
- .word I2C2_EV_IRQHandler
- .word I2C2_ER_IRQHandler
- .word SPI1_IRQHandler
- .word SPI2_IRQHandler
- .word USART1_IRQHandler
- .word USART2_IRQHandler
- .word USART3_IRQHandler
- .word EXTI15_10_IRQHandler
- .word RTC_Alarm_IRQHandler
- .word USB_FS_WKUP_IRQHandler
- .word TIM6_IRQHandler
- .word TIM7_IRQHandler
- .word SDIO_IRQHandler
- .word TIM5_IRQHandler
- .word SPI3_IRQHandler
- .word UART4_IRQHandler
- .word UART5_IRQHandler
- .word DMA2_Channel1_IRQHandler
- .word DMA2_Channel2_IRQHandler
- .word DMA2_Channel3_IRQHandler
- .word DMA2_Channel4_IRQHandler
- .word DMA2_Channel5_IRQHandler
- .word AES_IRQHandler
- .word COMP_ACQ_IRQHandler
- .word 0
- .word 0
- .word 0
- .word 0
- .word 0
- .word BootRAM /* @0x108. This is for boot in RAM mode for
- STM32L15x ULtra Low Power High-density devices. */
-
-/*******************************************************************************
-*
-* Provide weak aliases for each Exception handler to the Default_Handler.
-* As they are weak aliases, any function with the same name will override
-* this definition.
-*
-*******************************************************************************/
-
- .weak NMI_Handler
- .thumb_set NMI_Handler,Default_Handler
-
- .weak HardFault_Handler
- .thumb_set HardFault_Handler,Default_Handler
-
- .weak MemManage_Handler
- .thumb_set MemManage_Handler,Default_Handler
-
- .weak BusFault_Handler
- .thumb_set BusFault_Handler,Default_Handler
-
- .weak UsageFault_Handler
- .thumb_set UsageFault_Handler,Default_Handler
-
- .weak SVC_Handler
- .thumb_set SVC_Handler,Default_Handler
-
- .weak DebugMon_Handler
- .thumb_set DebugMon_Handler,Default_Handler
-
- .weak PendSV_Handler
- .thumb_set PendSV_Handler,Default_Handler
-
- .weak SysTick_Handler
- .thumb_set SysTick_Handler,Default_Handler
-
- .weak WWDG_IRQHandler
- .thumb_set WWDG_IRQHandler,Default_Handler
-
- .weak PVD_IRQHandler
- .thumb_set PVD_IRQHandler,Default_Handler
-
- .weak TAMPER_STAMP_IRQHandler
- .thumb_set TAMPER_STAMP_IRQHandler,Default_Handler
-
- .weak RTC_WKUP_IRQHandler
- .thumb_set RTC_WKUP_IRQHandler,Default_Handler
-
- .weak FLASH_IRQHandler
- .thumb_set FLASH_IRQHandler,Default_Handler
-
- .weak RCC_IRQHandler
- .thumb_set RCC_IRQHandler,Default_Handler
-
- .weak EXTI0_IRQHandler
- .thumb_set EXTI0_IRQHandler,Default_Handler
-
- .weak EXTI1_IRQHandler
- .thumb_set EXTI1_IRQHandler,Default_Handler
-
- .weak EXTI2_IRQHandler
- .thumb_set EXTI2_IRQHandler,Default_Handler
-
- .weak EXTI3_IRQHandler
- .thumb_set EXTI3_IRQHandler,Default_Handler
-
- .weak EXTI4_IRQHandler
- .thumb_set EXTI4_IRQHandler,Default_Handler
-
- .weak DMA1_Channel1_IRQHandler
- .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
-
- .weak DMA1_Channel2_IRQHandler
- .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
-
- .weak DMA1_Channel3_IRQHandler
- .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
-
- .weak DMA1_Channel4_IRQHandler
- .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
-
- .weak DMA1_Channel5_IRQHandler
- .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
-
- .weak DMA1_Channel6_IRQHandler
- .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
-
- .weak DMA1_Channel7_IRQHandler
- .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
-
- .weak ADC1_IRQHandler
- .thumb_set ADC1_IRQHandler,Default_Handler
-
- .weak USB_HP_IRQHandler
- .thumb_set USB_HP_IRQHandler,Default_Handler
-
- .weak USB_LP_IRQHandler
- .thumb_set USB_LP_IRQHandler,Default_Handler
-
- .weak DAC_IRQHandler
- .thumb_set DAC_IRQHandler,Default_Handler
-
- .weak COMP_IRQHandler
- .thumb_set COMP_IRQHandler,Default_Handler
-
- .weak EXTI9_5_IRQHandler
- .thumb_set EXTI9_5_IRQHandler,Default_Handler
-
- .weak LCD_IRQHandler
- .thumb_set LCD_IRQHandler,Default_Handler
-
- .weak TIM9_IRQHandler
- .thumb_set TIM9_IRQHandler,Default_Handler
-
- .weak TIM10_IRQHandler
- .thumb_set TIM10_IRQHandler,Default_Handler
-
- .weak TIM11_IRQHandler
- .thumb_set TIM11_IRQHandler,Default_Handler
-
- .weak TIM2_IRQHandler
- .thumb_set TIM2_IRQHandler,Default_Handler
-
- .weak TIM3_IRQHandler
- .thumb_set TIM3_IRQHandler,Default_Handler
-
- .weak TIM4_IRQHandler
- .thumb_set TIM4_IRQHandler,Default_Handler
-
- .weak I2C1_EV_IRQHandler
- .thumb_set I2C1_EV_IRQHandler,Default_Handler
-
- .weak I2C1_ER_IRQHandler
- .thumb_set I2C1_ER_IRQHandler,Default_Handler
-
- .weak I2C2_EV_IRQHandler
- .thumb_set I2C2_EV_IRQHandler,Default_Handler
-
- .weak I2C2_ER_IRQHandler
- .thumb_set I2C2_ER_IRQHandler,Default_Handler
-
- .weak SPI1_IRQHandler
- .thumb_set SPI1_IRQHandler,Default_Handler
-
- .weak SPI2_IRQHandler
- .thumb_set SPI2_IRQHandler,Default_Handler
-
- .weak USART1_IRQHandler
- .thumb_set USART1_IRQHandler,Default_Handler
-
- .weak USART2_IRQHandler
- .thumb_set USART2_IRQHandler,Default_Handler
-
- .weak USART3_IRQHandler
- .thumb_set USART3_IRQHandler,Default_Handler
-
- .weak EXTI15_10_IRQHandler
- .thumb_set EXTI15_10_IRQHandler,Default_Handler
-
- .weak RTC_Alarm_IRQHandler
- .thumb_set RTC_Alarm_IRQHandler,Default_Handler
-
- .weak USB_FS_WKUP_IRQHandler
- .thumb_set USB_FS_WKUP_IRQHandler,Default_Handler
-
- .weak TIM6_IRQHandler
- .thumb_set TIM6_IRQHandler,Default_Handler
-
- .weak TIM7_IRQHandler
- .thumb_set TIM7_IRQHandler,Default_Handler
-
- .weak SDIO_IRQHandler
- .thumb_set SDIO_IRQHandler,Default_Handler
-
- .weak TIM5_IRQHandler
- .thumb_set TIM5_IRQHandler,Default_Handler
-
- .weak SPI3_IRQHandler
- .thumb_set SPI3_IRQHandler,Default_Handler
-
- .weak UART4_IRQHandler
- .thumb_set UART4_IRQHandler,Default_Handler
-
- .weak UART5_IRQHandler
- .thumb_set UART5_IRQHandler,Default_Handler
-
- .weak DMA2_Channel1_IRQHandler
- .thumb_set DMA2_Channel1_IRQHandler,Default_Handler
-
- .weak DMA2_Channel2_IRQHandler
- .thumb_set DMA2_Channel2_IRQHandler,Default_Handler
-
- .weak DMA2_Channel3_IRQHandler
- .thumb_set DMA2_Channel3_IRQHandler,Default_Handler
-
- .weak DMA2_Channel4_IRQHandler
- .thumb_set DMA2_Channel4_IRQHandler,Default_Handler
-
- .weak DMA2_Channel5_IRQHandler
- .thumb_set DMA2_Channel5_IRQHandler,Default_Handler
-
- .weak AES_IRQHandler
- .thumb_set AES_IRQHandler,Default_Handler
-
- .weak COMP_ACQ_IRQHandler
- .thumb_set COMP_ACQ_IRQHandler,Default_Handler
-
-/************************* (C) COPYRIGHT STMicroelectronics *****END OF FILE***/
-
diff --git a/src/boards/Bleeper-76/cmsis/arm-gcc/stm32l1xx_hd_flash.ld b/src/boards/Bleeper-76/cmsis/arm-gcc/stm32l1xx_hd_flash.ld
deleted file mode 100644
index c9382e2b5..000000000
--- a/src/boards/Bleeper-76/cmsis/arm-gcc/stm32l1xx_hd_flash.ld
+++ /dev/null
@@ -1,131 +0,0 @@
-/* Memory regions.*/
-MEMORY
-{
- FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 384K
- RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 48K
-}
-
-/* Entry Point */
-ENTRY(Reset_Handler)
-
-_estack = 0x20000000 + 48K;
-
-/* Define output sections */
-SECTIONS
-{
- .text :
- {
- KEEP(*(.isr_vector))
- *(.text*)
-
- KEEP(*(.init))
- KEEP(*(.fini))
-
- /* .ctors */
- *crtbegin.o(.ctors)
- *crtbegin?.o(.ctors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
- *(SORT(.ctors.*))
- *(.ctors)
-
- /* .dtors */
- *crtbegin.o(.dtors)
- *crtbegin?.o(.dtors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
- *(SORT(.dtors.*))
- *(.dtors)
-
- *(.rodata*)
-
- KEEP(*(.eh_frame*))
- } > FLASH
-
- .ARM.extab :
- {
- *(.ARM.extab* .gnu.linkonce.armextab.*)
- } > FLASH
-
- __exidx_start = .;
- .ARM.exidx :
- {
- *(.ARM.exidx* .gnu.linkonce.armexidx.*)
- } > FLASH
- __exidx_end = .;
- __etext = .;
-
- /* used by the startup to initialize data */
- _sidata = __etext;
-
- .data : AT (__etext)
- {
- __data_start__ = .;
- _sdata = .;
- *(vtable)
- *(.data*)
-
- . = ALIGN(4);
- /* preinit data */
- PROVIDE_HIDDEN (__preinit_array_start = .);
- KEEP(*(.preinit_array))
- PROVIDE_HIDDEN (__preinit_array_end = .);
-
- . = ALIGN(4);
- /* init data */
- PROVIDE_HIDDEN (__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE_HIDDEN (__init_array_end = .);
-
-
- . = ALIGN(4);
- /* finit data */
- PROVIDE_HIDDEN (__fini_array_start = .);
- KEEP(*(SORT(.fini_array.*)))
- KEEP(*(.fini_array))
- PROVIDE_HIDDEN (__fini_array_end = .);
-
- KEEP(*(.jcr*))
- . = ALIGN(4);
- /* All data end */
- __data_end__ = .;
- _edata = .;
- } > RAM
-
- .bss :
- {
- . = ALIGN(4);
- __bss_start__ = .;
- _sbss = .;
- *(.bss*)
- *(COMMON)
- . = ALIGN(4);
- __bss_end__ = .;
- _ebss = .;
- } > RAM
-
- .heap (COPY):
- {
- __end__ = .;
- PROVIDE(_end = .);
- PROVIDE(end = .);
- *(.heap*)
- __HeapLimit = .;
- } > RAM
-
- /* .stack_dummy section doesn't contains any symbols. It is only
- * used for linker to calculate size of stack sections, and assign
- * values to stack symbols later */
- .stack_dummy (COPY):
- {
- *(.stack*)
- } > RAM
-
- /* Set stack top to end of RAM, and stack limit move down by
- * size of stack_dummy section */
- __StackTop = ORIGIN(RAM) + LENGTH(RAM);
- __StackLimit = __StackTop - SIZEOF(.stack_dummy);
- PROVIDE(__stack = __StackTop);
-
- /* Check if data + heap + stack exceeds RAM limit */
- ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
-}
diff --git a/src/boards/Bleeper-76/cmsis/arm-std/startup_stm32l1xx_hd.s b/src/boards/Bleeper-76/cmsis/arm-std/startup_stm32l1xx_hd.s
deleted file mode 100644
index c7d1e5e4a..000000000
--- a/src/boards/Bleeper-76/cmsis/arm-std/startup_stm32l1xx_hd.s
+++ /dev/null
@@ -1,356 +0,0 @@
-;******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
-;* File Name : startup_stm32l1xx_hd.s
-;* Author : MCD Application Team
-;* Version : V1.1.1
-;* Date : 09-March-2012
-;* Description : STM32L1xx Ultra Low Power High-density Devices vector
-;* table for MDK-ARM toolchain.
-;* This module performs:
-;* - Set the initial SP
-;* - Set the initial PC == Reset_Handler
-;* - Set the vector table entries with the exceptions ISR address
-;* - Branches to __main in the C library (which eventually
-;* calls main()).
-;* After Reset the CortexM3 processor is in Thread mode,
-;* priority is Privileged, and the Stack is set to Main.
-;* <<< Use Configuration Wizard in Context Menu >>>
-;*******************************************************************************
-;
-; Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
-; You may not use this file except in compliance with the License.
-; You may obtain a copy of the License at:
-;
-; http://www.st.com/software_license_agreement_liberty_v2
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-;
-;*******************************************************************************
-
-; Amount of memory (in bytes) allocated for Stack
-; Tailor this value to your application needs
-; Stack Configuration
-; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
-;
-
-Stack_Size EQU 0x00000400
-
- AREA STACK, NOINIT, READWRITE, ALIGN=3
-Stack_Mem SPACE Stack_Size
-__initial_sp
-
-
-; Heap Configuration
-; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
-;
-
-Heap_Size EQU 0x00000200
-
- AREA HEAP, NOINIT, READWRITE, ALIGN=3
-__heap_base
-Heap_Mem SPACE Heap_Size
-__heap_limit
-
- PRESERVE8
- THUMB
-
-
-; Vector Table Mapped to Address 0 at Reset
- AREA RESET, DATA, READONLY
- EXPORT __Vectors
- EXPORT __Vectors_End
- EXPORT __Vectors_Size
-
-__Vectors DCD __initial_sp ; Top of Stack
- DCD Reset_Handler ; Reset Handler
- DCD NMI_Handler ; NMI Handler
- DCD HardFault_Handler ; Hard Fault Handler
- DCD MemManage_Handler ; MPU Fault Handler
- DCD BusFault_Handler ; Bus Fault Handler
- DCD UsageFault_Handler ; Usage Fault Handler
- DCD 0 ; Reserved
- DCD 0 ; Reserved
- DCD 0 ; Reserved
- DCD 0 ; Reserved
- DCD SVC_Handler ; SVCall Handler
- DCD DebugMon_Handler ; Debug Monitor Handler
- DCD 0 ; Reserved
- DCD PendSV_Handler ; PendSV Handler
- DCD SysTick_Handler ; SysTick Handler
-
- ; External Interrupts
- DCD WWDG_IRQHandler ; Window Watchdog
- DCD PVD_IRQHandler ; PVD through EXTI Line detect
- DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp
- DCD RTC_WKUP_IRQHandler ; RTC Wakeup
- DCD FLASH_IRQHandler ; FLASH
- DCD RCC_IRQHandler ; RCC
- DCD EXTI0_IRQHandler ; EXTI Line 0
- DCD EXTI1_IRQHandler ; EXTI Line 1
- DCD EXTI2_IRQHandler ; EXTI Line 2
- DCD EXTI3_IRQHandler ; EXTI Line 3
- DCD EXTI4_IRQHandler ; EXTI Line 4
- DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
- DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
- DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
- DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
- DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
- DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
- DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
- DCD ADC1_IRQHandler ; ADC1
- DCD USB_HP_IRQHandler ; USB High Priority
- DCD USB_LP_IRQHandler ; USB Low Priority
- DCD DAC_IRQHandler ; DAC
- DCD COMP_IRQHandler ; COMP through EXTI Line
- DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
- DCD LCD_IRQHandler ; LCD
- DCD TIM9_IRQHandler ; TIM9
- DCD TIM10_IRQHandler ; TIM10
- DCD TIM11_IRQHandler ; TIM11
- DCD TIM2_IRQHandler ; TIM2
- DCD TIM3_IRQHandler ; TIM3
- DCD TIM4_IRQHandler ; TIM4
- DCD I2C1_EV_IRQHandler ; I2C1 Event
- DCD I2C1_ER_IRQHandler ; I2C1 Error
- DCD I2C2_EV_IRQHandler ; I2C2 Event
- DCD I2C2_ER_IRQHandler ; I2C2 Error
- DCD SPI1_IRQHandler ; SPI1
- DCD SPI2_IRQHandler ; SPI2
- DCD USART1_IRQHandler ; USART1
- DCD USART2_IRQHandler ; USART2
- DCD USART3_IRQHandler ; USART3
- DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
- DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
- DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend
- DCD TIM6_IRQHandler ; TIM6
- DCD TIM7_IRQHandler ; TIM7
- DCD SDIO_IRQHandler ; SDIO
- DCD TIM5_IRQHandler ; TIM5
- DCD SPI3_IRQHandler ; SPI3
- DCD UART4_IRQHandler ; UART4
- DCD UART5_IRQHandler ; UART5
- DCD DMA2_Channel1_IRQHandler ; DMA2 Channel 1
- DCD DMA2_Channel2_IRQHandler ; DMA2 Channel 2
- DCD DMA2_Channel3_IRQHandler ; DMA2 Channel 3
- DCD DMA2_Channel4_IRQHandler ; DMA2 Channel 4
- DCD DMA2_Channel5_IRQHandler ; DMA2 Channel 5
- DCD AES_IRQHandler ; AES
- DCD COMP_ACQ_IRQHandler ; Comparator Channel Acquisition
-
-__Vectors_End
-
-__Vectors_Size EQU __Vectors_End - __Vectors
-
- AREA |.text|, CODE, READONLY
-
-; Reset handler routine
-Reset_Handler PROC
- EXPORT Reset_Handler [WEAK]
- IMPORT __main
- IMPORT SystemInit
- LDR R0, =SystemInit
- BLX R0
- LDR R0, =__main
- BX R0
- ENDP
-
-; Dummy Exception Handlers (infinite loops which can be modified)
-
-NMI_Handler PROC
- EXPORT NMI_Handler [WEAK]
- B .
- ENDP
-HardFault_Handler\
- PROC
- EXPORT HardFault_Handler [WEAK]
- B .
- ENDP
-MemManage_Handler\
- PROC
- EXPORT MemManage_Handler [WEAK]
- B .
- ENDP
-BusFault_Handler\
- PROC
- EXPORT BusFault_Handler [WEAK]
- B .
- ENDP
-UsageFault_Handler\
- PROC
- EXPORT UsageFault_Handler [WEAK]
- B .
- ENDP
-SVC_Handler PROC
- EXPORT SVC_Handler [WEAK]
- B .
- ENDP
-DebugMon_Handler\
- PROC
- EXPORT DebugMon_Handler [WEAK]
- B .
- ENDP
-PendSV_Handler PROC
- EXPORT PendSV_Handler [WEAK]
- B .
- ENDP
-SysTick_Handler PROC
- EXPORT SysTick_Handler [WEAK]
- B .
- ENDP
-
-Default_Handler PROC
-
- EXPORT WWDG_IRQHandler [WEAK]
- EXPORT PVD_IRQHandler [WEAK]
- EXPORT TAMPER_STAMP_IRQHandler [WEAK]
- EXPORT RTC_WKUP_IRQHandler [WEAK]
- EXPORT FLASH_IRQHandler [WEAK]
- EXPORT RCC_IRQHandler [WEAK]
- EXPORT EXTI0_IRQHandler [WEAK]
- EXPORT EXTI1_IRQHandler [WEAK]
- EXPORT EXTI2_IRQHandler [WEAK]
- EXPORT EXTI3_IRQHandler [WEAK]
- EXPORT EXTI4_IRQHandler [WEAK]
- EXPORT DMA1_Channel1_IRQHandler [WEAK]
- EXPORT DMA1_Channel2_IRQHandler [WEAK]
- EXPORT DMA1_Channel3_IRQHandler [WEAK]
- EXPORT DMA1_Channel4_IRQHandler [WEAK]
- EXPORT DMA1_Channel5_IRQHandler [WEAK]
- EXPORT DMA1_Channel6_IRQHandler [WEAK]
- EXPORT DMA1_Channel7_IRQHandler [WEAK]
- EXPORT ADC1_IRQHandler [WEAK]
- EXPORT USB_HP_IRQHandler [WEAK]
- EXPORT USB_LP_IRQHandler [WEAK]
- EXPORT DAC_IRQHandler [WEAK]
- EXPORT COMP_IRQHandler [WEAK]
- EXPORT EXTI9_5_IRQHandler [WEAK]
- EXPORT LCD_IRQHandler [WEAK]
- EXPORT TIM9_IRQHandler [WEAK]
- EXPORT TIM10_IRQHandler [WEAK]
- EXPORT TIM11_IRQHandler [WEAK]
- EXPORT TIM2_IRQHandler [WEAK]
- EXPORT TIM3_IRQHandler [WEAK]
- EXPORT TIM4_IRQHandler [WEAK]
- EXPORT I2C1_EV_IRQHandler [WEAK]
- EXPORT I2C1_ER_IRQHandler [WEAK]
- EXPORT I2C2_EV_IRQHandler [WEAK]
- EXPORT I2C2_ER_IRQHandler [WEAK]
- EXPORT SPI1_IRQHandler [WEAK]
- EXPORT SPI2_IRQHandler [WEAK]
- EXPORT USART1_IRQHandler [WEAK]
- EXPORT USART2_IRQHandler [WEAK]
- EXPORT USART3_IRQHandler [WEAK]
- EXPORT EXTI15_10_IRQHandler [WEAK]
- EXPORT RTC_Alarm_IRQHandler [WEAK]
- EXPORT USB_FS_WKUP_IRQHandler [WEAK]
- EXPORT TIM6_IRQHandler [WEAK]
- EXPORT TIM7_IRQHandler [WEAK]
- EXPORT SDIO_IRQHandler [WEAK]
- EXPORT TIM5_IRQHandler [WEAK]
- EXPORT SPI3_IRQHandler [WEAK]
- EXPORT UART4_IRQHandler [WEAK]
- EXPORT UART5_IRQHandler [WEAK]
- EXPORT DMA2_Channel1_IRQHandler [WEAK]
- EXPORT DMA2_Channel2_IRQHandler [WEAK]
- EXPORT DMA2_Channel3_IRQHandler [WEAK]
- EXPORT DMA2_Channel4_IRQHandler [WEAK]
- EXPORT DMA2_Channel5_IRQHandler [WEAK]
- EXPORT AES_IRQHandler [WEAK]
- EXPORT COMP_ACQ_IRQHandler [WEAK]
-
-WWDG_IRQHandler
-PVD_IRQHandler
-TAMPER_STAMP_IRQHandler
-RTC_WKUP_IRQHandler
-FLASH_IRQHandler
-RCC_IRQHandler
-EXTI0_IRQHandler
-EXTI1_IRQHandler
-EXTI2_IRQHandler
-EXTI3_IRQHandler
-EXTI4_IRQHandler
-DMA1_Channel1_IRQHandler
-DMA1_Channel2_IRQHandler
-DMA1_Channel3_IRQHandler
-DMA1_Channel4_IRQHandler
-DMA1_Channel5_IRQHandler
-DMA1_Channel6_IRQHandler
-DMA1_Channel7_IRQHandler
-ADC1_IRQHandler
-USB_HP_IRQHandler
-USB_LP_IRQHandler
-DAC_IRQHandler
-COMP_IRQHandler
-EXTI9_5_IRQHandler
-LCD_IRQHandler
-TIM9_IRQHandler
-TIM10_IRQHandler
-TIM11_IRQHandler
-TIM2_IRQHandler
-TIM3_IRQHandler
-TIM4_IRQHandler
-I2C1_EV_IRQHandler
-I2C1_ER_IRQHandler
-I2C2_EV_IRQHandler
-I2C2_ER_IRQHandler
-SPI1_IRQHandler
-SPI2_IRQHandler
-USART1_IRQHandler
-USART2_IRQHandler
-USART3_IRQHandler
-EXTI15_10_IRQHandler
-RTC_Alarm_IRQHandler
-USB_FS_WKUP_IRQHandler
-TIM6_IRQHandler
-TIM7_IRQHandler
-SDIO_IRQHandler
-TIM5_IRQHandler
-SPI3_IRQHandler
-UART4_IRQHandler
-UART5_IRQHandler
-DMA2_Channel1_IRQHandler
-DMA2_Channel2_IRQHandler
-DMA2_Channel3_IRQHandler
-DMA2_Channel4_IRQHandler
-DMA2_Channel5_IRQHandler
-AES_IRQHandler
-COMP_ACQ_IRQHandler
-
- B .
-
- ENDP
-
- ALIGN
-
-;*******************************************************************************
-; User Stack and Heap initialization
-;*******************************************************************************
- IF :DEF:__MICROLIB
-
- EXPORT __initial_sp
- EXPORT __heap_base
- EXPORT __heap_limit
-
- ELSE
-
- IMPORT __use_two_region_memory
- EXPORT __user_initial_stackheap
-
-__user_initial_stackheap
-
- LDR R0, = Heap_Mem
- LDR R1, =(Stack_Mem + Stack_Size)
- LDR R2, = (Heap_Mem + Heap_Size)
- LDR R3, = Stack_Mem
- BX LR
-
- ALIGN
-
- ENDIF
-
- END
-
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/src/boards/Bleeper-76/cmsis/stm32l1xx.h b/src/boards/Bleeper-76/cmsis/stm32l1xx.h
deleted file mode 100644
index 053b6935b..000000000
--- a/src/boards/Bleeper-76/cmsis/stm32l1xx.h
+++ /dev/null
@@ -1,6355 +0,0 @@
-/**
- ******************************************************************************
- * @file stm32l1xx.h
- * @author MCD Application Team
- * @version V1.2.0
- * @date 22-February-2013
- * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File.
- * This file contains all the peripheral register's definitions, bits
- * definitions and memory mapping for STM32L1xx High-density, Medium-density
- * and Medium-density Plus devices.
- *
- * The file is the unique include file that the application programmer
- * is using in the C source code, usually in main.c. This file contains:
- * - Configuration section that allows to select:
- * - The device used in the target application
- * - To use or not the peripheral’s drivers in application code(i.e.
- * code will be based on direct access to peripheral’s registers
- * rather than drivers API), this option is controlled by
- * "#define USE_STDPERIPH_DRIVER"
- * - To change few application-specific parameters such as the HSE
- * crystal frequency
- * - Data structures and the address mapping for all peripherals
- * - Peripheral's registers declarations and bits definition
- * - Macros to access peripheral’s registers hardware
- *
- ******************************************************************************
- * @attention
- *
- * © COPYRIGHT 2013 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-/** @addtogroup CMSIS
- * @{
- */
-
-/** @addtogroup stm32l1xx
- * @{
- */
-
-#ifndef __STM32L1XX_H
-#define __STM32L1XX_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/** @addtogroup Library_configuration_section
- * @{
- */
-
-/* Uncomment the line below according to the target STM32L device used in your
- application
- */
-
-#if !defined (STM32L1XX_MD) && !defined (STM32L1XX_MDP) && !defined (STM32L1XX_HD)
-
-/* #define STM32L1XX_MD */ /*!< - Ultra Low Power Medium-density devices: STM32L151x6xx, STM32L151x8xx,
- STM32L151xBxx, STM32L152x6xx, STM32L152x8xx and STM32L152xBxx.
- - Ultra Low Power Medium-density Value Line devices: STM32L100x6xx,
- STM32L100x8xx and STM32L100xBxx. */
-
-/* #define STM32L1XX_MDP */ /*!< - Ultra Low Power Medium-density Plus devices: STM32L151xCxx, STM32L152xCxx and STM32L162xCxx
- - Ultra Low Power Medium-density Plus Value Line devices: STM32L100xCxx */
-
- #define STM32L1XX_HD /*!< Ultra Low Power High-density devices: STM32L151xDxx, STM32L152xDxx and STM32L162xDxx */
-#endif
-/* Tip: To avoid modifying this file each time you need to switch between these
- devices, you can define the device in your toolchain compiler preprocessor.
- */
-
-#if !defined (STM32L1XX_MD) && !defined (STM32L1XX_MDP) && !defined (STM32L1XX_HD)
- #error "Please select first the target STM32L1xx device used in your application (in stm32l1xx.h file)"
-#endif
-
-#if !defined USE_STDPERIPH_DRIVER
-/**
- * @brief Comment the line below if you will not use the peripherals drivers.
- In this case, these drivers will not be included and the application code will
- be based on direct access to peripherals registers
- */
- #define USE_STDPERIPH_DRIVER
-#endif
-
-/**
- * @brief In the following line adjust the value of External High Speed oscillator (HSE)
- used in your application
-
- Tip: To avoid modifying this file each time you need to use different HSE, you
- can define the HSE value in your toolchain compiler preprocessor.
- */
-#if !defined (HSE_VALUE)
-#define HSE_VALUE ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */
-#endif
-
-/**
- * @brief In the following line adjust the External High Speed oscillator (HSE) Startup
- Timeout value
- */
-#if !defined (HSE_STARTUP_TIMEOUT)
-#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up */
-#endif
-
-/**
- * @brief In the following line adjust the Internal High Speed oscillator (HSI) Startup
- Timeout value
- */
-#if !defined (HSI_STARTUP_TIMEOUT)
-#define HSI_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSI start up */
-#endif
-
-#if !defined (HSI_VALUE)
-#define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal High Speed oscillator in Hz.
- The real value may vary depending on the variations
- in voltage and temperature. */
-#endif
-
-#if !defined (LSI_VALUE)
-#define LSI_VALUE ((uint32_t)37000) /*!< Value of the Internal Low Speed oscillator in Hz
- The real value may vary depending on the variations
- in voltage and temperature. */
-#endif
-
-#if !defined (LSE_VALUE)
-#define LSE_VALUE ((uint32_t)32768) /*!< Value of the External Low Speed oscillator in Hz */
-#endif
-
-/**
- * @brief STM32L1xx Standard Peripheral Library version number V1.2.0
- */
-#define __STM32L1XX_STDPERIPH_VERSION_MAIN (0x01) /*!< [31:24] main version */
-#define __STM32L1XX_STDPERIPH_VERSION_SUB1 (0x02) /*!< [23:16] sub1 version */
-#define __STM32L1XX_STDPERIPH_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */
-#define __STM32L1XX_STDPERIPH_VERSION_RC (0x00) /*!< [7:0] release candidate */
-#define __STM32L1XX_STDPERIPH_VERSION ( (__STM32L1XX_STDPERIPH_VERSION_MAIN << 24)\
- |(__STM32L1XX_STDPERIPH_VERSION_SUB1 << 16)\
- |(__STM32L1XX_STDPERIPH_VERSION_SUB2 << 8)\
- |(__STM32L1XX_STDPERIPH_VERSION_RC))
-
-/**
- * @}
- */
-
-/** @addtogroup Configuration_section_for_CMSIS
- * @{
- */
-
-/**
- * @brief STM32L1xx Interrupt Number Definition, according to the selected device
- * in @ref Library_configuration_section
- */
-#define __CM3_REV 0x200 /*!< Cortex-M3 Revision r2p0 */
-#define __MPU_PRESENT 1 /*!< STM32L1 provides MPU */
-#define __NVIC_PRIO_BITS 4 /*!< STM32L1 uses 4 Bits for the Priority Levels */
-#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
-
-/*!< Interrupt Number Definition */
-typedef enum IRQn
-{
-/****** Cortex-M3 Processor Exceptions Numbers ******************************************************/
- NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
- MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */
- BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */
- UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */
- SVC_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */
- DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */
- PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */
- SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */
-
-/****** STM32L specific Interrupt Numbers ***********************************************************/
- WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */
- PVD_IRQn = 1, /*!< PVD through EXTI Line detection Interrupt */
- TAMPER_STAMP_IRQn = 2, /*!< Tamper and Time Stamp through EXTI Line Interrupts */
- RTC_WKUP_IRQn = 3, /*!< RTC Wakeup Timer through EXTI Line Interrupt */
- FLASH_IRQn = 4, /*!< FLASH global Interrupt */
- RCC_IRQn = 5, /*!< RCC global Interrupt */
- EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */
- EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */
- EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */
- EXTI3_IRQn = 9, /*!< EXTI Line3 Interrupt */
- EXTI4_IRQn = 10, /*!< EXTI Line4 Interrupt */
- DMA1_Channel1_IRQn = 11, /*!< DMA1 Channel 1 global Interrupt */
- DMA1_Channel2_IRQn = 12, /*!< DMA1 Channel 2 global Interrupt */
- DMA1_Channel3_IRQn = 13, /*!< DMA1 Channel 3 global Interrupt */
- DMA1_Channel4_IRQn = 14, /*!< DMA1 Channel 4 global Interrupt */
- DMA1_Channel5_IRQn = 15, /*!< DMA1 Channel 5 global Interrupt */
- DMA1_Channel6_IRQn = 16, /*!< DMA1 Channel 6 global Interrupt */
- DMA1_Channel7_IRQn = 17, /*!< DMA1 Channel 7 global Interrupt */
- ADC1_IRQn = 18, /*!< ADC1 global Interrupt */
- USB_HP_IRQn = 19, /*!< USB High Priority Interrupt */
- USB_LP_IRQn = 20, /*!< USB Low Priority Interrupt */
- DAC_IRQn = 21, /*!< DAC Interrupt */
- COMP_IRQn = 22, /*!< Comparator through EXTI Line Interrupt */
- EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */
- LCD_IRQn = 24, /*!< LCD Interrupt */
- TIM9_IRQn = 25, /*!< TIM9 global Interrupt */
- TIM10_IRQn = 26, /*!< TIM10 global Interrupt */
- TIM11_IRQn = 27, /*!< TIM11 global Interrupt */
- TIM2_IRQn = 28, /*!< TIM2 global Interrupt */
- TIM3_IRQn = 29, /*!< TIM3 global Interrupt */
- TIM4_IRQn = 30, /*!< TIM4 global Interrupt */
- I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */
- I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */
- I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */
- I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */
- SPI1_IRQn = 35, /*!< SPI1 global Interrupt */
- SPI2_IRQn = 36, /*!< SPI2 global Interrupt */
- USART1_IRQn = 37, /*!< USART1 global Interrupt */
- USART2_IRQn = 38, /*!< USART2 global Interrupt */
- USART3_IRQn = 39, /*!< USART3 global Interrupt */
- EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */
- RTC_Alarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */
- USB_FS_WKUP_IRQn = 42, /*!< USB FS WakeUp from suspend through EXTI Line Interrupt */
- TIM6_IRQn = 43, /*!< TIM6 global Interrupt */
-#ifdef STM32L1XX_MD
- TIM7_IRQn = 44 /*!< TIM7 global Interrupt */
-#endif /* STM32L1XX_MD */
-
-#ifdef STM32L1XX_MDP
- TIM7_IRQn = 44, /*!< TIM7 global Interrupt */
- TIM5_IRQn = 46, /*!< TIM5 global Interrupt */
- SPI3_IRQn = 47, /*!< SPI3 global Interrupt */
- DMA2_Channel1_IRQn = 50, /*!< DMA2 Channel 1 global Interrupt */
- DMA2_Channel2_IRQn = 51, /*!< DMA2 Channel 2 global Interrupt */
- DMA2_Channel3_IRQn = 52, /*!< DMA2 Channel 3 global Interrupt */
- DMA2_Channel4_IRQn = 53, /*!< DMA2 Channel 4 global Interrupt */
- DMA2_Channel5_IRQn = 54, /*!< DMA2 Channel 5 global Interrupt */
- AES_IRQn = 55, /*!< AES global Interrupt */
- COMP_ACQ_IRQn = 56 /*!< Comparator Channel Acquisition global Interrupt */
-#endif /* STM32L1XX_MDP */
-
-#ifdef STM32L1XX_HD
- TIM7_IRQn = 44, /*!< TIM7 global Interrupt */
- SDIO_IRQn = 45, /*!< SDIO global Interrupt */
- TIM5_IRQn = 46, /*!< TIM5 global Interrupt */
- SPI3_IRQn = 47, /*!< SPI3 global Interrupt */
- UART4_IRQn = 48, /*!< UART4 global Interrupt */
- UART5_IRQn = 49, /*!< UART5 global Interrupt */
- DMA2_Channel1_IRQn = 50, /*!< DMA2 Channel 1 global Interrupt */
- DMA2_Channel2_IRQn = 51, /*!< DMA2 Channel 2 global Interrupt */
- DMA2_Channel3_IRQn = 52, /*!< DMA2 Channel 3 global Interrupt */
- DMA2_Channel4_IRQn = 53, /*!< DMA2 Channel 4 global Interrupt */
- DMA2_Channel5_IRQn = 54, /*!< DMA2 Channel 5 global Interrupt */
- AES_IRQn = 55, /*!< AES global Interrupt */
- COMP_ACQ_IRQn = 56 /*!< Comparator Channel Acquisition global Interrupt */
-#endif /* STM32L1XX_HD */
-} IRQn_Type;
-
-/**
- * @}
- */
-
-#include "core_cm3.h"
-#include "system_stm32l1xx.h"
-#include
-
-/** @addtogroup Exported_types
- * @{
- */
-
-typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
-
-typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
-#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
-
-typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
-
-/**
- * @brief __RAM_FUNC definition
- */
-#if defined ( __CC_ARM )
-/* ARM Compiler
- ------------
- RAM functions are defined using the toolchain options.
- Functions that are executed in RAM should reside in a separate source module.
- Using the 'Options for File' dialog you can simply change the 'Code / Const'
- area of a module to a memory space in physical RAM.
- Available memory areas are declared in the 'Target' tab of the 'Options for Target'
- dialog.
-*/
- #define __RAM_FUNC FLASH_Status
-
-#elif defined ( __ICCARM__ )
-/* ICCARM Compiler
- ---------------
- RAM functions are defined using a specific toolchain keyword "__ramfunc".
-*/
- #define __RAM_FUNC __ramfunc FLASH_Status
-
-#elif defined ( __GNUC__ )
-/* GNU Compiler
- ------------
- RAM functions are defined using a specific toolchain attribute
- "__attribute__((section(".data")))".
-*/
- #define __RAM_FUNC FLASH_Status __attribute__((section(".data")))
-
-#elif defined ( __TASKING__ )
-/* TASKING Compiler
- ----------------
- RAM functions are defined using a specific toolchain pragma. This pragma is
- defined in the stm32l1xx_flash_ramfunc.c
-*/
- #define __RAM_FUNC FLASH_Status
-
-#endif
-
-/**
- * @}
- */
-
-/** @addtogroup Peripheral_registers_structures
- * @{
- */
-
-/**
- * @brief Analog to Digital Converter
- */
-
-typedef struct
-{
- __IO uint32_t SR; /*!< ADC status register, Address offset: 0x00 */
- __IO uint32_t CR1; /*!< ADC control register 1, Address offset: 0x04 */
- __IO uint32_t CR2; /*!< ADC control register 2, Address offset: 0x08 */
- __IO uint32_t SMPR1; /*!< ADC sample time register 1, Address offset: 0x0C */
- __IO uint32_t SMPR2; /*!< ADC sample time register 2, Address offset: 0x10 */
- __IO uint32_t SMPR3; /*!< ADC sample time register 3, Address offset: 0x14 */
- __IO uint32_t JOFR1; /*!< ADC injected channel data offset register 1, Address offset: 0x18 */
- __IO uint32_t JOFR2; /*!< ADC injected channel data offset register 2, Address offset: 0x1C */
- __IO uint32_t JOFR3; /*!< ADC injected channel data offset register 3, Address offset: 0x20 */
- __IO uint32_t JOFR4; /*!< ADC injected channel data offset register 4, Address offset: 0x24 */
- __IO uint32_t HTR; /*!< ADC watchdog higher threshold register, Address offset: 0x28 */
- __IO uint32_t LTR; /*!< ADC watchdog lower threshold register, Address offset: 0x2C */
- __IO uint32_t SQR1; /*!< ADC regular sequence register 1, Address offset: 0x30 */
- __IO uint32_t SQR2; /*!< ADC regular sequence register 2, Address offset: 0x34 */
- __IO uint32_t SQR3; /*!< ADC regular sequence register 3, Address offset: 0x38 */
- __IO uint32_t SQR4; /*!< ADC regular sequence register 4, Address offset: 0x3C */
- __IO uint32_t SQR5; /*!< ADC regular sequence register 5, Address offset: 0x40 */
- __IO uint32_t JSQR; /*!< ADC injected sequence register, Address offset: 0x44 */
- __IO uint32_t JDR1; /*!< ADC injected data register 1, Address offset: 0x48 */
- __IO uint32_t JDR2; /*!< ADC injected data register 2, Address offset: 0x4C */
- __IO uint32_t JDR3; /*!< ADC injected data register 3, Address offset: 0x50 */
- __IO uint32_t JDR4; /*!< ADC injected data register 4, Address offset: 0x54 */
- __IO uint32_t DR; /*!< ADC regular data register, Address offset: 0x58 */
- __IO uint32_t SMPR0; /*!< ADC sample time register 0, Address offset: 0x5C */
-} ADC_TypeDef;
-
-typedef struct
-{
- __IO uint32_t CSR; /*!< ADC common status register, Address offset: ADC1 base address + 0x300 */
- __IO uint32_t CCR; /*!< ADC common control register, Address offset: ADC1 base address + 0x304 */
-} ADC_Common_TypeDef;
-
-
-/**
- * @brief AES hardware accelerator
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< AES control register, Address offset: 0x00 */
- __IO uint32_t SR; /*!< AES status register, Address offset: 0x04 */
- __IO uint32_t DINR; /*!< AES data input register, Address offset: 0x08 */
- __IO uint32_t DOUTR; /*!< AES data output register, Address offset: 0x0C */
- __IO uint32_t KEYR0; /*!< AES key register 0, Address offset: 0x10 */
- __IO uint32_t KEYR1; /*!< AES key register 1, Address offset: 0x14 */
- __IO uint32_t KEYR2; /*!< AES key register 2, Address offset: 0x18 */
- __IO uint32_t KEYR3; /*!< AES key register 3, Address offset: 0x1C */
- __IO uint32_t IVR0; /*!< AES initialization vector register 0, Address offset: 0x20 */
- __IO uint32_t IVR1; /*!< AES initialization vector register 1, Address offset: 0x24 */
- __IO uint32_t IVR2; /*!< AES initialization vector register 2, Address offset: 0x28 */
- __IO uint32_t IVR3; /*!< AES initialization vector register 3, Address offset: 0x2C */
-} AES_TypeDef;
-
-/**
- * @brief Comparator
- */
-
-typedef struct
-{
- __IO uint32_t CSR; /*!< COMP comparator control and status register, Address offset: 0x00 */
-} COMP_TypeDef;
-
-/**
- * @brief CRC calculation unit
- */
-
-typedef struct
-{
- __IO uint32_t DR; /*!< CRC Data register, Address offset: 0x00 */
- __IO uint8_t IDR; /*!< CRC Independent data register, Address offset: 0x04 */
- uint8_t RESERVED0; /*!< Reserved, 0x05 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint32_t CR; /*!< CRC Control register, Address offset: 0x08 */
-} CRC_TypeDef;
-
-/**
- * @brief Digital to Analog Converter
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< DAC control register, Address offset: 0x00 */
- __IO uint32_t SWTRIGR; /*!< DAC software trigger register, Address offset: 0x04 */
- __IO uint32_t DHR12R1; /*!< DAC channel1 12-bit right-aligned data holding register, Address offset: 0x08 */
- __IO uint32_t DHR12L1; /*!< DAC channel1 12-bit left aligned data holding register, Address offset: 0x0C */
- __IO uint32_t DHR8R1; /*!< DAC channel1 8-bit right aligned data holding register, Address offset: 0x10 */
- __IO uint32_t DHR12R2; /*!< DAC channel2 12-bit right aligned data holding register, Address offset: 0x14 */
- __IO uint32_t DHR12L2; /*!< DAC channel2 12-bit left aligned data holding register, Address offset: 0x18 */
- __IO uint32_t DHR8R2; /*!< DAC channel2 8-bit right-aligned data holding register, Address offset: 0x1C */
- __IO uint32_t DHR12RD; /*!< Dual DAC 12-bit right-aligned data holding register, Address offset: 0x20 */
- __IO uint32_t DHR12LD; /*!< DUAL DAC 12-bit left aligned data holding register, Address offset: 0x24 */
- __IO uint32_t DHR8RD; /*!< DUAL DAC 8-bit right aligned data holding register, Address offset: 0x28 */
- __IO uint32_t DOR1; /*!< DAC channel1 data output register, Address offset: 0x2C */
- __IO uint32_t DOR2; /*!< DAC channel2 data output register, Address offset: 0x30 */
- __IO uint32_t SR; /*!< DAC status register, Address offset: 0x34 */
-} DAC_TypeDef;
-
-/**
- * @brief Debug MCU
- */
-
-typedef struct
-{
- __IO uint32_t IDCODE; /*!< MCU device ID code, Address offset: 0x00 */
- __IO uint32_t CR; /*!< Debug MCU configuration register, Address offset: 0x04 */
- __IO uint32_t APB1FZ; /*!< Debug MCU APB1 freeze register, Address offset: 0x08 */
- __IO uint32_t APB2FZ; /*!< Debug MCU APB2 freeze register, Address offset: 0x0C */
-}DBGMCU_TypeDef;
-
-/**
- * @brief DMA Controller
- */
-
-typedef struct
-{
- __IO uint32_t CCR; /*!< DMA channel x configuration register */
- __IO uint32_t CNDTR; /*!< DMA channel x number of data register */
- __IO uint32_t CPAR; /*!< DMA channel x peripheral address register */
- __IO uint32_t CMAR; /*!< DMA channel x memory address register */
-} DMA_Channel_TypeDef;
-
-typedef struct
-{
- __IO uint32_t ISR; /*!< DMA interrupt status register, Address offset: 0x00 */
- __IO uint32_t IFCR; /*!< DMA interrupt flag clear register, Address offset: 0x04 */
-} DMA_TypeDef;
-
-/**
- * @brief External Interrupt/Event Controller
- */
-
-typedef struct
-{
- __IO uint32_t IMR; /*!< EXTI interrupt mask register, Address offset: 0x00 */
- __IO uint32_t EMR; /*!< EXTI event mask register, Address offset: 0x04 */
- __IO uint32_t RTSR; /*!< EXTI rising edge trigger selection register, Address offset: 0x08 */
- __IO uint32_t FTSR; /*!< EXTI Falling edge trigger selection register, Address offset: 0x0C */
- __IO uint32_t SWIER; /*!< EXTI software interrupt event register, Address offset: 0x10 */
- __IO uint32_t PR; /*!< EXTI pending register, Address offset: 0x14 */
-} EXTI_TypeDef;
-
-/**
- * @brief FLASH Registers
- */
-
-typedef struct
-{
- __IO uint32_t ACR; /*!< Access control register, Address offset: 0x00 */
- __IO uint32_t PECR; /*!< Program/erase control register, Address offset: 0x04 */
- __IO uint32_t PDKEYR; /*!< Power down key register, Address offset: 0x08 */
- __IO uint32_t PEKEYR; /*!< Program/erase key register, Address offset: 0x0c */
- __IO uint32_t PRGKEYR; /*!< Program memory key register, Address offset: 0x10 */
- __IO uint32_t OPTKEYR; /*!< Option byte key register, Address offset: 0x14 */
- __IO uint32_t SR; /*!< Status register, Address offset: 0x18 */
- __IO uint32_t OBR; /*!< Option byte register, Address offset: 0x1c */
- __IO uint32_t WRPR; /*!< Write protection register, Address offset: 0x20 */
- uint32_t RESERVED[23]; /*!< Reserved, 0x24 */
- __IO uint32_t WRPR1; /*!< Write protection register 1, Address offset: 0x28 */
- __IO uint32_t WRPR2; /*!< Write protection register 2, Address offset: 0x2C */
-} FLASH_TypeDef;
-
-/**
- * @brief Option Bytes Registers
- */
-
-typedef struct
-{
- __IO uint32_t RDP; /*!< Read protection register, Address offset: 0x00 */
- __IO uint32_t USER; /*!< user register, Address offset: 0x04 */
- __IO uint32_t WRP01; /*!< write protection register 0 1, Address offset: 0x08 */
- __IO uint32_t WRP23; /*!< write protection register 2 3, Address offset: 0x0C */
- __IO uint32_t WRP45; /*!< write protection register 4 5, Address offset: 0x10 */
- __IO uint32_t WRP67; /*!< write protection register 6 7, Address offset: 0x14 */
- __IO uint32_t WRP89; /*!< write protection register 8 9, Address offset: 0x18 */
- __IO uint32_t WRP1011; /*!< write protection register 10 11, Address offset: 0x1C */
-} OB_TypeDef;
-
-/**
- * @brief Operational Amplifier (OPAMP)
- */
-
-typedef struct
-{
- __IO uint32_t CSR; /*!< OPAMP control/status register, Address offset: 0x00 */
- __IO uint32_t OTR; /*!< OPAMP offset trimming register for normal mode, Address offset: 0x04 */
- __IO uint32_t LPOTR; /*!< OPAMP offset trimming register for low power mode, Address offset: 0x08 */
-} OPAMP_TypeDef;
-
-/**
- * @brief Flexible Static Memory Controller
- */
-
-typedef struct
-{
- __IO uint32_t BTCR[8]; /*!< NOR/PSRAM chip-select control register(BCR) and chip-select timing register(BTR), Address offset: 0x00-1C */
-} FSMC_Bank1_TypeDef;
-
-/**
- * @brief Flexible Static Memory Controller Bank1E
- */
-
-typedef struct
-{
- __IO uint32_t BWTR[7]; /*!< NOR/PSRAM write timing registers, Address offset: 0x104-0x11C */
-} FSMC_Bank1E_TypeDef;
-
-/**
- * @brief General Purpose IO
- */
-
-typedef struct
-{
- __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */
- __IO uint16_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */
- uint16_t RESERVED0; /*!< Reserved, 0x06 */
- __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */
- __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */
- __IO uint16_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */
- uint16_t RESERVED1; /*!< Reserved, 0x12 */
- __IO uint16_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */
- uint16_t RESERVED2; /*!< Reserved, 0x16 */
- __IO uint16_t BSRRL; /*!< GPIO port bit set/reset low registerBSRR, Address offset: 0x18 */
- __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high registerBSRR, Address offset: 0x1A */
- __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */
- __IO uint32_t AFR[2]; /*!< GPIO alternate function low register, Address offset: 0x20-0x24 */
- __IO uint16_t BRR; /*!< GPIO bit reset register, Address offset: 0x28 */
- uint16_t RESERVED3; /*!< Reserved, 0x2A */
-} GPIO_TypeDef;
-
-/**
- * @brief SysTem Configuration
- */
-
-typedef struct
-{
- __IO uint32_t MEMRMP; /*!< SYSCFG memory remap register, Address offset: 0x00 */
- __IO uint32_t PMC; /*!< SYSCFG peripheral mode configuration register, Address offset: 0x04 */
- __IO uint32_t EXTICR[4]; /*!< SYSCFG external interrupt configuration registers, Address offset: 0x08-0x14 */
-} SYSCFG_TypeDef;
-
-/**
- * @brief Inter-integrated Circuit Interface
- */
-
-typedef struct
-{
- __IO uint16_t CR1; /*!< I2C Control register 1, Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t CR2; /*!< I2C Control register 2, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t OAR1; /*!< I2C Own address register 1, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t OAR2; /*!< I2C Own address register 2, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t DR; /*!< I2C Data register, Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t SR1; /*!< I2C Status register 1, Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t SR2; /*!< I2C Status register 2, Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
- __IO uint16_t CCR; /*!< I2C Clock control register, Address offset: 0x1C */
- uint16_t RESERVED7; /*!< Reserved, 0x1E */
- __IO uint16_t TRISE; /*!< I2C TRISE register, Address offset: 0x20 */
- uint16_t RESERVED8; /*!< Reserved, 0x22 */
-} I2C_TypeDef;
-
-/**
- * @brief Independent WATCHDOG
- */
-
-typedef struct
-{
- __IO uint32_t KR; /*!< Key register, Address offset: 0x00 */
- __IO uint32_t PR; /*!< Prescaler register, Address offset: 0x04 */
- __IO uint32_t RLR; /*!< Reload register, Address offset: 0x08 */
- __IO uint32_t SR; /*!< Status register, Address offset: 0x0C */
-} IWDG_TypeDef;
-
-
-/**
- * @brief LCD
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< LCD control register, Address offset: 0x00 */
- __IO uint32_t FCR; /*!< LCD frame control register, Address offset: 0x04 */
- __IO uint32_t SR; /*!< LCD status register, Address offset: 0x08 */
- __IO uint32_t CLR; /*!< LCD clear register, Address offset: 0x0C */
- uint32_t RESERVED; /*!< Reserved, Address offset: 0x10 */
- __IO uint32_t RAM[16]; /*!< LCD display memory, Address offset: 0x14-0x50 */
-} LCD_TypeDef;
-
-/**
- * @brief Power Control
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< PWR power control register, Address offset: 0x00 */
- __IO uint32_t CSR; /*!< PWR power control/status register, Address offset: 0x04 */
-} PWR_TypeDef;
-
-/**
- * @brief Reset and Clock Control
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< RCC clock control register, Address offset: 0x00 */
- __IO uint32_t ICSCR; /*!< RCC Internal clock sources calibration register, Address offset: 0x04 */
- __IO uint32_t CFGR; /*!< RCC Clock configuration register, Address offset: 0x08 */
- __IO uint32_t CIR; /*!< RCC Clock interrupt register, Address offset: 0x0C */
- __IO uint32_t AHBRSTR; /*!< RCC AHB peripheral reset register, Address offset: 0x10 */
- __IO uint32_t APB2RSTR; /*!< RCC APB2 peripheral reset register, Address offset: 0x14 */
- __IO uint32_t APB1RSTR; /*!< RCC APB1 peripheral reset register, Address offset: 0x18 */
- __IO uint32_t AHBENR; /*!< RCC AHB peripheral clock enable register, Address offset: 0x1C */
- __IO uint32_t APB2ENR; /*!< RCC APB2 peripheral clock enable register, Address offset: 0x20 */
- __IO uint32_t APB1ENR; /*!< RCC APB1 peripheral clock enable register, Address offset: 0x24 */
- __IO uint32_t AHBLPENR; /*!< RCC AHB peripheral clock enable in low power mode register, Address offset: 0x28 */
- __IO uint32_t APB2LPENR; /*!< RCC APB2 peripheral clock enable in low power mode register, Address offset: 0x2C */
- __IO uint32_t APB1LPENR; /*!< RCC APB1 peripheral clock enable in low power mode register, Address offset: 0x30 */
- __IO uint32_t CSR; /*!< RCC Control/status register, Address offset: 0x34 */
-} RCC_TypeDef;
-
-/**
- * @brief Routing Interface
- */
-
-typedef struct
-{
- __IO uint32_t ICR; /*!< RI input capture register, Address offset: 0x00 */
- __IO uint32_t ASCR1; /*!< RI analog switches control register, Address offset: 0x04 */
- __IO uint32_t ASCR2; /*!< RI analog switch control register 2, Address offset: 0x08 */
- __IO uint32_t HYSCR1; /*!< RI hysteresis control register, Address offset: 0x0C */
- __IO uint32_t HYSCR2; /*!< RI Hysteresis control register, Address offset: 0x10 */
- __IO uint32_t HYSCR3; /*!< RI Hysteresis control register, Address offset: 0x14 */
- __IO uint32_t HYSCR4; /*!< RI Hysteresis control register, Address offset: 0x18 */
-} RI_TypeDef;
-
-/**
- * @brief Real-Time Clock
- */
-
-typedef struct
-{
- __IO uint32_t TR; /*!< RTC time register, Address offset: 0x00 */
- __IO uint32_t DR; /*!< RTC date register, Address offset: 0x04 */
- __IO uint32_t CR; /*!< RTC control register, Address offset: 0x08 */
- __IO uint32_t ISR; /*!< RTC initialization and status register, Address offset: 0x0C */
- __IO uint32_t PRER; /*!< RTC prescaler register, Address offset: 0x10 */
- __IO uint32_t WUTR; /*!< RTC wakeup timer register, Address offset: 0x14 */
- __IO uint32_t CALIBR; /*!< RTC calibration register, Address offset: 0x18 */
- __IO uint32_t ALRMAR; /*!< RTC alarm A register, Address offset: 0x1C */
- __IO uint32_t ALRMBR; /*!< RTC alarm B register, Address offset: 0x20 */
- __IO uint32_t WPR; /*!< RTC write protection register, Address offset: 0x24 */
- __IO uint32_t SSR; /*!< RTC sub second register, Address offset: 0x28 */
- __IO uint32_t SHIFTR; /*!< RTC shift control register, Address offset: 0x2C */
- __IO uint32_t TSTR; /*!< RTC time stamp time register, Address offset: 0x30 */
- __IO uint32_t TSDR; /*!< RTC time stamp date register, Address offset: 0x34 */
- __IO uint32_t TSSSR; /*!< RTC time-stamp sub second register, Address offset: 0x38 */
- __IO uint32_t CALR; /*!< RRTC calibration register, Address offset: 0x3C */
- __IO uint32_t TAFCR; /*!< RTC tamper and alternate function configuration register, Address offset: 0x40 */
- __IO uint32_t ALRMASSR; /*!< RTC alarm A sub second register, Address offset: 0x44 */
- __IO uint32_t ALRMBSSR; /*!< RTC alarm B sub second register, Address offset: 0x48 */
- uint32_t RESERVED7; /*!< Reserved, 0x4C */
- __IO uint32_t BKP0R; /*!< RTC backup register 0, Address offset: 0x50 */
- __IO uint32_t BKP1R; /*!< RTC backup register 1, Address offset: 0x54 */
- __IO uint32_t BKP2R; /*!< RTC backup register 2, Address offset: 0x58 */
- __IO uint32_t BKP3R; /*!< RTC backup register 3, Address offset: 0x5C */
- __IO uint32_t BKP4R; /*!< RTC backup register 4, Address offset: 0x60 */
- __IO uint32_t BKP5R; /*!< RTC backup register 5, Address offset: 0x64 */
- __IO uint32_t BKP6R; /*!< RTC backup register 6, Address offset: 0x68 */
- __IO uint32_t BKP7R; /*!< RTC backup register 7, Address offset: 0x6C */
- __IO uint32_t BKP8R; /*!< RTC backup register 8, Address offset: 0x70 */
- __IO uint32_t BKP9R; /*!< RTC backup register 9, Address offset: 0x74 */
- __IO uint32_t BKP10R; /*!< RTC backup register 10, Address offset: 0x78 */
- __IO uint32_t BKP11R; /*!< RTC backup register 11, Address offset: 0x7C */
- __IO uint32_t BKP12R; /*!< RTC backup register 12, Address offset: 0x80 */
- __IO uint32_t BKP13R; /*!< RTC backup register 13, Address offset: 0x84 */
- __IO uint32_t BKP14R; /*!< RTC backup register 14, Address offset: 0x88 */
- __IO uint32_t BKP15R; /*!< RTC backup register 15, Address offset: 0x8C */
- __IO uint32_t BKP16R; /*!< RTC backup register 16, Address offset: 0x90 */
- __IO uint32_t BKP17R; /*!< RTC backup register 17, Address offset: 0x94 */
- __IO uint32_t BKP18R; /*!< RTC backup register 18, Address offset: 0x98 */
- __IO uint32_t BKP19R; /*!< RTC backup register 19, Address offset: 0x9C */
- __IO uint32_t BKP20R; /*!< RTC backup register 20, Address offset: 0xA0 */
- __IO uint32_t BKP21R; /*!< RTC backup register 21, Address offset: 0xA4 */
- __IO uint32_t BKP22R; /*!< RTC backup register 22, Address offset: 0xA8 */
- __IO uint32_t BKP23R; /*!< RTC backup register 23, Address offset: 0xAC */
- __IO uint32_t BKP24R; /*!< RTC backup register 24, Address offset: 0xB0 */
- __IO uint32_t BKP25R; /*!< RTC backup register 25, Address offset: 0xB4 */
- __IO uint32_t BKP26R; /*!< RTC backup register 26, Address offset: 0xB8 */
- __IO uint32_t BKP27R; /*!< RTC backup register 27, Address offset: 0xBC */
- __IO uint32_t BKP28R; /*!< RTC backup register 28, Address offset: 0xC0 */
- __IO uint32_t BKP29R; /*!< RTC backup register 29, Address offset: 0xC4 */
- __IO uint32_t BKP30R; /*!< RTC backup register 30, Address offset: 0xC8 */
- __IO uint32_t BKP31R; /*!< RTC backup register 31, Address offset: 0xCC */
-} RTC_TypeDef;
-
-/**
- * @brief SD host Interface
- */
-
-typedef struct
-{
- __IO uint32_t POWER; /*!< SDIO power control register, Address offset: 0x00 */
- __IO uint32_t CLKCR; /*!< SDI clock control register, Address offset: 0x04 */
- __IO uint32_t ARG; /*!< SDIO argument register, Address offset: 0x08 */
- __IO uint32_t CMD; /*!< SDIO command register, Address offset: 0x0C */
- __I uint32_t RESPCMD; /*!< SDIO command response register, Address offset: 0x10 */
- __I uint32_t RESP1; /*!< SDIO response 1 register, Address offset: 0x14 */
- __I uint32_t RESP2; /*!< SDIO response 2 register, Address offset: 0x18 */
- __I uint32_t RESP3; /*!< SDIO response 3 register, Address offset: 0x1C */
- __I uint32_t RESP4; /*!< SDIO response 4 register, Address offset: 0x20 */
- __IO uint32_t DTIMER; /*!< SDIO data timer register, Address offset: 0x24 */
- __IO uint32_t DLEN; /*!< SDIO data length register, Address offset: 0x28 */
- __IO uint32_t DCTRL; /*!< SDIO data control register, Address offset: 0x2C */
- __I uint32_t DCOUNT; /*!< SDIO data counter register, Address offset: 0x30 */
- __I uint32_t STA; /*!< SDIO status register, Address offset: 0x34 */
- __IO uint32_t ICR; /*!< SDIO interrupt clear register, Address offset: 0x38 */
- __IO uint32_t MASK; /*!< SDIO mask register, Address offset: 0x3C */
- uint32_t RESERVED0[2]; /*!< Reserved, 0x40-0x44 */
- __I uint32_t FIFOCNT; /*!< SDIO FIFO counter register, Address offset: 0x48 */
- uint32_t RESERVED1[13]; /*!< Reserved, 0x4C-0x7C */
- __IO uint32_t FIFO; /*!< SDIO data FIFO register, Address offset: 0x80 */
-} SDIO_TypeDef;
-
-/**
- * @brief Serial Peripheral Interface
- */
-
-typedef struct
-{
- __IO uint16_t CR1; /*!< SPI control register 1 (not used in I2S mode), Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t CR2; /*!< SPI control register 2, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t SR; /*!< SPI status register, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t DR; /*!< SPI data register, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t CRCPR; /*!< SPI CRC polynomial register (not used in I2S mode), Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t RXCRCR; /*!< SPI RX CRC register (not used in I2S mode), Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t TXCRCR; /*!< SPI TX CRC register (not used in I2S mode), Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
- __IO uint16_t I2SCFGR; /*!< SPI_I2S configuration register, Address offset: 0x1C */
- uint16_t RESERVED7; /*!< Reserved, 0x1E */
- __IO uint16_t I2SPR; /*!< SPI_I2S prescaler register, Address offset: 0x20 */
- uint16_t RESERVED8; /*!< Reserved, 0x22 */
-} SPI_TypeDef;
-
-/**
- * @brief TIM
- */
-
-typedef struct
-{
- __IO uint16_t CR1; /*!< TIM control register 1, Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t CR2; /*!< TIM control register 2, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t SMCR; /*!< TIM slave mode control register, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t DIER; /*!< TIM DMA/interrupt enable register, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t SR; /*!< TIM status register, Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t EGR; /*!< TIM event generation register, Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t CCMR1; /*!< TIM capture/compare mode register 1, Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
- __IO uint16_t CCMR2; /*!< TIM capture/compare mode register 2, Address offset: 0x1C */
- uint16_t RESERVED7; /*!< Reserved, 0x1E */
- __IO uint16_t CCER; /*!< TIM capture/compare enable register, Address offset: 0x20 */
- uint16_t RESERVED8; /*!< Reserved, 0x22 */
- __IO uint32_t CNT; /*!< TIM counter register, Address offset: 0x24 */
- __IO uint16_t PSC; /*!< TIM prescaler, Address offset: 0x28 */
- uint16_t RESERVED10; /*!< Reserved, 0x2A */
- __IO uint32_t ARR; /*!< TIM auto-reload register, Address offset: 0x2C */
- uint32_t RESERVED12; /*!< Reserved, 0x30 */
- __IO uint32_t CCR1; /*!< TIM capture/compare register 1, Address offset: 0x34 */
- __IO uint32_t CCR2; /*!< TIM capture/compare register 2, Address offset: 0x38 */
- __IO uint32_t CCR3; /*!< TIM capture/compare register 3, Address offset: 0x3C */
- __IO uint32_t CCR4; /*!< TIM capture/compare register 4, Address offset: 0x40 */
- uint32_t RESERVED17; /*!< Reserved, 0x44 */
- __IO uint16_t DCR; /*!< TIM DMA control register, Address offset: 0x48 */
- uint16_t RESERVED18; /*!< Reserved, 0x4A */
- __IO uint16_t DMAR; /*!< TIM DMA address for full transfer, Address offset: 0x4C */
- uint16_t RESERVED19; /*!< Reserved, 0x4E */
- __IO uint16_t OR; /*!< TIM option register, Address offset: 0x50 */
- uint16_t RESERVED20; /*!< Reserved, 0x52 */
-} TIM_TypeDef;
-
-/**
- * @brief Universal Synchronous Asynchronous Receiver Transmitter
- */
-
-typedef struct
-{
- __IO uint16_t SR; /*!< USART Status register, Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t DR; /*!< USART Data register, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t BRR; /*!< USART Baud rate register, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t CR1; /*!< USART Control register 1, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t CR2; /*!< USART Control register 2, Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t CR3; /*!< USART Control register 3, Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t GTPR; /*!< USART Guard time and prescaler register, Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
-} USART_TypeDef;
-
-/**
- * @brief Window WATCHDOG
- */
-
-typedef struct
-{
- __IO uint32_t CR; /*!< WWDG Control register, Address offset: 0x00 */
- __IO uint32_t CFR; /*!< WWDG Configuration register, Address offset: 0x04 */
- __IO uint32_t SR; /*!< WWDG Status register, Address offset: 0x08 */
-} WWDG_TypeDef;
-
-/**
- * @}
- */
-
-/** @addtogroup Peripheral_memory_map
- * @{
- */
-
-#define FLASH_BASE ((uint32_t)0x08000000) /*!< FLASH base address in the alias region */
-#define SRAM_BASE ((uint32_t)0x20000000) /*!< SRAM base address in the alias region */
-#define PERIPH_BASE ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */
-
-#define SRAM_BB_BASE ((uint32_t)0x22000000) /*!< SRAM base address in the bit-band region */
-#define PERIPH_BB_BASE ((uint32_t)0x42000000) /*!< Peripheral base address in the bit-band region */
-
-#define FSMC_R_BASE ((uint32_t)0xA0000000) /*!< FSMC registers base address */
-
-/*!< Peripheral memory map */
-#define APB1PERIPH_BASE PERIPH_BASE
-#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
-#define AHBPERIPH_BASE (PERIPH_BASE + 0x20000)
-
-#define TIM2_BASE (APB1PERIPH_BASE + 0x0000)
-#define TIM3_BASE (APB1PERIPH_BASE + 0x0400)
-#define TIM4_BASE (APB1PERIPH_BASE + 0x0800)
-#define TIM5_BASE (APB1PERIPH_BASE + 0x0C00)
-#define TIM6_BASE (APB1PERIPH_BASE + 0x1000)
-#define TIM7_BASE (APB1PERIPH_BASE + 0x1400)
-#define LCD_BASE (APB1PERIPH_BASE + 0x2400)
-#define RTC_BASE (APB1PERIPH_BASE + 0x2800)
-#define WWDG_BASE (APB1PERIPH_BASE + 0x2C00)
-#define IWDG_BASE (APB1PERIPH_BASE + 0x3000)
-#define SPI2_BASE (APB1PERIPH_BASE + 0x3800)
-#define SPI3_BASE (APB1PERIPH_BASE + 0x3C00)
-#define USART2_BASE (APB1PERIPH_BASE + 0x4400)
-#define USART3_BASE (APB1PERIPH_BASE + 0x4800)
-#define UART4_BASE (APB1PERIPH_BASE + 0x4C00)
-#define UART5_BASE (APB1PERIPH_BASE + 0x5000)
-#define I2C1_BASE (APB1PERIPH_BASE + 0x5400)
-#define I2C2_BASE (APB1PERIPH_BASE + 0x5800)
-#define PWR_BASE (APB1PERIPH_BASE + 0x7000)
-#define DAC_BASE (APB1PERIPH_BASE + 0x7400)
-#define COMP_BASE (APB1PERIPH_BASE + 0x7C00)
-#define RI_BASE (APB1PERIPH_BASE + 0x7C04)
-#define OPAMP_BASE (APB1PERIPH_BASE + 0x7C5C)
-
-#define SYSCFG_BASE (APB2PERIPH_BASE + 0x0000)
-#define EXTI_BASE (APB2PERIPH_BASE + 0x0400)
-#define TIM9_BASE (APB2PERIPH_BASE + 0x0800)
-#define TIM10_BASE (APB2PERIPH_BASE + 0x0C00)
-#define TIM11_BASE (APB2PERIPH_BASE + 0x1000)
-#define ADC1_BASE (APB2PERIPH_BASE + 0x2400)
-#define ADC_BASE (APB2PERIPH_BASE + 0x2700)
-#define SDIO_BASE (APB2PERIPH_BASE + 0x2C00)
-#define SPI1_BASE (APB2PERIPH_BASE + 0x3000)
-#define USART1_BASE (APB2PERIPH_BASE + 0x3800)
-
-#define GPIOA_BASE (AHBPERIPH_BASE + 0x0000)
-#define GPIOB_BASE (AHBPERIPH_BASE + 0x0400)
-#define GPIOC_BASE (AHBPERIPH_BASE + 0x0800)
-#define GPIOD_BASE (AHBPERIPH_BASE + 0x0C00)
-#define GPIOE_BASE (AHBPERIPH_BASE + 0x1000)
-#define GPIOH_BASE (AHBPERIPH_BASE + 0x1400)
-#define GPIOF_BASE (AHBPERIPH_BASE + 0x1800)
-#define GPIOG_BASE (AHBPERIPH_BASE + 0x1C00)
-#define CRC_BASE (AHBPERIPH_BASE + 0x3000)
-#define RCC_BASE (AHBPERIPH_BASE + 0x3800)
-
-
-#define FLASH_R_BASE (AHBPERIPH_BASE + 0x3C00) /*!< FLASH registers base address */
-#define OB_BASE ((uint32_t)0x1FF80000) /*!< FLASH Option Bytes base address */
-
-#define DMA1_BASE (AHBPERIPH_BASE + 0x6000)
-#define DMA1_Channel1_BASE (DMA1_BASE + 0x0008)
-#define DMA1_Channel2_BASE (DMA1_BASE + 0x001C)
-#define DMA1_Channel3_BASE (DMA1_BASE + 0x0030)
-#define DMA1_Channel4_BASE (DMA1_BASE + 0x0044)
-#define DMA1_Channel5_BASE (DMA1_BASE + 0x0058)
-#define DMA1_Channel6_BASE (DMA1_BASE + 0x006C)
-#define DMA1_Channel7_BASE (DMA1_BASE + 0x0080)
-
-#define DMA2_BASE (AHBPERIPH_BASE + 0x6400)
-#define DMA2_Channel1_BASE (DMA2_BASE + 0x0008)
-#define DMA2_Channel2_BASE (DMA2_BASE + 0x001C)
-#define DMA2_Channel3_BASE (DMA2_BASE + 0x0030)
-#define DMA2_Channel4_BASE (DMA2_BASE + 0x0044)
-#define DMA2_Channel5_BASE (DMA2_BASE + 0x0058)
-
-#define AES_BASE ((uint32_t)0x50060000)
-
-#define FSMC_Bank1_R_BASE (FSMC_R_BASE + 0x0000) /*!< FSMC Bank1 registers base address */
-#define FSMC_Bank1E_R_BASE (FSMC_R_BASE + 0x0104) /*!< FSMC Bank1E registers base address */
-
-#define DBGMCU_BASE ((uint32_t)0xE0042000) /*!< Debug MCU registers base address */
-
-/**
- * @}
- */
-
-/** @addtogroup Peripheral_declaration
- * @{
- */
-
-#define TIM2 ((TIM_TypeDef *) TIM2_BASE)
-#define TIM3 ((TIM_TypeDef *) TIM3_BASE)
-#define TIM4 ((TIM_TypeDef *) TIM4_BASE)
-#define TIM5 ((TIM_TypeDef *) TIM5_BASE)
-#define TIM6 ((TIM_TypeDef *) TIM6_BASE)
-#define TIM7 ((TIM_TypeDef *) TIM7_BASE)
-#define LCD ((LCD_TypeDef *) LCD_BASE)
-#define RTC ((RTC_TypeDef *) RTC_BASE)
-#define WWDG ((WWDG_TypeDef *) WWDG_BASE)
-#define IWDG ((IWDG_TypeDef *) IWDG_BASE)
-#define SPI2 ((SPI_TypeDef *) SPI2_BASE)
-#define SPI3 ((SPI_TypeDef *) SPI3_BASE)
-#define USART2 ((USART_TypeDef *) USART2_BASE)
-#define USART3 ((USART_TypeDef *) USART3_BASE)
-#define UART4 ((USART_TypeDef *) UART4_BASE)
-#define UART5 ((USART_TypeDef *) UART5_BASE)
-#define I2C1 ((I2C_TypeDef *) I2C1_BASE)
-#define I2C2 ((I2C_TypeDef *) I2C2_BASE)
-#define PWR ((PWR_TypeDef *) PWR_BASE)
-#define DAC ((DAC_TypeDef *) DAC_BASE)
-#define COMP ((COMP_TypeDef *) COMP_BASE)
-#define RI ((RI_TypeDef *) RI_BASE)
-#define OPAMP ((OPAMP_TypeDef *) OPAMP_BASE)
-#define SYSCFG ((SYSCFG_TypeDef *) SYSCFG_BASE)
-#define EXTI ((EXTI_TypeDef *) EXTI_BASE)
-
-#define ADC1 ((ADC_TypeDef *) ADC1_BASE)
-#define ADC ((ADC_Common_TypeDef *) ADC_BASE)
-#define SDIO ((SDIO_TypeDef *) SDIO_BASE)
-#define TIM9 ((TIM_TypeDef *) TIM9_BASE)
-#define TIM10 ((TIM_TypeDef *) TIM10_BASE)
-#define TIM11 ((TIM_TypeDef *) TIM11_BASE)
-#define SPI1 ((SPI_TypeDef *) SPI1_BASE)
-#define USART1 ((USART_TypeDef *) USART1_BASE)
-#define DMA1 ((DMA_TypeDef *) DMA1_BASE)
-#define DMA1_Channel1 ((DMA_Channel_TypeDef *) DMA1_Channel1_BASE)
-#define DMA1_Channel2 ((DMA_Channel_TypeDef *) DMA1_Channel2_BASE)
-#define DMA1_Channel3 ((DMA_Channel_TypeDef *) DMA1_Channel3_BASE)
-#define DMA1_Channel4 ((DMA_Channel_TypeDef *) DMA1_Channel4_BASE)
-#define DMA1_Channel5 ((DMA_Channel_TypeDef *) DMA1_Channel5_BASE)
-#define DMA1_Channel6 ((DMA_Channel_TypeDef *) DMA1_Channel6_BASE)
-#define DMA1_Channel7 ((DMA_Channel_TypeDef *) DMA1_Channel7_BASE)
-
-#define DMA2 ((DMA_TypeDef *) DMA2_BASE)
-#define DMA2_Channel1 ((DMA_Channel_TypeDef *) DMA2_Channel1_BASE)
-#define DMA2_Channel2 ((DMA_Channel_TypeDef *) DMA2_Channel2_BASE)
-#define DMA2_Channel3 ((DMA_Channel_TypeDef *) DMA2_Channel3_BASE)
-#define DMA2_Channel4 ((DMA_Channel_TypeDef *) DMA2_Channel4_BASE)
-#define DMA2_Channel5 ((DMA_Channel_TypeDef *) DMA2_Channel5_BASE)
-
-#define RCC ((RCC_TypeDef *) RCC_BASE)
-#define CRC ((CRC_TypeDef *) CRC_BASE)
-
-#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
-#define GPIOB ((GPIO_TypeDef *) GPIOB_BASE)
-#define GPIOC ((GPIO_TypeDef *) GPIOC_BASE)
-#define GPIOD ((GPIO_TypeDef *) GPIOD_BASE)
-#define GPIOE ((GPIO_TypeDef *) GPIOE_BASE)
-#define GPIOH ((GPIO_TypeDef *) GPIOH_BASE)
-#define GPIOF ((GPIO_TypeDef *) GPIOF_BASE)
-#define GPIOG ((GPIO_TypeDef *) GPIOG_BASE)
-
-#define FLASH ((FLASH_TypeDef *) FLASH_R_BASE)
-#define OB ((OB_TypeDef *) OB_BASE)
-
-#define AES ((AES_TypeDef *) AES_BASE)
-
-#define FSMC_Bank1 ((FSMC_Bank1_TypeDef *) FSMC_Bank1_R_BASE)
-#define FSMC_Bank1E ((FSMC_Bank1E_TypeDef *) FSMC_Bank1E_R_BASE)
-
-#define DBGMCU ((DBGMCU_TypeDef *) DBGMCU_BASE)
-
-/**
- * @}
- */
-
-/** @addtogroup Exported_constants
- * @{
- */
-
-/** @addtogroup Peripheral_Registers_Bits_Definition
- * @{
- */
-
-/******************************************************************************/
-/* Peripheral Registers Bits Definition */
-/******************************************************************************/
-/******************************************************************************/
-/* */
-/* Analog to Digital Converter (ADC) */
-/* */
-/******************************************************************************/
-
-/******************** Bit definition for ADC_SR register ********************/
-#define ADC_SR_AWD ((uint32_t)0x00000001) /*!< Analog watchdog flag */
-#define ADC_SR_EOC ((uint32_t)0x00000002) /*!< End of conversion */
-#define ADC_SR_JEOC ((uint32_t)0x00000004) /*!< Injected channel end of conversion */
-#define ADC_SR_JSTRT ((uint32_t)0x00000008) /*!< Injected channel Start flag */
-#define ADC_SR_STRT ((uint32_t)0x00000010) /*!< Regular channel Start flag */
-#define ADC_SR_OVR ((uint32_t)0x00000020) /*!< Overrun flag */
-#define ADC_SR_ADONS ((uint32_t)0x00000040) /*!< ADC ON status */
-#define ADC_SR_RCNR ((uint32_t)0x00000100) /*!< Regular channel not ready flag */
-#define ADC_SR_JCNR ((uint32_t)0x00000200) /*!< Injected channel not ready flag */
-
-/******************* Bit definition for ADC_CR1 register ********************/
-#define ADC_CR1_AWDCH ((uint32_t)0x0000001F) /*!< AWDCH[4:0] bits (Analog watchdog channel select bits) */
-#define ADC_CR1_AWDCH_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_CR1_AWDCH_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_CR1_AWDCH_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_CR1_AWDCH_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_CR1_AWDCH_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_CR1_EOCIE ((uint32_t)0x00000020) /*!< Interrupt enable for EOC */
-#define ADC_CR1_AWDIE ((uint32_t)0x00000040) /*!< Analog Watchdog interrupt enable */
-#define ADC_CR1_JEOCIE ((uint32_t)0x00000080) /*!< Interrupt enable for injected channels */
-#define ADC_CR1_SCAN ((uint32_t)0x00000100) /*!< Scan mode */
-#define ADC_CR1_AWDSGL ((uint32_t)0x00000200) /*!< Enable the watchdog on a single channel in scan mode */
-#define ADC_CR1_JAUTO ((uint32_t)0x00000400) /*!< Automatic injected group conversion */
-#define ADC_CR1_DISCEN ((uint32_t)0x00000800) /*!< Discontinuous mode on regular channels */
-#define ADC_CR1_JDISCEN ((uint32_t)0x00001000) /*!< Discontinuous mode on injected channels */
-
-#define ADC_CR1_DISCNUM ((uint32_t)0x0000E000) /*!< DISCNUM[2:0] bits (Discontinuous mode channel count) */
-#define ADC_CR1_DISCNUM_0 ((uint32_t)0x00002000) /*!< Bit 0 */
-#define ADC_CR1_DISCNUM_1 ((uint32_t)0x00004000) /*!< Bit 1 */
-#define ADC_CR1_DISCNUM_2 ((uint32_t)0x00008000) /*!< Bit 2 */
-
-#define ADC_CR1_PDD ((uint32_t)0x00010000) /*!< Power Down during Delay phase */
-#define ADC_CR1_PDI ((uint32_t)0x00020000) /*!< Power Down during Idle phase */
-
-#define ADC_CR1_JAWDEN ((uint32_t)0x00400000) /*!< Analog watchdog enable on injected channels */
-#define ADC_CR1_AWDEN ((uint32_t)0x00800000) /*!< Analog watchdog enable on regular channels */
-
-#define ADC_CR1_RES ((uint32_t)0x03000000) /*!< RES[1:0] bits (Resolution) */
-#define ADC_CR1_RES_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_CR1_RES_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-
-#define ADC_CR1_OVRIE ((uint32_t)0x04000000) /*!< Overrun interrupt enable */
-
-/******************* Bit definition for ADC_CR2 register ********************/
-#define ADC_CR2_ADON ((uint32_t)0x00000001) /*!< A/D Converter ON / OFF */
-#define ADC_CR2_CONT ((uint32_t)0x00000002) /*!< Continuous Conversion */
-#define ADC_CR2_CFG ((uint32_t)0x00000004) /*!< ADC Configuration */
-
-#define ADC_CR2_DELS ((uint32_t)0x00000070) /*!< DELS[2:0] bits (Delay selection) */
-#define ADC_CR2_DELS_0 ((uint32_t)0x00000010) /*!< Bit 0 */
-#define ADC_CR2_DELS_1 ((uint32_t)0x00000020) /*!< Bit 1 */
-#define ADC_CR2_DELS_2 ((uint32_t)0x00000040) /*!< Bit 2 */
-
-#define ADC_CR2_DMA ((uint32_t)0x00000100) /*!< Direct Memory access mode */
-#define ADC_CR2_DDS ((uint32_t)0x00000200) /*!< DMA disable selection (Single ADC) */
-#define ADC_CR2_EOCS ((uint32_t)0x00000400) /*!< End of conversion selection */
-#define ADC_CR2_ALIGN ((uint32_t)0x00000800) /*!< Data Alignment */
-
-#define ADC_CR2_JEXTSEL ((uint32_t)0x000F0000) /*!< JEXTSEL[3:0] bits (External event select for injected group) */
-#define ADC_CR2_JEXTSEL_0 ((uint32_t)0x00010000) /*!< Bit 0 */
-#define ADC_CR2_JEXTSEL_1 ((uint32_t)0x00020000) /*!< Bit 1 */
-#define ADC_CR2_JEXTSEL_2 ((uint32_t)0x00040000) /*!< Bit 2 */
-#define ADC_CR2_JEXTSEL_3 ((uint32_t)0x00080000) /*!< Bit 3 */
-
-#define ADC_CR2_JEXTEN ((uint32_t)0x00300000) /*!< JEXTEN[1:0] bits (External Trigger Conversion mode for injected channels) */
-#define ADC_CR2_JEXTEN_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_CR2_JEXTEN_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-
-#define ADC_CR2_JSWSTART ((uint32_t)0x00400000) /*!< Start Conversion of injected channels */
-
-#define ADC_CR2_EXTSEL ((uint32_t)0x0F000000) /*!< EXTSEL[3:0] bits (External Event Select for regular group) */
-#define ADC_CR2_EXTSEL_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_CR2_EXTSEL_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-#define ADC_CR2_EXTSEL_2 ((uint32_t)0x04000000) /*!< Bit 2 */
-#define ADC_CR2_EXTSEL_3 ((uint32_t)0x08000000) /*!< Bit 3 */
-
-#define ADC_CR2_EXTEN ((uint32_t)0x30000000) /*!< EXTEN[1:0] bits (External Trigger Conversion mode for regular channels) */
-#define ADC_CR2_EXTEN_0 ((uint32_t)0x10000000) /*!< Bit 0 */
-#define ADC_CR2_EXTEN_1 ((uint32_t)0x20000000) /*!< Bit 1 */
-
-#define ADC_CR2_SWSTART ((uint32_t)0x40000000) /*!< Start Conversion of regular channels */
-
-/****************** Bit definition for ADC_SMPR1 register *******************/
-#define ADC_SMPR1_SMP20 ((uint32_t)0x00000007) /*!< SMP20[2:0] bits (Channel 20 Sample time selection) */
-#define ADC_SMPR1_SMP20_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SMPR1_SMP20_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SMPR1_SMP20_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP21 ((uint32_t)0x00000038) /*!< SMP21[2:0] bits (Channel 21 Sample time selection) */
-#define ADC_SMPR1_SMP21_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define ADC_SMPR1_SMP21_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-#define ADC_SMPR1_SMP21_2 ((uint32_t)0x00000020) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP22 ((uint32_t)0x000001C0) /*!< SMP22[2:0] bits (Channel 22 Sample time selection) */
-#define ADC_SMPR1_SMP22_0 ((uint32_t)0x00000040) /*!< Bit 0 */
-#define ADC_SMPR1_SMP22_1 ((uint32_t)0x00000080) /*!< Bit 1 */
-#define ADC_SMPR1_SMP22_2 ((uint32_t)0x00000100) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP23 ((uint32_t)0x00000E00) /*!< SMP23[2:0] bits (Channel 23 Sample time selection) */
-#define ADC_SMPR1_SMP23_0 ((uint32_t)0x00000200) /*!< Bit 0 */
-#define ADC_SMPR1_SMP23_1 ((uint32_t)0x00000400) /*!< Bit 1 */
-#define ADC_SMPR1_SMP23_2 ((uint32_t)0x00000800) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP24 ((uint32_t)0x00007000) /*!< SMP24[2:0] bits (Channel 24 Sample time selection) */
-#define ADC_SMPR1_SMP24_0 ((uint32_t)0x00001000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP24_1 ((uint32_t)0x00002000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP24_2 ((uint32_t)0x00004000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP25 ((uint32_t)0x00038000) /*!< SMP25[2:0] bits (Channel 25 Sample time selection) */
-#define ADC_SMPR1_SMP25_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP25_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP25_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP26 ((uint32_t)0x001C0000) /*!< SMP26[2:0] bits (Channel 26 Sample time selection) */
-#define ADC_SMPR1_SMP26_0 ((uint32_t)0x00040000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP26_1 ((uint32_t)0x00080000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP26_2 ((uint32_t)0x00100000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP27 ((uint32_t)0x00E00000) /*!< SMP27[2:0] bits (Channel 27 Sample time selection) */
-#define ADC_SMPR1_SMP27_0 ((uint32_t)0x00200000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP27_1 ((uint32_t)0x00400000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP27_2 ((uint32_t)0x00800000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP28 ((uint32_t)0x07000000) /*!< SMP28[2:0] bits (Channel 28 Sample time selection) */
-#define ADC_SMPR1_SMP28_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP28_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP28_2 ((uint32_t)0x04000000) /*!< Bit 2 */
-
-#define ADC_SMPR1_SMP29 ((uint32_t)0x38000000) /*!< SMP29[2:0] bits (Channel 29 Sample time selection) */
-#define ADC_SMPR1_SMP29_0 ((uint32_t)0x08000000) /*!< Bit 0 */
-#define ADC_SMPR1_SMP29_1 ((uint32_t)0x10000000) /*!< Bit 1 */
-#define ADC_SMPR1_SMP29_2 ((uint32_t)0x20000000) /*!< Bit 2 */
-
-/****************** Bit definition for ADC_SMPR2 register *******************/
-#define ADC_SMPR2_SMP10 ((uint32_t)0x00000007) /*!< SMP10[2:0] bits (Channel 10 Sample time selection) */
-#define ADC_SMPR2_SMP10_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SMPR2_SMP10_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SMPR2_SMP10_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP11 ((uint32_t)0x00000038) /*!< SMP11[2:0] bits (Channel 11 Sample time selection) */
-#define ADC_SMPR2_SMP11_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define ADC_SMPR2_SMP11_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-#define ADC_SMPR2_SMP11_2 ((uint32_t)0x00000020) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP12 ((uint32_t)0x000001C0) /*!< SMP12[2:0] bits (Channel 12 Sample time selection) */
-#define ADC_SMPR2_SMP12_0 ((uint32_t)0x00000040) /*!< Bit 0 */
-#define ADC_SMPR2_SMP12_1 ((uint32_t)0x00000080) /*!< Bit 1 */
-#define ADC_SMPR2_SMP12_2 ((uint32_t)0x00000100) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP13 ((uint32_t)0x00000E00) /*!< SMP13[2:0] bits (Channel 13 Sample time selection) */
-#define ADC_SMPR2_SMP13_0 ((uint32_t)0x00000200) /*!< Bit 0 */
-#define ADC_SMPR2_SMP13_1 ((uint32_t)0x00000400) /*!< Bit 1 */
-#define ADC_SMPR2_SMP13_2 ((uint32_t)0x00000800) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP14 ((uint32_t)0x00007000) /*!< SMP14[2:0] bits (Channel 14 Sample time selection) */
-#define ADC_SMPR2_SMP14_0 ((uint32_t)0x00001000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP14_1 ((uint32_t)0x00002000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP14_2 ((uint32_t)0x00004000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP15 ((uint32_t)0x00038000) /*!< SMP15[2:0] bits (Channel 5 Sample time selection) */
-#define ADC_SMPR2_SMP15_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP15_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP15_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP16 ((uint32_t)0x001C0000) /*!< SMP16[2:0] bits (Channel 16 Sample time selection) */
-#define ADC_SMPR2_SMP16_0 ((uint32_t)0x00040000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP16_1 ((uint32_t)0x00080000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP16_2 ((uint32_t)0x00100000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP17 ((uint32_t)0x00E00000) /*!< SMP17[2:0] bits (Channel 17 Sample time selection) */
-#define ADC_SMPR2_SMP17_0 ((uint32_t)0x00200000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP17_1 ((uint32_t)0x00400000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP17_2 ((uint32_t)0x00800000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP18 ((uint32_t)0x07000000) /*!< SMP18[2:0] bits (Channel 18 Sample time selection) */
-#define ADC_SMPR2_SMP18_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP18_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP18_2 ((uint32_t)0x04000000) /*!< Bit 2 */
-
-#define ADC_SMPR2_SMP19 ((uint32_t)0x38000000) /*!< SMP19[2:0] bits (Channel 19 Sample time selection) */
-#define ADC_SMPR2_SMP19_0 ((uint32_t)0x08000000) /*!< Bit 0 */
-#define ADC_SMPR2_SMP19_1 ((uint32_t)0x10000000) /*!< Bit 1 */
-#define ADC_SMPR2_SMP19_2 ((uint32_t)0x20000000) /*!< Bit 2 */
-
-/****************** Bit definition for ADC_SMPR3 register *******************/
-#define ADC_SMPR3_SMP0 ((uint32_t)0x00000007) /*!< SMP0[2:0] bits (Channel 0 Sample time selection) */
-#define ADC_SMPR3_SMP0_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SMPR3_SMP0_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SMPR3_SMP0_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP1 ((uint32_t)0x00000038) /*!< SMP1[2:0] bits (Channel 1 Sample time selection) */
-#define ADC_SMPR3_SMP1_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define ADC_SMPR3_SMP1_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-#define ADC_SMPR3_SMP1_2 ((uint32_t)0x00000020) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP2 ((uint32_t)0x000001C0) /*!< SMP2[2:0] bits (Channel 2 Sample time selection) */
-#define ADC_SMPR3_SMP2_0 ((uint32_t)0x00000040) /*!< Bit 0 */
-#define ADC_SMPR3_SMP2_1 ((uint32_t)0x00000080) /*!< Bit 1 */
-#define ADC_SMPR3_SMP2_2 ((uint32_t)0x00000100) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP3 ((uint32_t)0x00000E00) /*!< SMP3[2:0] bits (Channel 3 Sample time selection) */
-#define ADC_SMPR3_SMP3_0 ((uint32_t)0x00000200) /*!< Bit 0 */
-#define ADC_SMPR3_SMP3_1 ((uint32_t)0x00000400) /*!< Bit 1 */
-#define ADC_SMPR3_SMP3_2 ((uint32_t)0x00000800) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP4 ((uint32_t)0x00007000) /*!< SMP4[2:0] bits (Channel 4 Sample time selection) */
-#define ADC_SMPR3_SMP4_0 ((uint32_t)0x00001000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP4_1 ((uint32_t)0x00002000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP4_2 ((uint32_t)0x00004000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP5 ((uint32_t)0x00038000) /*!< SMP5[2:0] bits (Channel 5 Sample time selection) */
-#define ADC_SMPR3_SMP5_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP5_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP5_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP6 ((uint32_t)0x001C0000) /*!< SMP6[2:0] bits (Channel 6 Sample time selection) */
-#define ADC_SMPR3_SMP6_0 ((uint32_t)0x00040000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP6_1 ((uint32_t)0x00080000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP6_2 ((uint32_t)0x00100000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP7 ((uint32_t)0x00E00000) /*!< SMP7[2:0] bits (Channel 7 Sample time selection) */
-#define ADC_SMPR3_SMP7_0 ((uint32_t)0x00200000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP7_1 ((uint32_t)0x00400000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP7_2 ((uint32_t)0x00800000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP8 ((uint32_t)0x07000000) /*!< SMP8[2:0] bits (Channel 8 Sample time selection) */
-#define ADC_SMPR3_SMP8_0 ((uint32_t)0x01000000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP8_1 ((uint32_t)0x02000000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP8_2 ((uint32_t)0x04000000) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP9 ((uint32_t)0x38000000) /*!< SMP9[2:0] bits (Channel 9 Sample time selection) */
-#define ADC_SMPR3_SMP9_0 ((uint32_t)0x08000000) /*!< Bit 0 */
-#define ADC_SMPR3_SMP9_1 ((uint32_t)0x10000000) /*!< Bit 1 */
-#define ADC_SMPR3_SMP9_2 ((uint32_t)0x20000000) /*!< Bit 2 */
-
-/****************** Bit definition for ADC_JOFR1 register *******************/
-#define ADC_JOFR1_JOFFSET1 ((uint32_t)0x00000FFF) /*!< Data offset for injected channel 1 */
-
-/****************** Bit definition for ADC_JOFR2 register *******************/
-#define ADC_JOFR2_JOFFSET2 ((uint32_t)0x00000FFF) /*!< Data offset for injected channel 2 */
-
-/****************** Bit definition for ADC_JOFR3 register *******************/
-#define ADC_JOFR3_JOFFSET3 ((uint32_t)0x00000FFF) /*!< Data offset for injected channel 3 */
-
-/****************** Bit definition for ADC_JOFR4 register *******************/
-#define ADC_JOFR4_JOFFSET4 ((uint32_t)0x00000FFF) /*!< Data offset for injected channel 4 */
-
-/******************* Bit definition for ADC_HTR register ********************/
-#define ADC_HTR_HT ((uint32_t)0x00000FFF) /*!< Analog watchdog high threshold */
-
-/******************* Bit definition for ADC_LTR register ********************/
-#define ADC_LTR_LT ((uint32_t)0x00000FFF) /*!< Analog watchdog low threshold */
-
-/******************* Bit definition for ADC_SQR1 register *******************/
-#define ADC_SQR1_L ((uint32_t)0x00F00000) /*!< L[3:0] bits (Regular channel sequence length) */
-#define ADC_SQR1_L_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR1_L_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR1_L_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR1_L_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-
-#define ADC_SQR1_SQ28 ((uint32_t)0x000F8000) /*!< SQ28[4:0] bits (25th conversion in regular sequence) */
-#define ADC_SQR1_SQ28_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR1_SQ28_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR1_SQ28_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR1_SQ28_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR1_SQ28_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR1_SQ27 ((uint32_t)0x00007C00) /*!< SQ27[4:0] bits (27th conversion in regular sequence) */
-#define ADC_SQR1_SQ27_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR1_SQ27_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR1_SQ27_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR1_SQ27_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR1_SQ27_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR1_SQ26 ((uint32_t)0x000003E0) /*!< SQ26[4:0] bits (26th conversion in regular sequence) */
-#define ADC_SQR1_SQ26_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR1_SQ26_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR1_SQ26_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR1_SQ26_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR1_SQ26_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR1_SQ25 ((uint32_t)0x0000001F) /*!< SQ25[4:0] bits (25th conversion in regular sequence) */
-#define ADC_SQR1_SQ25_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR1_SQ25_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR1_SQ25_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR1_SQ25_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR1_SQ25_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-/******************* Bit definition for ADC_SQR2 register *******************/
-#define ADC_SQR2_SQ19 ((uint32_t)0x0000001F) /*!< SQ19[4:0] bits (19th conversion in regular sequence) */
-#define ADC_SQR2_SQ19_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR2_SQ19_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR2_SQ19_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR2_SQ19_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR2_SQ19_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ20 ((uint32_t)0x000003E0) /*!< SQ20[4:0] bits (20th conversion in regular sequence) */
-#define ADC_SQR2_SQ20_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR2_SQ20_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR2_SQ20_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR2_SQ20_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR2_SQ20_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ21 ((uint32_t)0x00007C00) /*!< SQ21[4:0] bits (21th conversion in regular sequence) */
-#define ADC_SQR2_SQ21_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR2_SQ21_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR2_SQ21_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR2_SQ21_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR2_SQ21_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ22 ((uint32_t)0x000F8000) /*!< SQ22[4:0] bits (22th conversion in regular sequence) */
-#define ADC_SQR2_SQ22_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR2_SQ22_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR2_SQ22_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR2_SQ22_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR2_SQ22_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ23 ((uint32_t)0x01F00000) /*!< SQ23[4:0] bits (23th conversion in regular sequence) */
-#define ADC_SQR2_SQ23_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR2_SQ23_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR2_SQ23_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR2_SQ23_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-#define ADC_SQR2_SQ23_4 ((uint32_t)0x01000000) /*!< Bit 4 */
-
-#define ADC_SQR2_SQ24 ((uint32_t)0x3E000000) /*!< SQ24[4:0] bits (24th conversion in regular sequence) */
-#define ADC_SQR2_SQ24_0 ((uint32_t)0x02000000) /*!< Bit 0 */
-#define ADC_SQR2_SQ24_1 ((uint32_t)0x04000000) /*!< Bit 1 */
-#define ADC_SQR2_SQ24_2 ((uint32_t)0x08000000) /*!< Bit 2 */
-#define ADC_SQR2_SQ24_3 ((uint32_t)0x10000000) /*!< Bit 3 */
-#define ADC_SQR2_SQ24_4 ((uint32_t)0x20000000) /*!< Bit 4 */
-
-/******************* Bit definition for ADC_SQR3 register *******************/
-#define ADC_SQR3_SQ13 ((uint32_t)0x0000001F) /*!< SQ13[4:0] bits (13th conversion in regular sequence) */
-#define ADC_SQR3_SQ13_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR3_SQ13_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR3_SQ13_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR3_SQ13_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR3_SQ13_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ14 ((uint32_t)0x000003E0) /*!< SQ14[4:0] bits (14th conversion in regular sequence) */
-#define ADC_SQR3_SQ14_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR3_SQ14_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR3_SQ14_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR3_SQ14_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR3_SQ14_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ15 ((uint32_t)0x00007C00) /*!< SQ15[4:0] bits (15th conversion in regular sequence) */
-#define ADC_SQR3_SQ15_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR3_SQ15_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR3_SQ15_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR3_SQ15_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR3_SQ15_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ16 ((uint32_t)0x000F8000) /*!< SQ16[4:0] bits (16th conversion in regular sequence) */
-#define ADC_SQR3_SQ16_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR3_SQ16_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR3_SQ16_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR3_SQ16_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR3_SQ16_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ17 ((uint32_t)0x01F00000) /*!< SQ17[4:0] bits (17th conversion in regular sequence) */
-#define ADC_SQR3_SQ17_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR3_SQ17_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR3_SQ17_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR3_SQ17_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-#define ADC_SQR3_SQ17_4 ((uint32_t)0x01000000) /*!< Bit 4 */
-
-#define ADC_SQR3_SQ18 ((uint32_t)0x3E000000) /*!< SQ18[4:0] bits (18th conversion in regular sequence) */
-#define ADC_SQR3_SQ18_0 ((uint32_t)0x02000000) /*!< Bit 0 */
-#define ADC_SQR3_SQ18_1 ((uint32_t)0x04000000) /*!< Bit 1 */
-#define ADC_SQR3_SQ18_2 ((uint32_t)0x08000000) /*!< Bit 2 */
-#define ADC_SQR3_SQ18_3 ((uint32_t)0x10000000) /*!< Bit 3 */
-#define ADC_SQR3_SQ18_4 ((uint32_t)0x20000000) /*!< Bit 4 */
-
-/******************* Bit definition for ADC_SQR4 register *******************/
-#define ADC_SQR4_SQ7 ((uint32_t)0x0000001F) /*!< SQ7[4:0] bits (7th conversion in regular sequence) */
-#define ADC_SQR4_SQ7_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR4_SQ7_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR4_SQ7_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR4_SQ7_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR4_SQ7_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ8 ((uint32_t)0x000003E0) /*!< SQ8[4:0] bits (8th conversion in regular sequence) */
-#define ADC_SQR4_SQ8_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR4_SQ8_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR4_SQ8_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR4_SQ8_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR4_SQ8_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ9 ((uint32_t)0x00007C00) /*!< SQ9[4:0] bits (9th conversion in regular sequence) */
-#define ADC_SQR4_SQ9_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR4_SQ9_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR4_SQ9_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR4_SQ9_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR4_SQ9_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ10 ((uint32_t)0x000F8000) /*!< SQ10[4:0] bits (10th conversion in regular sequence) */
-#define ADC_SQR4_SQ10_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR4_SQ10_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR4_SQ10_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR4_SQ10_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR4_SQ10_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ11 ((uint32_t)0x01F00000) /*!< SQ11[4:0] bits (11th conversion in regular sequence) */
-#define ADC_SQR4_SQ11_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR4_SQ11_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR4_SQ11_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR4_SQ11_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-#define ADC_SQR4_SQ11_4 ((uint32_t)0x01000000) /*!< Bit 4 */
-
-#define ADC_SQR4_SQ12 ((uint32_t)0x3E000000) /*!< SQ12[4:0] bits (12th conversion in regular sequence) */
-#define ADC_SQR4_SQ12_0 ((uint32_t)0x02000000) /*!< Bit 0 */
-#define ADC_SQR4_SQ12_1 ((uint32_t)0x04000000) /*!< Bit 1 */
-#define ADC_SQR4_SQ12_2 ((uint32_t)0x08000000) /*!< Bit 2 */
-#define ADC_SQR4_SQ12_3 ((uint32_t)0x10000000) /*!< Bit 3 */
-#define ADC_SQR4_SQ12_4 ((uint32_t)0x20000000) /*!< Bit 4 */
-
-/******************* Bit definition for ADC_SQR5 register *******************/
-#define ADC_SQR5_SQ1 ((uint32_t)0x0000001F) /*!< SQ1[4:0] bits (1st conversion in regular sequence) */
-#define ADC_SQR5_SQ1_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SQR5_SQ1_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SQR5_SQ1_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_SQR5_SQ1_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_SQR5_SQ1_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ2 ((uint32_t)0x000003E0) /*!< SQ2[4:0] bits (2nd conversion in regular sequence) */
-#define ADC_SQR5_SQ2_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_SQR5_SQ2_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_SQR5_SQ2_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_SQR5_SQ2_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_SQR5_SQ2_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ3 ((uint32_t)0x00007C00) /*!< SQ3[4:0] bits (3rd conversion in regular sequence) */
-#define ADC_SQR5_SQ3_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_SQR5_SQ3_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_SQR5_SQ3_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_SQR5_SQ3_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_SQR5_SQ3_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ4 ((uint32_t)0x000F8000) /*!< SQ4[4:0] bits (4th conversion in regular sequence) */
-#define ADC_SQR5_SQ4_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_SQR5_SQ4_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_SQR5_SQ4_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_SQR5_SQ4_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_SQR5_SQ4_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ5 ((uint32_t)0x01F00000) /*!< SQ5[4:0] bits (5th conversion in regular sequence) */
-#define ADC_SQR5_SQ5_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_SQR5_SQ5_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-#define ADC_SQR5_SQ5_2 ((uint32_t)0x00400000) /*!< Bit 2 */
-#define ADC_SQR5_SQ5_3 ((uint32_t)0x00800000) /*!< Bit 3 */
-#define ADC_SQR5_SQ5_4 ((uint32_t)0x01000000) /*!< Bit 4 */
-
-#define ADC_SQR5_SQ6 ((uint32_t)0x3E000000) /*!< SQ6[4:0] bits (6th conversion in regular sequence) */
-#define ADC_SQR5_SQ6_0 ((uint32_t)0x02000000) /*!< Bit 0 */
-#define ADC_SQR5_SQ6_1 ((uint32_t)0x04000000) /*!< Bit 1 */
-#define ADC_SQR5_SQ6_2 ((uint32_t)0x08000000) /*!< Bit 2 */
-#define ADC_SQR5_SQ6_3 ((uint32_t)0x10000000) /*!< Bit 3 */
-#define ADC_SQR5_SQ6_4 ((uint32_t)0x20000000) /*!< Bit 4 */
-
-
-/******************* Bit definition for ADC_JSQR register *******************/
-#define ADC_JSQR_JSQ1 ((uint32_t)0x0000001F) /*!< JSQ1[4:0] bits (1st conversion in injected sequence) */
-#define ADC_JSQR_JSQ1_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_JSQR_JSQ1_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_JSQR_JSQ1_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-#define ADC_JSQR_JSQ1_3 ((uint32_t)0x00000008) /*!< Bit 3 */
-#define ADC_JSQR_JSQ1_4 ((uint32_t)0x00000010) /*!< Bit 4 */
-
-#define ADC_JSQR_JSQ2 ((uint32_t)0x000003E0) /*!< JSQ2[4:0] bits (2nd conversion in injected sequence) */
-#define ADC_JSQR_JSQ2_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define ADC_JSQR_JSQ2_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-#define ADC_JSQR_JSQ2_2 ((uint32_t)0x00000080) /*!< Bit 2 */
-#define ADC_JSQR_JSQ2_3 ((uint32_t)0x00000100) /*!< Bit 3 */
-#define ADC_JSQR_JSQ2_4 ((uint32_t)0x00000200) /*!< Bit 4 */
-
-#define ADC_JSQR_JSQ3 ((uint32_t)0x00007C00) /*!< JSQ3[4:0] bits (3rd conversion in injected sequence) */
-#define ADC_JSQR_JSQ3_0 ((uint32_t)0x00000400) /*!< Bit 0 */
-#define ADC_JSQR_JSQ3_1 ((uint32_t)0x00000800) /*!< Bit 1 */
-#define ADC_JSQR_JSQ3_2 ((uint32_t)0x00001000) /*!< Bit 2 */
-#define ADC_JSQR_JSQ3_3 ((uint32_t)0x00002000) /*!< Bit 3 */
-#define ADC_JSQR_JSQ3_4 ((uint32_t)0x00004000) /*!< Bit 4 */
-
-#define ADC_JSQR_JSQ4 ((uint32_t)0x000F8000) /*!< JSQ4[4:0] bits (4th conversion in injected sequence) */
-#define ADC_JSQR_JSQ4_0 ((uint32_t)0x00008000) /*!< Bit 0 */
-#define ADC_JSQR_JSQ4_1 ((uint32_t)0x00010000) /*!< Bit 1 */
-#define ADC_JSQR_JSQ4_2 ((uint32_t)0x00020000) /*!< Bit 2 */
-#define ADC_JSQR_JSQ4_3 ((uint32_t)0x00040000) /*!< Bit 3 */
-#define ADC_JSQR_JSQ4_4 ((uint32_t)0x00080000) /*!< Bit 4 */
-
-#define ADC_JSQR_JL ((uint32_t)0x00300000) /*!< JL[1:0] bits (Injected Sequence length) */
-#define ADC_JSQR_JL_0 ((uint32_t)0x00100000) /*!< Bit 0 */
-#define ADC_JSQR_JL_1 ((uint32_t)0x00200000) /*!< Bit 1 */
-
-/******************* Bit definition for ADC_JDR1 register *******************/
-#define ADC_JDR1_JDATA ((uint32_t)0x0000FFFF) /*!< Injected data */
-
-/******************* Bit definition for ADC_JDR2 register *******************/
-#define ADC_JDR2_JDATA ((uint32_t)0x0000FFFF) /*!< Injected data */
-
-/******************* Bit definition for ADC_JDR3 register *******************/
-#define ADC_JDR3_JDATA ((uint32_t)0x0000FFFF) /*!< Injected data */
-
-/******************* Bit definition for ADC_JDR4 register *******************/
-#define ADC_JDR4_JDATA ((uint32_t)0x0000FFFF) /*!< Injected data */
-
-/******************** Bit definition for ADC_DR register ********************/
-#define ADC_DR_DATA ((uint32_t)0x0000FFFF) /*!< Regular data */
-
-/****************** Bit definition for ADC_SMPR0 register *******************/
-#define ADC_SMPR3_SMP30 ((uint32_t)0x00000007) /*!< SMP30[2:0] bits (Channel 30 Sample time selection) */
-#define ADC_SMPR3_SMP30_0 ((uint32_t)0x00000001) /*!< Bit 0 */
-#define ADC_SMPR3_SMP30_1 ((uint32_t)0x00000002) /*!< Bit 1 */
-#define ADC_SMPR3_SMP30_2 ((uint32_t)0x00000004) /*!< Bit 2 */
-
-#define ADC_SMPR3_SMP31 ((uint32_t)0x00000038) /*!< SMP31[2:0] bits (Channel 31 Sample time selection) */
-#define ADC_SMPR3_SMP31_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define ADC_SMPR3_SMP31_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-#define ADC_SMPR3_SMP31_2 ((uint32_t)0x00000020) /*!< Bit 2 */
-
-/******************* Bit definition for ADC_CSR register ********************/
-#define ADC_CSR_AWD1 ((uint32_t)0x00000001) /*!< ADC1 Analog watchdog flag */
-#define ADC_CSR_EOC1 ((uint32_t)0x00000002) /*!< ADC1 End of conversion */
-#define ADC_CSR_JEOC1 ((uint32_t)0x00000004) /*!< ADC1 Injected channel end of conversion */
-#define ADC_CSR_JSTRT1 ((uint32_t)0x00000008) /*!< ADC1 Injected channel Start flag */
-#define ADC_CSR_STRT1 ((uint32_t)0x00000010) /*!< ADC1 Regular channel Start flag */
-#define ADC_CSR_OVR1 ((uint32_t)0x00000020) /*!< ADC1 overrun flag */
-#define ADC_CSR_ADONS1 ((uint32_t)0x00000040) /*!< ADON status of ADC1 */
-
-/******************* Bit definition for ADC_CCR register ********************/
-#define ADC_CCR_ADCPRE ((uint32_t)0x00030000) /*!< ADC prescaler*/
-#define ADC_CCR_ADCPRE_0 ((uint32_t)0x00010000) /*!< Bit 0 */
-#define ADC_CCR_ADCPRE_1 ((uint32_t)0x00020000) /*!< Bit 1 */
-#define ADC_CCR_TSVREFE ((uint32_t)0x00800000) /*!< Temperature Sensor and VREFINT Enable */
-
-/******************************************************************************/
-/* */
-/* Advanced Encryption Standard (AES) */
-/* */
-/******************************************************************************/
-/******************* Bit definition for AES_CR register *********************/
-#define AES_CR_EN ((uint32_t)0x00000001) /*!< AES Enable */
-#define AES_CR_DATATYPE ((uint32_t)0x00000006) /*!< Data type selection */
-#define AES_CR_DATATYPE_0 ((uint32_t)0x00000002) /*!< Bit 0 */
-#define AES_CR_DATATYPE_1 ((uint32_t)0x00000004) /*!< Bit 1 */
-
-#define AES_CR_MODE ((uint32_t)0x00000018) /*!< AES Mode Of Operation */
-#define AES_CR_MODE_0 ((uint32_t)0x00000008) /*!< Bit 0 */
-#define AES_CR_MODE_1 ((uint32_t)0x00000010) /*!< Bit 1 */
-
-#define AES_CR_CHMOD ((uint32_t)0x00000060) /*!< AES Chaining Mode */
-#define AES_CR_CHMOD_0 ((uint32_t)0x00000020) /*!< Bit 0 */
-#define AES_CR_CHMOD_1 ((uint32_t)0x00000040) /*!< Bit 1 */
-
-#define AES_CR_CCFC ((uint32_t)0x00000080) /*!< Computation Complete Flag Clear */
-#define AES_CR_ERRC ((uint32_t)0x00000100) /*!< Error Clear */
-#define AES_CR_CCIE ((uint32_t)0x00000200) /*!< Computation Complete Interrupt Enable */
-#define AES_CR_ERRIE ((uint32_t)0x00000400) /*!< Error Interrupt Enable */
-#define AES_CR_DMAINEN ((uint32_t)0x00000800) /*!< DMA ENable managing the data input phase */
-#define AES_CR_DMAOUTEN ((uint32_t)0x00001000) /*!< DMA Enable managing the data output phase */
-
-/******************* Bit definition for AES_SR register *********************/
-#define AES_SR_CCF ((uint32_t)0x00000001) /*!< Computation Complete Flag */
-#define AES_SR_RDERR ((uint32_t)0x00000002) /*!< Read Error Flag */
-#define AES_SR_WRERR ((uint32_t)0x00000004) /*!< Write Error Flag */
-
-/******************* Bit definition for AES_DINR register *******************/
-#define AES_DINR ((uint32_t)0x0000FFFF) /*!< AES Data Input Register */
-
-/******************* Bit definition for AES_DOUTR register ******************/
-#define AES_DOUTR ((uint32_t)0x0000FFFF) /*!< AES Data Output Register */
-
-/******************* Bit definition for AES_KEYR0 register ******************/
-#define AES_KEYR0 ((uint32_t)0x0000FFFF) /*!< AES Key Register 0 */
-
-/******************* Bit definition for AES_KEYR1 register ******************/
-#define AES_KEYR1 ((uint32_t)0x0000FFFF) /*!< AES Key Register 1 */
-
-/******************* Bit definition for AES_KEYR2 register ******************/
-#define AES_KEYR2 ((uint32_t)0x0000FFFF) /*!< AES Key Register 2 */
-
-/******************* Bit definition for AES_KEYR3 register ******************/
-#define AES_KEYR3 ((uint32_t)0x0000FFFF) /*!< AES Key Register 3 */
-
-/******************* Bit definition for AES_IVR0 register *******************/
-#define AES_IVR0 ((uint32_t)0x0000FFFF) /*!< AES Initialization Vector Register 0 */
-
-/******************* Bit definition for AES_IVR1 register *******************/
-#define AES_IVR1 ((uint32_t)0x0000FFFF) /*!< AES Initialization Vector Register 1 */
-
-/******************* Bit definition for AES_IVR2 register *******************/
-#define AES_IVR2 ((uint32_t)0x0000FFFF) /*!< AES Initialization Vector Register 2 */
-
-/******************* Bit definition for AES_IVR3 register *******************/
-#define AES_IVR3 ((uint32_t)0x0000FFFF) /*!< AES Initialization Vector Register 3 */
-
-/******************************************************************************/
-/* */
-/* Analog Comparators (COMP) */
-/* */
-/******************************************************************************/
-
-/****************** Bit definition for COMP_CSR register ********************/
-#define COMP_CSR_10KPU ((uint32_t)0x00000001) /*!< 10K pull-up resistor */
-#define COMP_CSR_400KPU ((uint32_t)0x00000002) /*!< 400K pull-up resistor */
-#define COMP_CSR_10KPD ((uint32_t)0x00000004) /*!< 10K pull-down resistor */
-#define COMP_CSR_400KPD ((uint32_t)0x00000008) /*!< 400K pull-down resistor */
-
-#define COMP_CSR_CMP1EN ((uint32_t)0x00000010) /*!< Comparator 1 enable */
-#define COMP_CSR_SW1 ((uint32_t)0x00000020) /*!< SW1 analog switch enable */
-#define COMP_CSR_CMP1OUT ((uint32_t)0x00000080) /*!< Comparator 1 output */
-
-#define COMP_CSR_SPEED ((uint32_t)0x00001000) /*!< Comparator 2 speed */
-#define COMP_CSR_CMP2OUT ((uint32_t)0x00002000) /*!< Comparator 2 ouput */
-
-#define COMP_CSR_VREFOUTEN ((uint32_t)0x00010000) /*!< Comparator Vref Enable */
-#define COMP_CSR_WNDWE ((uint32_t)0x00020000) /*!< Window mode enable */
-
-#define COMP_CSR_INSEL ((uint32_t)0x001C0000) /*!< INSEL[2:0] Inversion input Selection */
-#define COMP_CSR_INSEL_0 ((uint32_t)0x00040000) /*!< Bit 0 */
-#define COMP_CSR_INSEL_1 ((uint32_t)0x00080000) /*!< Bit 1 */
-#define COMP_CSR_INSEL_2 ((uint32_t)0x00100000) /*!< Bit 2 */
-
-#define COMP_CSR_OUTSEL ((uint32_t)0x00E00000) /*!< OUTSEL[2:0] comparator 2 output redirection */
-#define COMP_CSR_OUTSEL_0 ((uint32_t)0x00200000) /*!< Bit 0 */
-#define COMP_CSR_OUTSEL_1 ((uint32_t)0x00400000) /*!< Bit 1 */
-#define COMP_CSR_OUTSEL_2 ((uint32_t)0x00800000) /*!< Bit 2 */
-
-#define COMP_CSR_FCH3 ((uint32_t)0x04000000) /*!< Bit 26 */
-#define COMP_CSR_FCH8 ((uint32_t)0x08000000) /*!< Bit 27 */
-#define COMP_CSR_RCH13 ((uint32_t)0x10000000) /*!< Bit 28 */
-
-#define COMP_CSR_CAIE ((uint32_t)0x20000000) /*!< Bit 29 */
-#define COMP_CSR_CAIF ((uint32_t)0x40000000) /*!< Bit 30 */
-#define COMP_CSR_TSUSP ((uint32_t)0x80000000) /*!< Bit 31 */
-
-/******************************************************************************/
-/* */
-/* Operational Amplifier (OPAMP) */
-/* */
-/******************************************************************************/
-/******************* Bit definition for OPAMP_CSR register ******************/
-#define OPAMP_CSR_OPA1PD ((uint32_t)0x00000001) /*!< OPAMP1 disable */
-#define OPAMP_CSR_S3SEL1 ((uint32_t)0x00000002) /*!< Switch 3 for OPAMP1 Enable */
-#define OPAMP_CSR_S4SEL1 ((uint32_t)0x00000004) /*!< Switch 4 for OPAMP1 Enable */
-#define OPAMP_CSR_S5SEL1 ((uint32_t)0x00000008) /*!< Switch 5 for OPAMP1 Enable */
-#define OPAMP_CSR_S6SEL1 ((uint32_t)0x00000010) /*!< Switch 6 for OPAMP1 Enable */
-#define OPAMP_CSR_OPA1CAL_L ((uint32_t)0x00000020) /*!< OPAMP1 Offset calibration for P differential pair */
-#define OPAMP_CSR_OPA1CAL_H ((uint32_t)0x00000040) /*!< OPAMP1 Offset calibration for N differential pair */
-#define OPAMP_CSR_OPA1LPM ((uint32_t)0x00000080) /*!< OPAMP1 Low power enable */
-#define OPAMP_CSR_OPA2PD ((uint32_t)0x00000100) /*!< OPAMP2 disable */
-#define OPAMP_CSR_S3SEL2 ((uint32_t)0x00000200) /*!< Switch 3 for OPAMP2 Enable */
-#define OPAMP_CSR_S4SEL2 ((uint32_t)0x00000400) /*!< Switch 4 for OPAMP2 Enable */
-#define OPAMP_CSR_S5SEL2 ((uint32_t)0x00000800) /*!< Switch 5 for OPAMP2 Enable */
-#define OPAMP_CSR_S6SEL2 ((uint32_t)0x00001000) /*!< Switch 6 for OPAMP2 Enable */
-#define OPAMP_CSR_OPA2CAL_L ((uint32_t)0x00002000) /*!< OPAMP2 Offset calibration for P differential pair */
-#define OPAMP_CSR_OPA2CAL_H ((uint32_t)0x00004000) /*!< OPAMP2 Offset calibration for N differential pair */
-#define OPAMP_CSR_OPA2LPM ((uint32_t)0x00008000) /*!< OPAMP2 Low power enable */
-#define OPAMP_CSR_OPA3PD ((uint32_t)0x00010000) /*!< OPAMP3 disable */
-#define OPAMP_CSR_S3SEL3 ((uint32_t)0x00020000) /*!< Switch 3 for OPAMP3 Enable */
-#define OPAMP_CSR_S4SEL3 ((uint32_t)0x00040000) /*!< Switch 4 for OPAMP3 Enable */
-#define OPAMP_CSR_S5SEL3 ((uint32_t)0x00080000) /*!< Switch 5 for OPAMP3 Enable */
-#define OPAMP_CSR_S6SEL3 ((uint32_t)0x00100000) /*!< Switch 6 for OPAMP3 Enable */
-#define OPAMP_CSR_OPA3CAL_L ((uint32_t)0x00200000) /*!< OPAMP3 Offset calibration for P differential pair */
-#define OPAMP_CSR_OPA3CAL_H ((uint32_t)0x00400000) /*!< OPAMP3 Offset calibration for N differential pair */
-#define OPAMP_CSR_OPA3LPM ((uint32_t)0x00800000) /*!< OPAMP3 Low power enable */
-#define OPAMP_CSR_ANAWSEL1 ((uint32_t)0x01000000) /*!< Switch ANA Enable for OPAMP1 */
-#define OPAMP_CSR_ANAWSEL2 ((uint32_t)0x02000000) /*!< Switch ANA Enable for OPAMP2 */
-#define OPAMP_CSR_ANAWSEL3 ((uint32_t)0x04000000) /*!< Switch ANA Enable for OPAMP3 */
-#define OPAMP_CSR_S7SEL2 ((uint32_t)0x08000000) /*!< Switch 7 for OPAMP2 Enable */
-#define OPAMP_CSR_AOP_RANGE ((uint32_t)0x10000000) /*!< Power range selection */
-#define OPAMP_CSR_OPA1CALOUT ((uint32_t)0x20000000) /*!< OPAMP1 calibration output */
-#define OPAMP_CSR_OPA2CALOUT ((uint32_t)0x40000000) /*!< OPAMP2 calibration output */
-#define OPAMP_CSR_OPA3CALOUT ((uint32_t)0x80000000) /*!< OPAMP3 calibration output */
-
-/******************* Bit definition for OPAMP_OTR register ******************/
-#define OPAMP_OTR_AO1_OPT_OFFSET_TRIM ((uint32_t)0x000003FF) /*!< Offset trim for OPAMP1 */
-#define OPAMP_OTR_AO2_OPT_OFFSET_TRIM ((uint32_t)0x000FFC00) /*!< Offset trim for OPAMP2 */
-#define OPAMP_OTR_AO3_OPT_OFFSET_TRIM ((uint32_t)0x3FF00000) /*!< Offset trim for OPAMP2 */
-#define OPAMP_OTR_OT_USER ((uint32_t)0x80000000) /*!< Switch to OPAMP offset user trimmed values */
-
-/******************* Bit definition for OPAMP_LPOTR register ****************/
-#define OPAMP_LP_OTR_AO1_OPT_OFFSET_TRIM_LP ((uint32_t)0x000003FF) /*!< Offset trim in low power for OPAMP1 */
-#define OPAMP_LP_OTR_AO2_OPT_OFFSET_TRIM_LP ((uint32_t)0x000FFC00) /*!< Offset trim in low power for OPAMP2 */
-#define OPAMP_LP_OTR_AO3_OPT_OFFSET_TRIM_LP ((uint32_t)0x3FF00000) /*!< Offset trim in low power for OPAMP3 */
-
-/******************************************************************************/
-/* */
-/* CRC calculation unit (CRC) */
-/* */
-/******************************************************************************/
-
-/******************* Bit definition for CRC_DR register *********************/
-#define CRC_DR_DR ((uint32_t)0xFFFFFFFF) /*!< Data register bits */
-
-/******************* Bit definition for CRC_IDR register ********************/
-#define CRC_IDR_IDR ((uint8_t)0xFF) /*!< General-purpose 8-bit data register bits */
-
-/******************** Bit definition for CRC_CR register ********************/
-#define CRC_CR_RESET ((uint32_t)0x00000001) /*!< RESET bit */
-
-/******************************************************************************/
-/* */
-/* Digital to Analog Converter (DAC) */
-/* */
-/******************************************************************************/
-
-/******************** Bit definition for DAC_CR register ********************/
-#define DAC_CR_EN1 ((uint32_t)0x00000001) /*!© COPYRIGHT 2012 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef __STM32L1xx_CONF_H
-#define __STM32L1xx_CONF_H
-
-/* Includes ------------------------------------------------------------------*/
-/* Uncomment/Comment the line below to enable/disable peripheral header file inclusion */
-#include "stm32l1xx_adc.h"
-#include "stm32l1xx_aes.h"
-#include "stm32l1xx_comp.h"
-#include "stm32l1xx_crc.h"
-#include "stm32l1xx_dac.h"
-#include "stm32l1xx_dbgmcu.h"
-#include "stm32l1xx_dma.h"
-#include "stm32l1xx_exti.h"
-#include "stm32l1xx_flash.h"
-#include "stm32l1xx_fsmc.h"
-#include "stm32l1xx_gpio.h"
-#include "stm32l1xx_i2c.h"
-#include "stm32l1xx_iwdg.h"
-#include "stm32l1xx_lcd.h"
-#include "stm32l1xx_opamp.h"
-#include "stm32l1xx_pwr.h"
-#include "stm32l1xx_rcc.h"
-#include "stm32l1xx_rtc.h"
-#include "stm32l1xx_sdio.h"
-#include "stm32l1xx_spi.h"
-#include "stm32l1xx_syscfg.h"
-#include "stm32l1xx_tim.h"
-#include "stm32l1xx_usart.h"
-#include "stm32l1xx_wwdg.h"
-#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */
-
-/* Exported types ------------------------------------------------------------*/
-/* Exported constants --------------------------------------------------------*/
-/* Uncomment the line below to expanse the "assert_param" macro in the
- Standard Peripheral Library drivers code */
-/* #define USE_FULL_ASSERT 1 */
-
-/* Exported macro ------------------------------------------------------------*/
-#ifdef USE_FULL_ASSERT
-
-/**
- * @brief The assert_param macro is used for function's parameters check.
- * @param expr: If expr is false, it calls assert_failed function which reports
- * the name of the source file and the source line number of the call
- * that failed. If expr is true, it returns no value.
- * @retval None
- */
- #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
-/* Exported functions ------------------------------------------------------- */
- void assert_failed(uint8_t* file, uint32_t line);
-#else
- #define assert_param(expr) ((void)0)
-#endif /* USE_FULL_ASSERT */
-
-#endif /* __STM32L1xx_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/src/boards/Bleeper-76/cmsis/system_stm32l1xx.c b/src/boards/Bleeper-76/cmsis/system_stm32l1xx.c
deleted file mode 100644
index 4181a7436..000000000
--- a/src/boards/Bleeper-76/cmsis/system_stm32l1xx.c
+++ /dev/null
@@ -1,394 +0,0 @@
-/**
- ******************************************************************************
- * @file system_stm32l1xx.c
- * @author MCD Application Team
- * @version V1.2.0
- * @date 27-August-2013
- * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File.
- * This file contains the system clock configuration for STM32L1xx Ultra
- * Low power devices, and is generated by the clock configuration
- * tool STM32L1xx_Clock_Configuration_V1.2.0.xls
- *
- * 1. This file provides two functions and one global variable to be called from
- * user application:
- * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier
- * and Divider factors, AHB/APBx prescalers and Flash settings),
- * depending on the configuration made in the clock xls tool.
- * This function is called at startup just after reset and
- * before branch to main program. This call is made inside
- * the "startup_stm32l1xx_xx.s" file.
- *
- * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
- * by the user application to setup the SysTick
- * timer or configure other parameters.
- *
- * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
- * be called whenever the core clock is changed
- * during program execution.
- *
- * 2. After each device reset the MSI (2.1 MHz Range) is used as system clock source.
- * Then SystemInit() function is called, in "startup_stm32l1xx_xx.s" file, to
- * configure the system clock before to branch to main program.
- *
- * 3. If the system clock source selected by user fails to startup, the SystemInit()
- * function will do nothing and MSI still used as system clock source. User can
- * add some code to deal with this issue inside the SetSysClock() function.
- *
- * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define
- * in "stm32l1xx.h" file. When HSE is used as system clock source, directly or
- * through PLL, and you are using different crystal you have to adapt the HSE
- * value to your own configuration.
- *
- * 5. This file configures the system clock as follows:
- *=============================================================================
- * System Clock Configuration
- *=============================================================================
- * System Clock source | PLL(HSE)
- *-----------------------------------------------------------------------------
- * SYSCLK | 32000000 Hz
- *-----------------------------------------------------------------------------
- * HCLK | 32000000 Hz
- *-----------------------------------------------------------------------------
- * AHB Prescaler | 1
- *-----------------------------------------------------------------------------
- * APB1 Prescaler | 1
- *-----------------------------------------------------------------------------
- * APB2 Prescaler | 1
- *-----------------------------------------------------------------------------
- * HSE Frequency | 12000000 Hz
- *-----------------------------------------------------------------------------
- * PLL DIV | 3
- *-----------------------------------------------------------------------------
- * PLL MUL | 8
- *-----------------------------------------------------------------------------
- * VDD | 3.3 V
- *-----------------------------------------------------------------------------
- * Vcore | 1.8 V (Range 1)
- *-----------------------------------------------------------------------------
- * Flash Latency | 1 WS
- *-----------------------------------------------------------------------------
- * Require 48MHz for USB clock | Enabled
- *-----------------------------------------------------------------------------
- *=============================================================================
- * @attention
- *
- * © COPYRIGHT 2013 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-/** @addtogroup CMSIS
- * @{
- */
-
-/** @addtogroup stm32l1xx_system
- * @{
- */
-
-/** @addtogroup STM32L1xx_System_Private_Includes
- * @{
- */
-
-#include "stm32l1xx.h"
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_TypesDefinitions
- * @{
- */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_Defines
- * @{
- */
-
-/*!< Uncomment the following line if you need to relocate your vector Table in
- Internal SRAM. */
-/* #define VECT_TAB_SRAM */
-#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field.
- This value must be a multiple of 0x200. */
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_Macros
- * @{
- */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_Variables
- * @{
- */
-uint32_t SystemCoreClock = 32000000;
-__I uint8_t PLLMulTable[9] = {3, 4, 6, 8, 12, 16, 24, 32, 48};
-__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes
- * @{
- */
-
-static void SetSysClock(void);
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Private_Functions
- * @{
- */
-
-/**
- * @brief Setup the microcontroller system.
- * Initialize the Embedded Flash Interface, the PLL and update the
- * SystemCoreClock variable.
- * @param None
- * @retval None
- */
-void SystemInit (void)
-{
- /*!< Set MSION bit */
- RCC->CR |= (uint32_t)0x00000100;
-
- /*!< Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], MCOSEL[2:0] and MCOPRE[2:0] bits */
- RCC->CFGR &= (uint32_t)0x88FFC00C;
-
- /*!< Reset HSION, HSEON, CSSON and PLLON bits */
- RCC->CR &= (uint32_t)0xEEFEFFFE;
-
- /*!< Reset HSEBYP bit */
- RCC->CR &= (uint32_t)0xFFFBFFFF;
-
- /*!< Reset PLLSRC, PLLMUL[3:0] and PLLDIV[1:0] bits */
- RCC->CFGR &= (uint32_t)0xFF02FFFF;
-
- /*!< Disable all interrupts */
- RCC->CIR = 0x00000000;
-
- /* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */
- SetSysClock();
-
-#ifdef VECT_TAB_SRAM
- SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */
-#else
- SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */
-#endif
-}
-
-/**
- * @brief Update SystemCoreClock according to Clock Register Values
- * The SystemCoreClock variable contains the core clock (HCLK), it can
- * be used by the user application to setup the SysTick timer or configure
- * other parameters.
- *
- * @note Each time the core clock (HCLK) changes, this function must be called
- * to update SystemCoreClock variable value. Otherwise, any configuration
- * based on this variable will be incorrect.
- *
- * @note - The system frequency computed by this function is not the real
- * frequency in the chip. It is calculated based on the predefined
- * constant and the selected clock source:
- *
- * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI
- * value as defined by the MSI range.
- *
- * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
- *
- * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
- *
- * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**)
- * or HSI_VALUE(*) multiplied/divided by the PLL factors.
- *
- * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value
- * 16 MHz) but the real value may vary depending on the variations
- * in voltage and temperature.
- *
- * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value
- * 8 MHz), user has to ensure that HSE_VALUE is same as the real
- * frequency of the crystal used. Otherwise, this function may
- * have wrong result.
- *
- * - The result of this function could be not correct when using fractional
- * value for HSE crystal.
- * @param None
- * @retval None
- */
-void SystemCoreClockUpdate (void)
-{
- uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0;
-
- /* Get SYSCLK source -------------------------------------------------------*/
- tmp = RCC->CFGR & RCC_CFGR_SWS;
-
- switch (tmp)
- {
- case 0x00: /* MSI used as system clock */
- msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13;
- SystemCoreClock = (32768 * (1 << (msirange + 1)));
- break;
- case 0x04: /* HSI used as system clock */
- SystemCoreClock = HSI_VALUE;
- break;
- case 0x08: /* HSE used as system clock */
- SystemCoreClock = HSE_VALUE;
- break;
- case 0x0C: /* PLL used as system clock */
- /* Get PLL clock source and multiplication factor ----------------------*/
- pllmul = RCC->CFGR & RCC_CFGR_PLLMUL;
- plldiv = RCC->CFGR & RCC_CFGR_PLLDIV;
- pllmul = PLLMulTable[(pllmul >> 18)];
- plldiv = (plldiv >> 22) + 1;
-
- pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
-
- if (pllsource == 0x00)
- {
- /* HSI oscillator clock selected as PLL clock entry */
- SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv);
- }
- else
- {
- /* HSE selected as PLL clock entry */
- SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv);
- }
- break;
- default: /* MSI used as system clock */
- msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13;
- SystemCoreClock = (32768 * (1 << (msirange + 1)));
- break;
- }
- /* Compute HCLK clock frequency --------------------------------------------*/
- /* Get HCLK prescaler */
- tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
- /* HCLK clock frequency */
- SystemCoreClock >>= tmp;
-}
-
-/**
- * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash
- * settings.
- * @note This function should be called only once the RCC clock configuration
- * is reset to the default reset state (done in SystemInit() function).
- * @param None
- * @retval None
- */
-static void SetSysClock(void)
-{
- __IO uint32_t StartUpCounter = 0, HSEStatus = 0;
-
- /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/
- /* Enable HSE */
- RCC->CR |= ((uint32_t)RCC_CR_HSEON);
-
- /* Wait till HSE is ready and if Time out is reached exit */
- do
- {
- HSEStatus = RCC->CR & RCC_CR_HSERDY;
- StartUpCounter++;
- } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
-
- if ((RCC->CR & RCC_CR_HSERDY) != RESET)
- {
- HSEStatus = (uint32_t)0x01;
- }
- else
- {
- HSEStatus = (uint32_t)0x00;
- }
-
- if (HSEStatus == (uint32_t)0x01)
- {
- /* Enable 64-bit access */
- FLASH->ACR |= FLASH_ACR_ACC64;
-
- /* Enable Prefetch Buffer */
- FLASH->ACR |= FLASH_ACR_PRFTEN;
-
- /* Flash 1 wait state */
- FLASH->ACR |= FLASH_ACR_LATENCY;
-
- /* Power enable */
- RCC->APB1ENR |= RCC_APB1ENR_PWREN;
-
- /* Select the Voltage Range 1 (1.8 V) */
- PWR->CR = PWR_CR_VOS_0;
-
- /* Wait Until the Voltage Regulator is ready */
- while((PWR->CSR & PWR_CSR_VOSF) != RESET)
- {
- }
-
- /* HCLK = SYSCLK /1*/
- RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;
-
- /* PCLK2 = HCLK /1*/
- RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;
-
- /* PCLK1 = HCLK /1*/
- RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1;
-
- /* PLL configuration */
- RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL |
- RCC_CFGR_PLLDIV));
- RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL8 | RCC_CFGR_PLLDIV3);
-
- /* Enable PLL */
- RCC->CR |= RCC_CR_PLLON;
-
- /* Wait till PLL is ready */
- while((RCC->CR & RCC_CR_PLLRDY) == 0)
- {
- }
-
- /* Select PLL as system clock source */
- RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
- RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;
-
- /* Wait till PLL is used as system clock source */
- while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL)
- {
- }
- }
- else
- {
- /* If HSE fails to start-up, the application will have wrong clock
- configuration. User can add here some code to deal with this error */
- }
-}
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/******************* (C) COPYRIGHT 2013 STMicroelectronics *****END OF FILE****/
diff --git a/src/boards/Bleeper-76/cmsis/system_stm32l1xx.h b/src/boards/Bleeper-76/cmsis/system_stm32l1xx.h
deleted file mode 100644
index 25ad24096..000000000
--- a/src/boards/Bleeper-76/cmsis/system_stm32l1xx.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- ******************************************************************************
- * @file system_stm32l1xx.h
- * @author MCD Application Team
- * @version V1.2.0
- * @date 22-February-2013
- * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Header File.
- ******************************************************************************
- * @attention
- *
- * © COPYRIGHT 2013 STMicroelectronics
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-/** @addtogroup CMSIS
- * @{
- */
-
-/** @addtogroup stm32l1xx_system
- * @{
- */
-
-/**
- * @brief Define to prevent recursive inclusion
- */
-#ifndef __SYSTEM_STM32L1XX_H
-#define __SYSTEM_STM32L1XX_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/** @addtogroup STM32L1xx_System_Includes
- * @{
- */
-
-/**
- * @}
- */
-
-
-/** @addtogroup STM32L1xx_System_Exported_types
- * @{
- */
-
-extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Exported_Constants
- * @{
- */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Exported_Macros
- * @{
- */
-
-/**
- * @}
- */
-
-/** @addtogroup STM32L1xx_System_Exported_Functions
- * @{
- */
-
-extern void SystemInit(void);
-extern void SystemCoreClockUpdate(void);
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*__SYSTEM_STM32L1XX_H */
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/src/boards/Bleeper-76/gpio-board.c b/src/boards/Bleeper-76/gpio-board.c
deleted file mode 100644
index 7121671ec..000000000
--- a/src/boards/Bleeper-76/gpio-board.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board GPIO driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-#include "gpio-board.h"
-#include "stm32l1xx_gpio.h"
-
-static GpioIrqHandler *GpioIrq[16];
-
-void GpioMcuInit( Gpio_t *obj, PinNames pin, PinModes mode, PinConfigs config, PinTypes type, uint32_t value )
-{
- GPIO_InitTypeDef GPIO_InitStructure;
-
- if( pin == NC )
- {
- return;
- }
-
- obj->portIndex = ( uint32_t ) pin >> 4;
-
- obj->pin = pin;
- obj->pinIndex = ( 0x01 << ( obj->pin & 0x0F ) );
-
- if( obj->portIndex < 6 )
- {
- obj->port = ( GPIO_TypeDef * )( GPIOA_BASE + ( obj->portIndex << 10 ) );
- RCC_AHBPeriphClockCmd( ( 0x01 << obj->portIndex ), ENABLE );
- }
- else if( obj->portIndex == 6 )
- { /* GPIO base address not in alphabetical order after GPIOE (cf stm32l1xx.h, line 926 ) */
- /* Access to GPIOF and GPIOG not implemented */
- obj->port = ( GPIO_TypeDef * )( GPIOH_BASE );
- RCC_AHBPeriphClockCmd( ( 0x01 << ( obj->portIndex - 1 ) ), ENABLE );
- }
-
- // Sets initial output value
- if( mode == PIN_OUTPUT )
- {
- GpioMcuWrite( obj, value );
- }
-
- GPIO_InitStructure.GPIO_Mode = ( GPIOMode_TypeDef )mode;
- GPIO_InitStructure.GPIO_OType = ( GPIOOType_TypeDef )config;
- GPIO_InitStructure.GPIO_PuPd = ( GPIOPuPd_TypeDef )type;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
- GPIO_InitStructure.GPIO_Pin = obj->pinIndex;
- GPIO_Init( obj->port, &GPIO_InitStructure );
-}
-
-void GpioMcuSetInterrupt( Gpio_t *obj, IrqModes irqMode, IrqPriorities irqPriority, GpioIrqHandler *irqHandler )
-{
- NVIC_InitTypeDef NVIC_InitStructure;
- EXTI_InitTypeDef EXTI_InitStructure;
-
- if( irqHandler == NULL )
- {
- return;
- }
-
- GpioIrq[obj->pin & 0x0F] = irqHandler;
-
- /* Enable SYSCFG clock */
- RCC_APB2PeriphClockCmd( RCC_APB2Periph_SYSCFG, ENABLE );
-
- /* Connect EXTI Line to GPIO pin */
- SYSCFG_EXTILineConfig( obj->portIndex, ( ( obj->pin ) & 0x0F ) );
-
- /* Configure EXTI line */
- EXTI_InitStructure.EXTI_Line = ( 0x01 << ( obj->pin & 0x0F ) );
- EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
-
- if( irqMode == IRQ_RISING_EDGE )
- {
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
- }
- else if( irqMode == IRQ_FALLING_EDGE )
- {
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
- }
- else if( irqMode == IRQ_RISING_FALLING_EDGE )
- {
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
- }
- else
- {
- while( 1 );
- }
-
- EXTI_InitStructure.EXTI_LineCmd = ENABLE;
- EXTI_Init(&EXTI_InitStructure);
-
- if( ( ( obj->pin ) & 0x0F ) < 5 )
- {
- NVIC_InitStructure.NVIC_IRQChannel = ( ( obj->pin ) & 0x0F ) + 6;
- }
- else if( ( ( obj->pin ) & 0x0F ) < 10 )
- {
- NVIC_InitStructure.NVIC_IRQChannel = 23;
- }
- else if( ( ( obj->pin ) & 0x0F ) < 16 )
- {
- NVIC_InitStructure.NVIC_IRQChannel = 40;
- }
- else
- {
- while( 1 );
- }
-
- if( irqPriority == IRQ_VERY_LOW_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else if( irqPriority == IRQ_LOW_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 12;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else if( irqPriority == IRQ_MEDIUM_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 8;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else if( irqPriority == IRQ_HIGH_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 4;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else if( irqPriority == IRQ_VERY_HIGH_PRIORITY )
- {
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- }
- else
- {
- while( 1 );
- }
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init( &NVIC_InitStructure );
-
-}
-
-void GpioMcuRemoveInterrupt( Gpio_t *obj )
-{
- EXTI_InitTypeDef EXTI_InitStructure;
-
- GpioIrq[obj->pin & 0x0F] = NULL;
-
- EXTI_InitStructure.EXTI_Line = ( 0x01 << ( obj->pin & 0x0F ) );
- EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
- EXTI_InitStructure.EXTI_LineCmd = DISABLE;
- EXTI_Init(&EXTI_InitStructure);
-}
-
-void GpioMcuWrite( Gpio_t *obj, uint32_t value )
-{
- if( ( obj == NULL ) || ( obj->port == NULL ) )
- {
- while( 1 );
- }
- // Check if pin is not connected
- if( obj->pin == NC )
- {
- return;
- }
- if( value == 0 )
- {
- GPIO_ResetBits( obj->port, obj->pinIndex );
- }
- else
- {
- GPIO_SetBits( obj->port, obj->pinIndex );
- }
-}
-
-uint32_t GpioMcuRead( Gpio_t *obj )
-{
- if( obj == NULL )
- {
- while( 1 );
- }
- // Check if pin is not connected
- if( obj->pin == NC )
- {
- return 0;
- }
- return GPIO_ReadInputDataBit( obj->port, obj->pinIndex );
-}
-
-void EXTI0_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line0 ) != RESET )
- {
- if( GpioIrq[0] != NULL )
- {
- GpioIrq[0]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line0 );
- }
-}
-
-void EXTI1_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line1 ) != RESET )
- {
- if( GpioIrq[1] != NULL )
- {
- GpioIrq[1]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line1 );
- }
-}
-
-void EXTI2_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line2 ) != RESET )
- {
- if( GpioIrq[2] != NULL )
- {
- GpioIrq[2]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line2 );
- }
-}
-
-void EXTI3_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line3 ) != RESET )
- {
- if( GpioIrq[3] != NULL )
- {
- GpioIrq[3]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line3 );
- }
-}
-
-void EXTI4_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line4 ) != RESET )
- {
- if( GpioIrq[4] != NULL )
- {
- GpioIrq[4]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line4 );
- }
-}
-
-void EXTI9_5_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line5 ) != RESET )
- {
- if( GpioIrq[5] != NULL )
- {
- GpioIrq[5]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line5 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line6 ) != RESET )
- {
- if( GpioIrq[6] != NULL )
- {
- GpioIrq[6]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line6 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line7 ) != RESET )
- {
- if( GpioIrq[7] != NULL )
- {
- GpioIrq[7]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line7 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line8 ) != RESET )
- {
- if( GpioIrq[8] != NULL )
- {
- GpioIrq[8]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line8 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line9 ) != RESET )
- {
- if( GpioIrq[9] != NULL )
- {
- GpioIrq[9]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line9 );
- }
-}
-
-void EXTI15_10_IRQHandler( void )
-{
-#if !defined( USE_NO_TIMER )
- if( TimerGetLowPowerEnable( ) == true )
- {
- RtcRecoverMcuStatus( );
- }
-#endif
- if( EXTI_GetITStatus( EXTI_Line10 ) != RESET )
- {
- if( GpioIrq[10] != NULL )
- {
- GpioIrq[10]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line10 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line11 ) != RESET )
- {
- if( GpioIrq[11] != NULL )
- {
- GpioIrq[11]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line11 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line12 ) != RESET )
- {
- if( GpioIrq[12] != NULL )
- {
- GpioIrq[12]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line12 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line13 ) != RESET )
- {
- if( GpioIrq[13] != NULL )
- {
- GpioIrq[13]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line13 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line14 ) != RESET )
- {
- if( GpioIrq[14] != NULL )
- {
- GpioIrq[14]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line14 );
- }
-
- if( EXTI_GetITStatus( EXTI_Line15 ) != RESET )
- {
- if( GpioIrq[15] != NULL )
- {
- GpioIrq[15]( );
- }
- EXTI_ClearITPendingBit( EXTI_Line15 );
- }
-}
diff --git a/src/boards/Bleeper-76/gpio-board.h b/src/boards/Bleeper-76/gpio-board.h
deleted file mode 100644
index 4fc0843ac..000000000
--- a/src/boards/Bleeper-76/gpio-board.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board GPIO driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __GPIO_MCU_H__
-#define __GPIO_MCU_H__
-
-/*!
- * \brief Initializes the given GPIO object
- *
- * \param [IN] obj Pointer to the GPIO object to be initialized
- * \param [IN] pin Pin name ( please look in pinName-board.h file )
- * \param [IN] mode Pin mode [PIN_INPUT, PIN_OUTPUT,
- * PIN_ALTERNATE_FCT, PIN_ANALOGIC]
- * \param [IN] config Pin config [PIN_PUSH_PULL, PIN_OPEN_DRAIN]
- * \param [IN] type Pin type [PIN_NO_PULL, PIN_PULL_UP, PIN_PULL_DOWN]
- * \param [IN] value Default output value at initialisation
- */
-void GpioMcuInit( Gpio_t *obj, PinNames pin, PinModes mode, PinConfigs config, PinTypes type, uint32_t value );
-
-/*!
- * \brief GPIO IRQ Initialization
- *
- * \param [IN] obj Pointer to the GPIO object to be initialized
- * \param [IN] irqMode IRQ mode [NO_IRQ, IRQ_RISING_EDGE,
- * IRQ_FALLING_EDGE, IRQ_RISING_FALLING_EDGE]
- * \param [IN] irqPriority IRQ priority [IRQ_VERY_LOW_PRIORITY, IRQ_LOW_PRIORITY
- * IRQ_MEDIUM_PRIORITY, IRQ_HIGH_PRIORITY
- * IRQ_VERY_HIGH_PRIORITY]
- * \param [IN] irqHandler Callback function pointer
- */
-void GpioMcuSetInterrupt( Gpio_t *obj, IrqModes irqMode, IrqPriorities irqPriority, GpioIrqHandler *irqHandler );
-
-/*!
- * \brief GPIO IRQ DeInitialization
- *
- * \param [IN] obj Pointer to the GPIO object to be Deinitialized
- */
-void GpioMcuRemoveInterrupt( Gpio_t *obj );
-
-/*!
- * \brief Writes the given value to the GPIO output
- *
- * \param [IN] obj Pointer to the GPIO object
- * \param [IN] value New GPIO output value
- */
-void GpioMcuWrite( Gpio_t *obj, uint32_t value );
-
-/*!
- * \brief Reads the current GPIO input value
- *
- * \param [IN] obj Pointer to the GPIO object
- * \retval value Current GPIO input value
- */
-uint32_t GpioMcuRead( Gpio_t *obj );
-
-#endif // __GPIO_MCU_H__
diff --git a/src/boards/Bleeper-76/i2c-board.c b/src/boards/Bleeper-76/i2c-board.c
deleted file mode 100644
index def3bf6af..000000000
--- a/src/boards/Bleeper-76/i2c-board.c
+++ /dev/null
@@ -1,582 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board I2C driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-#include "i2c-board.h"
-
-/*!
- * The value of the maximal timeout for I2C waiting loops
- */
-#define TIMEOUT_MAX 0x8000
-
-I2cAddrSize I2cInternalAddrSize = I2C_ADDR_SIZE_8;
-
-/*!
- * MCU I2C peripherals enumeration
- */
-typedef enum {
- I2C_1 = ( uint32_t )I2C1_BASE,
- I2C_2 = ( uint32_t )I2C2_BASE,
-} I2cName;
-
-void I2cMcuInit( I2c_t *obj, PinNames scl, PinNames sda )
-{
- obj->I2c = ( I2C_TypeDef * )I2C2_BASE;
-
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_I2C2, ENABLE );
-
- I2C_DeInit( obj->I2c );
-
- GpioInit( &obj->Scl, scl, PIN_ALTERNATE_FCT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &obj->Sda, sda, PIN_ALTERNATE_FCT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-
- GPIO_PinAFConfig( obj->Scl.port, ( obj->Scl.pin & 0x0F ), GPIO_AF_I2C2 );
- GPIO_PinAFConfig( obj->Sda.port, ( obj->Sda.pin & 0x0F ), GPIO_AF_I2C2 );
-}
-
-void I2cMcuFormat( I2c_t *obj, I2cMode mode, I2cDutyCycle dutyCycle, bool I2cAckEnable, I2cAckAddrMode AckAddrMode, uint32_t I2cFrequency )
-{
- I2C_InitTypeDef I2C_InitStructure;
-
- if( mode == MODE_I2C )
- {
- I2C_InitStructure.I2C_Mode = 0x0000;
- }
- else if( mode == MODE_SMBUS_DEVICE )
- {
- I2C_InitStructure.I2C_Mode = 0x0002;
- }
- else
- {
- I2C_InitStructure.I2C_Mode = 0x000A; // MODE_SMBUS_HOST
- }
-
- if( dutyCycle == I2C_DUTY_CYCLE_2 )
- {
- I2C_InitStructure.I2C_DutyCycle = 0xBFFF;
- }
- else
- {
- I2C_InitStructure.I2C_DutyCycle = 0x4000; //I2C_DUTY_CYCLE_16_9
- }
-
- if( I2cAckEnable == true )
- {
- I2C_InitStructure.I2C_Ack = 0x0400;
- }
- else
- {
- I2C_InitStructure.I2C_Ack = 0x0000;
- }
-
- if( AckAddrMode == I2C_ACK_ADD_7_BIT )
- {
- I2C_InitStructure.I2C_AcknowledgedAddress = 0x4000;
- }
- else
- {
- I2C_InitStructure.I2C_AcknowledgedAddress = 0xC000; // I2C_ACK_ADD_10_BIT
- }
-
- if( I2cFrequency > 400000 )
- {
- I2C_InitStructure.I2C_ClockSpeed = 400000;
- }
- else
- {
- I2C_InitStructure.I2C_ClockSpeed = I2cFrequency;
- }
-
- I2C_Init( obj->I2c, &I2C_InitStructure );
-
- /* I2C Peripheral Enable */
- I2C_Cmd( obj->I2c, ENABLE );
-}
-
-void I2cMcuDeInit( I2c_t *obj )
-{
- I2C_DeInit( obj->I2c );
-
- GpioInit( &obj->Scl, obj->Scl.pin, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &obj->Sda, obj->Sda.pin, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-}
-
-void I2cSetAddrSize( I2c_t *obj, I2cAddrSize addrSize )
-{
- I2cInternalAddrSize = addrSize;
-}
-
-uint8_t I2cMcuWriteBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size )
-{
- uint32_t timeOut;
-
- __disable_irq( );
-
- /* Test on BUSY Flag */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_BUSY) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send START condition */
- I2C_GenerateSTART( obj->I2c, ENABLE );
-
- /* Test on EV5 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_MODE_SELECT ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send device's address for write */
- I2C_Send7bitAddress( obj->I2c, deviceAddr, I2C_Direction_Transmitter );
-
- /* Test on EV6 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- if( I2cInternalAddrSize == I2C_ADDR_SIZE_16 )
- {
- /* Send the device's internal address MSB to write to */
- I2C_SendData( obj->I2c, ( uint8_t )( ( addr & 0xFF00 ) >> 8 ) );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
- }
-
- /* Send the device's internal address LSB to write to */
- I2C_SendData( obj->I2c, ( uint8_t )( addr & 0x00FF ) );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- while( size )
- {
- /* Send the byte to be written */
- I2C_SendData( obj->I2c, *buffer );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- if( size == 1 )
- {
- I2C_GenerateSTOP( obj->I2c, ENABLE );
-
- /* Wait to make sure that STOP control bit has been cleared */
- timeOut = TIMEOUT_MAX;
- while(obj->I2c->CR1 & I2C_CR1_STOP)
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
- } /* STOP */
-
- buffer++;
- size--;
- }
-
- __enable_irq( );
- return( SUCCESS );
-}
-
-uint8_t I2cMcuReadBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size )
-{
- uint32_t timeOut;
-
- __disable_irq( );
-
- /* Test on BUSY Flag */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_BUSY ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send START condition */
- I2C_GenerateSTART( obj->I2c, ENABLE );
-
- /* Test on EV5 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_MODE_SELECT ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send device's address for write */
- I2C_Send7bitAddress( obj->I2c, deviceAddr, I2C_Direction_Transmitter );
-
- /* Test on EV6 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- if( I2cInternalAddrSize == I2C_ADDR_SIZE_16 )
- {
- /* Send the device's internal address MSB to write to */
- I2C_SendData( obj->I2c, ( uint8_t )( ( addr & 0xFF00 ) >> 8 ) );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
- }
-
- /* Send the device's internal address LSB to write to */
- I2C_SendData( obj->I2c, ( uint8_t )( addr & 0x00FF ) );
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_BYTE_TRANSMITTING ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Test on EV8 and clear it */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_BTF ) == RESET )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send START condition a second time */
- I2C_GenerateSTART( obj->I2c, ENABLE );
-
- /* Test on EV5 and clear it */
- timeOut = TIMEOUT_MAX;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_MODE_SELECT ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Send device's address for read */
- I2C_Send7bitAddress( obj->I2c, deviceAddr, I2C_Direction_Receiver );
-
- if( size < 2 )
- {
- /* Wait on ADDR flag to be set (ADDR is still not cleared at this level */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_ADDR ) == RESET )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Disable Acknowledgement */
- I2C_AcknowledgeConfig( obj->I2c, DISABLE );
-
- /* Clear ADDR register by reading SR1 then SR2 register (SR1 has already been read) */
- ( void )obj->I2c->SR2;
-
- /* Send STOP Condition */
- I2C_GenerateSTOP( obj->I2c, ENABLE );
-
- /* Wait for the byte to be received */
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_RXNE ) == RESET )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Read a byte from the device */
- *buffer = I2C_ReceiveData( obj->I2c );
-
- /* Decrement the read bytes counter */
- size--;
- }
- else
- {
- timeOut = TIMEOUT_MAX;
- while( I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED ) == ERROR )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- while( size )
- {
- if( size == 1 )
- {
- /* Disable Acknowledgement */
- I2C_AcknowledgeConfig( obj->I2c, DISABLE );
-
- /* Send STOP Condition */
- I2C_GenerateSTOP( obj->I2c, ENABLE );
- }
-
- timeOut = TIMEOUT_MAX;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_RXNE ) == RESET )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Read a byte from the device */
- *buffer = I2C_ReceiveData( obj->I2c );
-
- /* Point to the next location where the byte read will be saved */
- buffer++;
-
- /* Decrement the read bytes counter */
- size--;
- }
-
- /* Wait to make sure that STOP control bit has been cleared */
- timeOut = TIMEOUT_MAX;
- while( obj->I2c->CR1 & I2C_CR1_STOP )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
- }
-
- /*!< Re-Enable Acknowledgement to be ready for another reception */
- I2C_AcknowledgeConfig( obj->I2c, ENABLE );
-
- __enable_irq( );
- return( SUCCESS );
-}
-
-/* Maximum Timeout values for flags and events waiting loops. These timeouts are
- not based on accurate values, they just guarantee that the application will
- not remain stuck if the I2C communication is corrupted.
- You may modify these timeout values depending on CPU frequency and application
- conditions (interrupts routines ...). */
-#define EE_FLAG_TIMEOUT ( ( uint32_t )0x1000 )
-#define EE_LONG_TIMEOUT ( ( uint32_t )( 10 * EE_FLAG_TIMEOUT ) )
-
-/* Maximum number of trials for I2cMcuWaitStandbyState( ) function */
-#define EE_MAX_TRIALS_NUMBER 300
-
-uint8_t I2cMcuWaitStandbyState( I2c_t *obj, uint8_t deviceAddr )
-{
- uint32_t timeOut;
- volatile uint16_t tmpSR1 = 0;
- volatile uint32_t trials = 0;
-
- __disable_irq( );
-
- /*!< While the bus is busy */
- timeOut = EE_LONG_TIMEOUT;
- while( I2C_GetFlagStatus( obj->I2c, I2C_FLAG_BUSY ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /* Keep looping till the slave acknowledge his address or maximum number
- of trials is reached (this number is defined by EE_MAX_TRIALS_NUMBER define
- in eeProm.h file) */
- while( 1 )
- {
- /*!< Send START condition */
- I2C_GenerateSTART( obj->I2c, ENABLE );
-
- /*!< Test on EV5 and clear it */
- timeOut = EE_FLAG_TIMEOUT;
- while( !I2C_CheckEvent( obj->I2c, I2C_EVENT_MASTER_MODE_SELECT ) )
- {
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
-
- __enable_irq( );
- return( FAIL );
- }
- }
-
- /*!< Send device address for write */
- I2C_Send7bitAddress( obj->I2c, deviceAddr, I2C_Direction_Transmitter );
-
- /* Wait for ADDR flag to be set (Slave acknowledged his address) */
- timeOut = EE_LONG_TIMEOUT;
- do
- {
- /* Get the current value of the SR1 register */
- tmpSR1 = obj->I2c->SR1;
-
- /* Update the timeout value and exit if it reach 0 */
- if( ( timeOut-- ) == 0 )
- {
- I2cResetBus( obj );
- __enable_irq( );
- return( FAIL );
- }
- }
- /* Keep looping till the Address is acknowledged or the AF flag is
- set (address not acknowledged at time) */
- while( ( tmpSR1 & ( I2C_SR1_ADDR | I2C_SR1_AF ) ) == 0 );
-
- /* Check if the ADDR flag has been set */
- if ( tmpSR1 & I2C_SR1_ADDR )
- {
- /* Clear ADDR Flag by reading SR1 then SR2 registers (SR1 have already
- been read) */
- ( void )obj->I2c->SR2;
-
- /*!< STOP condition */
- I2C_GenerateSTOP( obj->I2c, ENABLE );
-
- /* Exit the function */
- __enable_irq( );
- return ( SUCCESS );
- }
- else
- {
- /*!< Clear AF flag */
- I2C_ClearFlag( obj->I2c, I2C_FLAG_AF );
- }
-
- /* Check if the maximum allowed number of trials has bee reached */
- if ( trials++ == EE_MAX_TRIALS_NUMBER )
- {
- I2cResetBus( obj );
- /* If the maximum number of trials has been reached, exit the function */
- __enable_irq( );
- return( FAIL );
- }
- }
-}
diff --git a/src/boards/Bleeper-76/i2c-board.h b/src/boards/Bleeper-76/i2c-board.h
deleted file mode 100644
index 72aae12bb..000000000
--- a/src/boards/Bleeper-76/i2c-board.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board I2C driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __I2C_MCU_H__
-#define __I2C_MCU_H__
-
-/*!
- * Operation Mode for the I2C
- */
-typedef enum
-{
- MODE_I2C = 0,
- MODE_SMBUS_DEVICE,
- MODE_SMBUS_HOST
-}I2cMode;
-
-/*!
- * I2C signal duty cycle
- */
-typedef enum
-{
- I2C_DUTY_CYCLE_2 = 0,
- I2C_DUTY_CYCLE_16_9
-}I2cDutyCycle;
-
-/*!
- * I2C select if the acknowledge in after the 7th or 10th bit
- */
-typedef enum
-{
- I2C_ACK_ADD_7_BIT = 0,
- I2C_ACK_ADD_10_BIT
-}I2cAckAddrMode;
-
-/*!
- * Internal device address size
- */
-typedef enum
-{
- I2C_ADDR_SIZE_8 = 0,
- I2C_ADDR_SIZE_16,
-}I2cAddrSize;
-
-/*!
- * \brief Initializes the I2C object and MCU peripheral
- *
- * \param [IN] obj I2C object
- * \param [IN] scl I2C Scl pin name to be used
- * \param [IN] sda I2C Sda pin name to be used
- */
-void I2cMcuInit( I2c_t *obj, PinNames scl, PinNames sda );
-
-/*!
- * \brief Initializes the I2C object and MCU peripheral
- *
- * \param [IN] obj I2C object
- * \param [IN] mode Mode of operation for the I2C Bus
- * \param [IN] dutyCycle Signal duty cycle
- * \param [IN] I2cAckEnable Enable or Disable to ack
- * \param [IN] AckAddrMode 7bit or 10 bit addressing
- * \param [IN] I2cFrequency I2C bus clock frequency
- */
-void I2cMcuFormat( I2c_t *obj, I2cMode mode, I2cDutyCycle dutyCycle, bool I2cAckEnable, I2cAckAddrMode AckAddrMode, uint32_t I2cFrequency );
-
-/*!
- * \brief DeInitializes the I2C object and MCU peripheral
- *
- * \param [IN] obj I2C object
- */
-void I2cMcuDeInit( I2c_t *obj );
-
-/*!
- * \brief Write several data to the I2C device
- *
- * \param [IN] obj I2C object
- * \param [IN] deviceAddr device address
- * \param [IN] addr register address
- * \param [IN] buffer data buffer to write
- * \param [IN] size number of data byte to write
- */
-uint8_t I2cMcuWriteBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size );
-
-/*!
- * \brief Read several data byte from the I2C device
- *
- * \param [IN] obj I2C object
- * \param [IN] deviceAddr device address
- * \param [IN] addr register address
- * \param [IN] buffer data buffer used to store the data read
- * \param [IN] size number of data byte to read
- */
-uint8_t I2cMcuReadBuffer( I2c_t *obj, uint8_t deviceAddr, uint16_t addr, uint8_t *buffer, uint16_t size );
-
-/*!
- * \brief Waits until the given device is in standby mode
- *
- * \param [IN] obj I2C object
- * \param [IN] deviceAddr device address
- */
-uint8_t I2cMcuWaitStandbyState( I2c_t *obj, uint8_t deviceAddr );
-
-/*!
- * \brief Sets the internal device address size
- *
- * \param [IN] obj I2C object
- * \param [IN] addrSize Internal address size
- */
-void I2cSetAddrSize( I2c_t *obj, I2cAddrSize addrSize );
-
-#endif // __I2C_MCU_H__
diff --git a/src/boards/Bleeper-76/pinName-board.h b/src/boards/Bleeper-76/pinName-board.h
deleted file mode 100644
index 4a66023bb..000000000
--- a/src/boards/Bleeper-76/pinName-board.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper STM32L151RD microcontroller pins definition
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __PIN_NAME_MCU_H__
-#define __PIN_NAME_MCU_H__
-
-/*!
- * STM32 Pin Names
- */
-#define MCU_PINS \
- 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, \
- 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, \
- 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, \
- 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, \
- 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, \
- 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, \
- 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
-
-#endif // __PIN_NAME_MCU_H__
diff --git a/src/boards/Bleeper-76/pinName-ioe.h b/src/boards/Bleeper-76/pinName-ioe.h
deleted file mode 100644
index 531100ab9..000000000
--- a/src/boards/Bleeper-76/pinName-ioe.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper STM32L151RD microcontroller pins definition
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __PIN_NAME_IOE_H__
-#define __PIN_NAME_IOE_H__
-
-// SX1509 Pin Names
-#define IOE_PINS \
- IOE_0, IOE_1, IOE_2, IOE_3, IOE_4, IOE_5, IOE_6, IOE_7, \
- IOE_8, IOE_9, IOE_10, IOE_11, IOE_12, IOE_13, IOE_14, IOE_15
-#endif // __PIN_NAME_IOE_H__
diff --git a/src/boards/Bleeper-76/rtc-board.c b/src/boards/Bleeper-76/rtc-board.c
deleted file mode 100644
index d58622057..000000000
--- a/src/boards/Bleeper-76/rtc-board.c
+++ /dev/null
@@ -1,557 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: MCU RTC timer and low power modes management
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include
-#include "board.h"
-#include "rtc-board.h"
-
-/*!
- * RTC Time base in us
- */
-#define RTC_ALARM_TIME_BASE 122.07
-
-/*!
- * MCU Wake Up Time
- */
-#define MCU_WAKE_UP_TIME 3400
-
-/*!
- * \brief Configure the Rtc hardware
- */
-static void RtcSetConfig( void );
-
-/*!
- * \brief Configure the Rtc Alarm
- */
-static void RtcSetAlarmConfig( void );
-
-/*!
- * \brief Start the Rtc Alarm (time base 1s)
- */
-static void RtcStartWakeUpAlarm( uint32_t timeoutValue );
-
-/*!
- * \brief Read the MCU internal Calendar value
- *
- * \retval Calendar value
- */
-static TimerTime_t RtcGetCalendarValue( void );
-
-/*!
- * \brief Clear the RTC flags and Stop all IRQs
- */
-static void RtcClearStatus( void );
-
-/*!
- * \brief Indicates if the RTC is already Initalized or not
- */
-static bool RtcInitalized = false;
-
-/*!
- * \brief Flag to indicate if the timestamps until the next event is long enough
- * to set the MCU into low power mode
- */
-static bool RtcTimerEventAllowsLowPower = false;
-
-/*!
- * \brief Flag to disable the LowPower Mode even if the timestamps until the
- * next event is long enough to allow Low Power mode
- */
-static bool LowPowerDisableDuringTask = false;
-
-/*!
- * Keep the value of the RTC timer when the RTC alarm is set
- */
-static TimerTime_t RtcTimerContext = 0;
-
-/*!
- * Number of seconds in a minute
- */
-static const uint8_t SecondsInMinute = 60;
-
-/*!
- * Number of seconds in an hour
- */
-static const uint16_t SecondsInHour = 3600;
-
-/*!
- * Number of seconds in a day
- */
-static const uint32_t SecondsInDay = 86400;
-
-/*!
- * Number of hours in a day
- */
-static const uint8_t HoursInDay = 24;
-
-/*!
- * Number of days in a standard year
- */
-static const uint16_t DaysInYear = 365;
-
-/*!
- * Number of days in a leap year
- */
-static const uint16_t DaysInLeapYear = 366;
-
-/*!
- * Number of days in a century
- */
-static const double DaysInCentury = 36524.219;
-
-/*!
- * Number of days in each month on a normal year
- */
-static const uint8_t DaysInMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-
-/*!
- * Number of days in each month on a leap year
- */
-static const uint8_t DaysInMonthLeapYear[] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-
-/*!
- * Hold the previous year value to detect the turn of a century
- */
-static uint8_t PreviousYear = 0;
-
-/*!
- * Century counter
- */
-static uint8_t Century = 0;
-
-void RtcInit( void )
-{
- if( RtcInitalized == false )
- {
- RtcSetConfig( );
- RtcSetAlarmConfig( );
- RtcInitalized = true;
- }
-}
-
-static void RtcSetConfig( void )
-{
- RTC_InitTypeDef RTC_InitStructure;
- RTC_TimeTypeDef RTC_TimeStruct;
- RTC_DateTypeDef RTC_DateStruct;
-
- /* Enable the PWR clock */
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR, ENABLE );
-
- /* Allow access to RTC */
- PWR_RTCAccessCmd( ENABLE );
-
- /* Reset RTC Domain */
- RCC_RTCResetCmd( ENABLE );
- RCC_RTCResetCmd( DISABLE );
-
- /* Enable the LSE OSC */
- RCC_LSEConfig( RCC_LSE_ON );
-
- /* Wait till LSE is ready */
- while( RCC_GetFlagStatus( RCC_FLAG_LSERDY ) == RESET )
- {}
-
- /* Select the RTC Clock Source */
- RCC_RTCCLKConfig( RCC_RTCCLKSource_LSE );
-
- /* Enable the RTC Clock */
- RCC_RTCCLKCmd( ENABLE );
-
- RTC_TimeStructInit( &RTC_TimeStruct );
- RTC_DateStructInit( &RTC_DateStruct );
-
- RTC_SetDate( RTC_Format_BIN, &RTC_DateStruct );
- RTC_SetTime( RTC_Format_BIN, &RTC_TimeStruct );
-
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro( );
-
- /* Configure the RTC data register and RTC prescaler */
- RTC_InitStructure.RTC_AsynchPrediv = 0x01;
- RTC_InitStructure.RTC_SynchPrediv = 0x01;
- RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24;
- RTC_Init( &RTC_InitStructure );
-
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro( );
-}
-
-static void RtcSetAlarmConfig( void )
-{
- EXTI_InitTypeDef EXTI_InitStructure;
- RTC_AlarmTypeDef RTC_AlarmStructure;
- NVIC_InitTypeDef NVIC_InitStructure;
-
- /* EXTI configuration */
- EXTI_ClearITPendingBit( EXTI_Line17 );
- EXTI_InitStructure.EXTI_Line = EXTI_Line17;
- EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
- EXTI_InitStructure.EXTI_LineCmd = ENABLE;
- EXTI_Init( &EXTI_InitStructure );
-
- /* Enable the RTC Alarm Interrupt */
- NVIC_InitStructure.NVIC_IRQChannel = RTC_Alarm_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init( &NVIC_InitStructure );
-
- /* Set the alarmA Masks */
- RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_DateWeekDay;
- RTC_SetAlarm( RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure );
-
- /* Enable AlarmA interrupt */
- RTC_ITConfig( RTC_IT_ALRA, DISABLE );
-
- /* Enable the alarmA */
- RTC_AlarmCmd( RTC_Alarm_A, DISABLE );
-}
-
-void RtcStopTimer( void )
-{
- RtcClearStatus( );
-}
-
-uint32_t RtcGetMinimumTimeout( void )
-{
- return( ceil( 3 * RTC_ALARM_TIME_BASE ) );
-}
-
-void RtcSetTimeout( uint32_t timeout )
-{
- uint32_t timeoutValue = 0;
-
- timeoutValue = timeout;
-
- if( timeoutValue < ( 3 * RTC_ALARM_TIME_BASE ) )
- {
- timeoutValue = 3 * RTC_ALARM_TIME_BASE;
- }
-
- if( timeoutValue < 55000 )
- {
- // we don't go in Low Power mode for delay below 50ms (needed for LEDs)
- RtcTimerEventAllowsLowPower = false;
- }
- else
- {
- RtcTimerEventAllowsLowPower = true;
- }
-
- if( ( LowPowerDisableDuringTask == false ) && ( RtcTimerEventAllowsLowPower == true ) )
- {
- timeoutValue = timeoutValue - MCU_WAKE_UP_TIME;
- }
-
- RtcStartWakeUpAlarm( timeoutValue );
-}
-
-
-uint32_t RtcGetTimerElapsedTime( void )
-{
- TimerTime_t CalendarValue = 0;
-
- CalendarValue = RtcGetCalendarValue( );
-
- return( ( uint32_t )( ceil ( ( ( CalendarValue - RtcTimerContext ) + 2 ) * RTC_ALARM_TIME_BASE ) ) );
-}
-
-TimerTime_t RtcGetTimerValue( void )
-{
- TimerTime_t CalendarValue = 0;
-
- CalendarValue = RtcGetCalendarValue( );
-
- return( ( CalendarValue + 2 ) * RTC_ALARM_TIME_BASE );
-}
-
-static void RtcClearStatus( void )
-{
- /* Clear RTC Alarm Flag */
- RTC_ClearFlag(RTC_FLAG_ALRAF);
-
- /* Enable RTC Alarm A Interrupt */
- RTC_ITConfig( RTC_IT_ALRA, DISABLE );
-
- /* Enable the Alarm A */
- RTC_AlarmCmd( RTC_Alarm_A, DISABLE );
-}
-
-static void RtcStartWakeUpAlarm( uint32_t timeoutValue )
-{
- uint16_t rtcSeconds = 0;
- uint16_t rtcMinutes = 0;
- uint16_t rtcHours = 0;
- uint16_t rtcDays = 0;
-
- uint8_t rtcAlarmSeconds = 0;
- uint8_t rtcAlarmMinutes = 0;
- uint8_t rtcAlarmHours = 0;
- uint16_t rtcAlarmDays = 0;
-
- RTC_AlarmTypeDef RTC_AlarmStructure;
- RTC_TimeTypeDef RTC_TimeStruct;
- RTC_DateTypeDef RTC_DateStruct;
-
- RtcClearStatus( );
-
- RtcTimerContext = RtcGetCalendarValue( );
- RTC_GetTime( RTC_Format_BIN, &RTC_TimeStruct );
- RTC_GetDate( RTC_Format_BIN, &RTC_DateStruct );
-
- timeoutValue = timeoutValue / RTC_ALARM_TIME_BASE;
-
- if( timeoutValue > 2160000 ) // 25 "days" in tick
- { // drastically reduce the computation time
- rtcAlarmSeconds = RTC_TimeStruct.RTC_Seconds;
- rtcAlarmMinutes = RTC_TimeStruct.RTC_Minutes;
- rtcAlarmHours = RTC_TimeStruct.RTC_Hours;
- rtcAlarmDays = 25 + RTC_DateStruct.RTC_Date; // simply add 25 days to current date and time
-
- if( ( RTC_DateStruct.RTC_Year == 0 ) || ( RTC_DateStruct.RTC_Year % 4 == 0 ) )
- {
- if( rtcAlarmDays > DaysInMonthLeapYear[ RTC_DateStruct.RTC_Month - 1 ] )
- {
- rtcAlarmDays = rtcAlarmDays % DaysInMonthLeapYear[ RTC_DateStruct.RTC_Month - 1];
- }
- }
- else
- {
- if( rtcAlarmDays > DaysInMonth[ RTC_DateStruct.RTC_Month - 1 ] )
- {
- rtcAlarmDays = rtcAlarmDays % DaysInMonth[ RTC_DateStruct.RTC_Month - 1];
- }
- }
- }
- else
- {
- rtcSeconds = ( timeoutValue % SecondsInMinute ) + RTC_TimeStruct.RTC_Seconds;
- rtcMinutes = ( ( timeoutValue / SecondsInMinute ) % SecondsInMinute ) + RTC_TimeStruct.RTC_Minutes;
- rtcHours = ( ( timeoutValue / SecondsInHour ) % HoursInDay ) + RTC_TimeStruct.RTC_Hours;
- rtcDays = ( timeoutValue / SecondsInDay ) + RTC_DateStruct.RTC_Date;
-
- rtcAlarmSeconds = ( rtcSeconds ) % 60;
- rtcAlarmMinutes = ( ( rtcSeconds / 60 ) + rtcMinutes ) % 60;
- rtcAlarmHours = ( ( ( ( rtcSeconds / 60 ) + rtcMinutes ) / 60 ) + rtcHours ) % 24;
- rtcAlarmDays = ( ( ( ( ( rtcSeconds / 60 ) + rtcMinutes ) / 60 ) + rtcHours ) / 24 ) + rtcDays;
-
- if( ( RTC_DateStruct.RTC_Year == 0 ) || ( RTC_DateStruct.RTC_Year % 4 == 0 ) )
- {
- if( rtcAlarmDays > DaysInMonthLeapYear[ RTC_DateStruct.RTC_Month - 1 ] )
- {
- rtcAlarmDays = rtcAlarmDays % DaysInMonthLeapYear[ RTC_DateStruct.RTC_Month - 1 ];
- }
- }
- else
- {
- if( rtcAlarmDays > DaysInMonth[ RTC_DateStruct.RTC_Month - 1 ] )
- {
- rtcAlarmDays = rtcAlarmDays % DaysInMonth[ RTC_DateStruct.RTC_Month - 1 ];
- }
- }
- }
-
- RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = rtcAlarmSeconds;
- RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = rtcAlarmMinutes;
- RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours = rtcAlarmHours;
- RTC_AlarmStructure.RTC_AlarmDateWeekDay = ( uint8_t )rtcAlarmDays;
- RTC_AlarmStructure.RTC_AlarmTime.RTC_H12 = RTC_TimeStruct.RTC_H12;
- RTC_AlarmStructure.RTC_AlarmDateWeekDaySel = RTC_AlarmDateWeekDaySel_Date;
- RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_None;
- RTC_SetAlarm( RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure );
-
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro( );
-
- /* Enable RTC Alarm A Interrupt */
- RTC_ITConfig( RTC_IT_ALRA, ENABLE );
-
- /* Enable the Alarm A */
- RTC_AlarmCmd( RTC_Alarm_A, ENABLE );
-}
-
-void RtcEnterLowPowerStopMode( void )
-{
- if( ( LowPowerDisableDuringTask == false ) && ( RtcTimerEventAllowsLowPower == true ) )
- {
- // Disable IRQ while the MCU is being deinitialized to prevent race issues
- __disable_irq( );
-
- BoardDeInitMcu( );
-
- __enable_irq( );
-
- /* Disable the Power Voltage Detector */
- PWR_PVDCmd( DISABLE );
-
- /* Set MCU in ULP (Ultra Low Power) */
- PWR_UltraLowPowerCmd( ENABLE );
-
- /*Disable fast wakeUp*/
- PWR_FastWakeUpCmd( DISABLE );
-
- /* Enter Stop Mode */
- PWR_EnterSTOPMode( PWR_Regulator_LowPower, PWR_STOPEntry_WFI );
- }
-}
-
-void RtcRecoverMcuStatus( void )
-{
- if( TimerGetLowPowerEnable( ) == true )
- {
- if( ( LowPowerDisableDuringTask == false ) && ( RtcTimerEventAllowsLowPower == true ) )
- {
- // Disable IRQ while the MCU is not running on HSE
- __disable_irq( );
-
- /* After wake-up from STOP reconfigure the system clock */
- /* Enable HSE */
- RCC_HSEConfig( RCC_HSE_ON );
-
- /* Wait till HSE is ready */
- while( RCC_GetFlagStatus( RCC_FLAG_HSERDY ) == RESET )
- {}
-
- /* Enable PLL */
- RCC_PLLCmd( ENABLE );
-
- /* Wait till PLL is ready */
- while( RCC_GetFlagStatus( RCC_FLAG_PLLRDY ) == RESET )
- {}
-
- /* Select PLL as system clock source */
- RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK );
-
- /* Wait till PLL is used as system clock source */
- while( RCC_GetSYSCLKSource( ) != 0x0C )
- {}
-
- /* Set MCU in ULP (Ultra Low Power) */
- PWR_UltraLowPowerCmd( DISABLE ); // add up to 3ms wakeup time
-
- /* Enable the Power Voltage Detector */
- PWR_PVDCmd( ENABLE );
-
- BoardInitMcu( );
-
- __enable_irq( );
- }
- }
-}
-
-/*!
- * \brief RTC IRQ Handler on the RTC Alarm
- */
-void RTC_Alarm_IRQHandler( void )
-{
- if( RTC_GetITStatus( RTC_IT_ALRA ) != RESET )
- {
- RtcRecoverMcuStatus( );
-
- TimerIrqHandler( );
-
- RTC_ClearITPendingBit( RTC_IT_ALRA );
- EXTI_ClearITPendingBit( EXTI_Line17 );
- }
-}
-
-void BlockLowPowerDuringTask( bool status )
-{
- if( status == true )
- {
- RtcRecoverMcuStatus( );
- }
- LowPowerDisableDuringTask = status;
-}
-
-void RtcDelayMs( uint32_t delay )
-{
- TimerTime_t delayValue = 0;
- TimerTime_t timeout = 0;
-
- delayValue = ( TimerTime_t )( delay * 1000 );
-
- // Wait delay ms
- timeout = RtcGetTimerValue( );
- while( ( ( RtcGetTimerValue( ) - timeout ) ) < delayValue )
- {
- __NOP( );
- }
-}
-
-TimerTime_t RtcGetCalendarValue( void )
-{
- TimerTime_t calendarValue = 0;
- uint8_t i = 0;
-
- RTC_TimeTypeDef RTC_TimeStruct;
- RTC_DateTypeDef RTC_DateStruct;
-
- RTC_GetTime( RTC_Format_BIN, &RTC_TimeStruct );
- RTC_GetDate( RTC_Format_BIN, &RTC_DateStruct );
-
- RTC_WaitForSynchro( );
-
- if( ( PreviousYear == 99 ) && ( RTC_DateStruct.RTC_Year == 0 ) )
- {
- Century++;
- }
- PreviousYear = RTC_DateStruct.RTC_Year;
-
- // century
- for( i = 0; i < Century; i++ )
- {
- calendarValue += ( TimerTime_t )( DaysInCentury * SecondsInDay );
- }
-
- // years
- for( i = 0; i < RTC_DateStruct.RTC_Year; i++ )
- {
- if( ( i == 0 ) || ( i % 4 == 0 ) )
- {
- calendarValue += DaysInLeapYear * SecondsInDay;
- }
- else
- {
- calendarValue += DaysInYear * SecondsInDay;
- }
- }
-
- // months
- if( ( RTC_DateStruct.RTC_Year == 0 ) || ( RTC_DateStruct.RTC_Year % 4 == 0 ) )
- {
- for( i = 0; i < ( RTC_DateStruct.RTC_Month - 1 ); i++ )
- {
- calendarValue += DaysInMonthLeapYear[i] * SecondsInDay;
- }
- }
- else
- {
- for( i = 0; i < ( RTC_DateStruct.RTC_Month - 1 ); i++ )
- {
- calendarValue += DaysInMonth[i] * SecondsInDay;
- }
- }
-
- // days
- calendarValue += ( ( uint32_t )RTC_TimeStruct.RTC_Seconds +
- ( ( uint32_t )RTC_TimeStruct.RTC_Minutes * SecondsInMinute ) +
- ( ( uint32_t )RTC_TimeStruct.RTC_Hours * SecondsInHour ) +
- ( ( uint32_t )( RTC_DateStruct.RTC_Date * SecondsInDay ) ) );
-
- return( calendarValue );
-}
diff --git a/src/boards/Bleeper-76/rtc-board.h b/src/boards/Bleeper-76/rtc-board.h
deleted file mode 100644
index 429d6e38e..000000000
--- a/src/boards/Bleeper-76/rtc-board.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: MCU RTC timer and low power modes management
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __RTC_BOARD_H__
-#define __RTC_BOARD_H__
-
-/*!
- * \brief Timer time variable definition
- */
-#ifndef TimerTime_t
-typedef uint64_t TimerTime_t;
-#endif
-
-/*!
- * \brief Initializes the RTC timer
- *
- * \remark The timer is based on the RTC
- */
-void RtcInit( void );
-
-/*!
- * \brief Stop the RTC Timer
- */
-void RtcStopTimer( void );
-
-/*!
- * \brief Return the minimum timeout the RTC is able to handle
- *
- * \retval minimum value for a timeout
- */
-uint32_t RtcGetMinimumTimeout( void );
-
-/*!
- * \brief Start the RTC timer
- *
- * \remark The timer is based on the RTC Alarm running at 32.768KHz
- *
- * \param[IN] timeout Duration of the Timer
- */
-void RtcSetTimeout( uint32_t timeout );
-
-/*!
- * \brief Get the RTC timer value
- *
- * \retval RTC Timer value
- */
-TimerTime_t RtcGetTimerValue( void );
-
-/*!
- * \brief Get the RTC timer elapsed time since the last Alarm was set
- *
- * \retval RTC Elapsed time since the last alarm
- */
-uint32_t RtcGetTimerElapsedTime( void );
-
-/*!
- * \brief This function block the MCU from going into Low Power mode
- *
- * \param [IN] Status enable or disable
- */
-void BlockLowPowerDuringTask ( bool Status );
-
-/*!
- * \brief Sets the MCU in low power STOP mode
- */
-void RtcEnterLowPowerStopMode( void );
-
-/*!
- * \brief Restore the MCU to its normal operation mode
- */
-void RtcRecoverMcuStatus( void );
-
-/*!
- * \brief Perfoms a standard blocking delay in the code execution
- *
- * \param [IN] delay Delay value in ms
- */
-void RtcDelayMs ( uint32_t delay );
-
-#endif // __RTC_BOARD_H__
diff --git a/src/boards/Bleeper-76/spi-board.c b/src/boards/Bleeper-76/spi-board.c
deleted file mode 100644
index 167d77fae..000000000
--- a/src/boards/Bleeper-76/spi-board.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board SPI driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-#include "spi-board.h"
-#include "stm32l1xx_spi.h"
-#include "stm32l1xx_gpio.h"
-
-/*!
- * \brief Find First Set
- * This function identifies the least significant index or position of the
- * bits set to one in the word
- *
- * \param [in] value Value to find least significant index
- * \retval bitIndex Index of least significat bit at one
- */
-__STATIC_INLINE uint8_t __ffs( uint32_t value )
-{
- return( uint32_t )( 32 - __CLZ( value & ( -value ) ) );
-}
-
-/*!
- * MCU SPI peripherals enumeration
- */
-typedef enum {
- SPI_1 = ( uint32_t )SPI1_BASE,
- SPI_2 = ( uint32_t )SPI2_BASE,
- SPI_3 = ( uint32_t )SPI3_BASE,
-} SPIName;
-
-SPI_InitTypeDef SPI_InitStructure;
-
-void SpiInit( Spi_t *obj, PinNames mosi, PinNames miso, PinNames sclk, PinNames nss )
-{
- GpioInit( &obj->Mosi, mosi, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
- GpioInit( &obj->Miso, miso, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
- GpioInit( &obj->Sclk, sclk, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
-
- // TODO: Make independent of stm32l1xx_gpio.h
- GPIO_PinAFConfig( obj->Mosi.port, ( obj->Mosi.pin & 0x0F ), GPIO_AF_SPI1 );
- GPIO_PinAFConfig( obj->Miso.port, ( obj->Miso.pin & 0x0F ), GPIO_AF_SPI1 );
- GPIO_PinAFConfig( obj->Sclk.port, ( obj->Sclk.pin & 0x0F ), GPIO_AF_SPI1 );
-
- if( nss != NC )
- {
- GpioInit( &obj->Nss, nss, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
- // TODO: Make independent of stm32l1xx_gpio.h
- GPIO_PinAFConfig( obj->Nss.port, ( obj->Nss.pin & 0x0F ), GPIO_AF_SPI1 );
- }
- else
- {
- SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
- }
-
- // Choose SPI interface according to the given pins
- obj->Spi = ( SPI_TypeDef* )SPI1_BASE;
- RCC_APB2PeriphClockCmd( RCC_APB2Periph_SPI1, ENABLE );
-
- if( nss == NC )
- {
- // 8 bits, CPOL = 0, CPHA = 0, MASTER
- SpiFormat( obj, 8, 0, 0, 0 );
- }
- else
- {
- // 8 bits, CPOL = 0, CPHA = 0, SLAVE
- SpiFormat( obj, 8, 0, 0, 1 );
- }
- SpiFrequency( obj, 10000000 );
-
- SPI_Cmd( obj->Spi, ENABLE );
-}
-
-void SpiDeInit( Spi_t *obj )
-{
- SPI_Cmd( obj->Spi, DISABLE );
- SPI_I2S_DeInit( obj->Spi );
-
- GpioInit( &obj->Mosi, obj->Mosi.pin, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &obj->Miso, obj->Miso.pin, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
- GpioInit( &obj->Sclk, obj->Sclk.pin, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &obj->Nss, obj->Nss.pin, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
-
-}
-
-void SpiFormat( Spi_t *obj, int8_t bits, int8_t cpol, int8_t cpha, int8_t slave )
-{
- SPI_Cmd( obj->Spi, DISABLE );
-
- if( ( ( ( bits == 8 ) || ( bits == 16 ) ) == false ) ||
- ( ( ( cpol >= 0 ) && ( cpol <= 1 ) ) == false ) ||
- ( ( ( cpha >= 0 ) && ( cpha <= 1 ) ) == false ) )
- {
- // SPI error
- while( 1 );
- }
-
- SPI_InitStructure.SPI_Mode = ( slave == 0x01 ) ? SPI_Mode_Slave : SPI_Mode_Master;
- SPI_InitStructure.SPI_CPOL = ( cpol == 0x01 ) ? SPI_CPOL_High : SPI_CPOL_Low;
- SPI_InitStructure.SPI_CPHA = ( cpha == 0x01 ) ? SPI_CPHA_2Edge : SPI_CPHA_1Edge;
- SPI_InitStructure.SPI_DataSize = ( bits == 8 ) ? SPI_DataSize_8b : SPI_DataSize_16b;
- SPI_Init( obj->Spi, &SPI_InitStructure );
-
- SPI_Cmd( obj->Spi, ENABLE );
-}
-
-void SpiFrequency( Spi_t *obj, uint32_t hz )
-{
- uint32_t divisor;
-
- SPI_Cmd( obj->Spi, DISABLE );
-
- divisor = SystemCoreClock / hz;
-
- // Find the nearest power-of-2
- divisor = divisor > 0 ? divisor-1 : 0;
- divisor |= divisor >> 1;
- divisor |= divisor >> 2;
- divisor |= divisor >> 4;
- divisor |= divisor >> 8;
- divisor |= divisor >> 16;
- divisor++;
-
- divisor = __ffs( divisor ) - 1;
-
- divisor = ( divisor > 0x07 ) ? 0x07 : divisor;
-
- SPI_InitStructure.SPI_BaudRatePrescaler = divisor << 3;
- SPI_Init( obj->Spi, &SPI_InitStructure );
-
- SPI_Cmd( obj->Spi, ENABLE );
-}
-
-uint16_t SpiInOut( Spi_t *obj, uint16_t outData )
-{
- if( ( obj == NULL ) || ( obj->Spi ) == NULL )
- {
- while( 1 );
- }
-
- while( SPI_I2S_GetFlagStatus( obj->Spi, SPI_I2S_FLAG_TXE ) == RESET );
- SPI_I2S_SendData( obj->Spi, outData );
- while( SPI_I2S_GetFlagStatus( obj->Spi, SPI_I2S_FLAG_RXNE ) == RESET );
- return SPI_I2S_ReceiveData( obj->Spi );
-}
-
diff --git a/src/boards/Bleeper-76/spi-board.h b/src/boards/Bleeper-76/spi-board.h
deleted file mode 100644
index 0dfbc8408..000000000
--- a/src/boards/Bleeper-76/spi-board.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: Bleeper board SPI driver implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __SPI_MCU_H__
-#define __SPI_MCU_H__
-
-/*!
- * SPI driver structure definition
- */
-struct Spi_s
-{
- SPI_TypeDef *Spi;
- Gpio_t Mosi;
- Gpio_t Miso;
- Gpio_t Sclk;
- Gpio_t Nss;
-};
-
-#endif // __SPI_MCU_H__
diff --git a/src/boards/Bleeper-76/sx1276-board.c b/src/boards/Bleeper-76/sx1276-board.c
deleted file mode 100644
index cb487ee6d..000000000
--- a/src/boards/Bleeper-76/sx1276-board.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: SX1276 driver specific target board functions implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include "board.h"
-#include "radio.h"
-#include "sx1276/sx1276.h"
-#include "sx1276-board.h"
-
-/*!
- * Flag used to set the RF switch control pins in low power mode when the radio is not active.
- */
-static bool RadioIsActive = false;
-
-/*!
- * Radio driver structure initialization
- */
-const struct Radio_s Radio =
-{
- SX1276Init,
- SX1276GetStatus,
- SX1276SetModem,
- SX1276SetChannel,
- SX1276IsChannelFree,
- SX1276Random,
- SX1276SetRxConfig,
- SX1276SetTxConfig,
- SX1276CheckRfFrequency,
- SX1276GetTimeOnAir,
- SX1276Send,
- SX1276SetSleep,
- SX1276SetStby,
- SX1276SetRx,
- SX1276StartCad,
- SX1276ReadRssi,
- SX1276Write,
- SX1276Read,
- SX1276WriteBuffer,
- SX1276ReadBuffer,
- SX1276SetMaxPayloadLength
-};
-
-/*!
- * Antenna switch GPIO pins objects
- */
-Gpio_t AntSwitchLf;
-Gpio_t AntSwitchHf;
-
-void SX1276IoInit( void )
-{
- GpioInit( &SX1276.Spi.Nss, RADIO_NSS, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
-
- GpioInit( &SX1276.DIO0, RADIO_DIO_0, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1276.DIO1, RADIO_DIO_1, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1276.DIO2, RADIO_DIO_2, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1276.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1276.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
- GpioInit( &SX1276.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
-}
-
-void SX1276IoIrqInit( DioIrqHandler **irqHandlers )
-{
- GpioSetInterrupt( &SX1276.DIO0, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[0] );
- GpioSetInterrupt( &SX1276.DIO1, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[1] );
- GpioSetInterrupt( &SX1276.DIO2, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[2] );
- GpioSetInterrupt( &SX1276.DIO3, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[3] );
- GpioSetInterrupt( &SX1276.DIO4, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[4] );
- GpioSetInterrupt( &SX1276.DIO5, IRQ_RISING_EDGE, IRQ_HIGH_PRIORITY, irqHandlers[5] );
-}
-
-void SX1276IoDeInit( void )
-{
- GpioInit( &SX1276.Spi.Nss, RADIO_NSS, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 );
-
- GpioInit( &SX1276.DIO0, RADIO_DIO_0, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1276.DIO1, RADIO_DIO_1, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1276.DIO2, RADIO_DIO_2, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1276.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1276.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
- GpioInit( &SX1276.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
-}
-
-uint8_t SX1276GetPaSelect( uint32_t channel )
-{
- if( channel > RF_MID_BAND_THRESH )
- {
- return RF_PACONFIG_PASELECT_PABOOST;
- }
- else
- {
- return RF_PACONFIG_PASELECT_RFO;
- }
-}
-
-void SX1276SetAntSwLowPower( bool status )
-{
- if( RadioIsActive != status )
- {
- RadioIsActive = status;
-
- if( status == false )
- {
- SX1276AntSwInit( );
- }
- else
- {
- SX1276AntSwDeInit( );
- }
- }
-}
-
-void SX1276AntSwInit( void )
-{
- GpioInit( &AntSwitchLf, RADIO_ANT_SWITCH_LF, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
- GpioInit( &AntSwitchHf, RADIO_ANT_SWITCH_HF, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
-}
-
-void SX1276AntSwDeInit( void )
-{
- GpioInit( &AntSwitchLf, RADIO_ANT_SWITCH_LF, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
- GpioInit( &AntSwitchHf, RADIO_ANT_SWITCH_HF, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
-}
-
-void SX1276SetAntSw( uint8_t rxTx )
-{
- if( SX1276.RxTx == rxTx )
- {
- return;
- }
-
- SX1276.RxTx = rxTx;
-
- if( rxTx != 0 ) // 1: TX, 0: RX
- {
- GpioWrite( &AntSwitchLf, 0 );
- GpioWrite( &AntSwitchHf, 1 );
- }
- else
- {
- GpioWrite( &AntSwitchLf, 1 );
- GpioWrite( &AntSwitchHf, 0 );
- }
-}
-
-bool SX1276CheckRfFrequency( uint32_t frequency )
-{
- // Implement check. Currently all frequencies are supported
- return true;
-}
diff --git a/src/boards/Bleeper-76/sx1276-board.h b/src/boards/Bleeper-76/sx1276-board.h
deleted file mode 100644
index e9613336f..000000000
--- a/src/boards/Bleeper-76/sx1276-board.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: SX1276 driver specific target board functions implementation
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __SX1276_ARCH_H__
-#define __SX1276_ARCH_H__
-
-/*!
- * \brief Radio hardware registers initialization definition
- *
- * \remark Can be automatically generated by the SX1276 GUI (not yet implemented)
- */
-#define RADIO_INIT_REGISTERS_VALUE \
-{ \
- { MODEM_FSK , REG_LNA , 0x23 },\
- { MODEM_FSK , REG_RXCONFIG , 0x1E },\
- { MODEM_FSK , REG_RSSICONFIG , 0xD2 },\
- { MODEM_FSK , REG_PREAMBLEDETECT , 0xAA },\
- { MODEM_FSK , REG_OSC , 0x07 },\
- { MODEM_FSK , REG_SYNCCONFIG , 0x12 },\
- { MODEM_FSK , REG_SYNCVALUE1 , 0xC1 },\
- { MODEM_FSK , REG_SYNCVALUE2 , 0x94 },\
- { MODEM_FSK , REG_SYNCVALUE3 , 0xC1 },\
- { MODEM_FSK , REG_PACKETCONFIG1 , 0xD8 },\
- { MODEM_FSK , REG_FIFOTHRESH , 0x8F },\
- { MODEM_FSK , REG_IMAGECAL , 0x02 },\
- { MODEM_FSK , REG_DIOMAPPING1 , 0x00 },\
- { MODEM_FSK , REG_DIOMAPPING2 , 0x30 },\
- { MODEM_LORA, REG_LR_PAYLOADMAXLENGTH, 0x40 },\
-} \
-
-#define RF_MID_BAND_THRESH 525000000
-
-/*!
- * \brief Initializes the radio I/Os pins interface
- */
-void SX1276IoInit( void );
-
-/*!
- * \brief Initializes DIO IRQ handlers
- *
- * \param [IN] irqHandlers Array containing the IRQ callback functions
- */
-void SX1276IoIrqInit( DioIrqHandler **irqHandlers );
-
-/*!
- * \brief De-initializes the radio I/Os pins interface.
- *
- * \remark Useful when going in MCU lowpower modes
- */
-void SX1276IoDeInit( void );
-
-/*!
- * \brief Gets the board PA selection configuration
- *
- * \param [IN] channel Channel frequency in Hz
- * \retval PaSelect RegPaConfig PaSelect value
- */
-uint8_t SX1276GetPaSelect( uint32_t channel );
-
-/*!
- * \brief Set the RF Switch I/Os pins in Low Power mode
- *
- * \param [IN] status enable or disable
- */
-void SX1276SetAntSwLowPower( bool status );
-
-/*!
- * \brief Initializes the RF Switch I/Os pins interface
- */
-void SX1276AntSwInit( void );
-
-/*!
- * \brief De-initializes the RF Switch I/Os pins interface
- *
- * \remark Needed to decrease the power consumption in MCU lowpower modes
- */
-void SX1276AntSwDeInit( void );
-
-/*!
- * \brief Controls the antena switch if necessary.
- *
- * \remark see errata note
- *
- * \param [IN] rxTx [1: Tx, 0: Rx]
- */
-void SX1276SetAntSw( uint8_t rxTx );
-
-/*!
- * \brief Checks if the given RF frequency is supported by the hardware
- *
- * \param [IN] frequency RF frequency to be checked
- * \retval isSupported [true: supported, false: unsupported]
- */
-bool SX1276CheckRfFrequency( uint32_t frequency );
-
-/*!
- * Radio hardware and global parameters
- */
-extern SX1276_t SX1276;
-
-#endif // __SX1276_ARCH_H__
diff --git a/src/boards/Bleeper-76/timer-board.c b/src/boards/Bleeper-76/timer-board.c
deleted file mode 100644
index 84724e99c..000000000
--- a/src/boards/Bleeper-76/timer-board.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: MCU RTC timer and low power modes management
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#include
-#include "board.h"
-#include "timer-board.h"
-
-/*!
- * Hardware Time base in us
- */
-#define HW_TIMER_TIME_BASE 100 //us
-
-/*!
- * Hardware Timer tick counter
- */
-volatile TimerTime_t TimerTickCounter = 1;
-
-/*!
- * Saved value of the Tick counter at the start of the next event
- */
-static TimerTime_t TimerTickCounterContext = 0;
-
-/*!
- * Value trigging the IRQ
- */
-volatile TimerTime_t TimeoutCntValue = 0;
-
-/*!
- * Increment the Hardware Timer tick counter
- */
-void TimerIncrementTickCounter( void );
-
-/*!
- * Counter used for the Delay operations
- */
-volatile uint32_t TimerDelayCounter = 0;
-
-/*!
- * Return the value of the counter used for a Delay
- */
-uint32_t TimerHwGetDelayValue( void );
-
-/*!
- * Increment the value of TimerDelayCounter
- */
-void TimerIncrementDelayCounter( void );
-
-
-void TimerHwInit( void )
-{
- NVIC_InitTypeDef NVIC_InitStructure;
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
-
- /* TIM2 clock enable */
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_TIM2, ENABLE );
-
- /* --------------------------NVIC Configuration -------------------------------*/
- /* Enable the TIM2 gloabal Interrupt */
- NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
-
- NVIC_Init( &NVIC_InitStructure );
-
- TimeoutCntValue = 0;
-
- /* Time base configuration */
- TIM_TimeBaseStructure.TIM_Period = 3199;
- TIM_TimeBaseStructure.TIM_Prescaler = 0;
- TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseInit( TIM2, &TIM_TimeBaseStructure );
-
- TIM_ITConfig( TIM2, TIM_IT_Update, ENABLE );
-
- /* TIM2 disable counter */
- TIM_Cmd( TIM2, ENABLE );
-
- /* TIM3 clock enable */
- RCC_APB1PeriphClockCmd( RCC_APB1Periph_TIM3, ENABLE );
-
- /* --------------------------NVIC Configuration -------------------------------*/
- /* Enable the TIM3 gloabal Interrupt */
- NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
-
- NVIC_Init( &NVIC_InitStructure );
-
- /* Time base configuration */
- TIM_TimeBaseStructure.TIM_Period = 3199;
- TIM_TimeBaseStructure.TIM_Prescaler = 10;
- TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseInit( TIM3, &TIM_TimeBaseStructure );
-
- TIM_ITConfig( TIM3, TIM_IT_Update, DISABLE );
-
- /* TIM3 disable counter */
- TIM_Cmd( TIM3, DISABLE );
-
-
- TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
- TIM_Cmd( TIM3, ENABLE );
-
-}
-
-void TimerHwDeInit( void )
-{
- /* Deinitialize the timer */
- TIM_DeInit( TIM2 );
-}
-
-uint32_t TimerHwGetMinimumTimeout( void )
-{
- return( ceil( 2 * HW_TIMER_TIME_BASE ) );
-}
-
-void TimerHwStart( uint32_t val )
-{
- TimerTickCounterContext = TimerHwGetTimerValue( );
-
- if( val <= HW_TIMER_TIME_BASE + 1 )
- {
- TimeoutCntValue = TimerTickCounterContext + 1;
- }
- else
- {
- TimeoutCntValue = TimerTickCounterContext + ( ( val - 1 ) / HW_TIMER_TIME_BASE );
- }
-}
-
-void TimerHwStop( void )
-{
- TIM_ITConfig( TIM2, TIM_IT_CC1, DISABLE );
- TIM_Cmd( TIM2, DISABLE );
-}
-
-void TimerHwDelayMs( uint32_t delay )
-{
- uint32_t delayValue = 0;
-
- delayValue = delay;
-
- TimerDelayCounter = 0;
-
- TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
- TIM_Cmd( TIM3, ENABLE );
-
- while( TimerHwGetDelayValue( ) < delayValue )
- {
- }
-
- TIM_ITConfig( TIM3, TIM_IT_Update, DISABLE );
- TIM_Cmd( TIM3, DISABLE );
-}
-
-TimerTime_t TimerHwGetElapsedTime( void )
-{
- return( ( ( TimerHwGetTimerValue( ) - TimerTickCounterContext ) + 1 ) * HW_TIMER_TIME_BASE );
-}
-
-TimerTime_t TimerHwGetTimerValue( void )
-{
- TimerTime_t val = 0;
-
- __disable_irq( );
-
- val = TimerTickCounter;
-
- __enable_irq( );
-
- return( val );
-}
-
-TimerTime_t TimerHwGetTime( void )
-{
-
- return TimerHwGetTimerValue( ) * HW_TIMER_TIME_BASE;
-}
-
-uint32_t TimerHwGetDelayValue( void )
-{
- uint32_t val = 0;
-
- __disable_irq( );
-
- val = TimerDelayCounter;
-
- __enable_irq( );
-
- return( val );
-}
-
-void TimerIncrementTickCounter( void )
-{
- __disable_irq( );
-
- TimerTickCounter++;
-
- __enable_irq( );
-}
-
-void TimerIncrementDelayCounter( void )
-{
- __disable_irq( );
-
- TimerDelayCounter++;
-
- __enable_irq( );
-}
-
-/*!
- * Timer IRQ handler
- */
-void TIM2_IRQHandler( void )
-{
- if( TIM_GetITStatus( TIM2, TIM_IT_Update ) != RESET )
- {
- TimerIncrementTickCounter( );
- TIM_ClearITPendingBit( TIM2, TIM_IT_Update );
-
- if( TimerTickCounter == TimeoutCntValue )
- {
- TimerIrqHandler( );
- }
- }
-}
-
-/*!
- * Timer IRQ handler
- */
-void TIM3_IRQHandler( void )
-{
- if( TIM_GetITStatus( TIM3, TIM_IT_Update ) != RESET )
- {
- TimerIncrementDelayCounter( );
- TIM_ClearITPendingBit( TIM3, TIM_IT_Update );
- }
-}
-
-void TimerHwEnterLowPowerStopMode( void )
-{
-#ifndef USE_DEBUGGER
- __WFI( );
-#endif
-}
diff --git a/src/boards/Bleeper-76/timer-board.h b/src/boards/Bleeper-76/timer-board.h
deleted file mode 100644
index a0734d70c..000000000
--- a/src/boards/Bleeper-76/timer-board.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- / _____) _ | |
-( (____ _____ ____ _| |_ _____ ____| |__
- \____ \| ___ | (_ _) ___ |/ ___) _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
- (C)2013 Semtech
-
-Description: MCU timer
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-#ifndef __TIMER_BOARD_H__
-#define __TIMER_BOARD_H__
-
-/*!
- * \brief Timer time variable definition
- */
-#ifndef TimerTime_t
-typedef uint64_t TimerTime_t;
-#endif
-
-/*!
- * \brief Initializes the timer
- *
- * \remark The timer is based on TIM2 with a 10uS time basis
- */
-void TimerHwInit( void );
-
-/*!
- * \brief DeInitializes the timer
- */
-void TimerHwDeInit( void );
-
-/*!
- * \brief Return the minimum timeout the Timer is able to handle
- *
- * \retval minimum value for a timeout
- */
-uint32_t TimerHwGetMinimumTimeout( void );
-
-/*!
- * \brief Start the Standard Timer counter
- *
- * \param [IN] rtcCounter Timer duration
- */
-void TimerHwStart( uint32_t rtcCounter );
-
-/*!
- * \brief Perfoms a standard blocking delay in the code execution
- *
- * \param [IN] delay Delay value in ms
- */
-void TimerHwDelayMs( uint32_t delay );
-
-/*!
- * \brief Stop the the Standard Timer counter
- */
-void TimerHwStop( void );
-
-/*!
- * \brief Return the value of the timer counter
- */
-TimerTime_t TimerHwGetTimerValue( void );
-
-/*!
- * \brief Return the value of the current time in us
- */
-TimerTime_t TimerHwGetTime( void );
-
-/*!
- * \brief Return the value on the timer Tick counter
- */
-TimerTime_t TimerHwGetElapsedTime( void );
-
-/*!
- * \brief Set the ARM core in Wait For Interrupt mode (only working if Debug mode is not used)
- */
-void TimerHwEnterLowPowerStopMode( void );
-
-#endif // __TIMER_BOARD_H__
diff --git a/src/boards/LoRaMote/LoRaMac-board.h b/src/boards/LoRaMote/LoRaMac-board.h
index 3b0c0e212..c145fef7e 100644
--- a/src/boards/LoRaMote/LoRaMac-board.h
+++ b/src/boards/LoRaMote/LoRaMac-board.h
@@ -129,12 +129,6 @@ typedef enum
#define LC1 { 868100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
#define LC2 { 868300000, { ( ( DR_6 << 4 ) | DR_0 ) }, 1 }
#define LC3 { 868500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
-#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
#elif defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
diff --git a/src/boards/LoRaMote/board.c b/src/boards/LoRaMote/board.c
index a1cf168a8..3146dd253 100644
--- a/src/boards/LoRaMote/board.c
+++ b/src/boards/LoRaMote/board.c
@@ -284,3 +284,25 @@ static void BoardUnusedIoInit( void )
GpioInit( &ioPin, JTAG_NRST, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
#endif
}
+
+#ifdef USE_FULL_ASSERT
+/*
+ * Function Name : assert_failed
+ * Description : Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * Input : - file: pointer to the source file name
+ * - line: assert_param error line source number
+ * Output : None
+ * Return : None
+ */
+void assert_failed( uint8_t* file, uint32_t line )
+{
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+
+ /* Infinite loop */
+ while( 1 )
+ {
+ }
+}
+#endif
diff --git a/src/boards/LoRaMote/spi-board.c b/src/boards/LoRaMote/spi-board.c
index 167d77fae..ca8715f47 100644
--- a/src/boards/LoRaMote/spi-board.c
+++ b/src/boards/LoRaMote/spi-board.c
@@ -43,6 +43,8 @@ SPI_InitTypeDef SPI_InitStructure;
void SpiInit( Spi_t *obj, PinNames mosi, PinNames miso, PinNames sclk, PinNames nss )
{
+ SPI_StructInit( &SPI_InitStructure );
+
GpioInit( &obj->Mosi, mosi, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
GpioInit( &obj->Miso, miso, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
GpioInit( &obj->Sclk, sclk, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
diff --git a/src/boards/LoRaMote/timer-board.c b/src/boards/LoRaMote/timer-board.c
index 84724e99c..049864599 100644
--- a/src/boards/LoRaMote/timer-board.c
+++ b/src/boards/LoRaMote/timer-board.c
@@ -59,6 +59,8 @@ void TimerIncrementDelayCounter( void );
void TimerHwInit( void )
{
+ TimerDelayCounter = 0;
+
NVIC_InitTypeDef NVIC_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
@@ -115,7 +117,6 @@ void TimerHwInit( void )
TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
TIM_Cmd( TIM3, ENABLE );
-
}
void TimerHwDeInit( void )
@@ -152,20 +153,15 @@ void TimerHwStop( void )
void TimerHwDelayMs( uint32_t delay )
{
uint32_t delayValue = 0;
+ uint32_t timeout = 0;
delayValue = delay;
-
- TimerDelayCounter = 0;
-
- TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
- TIM_Cmd( TIM3, ENABLE );
-
- while( TimerHwGetDelayValue( ) < delayValue )
+ // Wait delay ms
+ timeout = TimerHwGetDelayValue( );
+ while( ( TimerHwGetDelayValue( ) - timeout ) < delayValue )
{
+ __NOP( );
}
-
- TIM_ITConfig( TIM3, TIM_IT_Update, DISABLE );
- TIM_Cmd( TIM3, DISABLE );
}
TimerTime_t TimerHwGetElapsedTime( void )
diff --git a/src/boards/SK-iM880A/LoRaMac-board.h b/src/boards/SK-iM880A/LoRaMac-board.h
index 403f0baa5..4ffb3eef3 100644
--- a/src/boards/SK-iM880A/LoRaMac-board.h
+++ b/src/boards/SK-iM880A/LoRaMac-board.h
@@ -129,12 +129,6 @@ typedef enum
#define LC1 { 868100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
#define LC2 { 868300000, { ( ( DR_6 << 4 ) | DR_0 ) }, 1 }
#define LC3 { 868500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
-#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
#else
#error "Please define a frequency band in the compiler options."
diff --git a/src/boards/SK-iM880A/board.c b/src/boards/SK-iM880A/board.c
index f74150daf..37e987139 100644
--- a/src/boards/SK-iM880A/board.c
+++ b/src/boards/SK-iM880A/board.c
@@ -242,3 +242,25 @@ static void BoardUnusedIoInit( void )
GpioInit( &ioPin, JTAG_NRST, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
#endif
}
+
+#ifdef USE_FULL_ASSERT
+/*
+ * Function Name : assert_failed
+ * Description : Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * Input : - file: pointer to the source file name
+ * - line: assert_param error line source number
+ * Output : None
+ * Return : None
+ */
+void assert_failed( uint8_t* file, uint32_t line )
+{
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+
+ /* Infinite loop */
+ while( 1 )
+ {
+ }
+}
+#endif
diff --git a/src/boards/SK-iM880A/spi-board.c b/src/boards/SK-iM880A/spi-board.c
index 167d77fae..ca8715f47 100644
--- a/src/boards/SK-iM880A/spi-board.c
+++ b/src/boards/SK-iM880A/spi-board.c
@@ -43,6 +43,8 @@ SPI_InitTypeDef SPI_InitStructure;
void SpiInit( Spi_t *obj, PinNames mosi, PinNames miso, PinNames sclk, PinNames nss )
{
+ SPI_StructInit( &SPI_InitStructure );
+
GpioInit( &obj->Mosi, mosi, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
GpioInit( &obj->Miso, miso, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
GpioInit( &obj->Sclk, sclk, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
diff --git a/src/boards/SK-iM880A/timer-board.c b/src/boards/SK-iM880A/timer-board.c
index 84724e99c..049864599 100644
--- a/src/boards/SK-iM880A/timer-board.c
+++ b/src/boards/SK-iM880A/timer-board.c
@@ -59,6 +59,8 @@ void TimerIncrementDelayCounter( void );
void TimerHwInit( void )
{
+ TimerDelayCounter = 0;
+
NVIC_InitTypeDef NVIC_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
@@ -115,7 +117,6 @@ void TimerHwInit( void )
TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
TIM_Cmd( TIM3, ENABLE );
-
}
void TimerHwDeInit( void )
@@ -152,20 +153,15 @@ void TimerHwStop( void )
void TimerHwDelayMs( uint32_t delay )
{
uint32_t delayValue = 0;
+ uint32_t timeout = 0;
delayValue = delay;
-
- TimerDelayCounter = 0;
-
- TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
- TIM_Cmd( TIM3, ENABLE );
-
- while( TimerHwGetDelayValue( ) < delayValue )
+ // Wait delay ms
+ timeout = TimerHwGetDelayValue( );
+ while( ( TimerHwGetDelayValue( ) - timeout ) < delayValue )
{
+ __NOP( );
}
-
- TIM_ITConfig( TIM3, TIM_IT_Update, DISABLE );
- TIM_Cmd( TIM3, DISABLE );
}
TimerTime_t TimerHwGetElapsedTime( void )
diff --git a/src/boards/SensorNode/LoRaMac-board.h b/src/boards/SensorNode/LoRaMac-board.h
index 946d25e63..10c3c97be 100644
--- a/src/boards/SensorNode/LoRaMac-board.h
+++ b/src/boards/SensorNode/LoRaMac-board.h
@@ -311,12 +311,6 @@ typedef enum
#define LC1 { 868100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
#define LC2 { 868300000, { ( ( DR_6 << 4 ) | DR_0 ) }, 1 }
#define LC3 { 868500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 1 }
-#define LC4 { 867100000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC5 { 867300000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC6 { 867500000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC7 { 867700000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC8 { 867900000, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
-#define LC9 { 868800000, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
#elif defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
diff --git a/src/boards/SensorNode/board.c b/src/boards/SensorNode/board.c
index 771ac5d74..30bb49087 100644
--- a/src/boards/SensorNode/board.c
+++ b/src/boards/SensorNode/board.c
@@ -336,3 +336,25 @@ static void BoardUnusedIoInit( void )
GpioInit( &ioPin, SWCLK, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
#endif
}
+
+#ifdef USE_FULL_ASSERT
+/*
+ * Function Name : assert_failed
+ * Description : Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * Input : - file: pointer to the source file name
+ * - line: assert_param error line source number
+ * Output : None
+ * Return : None
+ */
+void assert_failed( uint8_t* file, uint32_t line )
+{
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+
+ /* Infinite loop */
+ while( 1 )
+ {
+ }
+}
+#endif
diff --git a/src/boards/SensorNode/spi-board.c b/src/boards/SensorNode/spi-board.c
index 43da23af8..51e27df44 100644
--- a/src/boards/SensorNode/spi-board.c
+++ b/src/boards/SensorNode/spi-board.c
@@ -43,6 +43,8 @@ SPI_InitTypeDef SPI_InitStructure;
void SpiInit( Spi_t *obj, PinNames mosi, PinNames miso, PinNames sclk, PinNames nss )
{
+ SPI_StructInit( &SPI_InitStructure );
+
GpioInit( &obj->Mosi, mosi, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
GpioInit( &obj->Miso, miso, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
GpioInit( &obj->Sclk, sclk, PIN_ALTERNATE_FCT, PIN_PUSH_PULL, PIN_PULL_DOWN, 0 );
diff --git a/src/boards/SensorNode/timer-board.c b/src/boards/SensorNode/timer-board.c
index 84724e99c..049864599 100644
--- a/src/boards/SensorNode/timer-board.c
+++ b/src/boards/SensorNode/timer-board.c
@@ -59,6 +59,8 @@ void TimerIncrementDelayCounter( void );
void TimerHwInit( void )
{
+ TimerDelayCounter = 0;
+
NVIC_InitTypeDef NVIC_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
@@ -115,7 +117,6 @@ void TimerHwInit( void )
TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
TIM_Cmd( TIM3, ENABLE );
-
}
void TimerHwDeInit( void )
@@ -152,20 +153,15 @@ void TimerHwStop( void )
void TimerHwDelayMs( uint32_t delay )
{
uint32_t delayValue = 0;
+ uint32_t timeout = 0;
delayValue = delay;
-
- TimerDelayCounter = 0;
-
- TIM_ITConfig( TIM3, TIM_IT_Update, ENABLE );
- TIM_Cmd( TIM3, ENABLE );
-
- while( TimerHwGetDelayValue( ) < delayValue )
+ // Wait delay ms
+ timeout = TimerHwGetDelayValue( );
+ while( ( TimerHwGetDelayValue( ) - timeout ) < delayValue )
{
+ __NOP( );
}
-
- TIM_ITConfig( TIM3, TIM_IT_Update, DISABLE );
- TIM_Cmd( TIM3, DISABLE );
}
TimerTime_t TimerHwGetElapsedTime( void )
diff --git a/src/mac/LoRaMac-api-v3.c b/src/mac/LoRaMac-api-v3.c
index a358dfab3..1e5fb4326 100644
--- a/src/mac/LoRaMac-api-v3.c
+++ b/src/mac/LoRaMac-api-v3.c
@@ -340,7 +340,7 @@ uint8_t LoRaMacSendConfirmedFrame( uint8_t fPort, void *fBuffer, uint16_t fBuffe
mcpsRequest.Req.Confirmed.fBuffer = fBuffer;
mcpsRequest.Req.Confirmed.fBufferSize = fBufferSize;
mcpsRequest.Req.Confirmed.fPort = fPort;
- mcpsRequest.Req.Confirmed.nbRetries = nbRetries;
+ mcpsRequest.Req.Confirmed.NbTrials = nbRetries;
mcpsRequest.Req.Confirmed.Datarate = mibGet.Param.ChannelsDatarate;
switch( LoRaMacMcpsRequest( &mcpsRequest ) )
diff --git a/src/mac/LoRaMac.c b/src/mac/LoRaMac.c
index f23854b12..a7e25fb95 100644
--- a/src/mac/LoRaMac.c
+++ b/src/mac/LoRaMac.c
@@ -300,12 +300,6 @@ static ChannelParams_t Channels[LORA_MAX_NB_CHANNELS] =
LC1,
LC2,
LC3,
- LC4,
- LC5,
- LC6,
- LC7,
- LC8,
- LC9,
};
#elif defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
/*!
@@ -447,6 +441,7 @@ enum eLoRaMacState
MAC_ACK_REQ = 0x00000004,
MAC_ACK_RETRY = 0x00000008,
MAC_TX_DELAYED = 0x00000010,
+ MAC_TX_CONFIG = 0x00000020,
};
/*!
@@ -561,6 +556,12 @@ LoRaMacFlags_t LoRaMacFlags;
*/
static void OnRadioTxDone( void );
+/*!
+ * \brief This function prepares the MAC to abort the execution of function
+ * OnRadioRxDone in case of a reception error.
+ */
+static void PrepareRxDoneAbort( void );
+
/*!
* \brief Function to be executed on Radio Rx Done event
*/
@@ -609,9 +610,13 @@ static void OnAckTimeoutTimerEvent( void );
/*!
* \brief Searches and set the next random available channel
*
- * \retval status Function status [0: OK, 1: Unable to find a free channel]
+ * \param [OUT] Time to wait for the next transmission according to the duty
+ * cycle.
+ *
+ * \retval status Function status [1: OK, 0: Unable to find a channel on the
+ * current datarate]
*/
-static TimerTime_t SetNextChannel( void );
+static bool SetNextChannel( TimerTime_t* time );
/*!
* \brief Sets the network to public or private. Updates the sync byte.
@@ -833,6 +838,28 @@ static void OnRadioTxDone( void )
}
}
+static void PrepareRxDoneAbort( void )
+{
+ LoRaMacState &= ~MAC_TX_RUNNING;
+
+ if( NodeAckRequested )
+ {
+ OnAckTimeoutTimerEvent( );
+ }
+
+ if( ( RxSlot == 0 ) && ( LoRaMacDeviceClass == CLASS_C ) )
+ {
+ OnRxWindow2TimerEvent( );
+ }
+
+ LoRaMacFlags.Bits.McpsInd = 1;
+ LoRaMacFlags.Bits.MacDone = 1;
+
+ // Trig OnMacCheckTimerEvent call as soon as possible
+ TimerSetValue( &MacStateCheckTimer, 1000 );
+ TimerStart( &MacStateCheckTimer );
+}
+
static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
{
LoRaMacHeader_t macHdr;
@@ -941,11 +968,13 @@ static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t
ChannelParams_t param;
param.DrRange.Value = ( DR_5 << 4 ) | DR_0;
+ LoRaMacState |= MAC_TX_CONFIG;
for( uint8_t i = 3, j = 0; i < ( 5 + 3 ); i++, j += 3 )
{
param.Frequency = ( ( uint32_t )LoRaMacRxPayload[13 + j] | ( ( uint32_t )LoRaMacRxPayload[14 + j] << 8 ) | ( ( uint32_t )LoRaMacRxPayload[15 + j] << 16 ) ) * 100;
LoRaMacChannelAdd( i, param );
}
+ LoRaMacState &= ~MAC_TX_CONFIG;
}
#endif
MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_OK;
@@ -960,8 +989,6 @@ static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t
case FRAME_TYPE_DATA_CONFIRMED_DOWN:
case FRAME_TYPE_DATA_UNCONFIRMED_DOWN:
{
- LoRaMacFlags.Bits.McpsInd = 1;
-
address = payload[pktHeaderLen++];
address |= ( (uint32_t)payload[pktHeaderLen++] << 8 );
address |= ( (uint32_t)payload[pktHeaderLen++] << 16 );
@@ -985,13 +1012,8 @@ static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t
if( multicast == 0 )
{
// We are not the destination of this frame.
- LoRaMacFlags.Bits.MacDone = 1;
McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_ADDRESS_FAIL;
- LoRaMacState &= ~MAC_TX_RUNNING;
- if( NodeAckRequested )
- {
- OnAckTimeoutTimerEvent( );
- }
+ PrepareRxDoneAbort( );
return;
}
}
@@ -1003,12 +1025,6 @@ static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t
downLinkCounter = DownLinkCounter;
}
- if( LoRaMacDeviceClass != CLASS_A )
- {
- LoRaMacState |= MAC_RX;
- // Starts the MAC layer status check timer
- TimerStart( &MacStateCheckTimer );
- }
fCtrl.Value = payload[pktHeaderLen++];
sequenceCounter = ( uint16_t )payload[pktHeaderLen++];
@@ -1066,14 +1082,9 @@ static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t
if( ( curMulticastParams->DownLinkCounter == downLinkCounter ) &&
( curMulticastParams->DownLinkCounter != 0 ) )
{
- LoRaMacFlags.Bits.MacDone = 1;
McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_DOWNLINK_REPEATED;
McpsIndication.DownLinkCounter = downLinkCounter;
- LoRaMacState &= ~MAC_TX_RUNNING;
- if( NodeAckRequested == true )
- {
- OnAckTimeoutTimerEvent( );
- }
+ PrepareRxDoneAbort( );
return;
}
curMulticastParams->DownLinkCounter = downLinkCounter;
@@ -1082,36 +1093,25 @@ static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t
{
if( macHdr.Bits.MType == FRAME_TYPE_DATA_CONFIRMED_DOWN )
{
+ SrvAckRequested = true;
McpsIndication.McpsIndication = MCPS_CONFIRMED;
}
else
{
+ SrvAckRequested = false;
McpsIndication.McpsIndication = MCPS_UNCONFIRMED;
}
if( ( DownLinkCounter == downLinkCounter ) &&
( DownLinkCounter != 0 ) )
{
- LoRaMacFlags.Bits.MacDone = 1;
McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_DOWNLINK_REPEATED;
McpsIndication.DownLinkCounter = downLinkCounter;
- LoRaMacState &= ~MAC_TX_RUNNING;
- if( NodeAckRequested == true )
- {
- OnAckTimeoutTimerEvent( );
- }
+ PrepareRxDoneAbort( );
return;
}
DownLinkCounter = downLinkCounter;
}
- if( macHdr.Bits.MType == FRAME_TYPE_DATA_CONFIRMED_DOWN )
- {
- SrvAckRequested = true;
- }
- else
- {
- SrvAckRequested = false;
- }
// Check if the frame is an acknowledgement
if( fCtrl.Bits.Ack == 1 )
{
@@ -1174,34 +1174,32 @@ static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t
McpsIndication.RxData = true;
}
}
+ LoRaMacFlags.Bits.McpsInd = 1;
}
else
{
McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_MIC_FAIL;
- LoRaMacState &= ~MAC_TX_RUNNING;
- if( NodeAckRequested == true )
- {
- OnAckTimeoutTimerEvent( );
- }
+
+ PrepareRxDoneAbort( );
+ return;
}
}
break;
case FRAME_TYPE_PROPRIETARY:
{
- LoRaMacFlags.Bits.McpsInd = 1;
-
memcpy1( LoRaMacRxPayload, &payload[pktHeaderLen], size );
McpsIndication.McpsIndication = MCPS_PROPRIETARY;
McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_OK;
McpsIndication.Buffer = LoRaMacRxPayload;
McpsIndication.BufferSize = size - pktHeaderLen;
+
+ LoRaMacFlags.Bits.McpsInd = 1;
break;
}
default:
- LoRaMacFlags.Bits.McpsInd = 1;
McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
- LoRaMacState &= ~MAC_TX_RUNNING;
+ PrepareRxDoneAbort( );
break;
}
@@ -1209,8 +1207,11 @@ static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t
{
OnRxWindow2TimerEvent( );
}
-
LoRaMacFlags.Bits.MacDone = 1;
+
+ // Trig OnMacCheckTimerEvent call as soon as possible
+ TimerSetValue( &MacStateCheckTimer, 1000 );
+ TimerStart( &MacStateCheckTimer );
}
static void OnRadioTxTimeout( void )
@@ -1336,6 +1337,7 @@ static void OnMacStateCheckTimerEvent( void )
if( ( McpsConfirm.AckReceived == true ) || ( AckTimeoutRetriesCounter > AckTimeoutRetries ) )
{
AckTimeoutRetry = false;
+ NodeAckRequested = false;
if( IsUpLinkCounterFixed == false )
{
UpLinkCounter++;
@@ -1387,6 +1389,7 @@ static void OnMacStateCheckTimerEvent( void )
#endif
LoRaMacState &= ~MAC_TX_RUNNING;
+ NodeAckRequested = false;
McpsConfirm.AckReceived = false;
McpsConfirm.NbRetries = AckTimeoutRetriesCounter;
if( IsUpLinkCounterFixed == false )
@@ -1420,6 +1423,7 @@ static void OnMacStateCheckTimerEvent( void )
else
{
// Operation not finished restart timer
+ TimerSetValue( &MacStateCheckTimer, MAC_STATE_CHECK_TIMEOUT );
TimerStart( &MacStateCheckTimer );
}
@@ -1546,9 +1550,10 @@ static void OnAckTimeoutTimerEvent( void )
}
}
-static TimerTime_t SetNextChannel( void )
+static bool SetNextChannel( TimerTime_t* time )
{
uint8_t nbEnabledChannels = 0;
+ uint8_t delayTx = 0;
uint8_t enabledChannels[LORA_MAX_NB_CHANNELS];
TimerTime_t curTime = TimerGetCurrentTime( );
TimerTime_t nextTxDelay = ( TimerTime_t )( -1 );
@@ -1556,11 +1561,28 @@ static TimerTime_t SetNextChannel( void )
memset1( enabledChannels, 0, LORA_MAX_NB_CHANNELS );
#if defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
- if( ( CountNbEnabled125kHzChannels( ChannelsMaskRemaining ) +
- ( ChannelsMaskRemaining[4] & 0x00FF ) ) == 0 )
+ if( CountNbEnabled125kHzChannels( ChannelsMaskRemaining ) == 0 )
+ { // Restore default channels
+ memcpy1( ( uint8_t* ) ChannelsMaskRemaining, ( uint8_t* ) ChannelsMask, 8 );
+ }
+ if( ( ChannelsDatarate >= DR_4 ) && ( ( ChannelsMaskRemaining[4] & 0x00FF ) == 0 ) )
+ { // Make sure, that the channels are activated
+ ChannelsMaskRemaining[4] = ChannelsMask[4];
+ }
+#else
+ uint8_t chanCnt = 0;
+ for( uint8_t i = 0, k = 0; i < LORA_MAX_NB_CHANNELS; i += 16, k++ )
+ {
+ if( ChannelsMask[k] != 0 )
+ {
+ chanCnt++;
+ break;
+ }
+ }
+ if( chanCnt == 0 )
{
- memcpy1( ( uint8_t* ) ChannelsMaskRemaining, ( uint8_t* ) ChannelsMask,
- sizeof( ChannelsMask ) );
+ // Re-enable default channels, if no channel is enabled
+ ChannelsMask[0] = ChannelsMask[0] | ( LC( 1 ) + LC( 2 ) + LC( 3 ) );
}
#endif
@@ -1605,21 +1627,16 @@ static TimerTime_t SetNextChannel( void )
{
if( Channels[i + j].Frequency == 0 )
{ // Check if the channel is enabled
-#if defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
- DisableChannelInMask( i + j, ChannelsMaskRemaining );
-#endif
continue;
}
if( ( ( Channels[i + j].DrRange.Fields.Min <= ChannelsDatarate ) &&
( ChannelsDatarate <= Channels[i + j].DrRange.Fields.Max ) ) == false )
{ // Check if the current channel selection supports the given datarate
-#if defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
- DisableChannelInMask( i + j, ChannelsMaskRemaining );
-#endif
continue;
}
if( Bands[Channels[i + j].Band].TimeOff > 0 )
{ // Check if the band is available for transmission
+ delayTx++;
continue;
}
enabledChannels[nbEnabledChannels++] = i + j;
@@ -1629,6 +1646,7 @@ static TimerTime_t SetNextChannel( void )
}
else
{
+ delayTx++;
nextTxDelay = AggregatedTimeOff - ( curTime - AggregatedLastTxDoneTime );
}
@@ -1636,14 +1654,25 @@ static TimerTime_t SetNextChannel( void )
{
Channel = enabledChannels[randr( 0, nbEnabledChannels - 1 )];
#if defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
- DisableChannelInMask( Channel, ChannelsMaskRemaining );
+ if( Channel < ( LORA_MAX_NB_CHANNELS - 8 ) )
+ {
+ DisableChannelInMask( Channel, ChannelsMaskRemaining );
+ }
#endif
- return 0;
+ *time = 0;
+ return true;
}
else
{
- // Protect the function of returning the initialization value of nextTxDelay
- return ( nextTxDelay == ( TimerTime_t )( -1 ) ) ? 0 : nextTxDelay;
+ if( delayTx > 0 )
+ {
+ // Delay transmission due to AggregatedTimeOff or to a band time off
+ *time = nextTxDelay;
+ return true;
+ }
+ // Datarate not supported by any channel
+ *time = 0;
+ return false;
}
}
@@ -1813,38 +1842,10 @@ static bool AdrNextDr( bool adrEnabled, bool updateChannelMask, int8_t* datarate
{
AdrAckCounter = 0;
adrAckReq = false;
-
- if( updateChannelMask == true )
- {
-#if defined( USE_BAND_433 ) || defined( USE_BAND_780 ) || defined( USE_BAND_868 )
- // Re-enable default channels LC1, LC2, LC3
- ChannelsMask[0] = ChannelsMask[0] | ( LC( 1 ) + LC( 2 ) + LC( 3 ) );
-#elif defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
-#if defined( USE_BAND_915 )
- // Re-enable default channels
- ChannelsMask[0] = 0xFFFF;
- ChannelsMask[1] = 0xFFFF;
- ChannelsMask[2] = 0xFFFF;
- ChannelsMask[3] = 0xFFFF;
- ChannelsMask[4] = 0x00FF;
- ChannelsMask[5] = 0x0000;
-#else // defined( USE_BAND_915_HYBRID )
- // Re-enable default channels
- ChannelsMask[0] = 0x00FF;
- ChannelsMask[1] = 0x0000;
- ChannelsMask[2] = 0x0000;
- ChannelsMask[3] = 0x0000;
- ChannelsMask[4] = 0x0001;
- ChannelsMask[5] = 0x0000;
-#endif
-#else
-#error "Please define a frequency band in the compiler options."
-#endif
- }
}
else
{
- if( AdrAckCounter > ADR_ACK_LIMIT )
+ if( AdrAckCounter >= ADR_ACK_LIMIT )
{
adrAckReq = true;
}
@@ -1852,26 +1853,60 @@ static bool AdrNextDr( bool adrEnabled, bool updateChannelMask, int8_t* datarate
{
adrAckReq = false;
}
- if( AdrAckCounter > ( ADR_ACK_LIMIT + ADR_ACK_DELAY ) )
+ if( AdrAckCounter >= ( ADR_ACK_LIMIT + ADR_ACK_DELAY ) )
{
- AdrAckCounter = 0;
-#if defined( USE_BAND_433 ) || defined( USE_BAND_780 ) || defined( USE_BAND_868 )
- if( datarate > LORAMAC_MIN_DATARATE )
+ if( ( ( AdrAckCounter - ADR_ACK_DELAY ) % ADR_ACK_LIMIT ) == 0 )
{
- datarate--;
- }
+#if defined( USE_BAND_433 ) || defined( USE_BAND_780 ) || defined( USE_BAND_868 )
+ if( datarate > LORAMAC_MIN_DATARATE )
+ {
+ datarate--;
+ }
+ if( datarate == LORAMAC_MIN_DATARATE )
+ {
+ if( updateChannelMask == true )
+ {
+
+ // Re-enable default channels LC1, LC2, LC3
+ ChannelsMask[0] = ChannelsMask[0] | ( LC( 1 ) + LC( 2 ) + LC( 3 ) );
+ }
+ }
#elif defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
- if( ( datarate > LORAMAC_MIN_DATARATE ) && ( datarate == DR_8 ) )
- {
- datarate = DR_4;
- }
- else if( datarate > LORAMAC_MIN_DATARATE )
- {
- datarate--;
- }
+ if( ( datarate > LORAMAC_MIN_DATARATE ) && ( datarate == DR_8 ) )
+ {
+ datarate = DR_4;
+ }
+ else if( datarate > LORAMAC_MIN_DATARATE )
+ {
+ datarate--;
+ }
+ if( datarate == LORAMAC_MIN_DATARATE )
+ {
+ if( updateChannelMask == true )
+ {
+#if defined( USE_BAND_915 )
+ // Re-enable default channels
+ ChannelsMask[0] = 0xFFFF;
+ ChannelsMask[1] = 0xFFFF;
+ ChannelsMask[2] = 0xFFFF;
+ ChannelsMask[3] = 0xFFFF;
+ ChannelsMask[4] = 0x00FF;
+ ChannelsMask[5] = 0x0000;
+#else // defined( USE_BAND_915_HYBRID )
+ // Re-enable default channels
+ ChannelsMask[0] = 0x00FF;
+ ChannelsMask[1] = 0x0000;
+ ChannelsMask[2] = 0x0000;
+ ChannelsMask[3] = 0x0000;
+ ChannelsMask[4] = 0x0001;
+ ChannelsMask[5] = 0x0000;
+#endif
+ }
+ }
#else
#error "Please define a frequency band in the compiler options."
#endif
+ }
}
}
}
@@ -2193,8 +2228,10 @@ static void ProcessMacCommands( uint8_t *payload, uint8_t macIndex, uint8_t comm
case SRV_MAC_NEW_CHANNEL_REQ:
{
uint8_t status = 0x03;
+
#if ( defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID ) )
- status &= 0xFE; // Channel frequency KO
+ status &= 0xFC; // Channel frequency and datarate KO
+ macIndex += 5;
#else
int8_t channelIndex = 0;
ChannelParams_t chParam;
@@ -2206,21 +2243,52 @@ static void ProcessMacCommands( uint8_t *payload, uint8_t macIndex, uint8_t comm
chParam.Frequency *= 100;
chParam.DrRange.Value = payload[macIndex++];
- if( ValueInRange( channelIndex, 3, LORA_MAX_NB_CHANNELS - 1 ) == false )
-
- {
- status &= 0xFE; // Channel frequency KO
- }
-
- if( Radio.CheckRfFrequency( chParam.Frequency ) == false )
+ LoRaMacState |= MAC_TX_CONFIG;
+ if( chParam.Frequency == 0 )
{
- status &= 0xFE; // Channel frequency KO
+ if( channelIndex < 3 )
+ {
+ status &= 0xFC;
+ }
+ else
+ {
+ if( LoRaMacChannelRemove( channelIndex ) != LORAMAC_STATUS_OK )
+ {
+ status &= 0xFC;
+ }
+ }
}
-
- if( LoRaMacChannelAdd( channelIndex, chParam ) != LORAMAC_STATUS_OK )
+ else
{
- status &= 0xFD; // Datarate range KO
+ switch( LoRaMacChannelAdd( channelIndex, chParam ) )
+ {
+ case LORAMAC_STATUS_OK:
+ {
+ break;
+ }
+ case LORAMAC_STATUS_FREQUENCY_INVALID:
+ {
+ status &= 0xFE;
+ break;
+ }
+ case LORAMAC_STATUS_DATARATE_INVALID:
+ {
+ status &= 0xFD;
+ break;
+ }
+ case LORAMAC_STATUS_FREQ_AND_DR_INVALID:
+ {
+ status &= 0xFC;
+ break;
+ }
+ default:
+ {
+ status &= 0xFC;
+ break;
+ }
+ }
}
+ LoRaMacState &= ~MAC_TX_CONFIG;
#endif
AddMacCommand( MOTE_MAC_NEW_CHANNEL_ANS, status, 0 );
}
@@ -2291,7 +2359,16 @@ static LoRaMacStatus_t ScheduleTx( )
}
// Select channel
- dutyCycleTimeOff = SetNextChannel( );
+ while( SetNextChannel( &dutyCycleTimeOff ) == false )
+ {
+ // Set the default datarate
+ ChannelsDatarate = ChannelsDefaultDatarate;
+
+#if defined( USE_BAND_433 ) || defined( USE_BAND_780 ) || defined( USE_BAND_868 )
+ // Re-enable default channels LC1, LC2, LC3
+ ChannelsMask[0] = ChannelsMask[0] | ( LC( 1 ) + LC( 2 ) + LC( 3 ) );
+#endif
+ }
// Schedule transmission of frame
if( dutyCycleTimeOff == 0 )
@@ -2365,6 +2442,8 @@ LoRaMacStatus_t PrepareFrame( LoRaMacHeader_t *macHdr, LoRaMacFrameCtrl_t *fCtrl
return LORAMAC_STATUS_NO_NETWORK_JOINED; // No network has been joined yet
}
+ fCtrl->Bits.AdrAckReq = AdrNextDr( fCtrl->Bits.Adr, true, &ChannelsDatarate );
+
if( ValidatePayloadLength( fBufferSize, ChannelsDatarate, MacCommandsBufferIndex ) == false )
{
return LORAMAC_STATUS_LENGTH_ERROR;
@@ -2379,8 +2458,6 @@ LoRaMacStatus_t PrepareFrame( LoRaMacHeader_t *macHdr, LoRaMacFrameCtrl_t *fCtrl
fCtrl->Bits.Ack = 1;
}
- fCtrl->Bits.AdrAckReq = AdrNextDr( fCtrl->Bits.Adr, true, &ChannelsDatarate );
-
LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr ) & 0xFF;
LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr >> 8 ) & 0xFF;
LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr >> 16 ) & 0xFF;
@@ -2513,6 +2590,7 @@ LoRaMacStatus_t SendFrameOnChannel( ChannelParams_t channel )
MlmeConfirm.TxTimeOnAir = TxTimeOnAir;
// Starts the MAC layer status check timer
+ TimerSetValue( &MacStateCheckTimer, MAC_STATE_CHECK_TIMEOUT );
TimerStart( &MacStateCheckTimer );
// Send now
@@ -3048,117 +3126,142 @@ LoRaMacStatus_t LoRaMacMibSetRequestConfirm( MibRequestConfirm_t *mibSet )
LoRaMacStatus_t LoRaMacChannelAdd( uint8_t id, ChannelParams_t params )
{
+#if ( defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID ) )
+ return LORAMAC_STATUS_PARAMETER_INVALID;
+#else
+ bool datarateInvalid = false;
+ bool frequencyInvalid = false;
+ uint8_t band = 0;
+
+ // The id must not exceed LORA_MAX_NB_CHANNELS
if( id >= LORA_MAX_NB_CHANNELS )
{
return LORAMAC_STATUS_PARAMETER_INVALID;
}
+ // Validate if the MAC is in a correct state
if( ( LoRaMacState & MAC_TX_RUNNING ) == MAC_TX_RUNNING )
{
- return LORAMAC_STATUS_BUSY;
+ if( ( LoRaMacState & MAC_TX_CONFIG ) != MAC_TX_CONFIG )
+ {
+ return LORAMAC_STATUS_BUSY;
+ }
}
+ // Validate the datarate
if( ( params.DrRange.Fields.Min > params.DrRange.Fields.Max ) ||
( ValueInRange( params.DrRange.Fields.Min, LORAMAC_MIN_DATARATE,
LORAMAC_MAX_DATARATE ) == false ) ||
( ValueInRange( params.DrRange.Fields.Max, LORAMAC_MIN_DATARATE,
LORAMAC_MAX_DATARATE ) == false ) )
{
- return LORAMAC_STATUS_PARAMETER_INVALID;
+ datarateInvalid = true;
}
- params.Band = 0;
-
-#if ( defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID ) )
- return LORAMAC_STATUS_PARAMETER_INVALID;
-#else
-#if defined( USE_BAND_433 ) || defined( USE_BAND_780 )
- Channels[id] = params;
- Channels[id].Band = 0; // No duty cycle on EU433 and CN470 bands
-#elif defined( USE_BAND_868 )
- Channels[id] = params;
- if( ( Channels[id].Frequency >= 865000000 ) && ( Channels[id].Frequency <= 868000000 ) )
+#if defined( USE_BAND_433 ) || defined( USE_BAND_780 ) || defined( USE_BAND_868 )
+ if( id < 3 )
{
- if( Channels[id].Band != BAND_G1_0 )
+ if( params.Frequency != Channels[id].Frequency )
{
- Channels[id].Band = BAND_G1_0;
+ frequencyInvalid = true;
}
- }
- else if( ( Channels[id].Frequency > 868000000 ) && ( Channels[id].Frequency <= 868600000 ) )
- {
- if( Channels[id].Band != BAND_G1_1 )
+
+ if( params.DrRange.Fields.Min > LORAMAC_DEFAULT_DATARATE )
{
- Channels[id].Band = BAND_G1_1;
+ datarateInvalid = true;
}
- }
- else if( ( Channels[id].Frequency >= 868700000 ) && ( Channels[id].Frequency <= 869200000 ) )
- {
- if( Channels[id].Band != BAND_G1_2 )
+ if( ValueInRange( params.DrRange.Fields.Max, DR_5, LORAMAC_MAX_DATARATE ) == false )
{
- Channels[id].Band = BAND_G1_2;
+ datarateInvalid = true;
}
}
- else if( ( Channels[id].Frequency >= 869400000 ) && ( Channels[id].Frequency <= 869650000 ) )
+#endif
+
+ // Validate the frequency
+ if( ( Radio.CheckRfFrequency( params.Frequency ) == true ) && ( params.Frequency > 0 ) && ( frequencyInvalid == false ) )
{
- if( Channels[id].Band != BAND_G1_3 )
+#if defined( USE_BAND_868 )
+ if( ( params.Frequency >= 865000000 ) && ( params.Frequency <= 868000000 ) )
{
- Channels[id].Band = BAND_G1_3;
+ band = BAND_G1_0;
}
- }
- else if( ( Channels[id].Frequency >= 869700000 ) && ( Channels[id].Frequency <= 870000000 ) )
- {
- if( Channels[id].Band != BAND_G1_4 )
+ else if( ( params.Frequency > 868000000 ) && ( params.Frequency <= 868600000 ) )
+ {
+ band = BAND_G1_1;
+ }
+ else if( ( params.Frequency >= 868700000 ) && ( params.Frequency <= 869200000 ) )
+ {
+ band = BAND_G1_2;
+ }
+ else if( ( params.Frequency >= 869400000 ) && ( params.Frequency <= 869650000 ) )
+ {
+ band = BAND_G1_3;
+ }
+ else if( ( params.Frequency >= 869700000 ) && ( params.Frequency <= 870000000 ) )
{
- Channels[id].Band = BAND_G1_4;
+ band = BAND_G1_4;
}
+ else
+ {
+ frequencyInvalid = true;
+ }
+#endif
}
else
{
- Channels[id].Frequency = 0;
- Channels[id].DrRange.Value = 0;
+ frequencyInvalid = true;
}
-#else
- #error "Please define a frequency band in the compiler options."
-#endif
- // Check if it is a valid channel
- if( Channels[id].Frequency > 0 )
+
+ if( ( datarateInvalid == true ) && ( frequencyInvalid == true ) )
{
- // Activate the newly created channel
- if( id < 16 )
- {
- ChannelsMask[0] |= 1 << id;
- }
+ return LORAMAC_STATUS_FREQ_AND_DR_INVALID;
+ }
+ if( datarateInvalid == true )
+ {
+ return LORAMAC_STATUS_DATARATE_INVALID;
+ }
+ if( frequencyInvalid == true )
+ {
+ return LORAMAC_STATUS_FREQUENCY_INVALID;
}
+ // Every parameter is valid, activate the channel
+ Channels[id] = params;
+ Channels[id].Band = band;
+ ChannelsMask[0] |= ( 1 << id );
+
return LORAMAC_STATUS_OK;
#endif
}
LoRaMacStatus_t LoRaMacChannelRemove( uint8_t id )
{
+#if defined( USE_BAND_433 ) || defined( USE_BAND_780 ) || defined( USE_BAND_868 )
if( ( LoRaMacState & MAC_TX_RUNNING ) == MAC_TX_RUNNING )
{
- return LORAMAC_STATUS_BUSY;
- }
-#if ( defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID ) )
- if( id < 64 )
- {
- if( CountNbEnabled125kHzChannels( ChannelsMask ) <= 6 )
+ if( ( LoRaMacState & MAC_TX_CONFIG ) != MAC_TX_CONFIG )
{
- return LORAMAC_STATUS_PARAMETER_INVALID;
+ return LORAMAC_STATUS_BUSY;
}
}
-#else
+
if( id < 3 )
{
return LORAMAC_STATUS_PARAMETER_INVALID;
}
-#endif
-
- if( DisableChannelInMask( id, ChannelsMask ) == false )
+ else
{
- return LORAMAC_STATUS_PARAMETER_INVALID;
+ // Remove the channel from the list of channels
+ Channels[id] = ( ChannelParams_t ){ 0, { 0 }, 0 };
+
+ // Disable the channel as it doesn't exist anymore
+ if( DisableChannelInMask( id, ChannelsMask ) == false )
+ {
+ return LORAMAC_STATUS_PARAMETER_INVALID;
+ }
}
-
return LORAMAC_STATUS_OK;
+#elif ( defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID ) )
+ return LORAMAC_STATUS_PARAMETER_INVALID;
+#endif
}
LoRaMacStatus_t LoRaMacMulticastChannelLink( MulticastParams_t *channelParam )
@@ -3283,6 +3386,14 @@ LoRaMacStatus_t LoRaMacMlmeRequest( MlmeReq_t *mlmeRequest )
IsLoRaMacNetworkJoined = false;
#if defined( USE_BAND_915 ) || defined( USE_BAND_915_HYBRID )
+#if defined( USE_BAND_915 )
+ // Re-enable 500 kHz default channels
+ ChannelsMask[4] = 0x00FF;
+#else // defined( USE_BAND_915_HYBRID )
+ // Re-enable 500 kHz default channels
+ ChannelsMask[4] = 0x0001;
+#endif
+
static uint8_t drSwitch = 0;
if( ( ++drSwitch & 0x01 ) == 0x01 )
@@ -3362,7 +3473,7 @@ LoRaMacStatus_t LoRaMacMcpsRequest( McpsReq_t *mcpsRequest )
{
readyToSend = true;
AckTimeoutRetriesCounter = 1;
- AckTimeoutRetries = mcpsRequest->Req.Confirmed.nbRetries;
+ AckTimeoutRetries = mcpsRequest->Req.Confirmed.NbTrials;
macHdr.Bits.MType = FRAME_TYPE_DATA_CONFIRMED_UP;
fPort = mcpsRequest->Req.Confirmed.fPort;
diff --git a/src/mac/LoRaMac.h b/src/mac/LoRaMac.h
index 82ba8f9c3..312d5ebc0 100644
--- a/src/mac/LoRaMac.h
+++ b/src/mac/LoRaMac.h
@@ -674,10 +674,26 @@ typedef struct sMcpsReqConfirmed
*/
int8_t Datarate;
/*!
- * Number of attempts to transmit the frame, if frame could not be send, or
- * if the LoRaMAC layer did not receive an acknowledgment
- */
- uint8_t nbRetries;
+ * Number of trials to transmit the frame, if the LoRaMAC layer did not
+ * receive an acknowledgment. The MAC performs a datarate adaptation,
+ * according to the LoRaWAN Specification V1.0, chapter 18.4, according
+ * to the following table:
+ *
+ * Transmission nb | Data Rate
+ * ----------------|-----------
+ * 1 (first) | DR
+ * 2 | DR
+ * 3 | max(DR-1,0)
+ * 4 | max(DR-1,0)
+ * 5 | max(DR-2,0)
+ * 6 | max(DR-2,0)
+ * 7 | max(DR-3,0)
+ * 8 | max(DR-3,0)
+ *
+ * Note, that if NbTrials is set to 1 or 2, the MAC will not decrease
+ * the datarate, in case the LoRaMAC layer did not receive an acknowledgment
+ */
+ uint8_t NbTrials;
}McpsReqConfirmed_t;
/*!
@@ -958,6 +974,7 @@ typedef struct sMlmeConfirm
* \ref MIB_NWK_SKEY | YES | YES
* \ref MIB_APP_SKEY | YES | YES
* \ref MIB_PUBLIC_NETWORK | YES | YES
+ * \ref MIB_REPEATER_SUPPORT | YES | YES
* \ref MIB_CHANNELS | YES | NO
* \ref MIB_RX2_CHANNEL | YES | YES
* \ref MIB_CHANNELS_MASK | YES | YES
@@ -1340,6 +1357,18 @@ typedef enum eLoRaMacStatus
* Service not started - invalid parameter
*/
LORAMAC_STATUS_PARAMETER_INVALID,
+ /*!
+ * Service not started - invalid frequency
+ */
+ LORAMAC_STATUS_FREQUENCY_INVALID,
+ /*!
+ * Service not started - invalid datarate
+ */
+ LORAMAC_STATUS_DATARATE_INVALID,
+ /*!
+ * Service not started - invalid frequency and datarate
+ */
+ LORAMAC_STATUS_FREQ_AND_DR_INVALID,
/*!
* Service not started - the device is not in a LoRaWAN
*/
diff --git a/src/radio/sx1272/sx1272.c b/src/radio/sx1272/sx1272.c
index 50a730b76..6f78b0fb6 100644
--- a/src/radio/sx1272/sx1272.c
+++ b/src/radio/sx1272/sx1272.c
@@ -178,7 +178,7 @@ static RadioEvents_t *RadioEvents;
/*!
* Reception buffer
*/
-static uint8_t RxBuffer[RX_BUFFER_SIZE];
+static uint8_t RxTxBuffer[RX_BUFFER_SIZE];
/*
* Public global variables
@@ -367,6 +367,10 @@ void SX1272SetRxConfig( RadioModems_t modem, uint32_t bandwidth,
{
SX1272Write( REG_PAYLOADLENGTH, payloadLen );
}
+ else
+ {
+ SX1272Write( REG_PAYLOADLENGTH, 0xFF ); // Set payload length to the maximum
+ }
SX1272Write( REG_PACKETCONFIG1,
( SX1272Read( REG_PACKETCONFIG1 ) &
@@ -730,6 +734,7 @@ void SX1272Send( uint8_t *buffer, uint8_t size )
}
else
{
+ memcpy1( RxTxBuffer, buffer, size );
SX1272.Settings.FskPacketHandler.ChunkSize = 32;
}
@@ -812,8 +817,10 @@ void SX1272SetRx( uint32_t timeout )
// DIO4=Preamble
// DIO5=ModeReady
SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RF_DIOMAPPING1_DIO0_MASK &
+ RF_DIOMAPPING1_DIO1_MASK &
RF_DIOMAPPING1_DIO2_MASK ) |
RF_DIOMAPPING1_DIO0_00 |
+ RF_DIOMAPPING1_DIO1_00 |
RF_DIOMAPPING1_DIO2_11 );
SX1272Write( REG_DIOMAPPING2, ( SX1272Read( REG_DIOMAPPING2 ) & RF_DIOMAPPING2_DIO4_MASK &
@@ -878,7 +885,7 @@ void SX1272SetRx( uint32_t timeout )
break;
}
- memset( RxBuffer, 0, ( size_t )RX_BUFFER_SIZE );
+ memset( RxTxBuffer, 0, ( size_t )RX_BUFFER_SIZE );
SX1272.Settings.State = RF_RX_RUNNING;
if( timeout != 0 )
@@ -923,13 +930,15 @@ void SX1272SetTx( uint32_t timeout )
case MODEM_FSK:
{
// DIO0=PacketSent
- // DIO1=FifoLevel
+ // DIO1=FifoEmpty
// DIO2=FifoFull
// DIO3=FifoEmpty
// DIO4=LowBat
// DIO5=ModeReady
SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RF_DIOMAPPING1_DIO0_MASK &
- RF_DIOMAPPING1_DIO2_MASK ) );
+ RF_DIOMAPPING1_DIO1_MASK &
+ RF_DIOMAPPING1_DIO2_MASK ) |
+ RF_DIOMAPPING1_DIO1_01 );
SX1272Write( REG_DIOMAPPING2, ( SX1272Read( REG_DIOMAPPING2 ) & RF_DIOMAPPING2_DIO4_MASK &
RF_DIOMAPPING2_MAP_MASK ) );
@@ -1280,12 +1289,12 @@ void SX1272OnDio0Irq( void )
{
SX1272.Settings.FskPacketHandler.Size = SX1272Read( REG_PAYLOADLENGTH );
}
- SX1272ReadFifo( RxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
+ SX1272ReadFifo( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
}
else
{
- SX1272ReadFifo( RxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
+ SX1272ReadFifo( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
}
@@ -1303,7 +1312,7 @@ void SX1272OnDio0Irq( void )
if( ( RadioEvents != NULL ) && ( RadioEvents->RxDone != NULL ) )
{
- RadioEvents->RxDone( RxBuffer, SX1272.Settings.FskPacketHandler.Size, SX1272.Settings.FskPacketHandler.RssiValue, 0 );
+ RadioEvents->RxDone( RxTxBuffer, SX1272.Settings.FskPacketHandler.Size, SX1272.Settings.FskPacketHandler.RssiValue, 0 );
}
SX1272.Settings.FskPacketHandler.PreambleDetected = false;
SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
@@ -1361,7 +1370,7 @@ void SX1272OnDio0Irq( void )
}
SX1272.Settings.LoRaPacketHandler.Size = SX1272Read( REG_LR_RXNBBYTES );
- SX1272ReadFifo( RxBuffer, SX1272.Settings.LoRaPacketHandler.Size );
+ SX1272ReadFifo( RxTxBuffer, SX1272.Settings.LoRaPacketHandler.Size );
if( SX1272.Settings.LoRa.RxContinuous == false )
{
@@ -1371,7 +1380,7 @@ void SX1272OnDio0Irq( void )
if( ( RadioEvents != NULL ) && ( RadioEvents->RxDone != NULL ) )
{
- RadioEvents->RxDone( RxBuffer, SX1272.Settings.LoRaPacketHandler.Size, SX1272.Settings.LoRaPacketHandler.RssiValue, SX1272.Settings.LoRaPacketHandler.SnrValue );
+ RadioEvents->RxDone( RxTxBuffer, SX1272.Settings.LoRaPacketHandler.Size, SX1272.Settings.LoRaPacketHandler.RssiValue, SX1272.Settings.LoRaPacketHandler.SnrValue );
}
}
break;
@@ -1427,12 +1436,12 @@ void SX1272OnDio1Irq( void )
if( ( SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes ) > SX1272.Settings.FskPacketHandler.FifoThresh )
{
- SX1272ReadFifo( ( RxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX1272.Settings.FskPacketHandler.FifoThresh );
+ SX1272ReadFifo( ( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX1272.Settings.FskPacketHandler.FifoThresh );
SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.FifoThresh;
}
else
{
- SX1272ReadFifo( ( RxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
+ SX1272ReadFifo( ( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
}
break;
@@ -1453,16 +1462,16 @@ void SX1272OnDio1Irq( void )
switch( SX1272.Settings.Modem )
{
case MODEM_FSK:
- // FifoLevel interrupt
+ // FifoEmpty interrupt
if( ( SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes ) > SX1272.Settings.FskPacketHandler.ChunkSize )
{
- SX1272WriteFifo( ( RxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX1272.Settings.FskPacketHandler.ChunkSize );
+ SX1272WriteFifo( ( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX1272.Settings.FskPacketHandler.ChunkSize );
SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.ChunkSize;
}
else
{
// Write the last chunk of data
- SX1272WriteFifo( RxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
+ SX1272WriteFifo( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes );
SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBytes;
}
break;
diff --git a/src/radio/sx1276/sx1276.c b/src/radio/sx1276/sx1276.c
index ac3544bfa..c87879529 100644
--- a/src/radio/sx1276/sx1276.c
+++ b/src/radio/sx1276/sx1276.c
@@ -185,7 +185,7 @@ static RadioEvents_t *RadioEvents;
/*!
* Reception buffer
*/
-static uint8_t RxBuffer[RX_BUFFER_SIZE];
+static uint8_t RxTxBuffer[RX_BUFFER_SIZE];
/*
* Public global variables
@@ -415,6 +415,10 @@ void SX1276SetRxConfig( RadioModems_t modem, uint32_t bandwidth,
{
SX1276Write( REG_PAYLOADLENGTH, payloadLen );
}
+ else
+ {
+ SX1276Write( REG_PAYLOADLENGTH, 0xFF ); // Set payload length to the maximum
+ }
SX1276Write( REG_PACKETCONFIG1,
( SX1276Read( REG_PACKETCONFIG1 ) &
@@ -918,8 +922,10 @@ void SX1276SetRx( uint32_t timeout )
// DIO4=Preamble
// DIO5=ModeReady
SX1276Write( REG_DIOMAPPING1, ( SX1276Read( REG_DIOMAPPING1 ) & RF_DIOMAPPING1_DIO0_MASK &
+ RF_DIOMAPPING1_DIO1_MASK &
RF_DIOMAPPING1_DIO2_MASK ) |
RF_DIOMAPPING1_DIO0_00 |
+ RF_DIOMAPPING1_DIO1_00 |
RF_DIOMAPPING1_DIO2_11 );
SX1276Write( REG_DIOMAPPING2, ( SX1276Read( REG_DIOMAPPING2 ) & RF_DIOMAPPING2_DIO4_MASK &
@@ -1031,7 +1037,7 @@ void SX1276SetRx( uint32_t timeout )
break;
}
- memset( RxBuffer, 0, ( size_t )RX_BUFFER_SIZE );
+ memset( RxTxBuffer, 0, ( size_t )RX_BUFFER_SIZE );
SX1276.Settings.State = RF_RX_RUNNING;
if( timeout != 0 )
@@ -1076,13 +1082,15 @@ void SX1276SetTx( uint32_t timeout )
case MODEM_FSK:
{
// DIO0=PacketSent
- // DIO1=FifoLevel
+ // DIO1=FifoEmpty
// DIO2=FifoFull
// DIO3=FifoEmpty
// DIO4=LowBat
// DIO5=ModeReady
SX1276Write( REG_DIOMAPPING1, ( SX1276Read( REG_DIOMAPPING1 ) & RF_DIOMAPPING1_DIO0_MASK &
- RF_DIOMAPPING1_DIO2_MASK ) );
+ RF_DIOMAPPING1_DIO1_MASK &
+ RF_DIOMAPPING1_DIO2_MASK ) |
+ RF_DIOMAPPING1_DIO1_01 );
SX1276Write( REG_DIOMAPPING2, ( SX1276Read( REG_DIOMAPPING2 ) & RF_DIOMAPPING2_DIO4_MASK &
RF_DIOMAPPING2_MAP_MASK ) );
@@ -1440,12 +1448,12 @@ void SX1276OnDio0Irq( void )
{
SX1276.Settings.FskPacketHandler.Size = SX1276Read( REG_PAYLOADLENGTH );
}
- SX1276ReadFifo( RxBuffer + SX1276.Settings.FskPacketHandler.NbBytes, SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
+ SX1276ReadFifo( RxTxBuffer + SX1276.Settings.FskPacketHandler.NbBytes, SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
SX1276.Settings.FskPacketHandler.NbBytes += ( SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
}
else
{
- SX1276ReadFifo( RxBuffer + SX1276.Settings.FskPacketHandler.NbBytes, SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
+ SX1276ReadFifo( RxTxBuffer + SX1276.Settings.FskPacketHandler.NbBytes, SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
SX1276.Settings.FskPacketHandler.NbBytes += ( SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
}
@@ -1463,7 +1471,7 @@ void SX1276OnDio0Irq( void )
if( ( RadioEvents != NULL ) && ( RadioEvents->RxDone != NULL ) )
{
- RadioEvents->RxDone( RxBuffer, SX1276.Settings.FskPacketHandler.Size, SX1276.Settings.FskPacketHandler.RssiValue, 0 );
+ RadioEvents->RxDone( RxTxBuffer, SX1276.Settings.FskPacketHandler.Size, SX1276.Settings.FskPacketHandler.RssiValue, 0 );
}
SX1276.Settings.FskPacketHandler.PreambleDetected = false;
SX1276.Settings.FskPacketHandler.SyncWordDetected = false;
@@ -1536,7 +1544,7 @@ void SX1276OnDio0Irq( void )
}
SX1276.Settings.LoRaPacketHandler.Size = SX1276Read( REG_LR_RXNBBYTES );
- SX1276ReadFifo( RxBuffer, SX1276.Settings.LoRaPacketHandler.Size );
+ SX1276ReadFifo( RxTxBuffer, SX1276.Settings.LoRaPacketHandler.Size );
if( SX1276.Settings.LoRa.RxContinuous == false )
{
@@ -1546,7 +1554,7 @@ void SX1276OnDio0Irq( void )
if( ( RadioEvents != NULL ) && ( RadioEvents->RxDone != NULL ) )
{
- RadioEvents->RxDone( RxBuffer, SX1276.Settings.LoRaPacketHandler.Size, SX1276.Settings.LoRaPacketHandler.RssiValue, SX1276.Settings.LoRaPacketHandler.SnrValue );
+ RadioEvents->RxDone( RxTxBuffer, SX1276.Settings.LoRaPacketHandler.Size, SX1276.Settings.LoRaPacketHandler.RssiValue, SX1276.Settings.LoRaPacketHandler.SnrValue );
}
}
break;
@@ -1602,12 +1610,12 @@ void SX1276OnDio1Irq( void )
if( ( SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes ) > SX1276.Settings.FskPacketHandler.FifoThresh )
{
- SX1276ReadFifo( ( RxBuffer + SX1276.Settings.FskPacketHandler.NbBytes ), SX1276.Settings.FskPacketHandler.FifoThresh );
+ SX1276ReadFifo( ( RxTxBuffer + SX1276.Settings.FskPacketHandler.NbBytes ), SX1276.Settings.FskPacketHandler.FifoThresh );
SX1276.Settings.FskPacketHandler.NbBytes += SX1276.Settings.FskPacketHandler.FifoThresh;
}
else
{
- SX1276ReadFifo( ( RxBuffer + SX1276.Settings.FskPacketHandler.NbBytes ), SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
+ SX1276ReadFifo( ( RxTxBuffer + SX1276.Settings.FskPacketHandler.NbBytes ), SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
SX1276.Settings.FskPacketHandler.NbBytes += ( SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
}
break;
@@ -1628,16 +1636,16 @@ void SX1276OnDio1Irq( void )
switch( SX1276.Settings.Modem )
{
case MODEM_FSK:
- // FifoLevel interrupt
+ // FifoEmpty interrupt
if( ( SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes ) > SX1276.Settings.FskPacketHandler.ChunkSize )
{
- SX1276WriteFifo( ( RxBuffer + SX1276.Settings.FskPacketHandler.NbBytes ), SX1276.Settings.FskPacketHandler.ChunkSize );
+ SX1276WriteFifo( ( RxTxBuffer + SX1276.Settings.FskPacketHandler.NbBytes ), SX1276.Settings.FskPacketHandler.ChunkSize );
SX1276.Settings.FskPacketHandler.NbBytes += SX1276.Settings.FskPacketHandler.ChunkSize;
}
else
{
// Write the last chunk of data
- SX1276WriteFifo( RxBuffer + SX1276.Settings.FskPacketHandler.NbBytes, SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
+ SX1276WriteFifo( RxTxBuffer + SX1276.Settings.FskPacketHandler.NbBytes, SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes );
SX1276.Settings.FskPacketHandler.NbBytes += SX1276.Settings.FskPacketHandler.Size - SX1276.Settings.FskPacketHandler.NbBytes;
}
break;
diff --git a/src/system/timer.c b/src/system/timer.c
index 83ef8fe45..984008409 100644
--- a/src/system/timer.c
+++ b/src/system/timer.c
@@ -223,8 +223,6 @@ void TimerIrqHandler( void )
elapsedTime = TimerGetValue( );
- TimerEvent_t* elapsedTimer = NULL;
-
if( elapsedTime > TimerListHead->Timestamp )
{
TimerListHead->Timestamp = 0;
@@ -233,32 +231,16 @@ void TimerIrqHandler( void )
{
TimerListHead->Timestamp -= elapsedTime;
}
-
- // save TimerListHead
- elapsedTimer = TimerListHead;
- // remove all the expired object from the list
while( ( TimerListHead != NULL ) && ( TimerListHead->Timestamp == 0 ) )
- {
- if( TimerListHead->Next != NULL )
- {
- TimerListHead = TimerListHead->Next;
- }
- else
- {
- TimerListHead = NULL;
- }
- }
-
- // execute the callbacks of all the expired objects
- // this is to avoid potential issues between the callback and the object list
- while( ( elapsedTimer != NULL ) && ( elapsedTimer->Timestamp == 0 ) )
{
+ TimerEvent_t* elapsedTimer = TimerListHead;
+ TimerListHead = TimerListHead->Next;
+
if( elapsedTimer->Callback != NULL )
{
elapsedTimer->Callback( );
}
- elapsedTimer = elapsedTimer->Next;
}
// start the next TimerListHead if it exists