Pārlūkot izejas kodu

增加串口日志打印,增加震动马达

dropLin 2 nedēļas atpakaļ
vecāks
revīzija
4b00befd0e

+ 34 - 2
User/main.c

@@ -30,8 +30,13 @@
 #include "SN_STOP.h"
 #include <stdio.h>
 #include "myRadio.h"
+#include "pan_rf.h"
 /*------------------------------------------functions-------------------------------------------*/
-  
+
+#define BOARD_PIN_MOTOR       GPIO_PIN_6     //
+#define BOARD_PORT_MOTOR      GPIOA          //
+#define BOARD_GPIO_MOTOR      BOARD_PORT_MOTOR, BOARD_PIN_MOTOR          //
+
 uint16_t ADC_VAL = 0;
 float MCU_VDD = 0;
 
@@ -41,35 +46,59 @@ void rfRx_callback(uint8_t status, rfRxPacket_ts packet)
     {
         case RX_STA_SECCESS:
         {
+            printf("receive data:%s\r\n", packet.payload);
+            RF_SetPreamLen(RF_PREAMBLE_DEFAULT);
             myRadio_receiver();
+            motor_long();
         }
         break;
         case RX_STA_TIMEOUT:
         {
+            RF_SetPreamLen(RF_PREAMBLE_DEFAULT);
             myRadio_receiver();
         }
         break;
         case RX_STA_PAYLOAD_ERROR:
         {
+            RF_SetPreamLen(RF_PREAMBLE_DEFAULT);
             myRadio_receiver();
         }
         break;
         case TX_STA_SECCESS:
         {
+            RF_SetPreamLen(RF_PREAMBLE_DEFAULT);
 			myRadio_receiver();
+            motor_short();
+
         }
         break;
         default:
             break;
     }
 }
+void motor_short(void)
+{
+    SN_GPIO_PIN_write(BOARD_GPIO_MOTOR, 1);
+    std_delayms(50);		
+    SN_GPIO_PIN_write(BOARD_GPIO_MOTOR, 0);
+}
+void motor_long(void)
+{
+    SN_GPIO_PIN_write(BOARD_GPIO_MOTOR, 1);
+    std_delayms(200);		
+    SN_GPIO_PIN_write(BOARD_GPIO_MOTOR, 0);
+}
 uint32_t sendTimeout = 0;
 int main(void)
 {  
     SN_SYSCLK_set(SYSCLK_48MHZ);                  //设置系统时钟为48MHZ
     std_delay_init();                             //初始化延时(该延时是使用滴答定时器实现的)
+    std_delayms(500);	
+    SN_UART_init(UART1,921600, UART1_RX_PA2, UART1_TX_PB6); //初始化串口
+    printf("uart init\r\n");
     myRadio_init(0, rfRx_callback);
-    RF_SetPreamLen(50);
+    SN_GPIO_PIN_init(BOARD_GPIO_MOTOR , GPIO_MODE_OUTPUT ,GPIO_PULLUP ,GPIO_OUTPUT_PUSHPULL);
+    motor_long();
     // myRadio_setFrequency(SET_RF_FREQ_HZ(rfBaseFreqList[deviceInfor.chipType], deviceInfor.rfChannel, deviceInfor.channelStep));
     // myRadio_setTxPower(rfTxPowerList[deviceInfor.txPower]);
     // myRadio_setRfParams(deviceInfor.rf_sf, deviceInfor.rf_bw, deviceInfor.rf_cr);
@@ -82,6 +111,7 @@ int main(void)
 	// 	SN_PWM_TIM1_OUT_Complementary(TIM1_CH2N_PA0); //设置互补通道,注意要先设定互补通道后,才能初始化pwm输出
     // SN_PWM_TIM1_OUT_init(TIM1_CH2_PA1,1000);      //设置定时器3通道1 和 通道2 输出占空比数是1000的方波,输出io分别是PA0 ,PA4
 	//   SN_UART_init(UART1,9600, UART1_RX_PA4 ,UART1_TX_PA3 ); //初始化串口
+    printf("power on\r\n");
     while(1){
 		std_delayms(1);		
 		// SN_ADC_start();		                        //此时编译的SN_ADC_star()是轮询处理			
@@ -90,7 +120,9 @@ int main(void)
         if (sendTimeout++ > 1000+rand()%100)
         {
             sendTimeout = 0;
+            RF_SetPreamLen(50);
             myRadio_transmitArray("hello world", 10);
+            printf("send rf data\r\n");
         }
         
 		myRadio_process();

+ 407 - 373
project/Listings/MY_CIU32F003.map

@@ -6,16 +6,28 @@ Section Cross References
 
     main.o(i.main) refers to sn_rcc.o(i.SN_SYSCLK_set) for SN_SYSCLK_set
     main.o(i.main) refers to ciu32f003_std.o(i.std_delay_init) for std_delay_init
-    main.o(i.main) refers to myradio.o(i.myRadio_init) for myRadio_init
-    main.o(i.main) refers to pan_rf.o(i.RF_SetPreamLen) for RF_SetPreamLen
     main.o(i.main) refers to ciu32f003_std.o(i.std_delayms) for std_delayms
+    main.o(i.main) refers to sn_uart.o(i.SN_UART_init) for SN_UART_init
+    main.o(i.main) refers to printf5.o(i.__0printf$5) for __2printf
+    main.o(i.main) refers to myradio.o(i.myRadio_init) for myRadio_init
+    main.o(i.main) refers to sn_gpio.o(i.SN_GPIO_PIN_init) for SN_GPIO_PIN_init
+    main.o(i.main) refers to main.o(i.motor_long) for motor_long
     main.o(i.main) refers to rand.o(.text) for rand
     main.o(i.main) refers to idiv.o(.text) for __aeabi_idivmod
+    main.o(i.main) refers to pan_rf.o(i.RF_SetPreamLen) for RF_SetPreamLen
     main.o(i.main) refers to myradio.o(i.myRadio_transmitArray) for myRadio_transmitArray
     main.o(i.main) refers to myradio.o(i.myRadio_process) for myRadio_process
     main.o(i.main) refers to main.o(i.rfRx_callback) for rfRx_callback
     main.o(i.main) refers to main.o(.data) for sendTimeout
+    main.o(i.motor_long) refers to sn_gpio.o(i.SN_GPIO_PIN_write) for SN_GPIO_PIN_write
+    main.o(i.motor_long) refers to ciu32f003_std.o(i.std_delayms) for std_delayms
+    main.o(i.motor_short) refers to sn_gpio.o(i.SN_GPIO_PIN_write) for SN_GPIO_PIN_write
+    main.o(i.motor_short) refers to ciu32f003_std.o(i.std_delayms) for std_delayms
+    main.o(i.rfRx_callback) refers to printf5.o(i.__0printf$5) for __2printf
+    main.o(i.rfRx_callback) refers to pan_rf.o(i.RF_SetPreamLen) for RF_SetPreamLen
     main.o(i.rfRx_callback) refers to myradio.o(i.myRadio_receiver) for myRadio_receiver
+    main.o(i.rfRx_callback) refers to main.o(i.motor_long) for motor_long
+    main.o(i.rfRx_callback) refers to main.o(i.motor_short) for motor_short
     common.o(i.gpio_init) refers to memseta.o(.text) for __aeabi_memclr4
     common.o(i.gpio_init) refers to common.o(i.std_rcc_gpio_clk_enable) for std_rcc_gpio_clk_enable
     common.o(i.gpio_init) refers to ciu32f003_std_gpio.o(i.std_gpio_init) for std_gpio_init
@@ -1029,13 +1041,10 @@ Removing Unused input sections from the image.
     Removing sn_uart.o(i.SN_UART_RX_BULL_set), (92 bytes).
     Removing sn_uart.o(i.SN_UART_RX_CALL), (96 bytes).
     Removing sn_uart.o(i.SN_UART_TX_BULL), (56 bytes).
-    Removing sn_uart.o(i.SN_UART_init), (412 bytes).
     Removing sn_uart.o(i.__NVIC_EnableIRQ), (24 bytes).
     Removing sn_uart.o(i.__NVIC_SetPriority), (120 bytes).
     Removing sn_uart.o(i.fgetc), (36 bytes).
-    Removing sn_uart.o(i.std_rcc_gpio_clk_enable), (24 bytes).
     Removing sn_uart.o(i.std_uart_cr1_interrupt_enable), (8 bytes).
-    Removing sn_uart.o(.constdata), (72 bytes).
     Removing sn_flash.o(.rev16_text), (4 bytes).
     Removing sn_flash.o(.revsh_text), (4 bytes).
     Removing sn_flash.o(i.SN_FLASH_PAGE_null), (36 bytes).
@@ -1134,9 +1143,6 @@ Removing Unused input sections from the image.
     Removing ciu32f003_std_pmu.o(i.std_pmu_enter_stop), (92 bytes).
     Removing ciu32f003_std_rcc.o(.rev16_text), (4 bytes).
     Removing ciu32f003_std_rcc.o(.revsh_text), (4 bytes).
-    Removing ciu32f003_std_rcc.o(i.std_rcc_get_hclkfreq), (40 bytes).
-    Removing ciu32f003_std_rcc.o(i.std_rcc_get_pclkfreq), (48 bytes).
-    Removing ciu32f003_std_rcc.o(i.std_rcc_get_sysclkfreq), (80 bytes).
     Removing ciu32f003_std_spi.o(.rev16_text), (4 bytes).
     Removing ciu32f003_std_spi.o(.revsh_text), (4 bytes).
     Removing ciu32f003_std_spi.o(i.std_spi_deinit), (32 bytes).
@@ -1155,7 +1161,6 @@ Removing Unused input sections from the image.
     Removing ciu32f003_std_uart.o(.rev16_text), (4 bytes).
     Removing ciu32f003_std_uart.o(.revsh_text), (4 bytes).
     Removing ciu32f003_std_uart.o(i.std_uart_deinit), (80 bytes).
-    Removing ciu32f003_std_uart.o(i.std_uart_init), (72 bytes).
     Removing ciu32f003_std_uart.o(i.std_uart_struct_init), (22 bytes).
     Removing system_ciu32f003.o(.rev16_text), (4 bytes).
     Removing system_ciu32f003.o(.revsh_text), (4 bytes).
@@ -1260,7 +1265,7 @@ Removing Unused input sections from the image.
     Removing depilogue.o(.text), (190 bytes).
     Removing depilogue.o(i.__ARM_clz), (46 bytes).
 
-285 unused section(s) (total 14442 bytes) removed from the image.
+278 unused section(s) (total 13694 bytes) removed from the image.
 
 ==============================================================================
 
@@ -1274,38 +1279,38 @@ Image Symbol Table
     ../clib/microlib/division.c              0x00000000   Number         0  uldiv.o ABSOLUTE
     ../clib/microlib/division.c              0x00000000   Number         0  uidiv.o ABSOLUTE
     ../clib/microlib/division.c              0x00000000   Number         0  idiv.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry5.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry2.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry9b.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry10a.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry10b.o ABSOLUTE
     ../clib/microlib/init/entry.s            0x00000000   Number         0  entry7b.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry11b.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry11a.o ABSOLUTE
     ../clib/microlib/init/entry.s            0x00000000   Number         0  entry8a.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry9b.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry10b.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry8b.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry10a.o ABSOLUTE
     ../clib/microlib/init/entry.s            0x00000000   Number         0  entry9a.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry11a.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry11b.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry.o ABSOLUTE
     ../clib/microlib/init/entry.s            0x00000000   Number         0  entry7a.o ABSOLUTE
-    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry8b.o ABSOLUTE
-    ../clib/microlib/longlong.c              0x00000000   Number         0  llushr.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry5.o ABSOLUTE
+    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry2.o ABSOLUTE
     ../clib/microlib/longlong.c              0x00000000   Number         0  llshl.o ABSOLUTE
     ../clib/microlib/longlong.c              0x00000000   Number         0  llsshr.o ABSOLUTE
-    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf5.o ABSOLUTE
-    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf4.o ABSOLUTE
-    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf3.o ABSOLUTE
-    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf0.o ABSOLUTE
-    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf6.o ABSOLUTE
-    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf2.o ABSOLUTE
+    ../clib/microlib/longlong.c              0x00000000   Number         0  llushr.o ABSOLUTE
     ../clib/microlib/printf/printf.c         0x00000000   Number         0  printfb.o ABSOLUTE
+    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf2.o ABSOLUTE
+    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf0.o ABSOLUTE
+    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf4.o ABSOLUTE
+    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printfa.o ABSOLUTE
     ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf1.o ABSOLUTE
-    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf8.o ABSOLUTE
+    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf5.o ABSOLUTE
+    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf6.o ABSOLUTE
+    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf3.o ABSOLUTE
     ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf7.o ABSOLUTE
-    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printfa.o ABSOLUTE
+    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf8.o ABSOLUTE
     ../clib/microlib/printf/stubs.s          0x00000000   Number         0  stubs.o ABSOLUTE
     ../clib/microlib/stdio/streams.c         0x00000000   Number         0  stdout.o ABSOLUTE
     ../clib/microlib/stdlib/rand.c           0x00000000   Number         0  rand.o ABSOLUTE
-    ../clib/microlib/string/memcpy.c         0x00000000   Number         0  memcpyb.o ABSOLUTE
     ../clib/microlib/string/memcpy.c         0x00000000   Number         0  memcpya.o ABSOLUTE
+    ../clib/microlib/string/memcpy.c         0x00000000   Number         0  memcpyb.o ABSOLUTE
     ../clib/microlib/string/memset.c         0x00000000   Number         0  memseta.o ABSOLUTE
     ../clib/microlib/stubs.s                 0x00000000   Number         0  iusefp.o ABSOLUTE
     ../fplib/microlib/d2f.c                  0x00000000   Number         0  d2f.o ABSOLUTE
@@ -1316,12 +1321,12 @@ Image Symbol Table
     ../fplib/microlib/fpdiv.c                0x00000000   Number         0  fdiv.o ABSOLUTE
     ../fplib/microlib/fpepilogue.c           0x00000000   Number         0  depilogue.o ABSOLUTE
     ../fplib/microlib/fpepilogue.c           0x00000000   Number         0  fepilogue.o ABSOLUTE
-    ../fplib/microlib/fpfix.c                0x00000000   Number         0  dfixul.o ABSOLUTE
     ../fplib/microlib/fpfix.c                0x00000000   Number         0  ffixui.o ABSOLUTE
+    ../fplib/microlib/fpfix.c                0x00000000   Number         0  dfixul.o ABSOLUTE
     ../fplib/microlib/fpflt.c                0x00000000   Number         0  fflti.o ABSOLUTE
     ../fplib/microlib/fpflt.c                0x00000000   Number         0  ffltui.o ABSOLUTE
-    ../fplib/microlib/fpmul.c                0x00000000   Number         0  dmul.o ABSOLUTE
     ../fplib/microlib/fpmul.c                0x00000000   Number         0  fmul.o ABSOLUTE
+    ../fplib/microlib/fpmul.c                0x00000000   Number         0  dmul.o ABSOLUTE
     ../mathlib/ceil.c                        0x00000000   Number         0  ceil.o ABSOLUTE
     ..\BSP\common.c                          0x00000000   Number         0  common.o ABSOLUTE
     ..\CIU32F003_LIB\Source\ciu32f003_std.c  0x00000000   Number         0  ciu32f003_std.o ABSOLUTE
@@ -1495,102 +1500,112 @@ Image Symbol Table
     SN_SPI_SOF_CS_L                          0x000014b5   Thumb Code    14  sn_spi.o(i.SN_SPI_SOF_CS_L)
     i.SN_SYSCLK_set                          0x000014cc   Section        0  sn_rcc.o(i.SN_SYSCLK_set)
     i.SN_TIM1_CALL_set                       0x000015dc   Section        0  sn_tim1_init.o(i.SN_TIM1_CALL_set)
-    i.SPI_ReadByte                           0x000016b8   Section        0  pan_rf.o(i.SPI_ReadByte)
-    i.SPI_WriteByte                          0x000016c2   Section        0  pan_rf.o(i.SPI_WriteByte)
-    i.SysTick_Handler                        0x000016d0   Section        0  sn_ddq.o(i.SysTick_Handler)
-    i.SystemInit                             0x00001708   Section        0  system_ciu32f003.o(i.SystemInit)
-    i.TIM1_BRK_UP_TRG_COM_IRQHandler         0x00001728   Section        0  sn_tim1_init.o(i.TIM1_BRK_UP_TRG_COM_IRQHandler)
-    i.TIM3_IRQHandler                        0x00001750   Section        0  sn_tim3_init.o(i.TIM3_IRQHandler)
-    i.UART1_IRQHandler                       0x00001778   Section        0  sn_uart.o(i.UART1_IRQHandler)
-    i.UART2_IRQHandler                       0x00001810   Section        0  sn_uart.o(i.UART2_IRQHandler)
-    i.__0printf$5                            0x000018a8   Section        0  printf5.o(i.__0printf$5)
-    i.__ARM_common_switch8                   0x000018c8   Section        0  sn_exit.o(i.__ARM_common_switch8)
-    i.__NVIC_EnableIRQ                       0x000018e4   Section        0  sn_exit.o(i.__NVIC_EnableIRQ)
-    __NVIC_EnableIRQ                         0x000018e5   Thumb Code    18  sn_exit.o(i.__NVIC_EnableIRQ)
-    i.__NVIC_SetPriority                     0x000018fc   Section        0  sn_tim1_init.o(i.__NVIC_SetPriority)
-    __NVIC_SetPriority                       0x000018fd   Thumb Code   110  sn_tim1_init.o(i.__NVIC_SetPriority)
-    i.__NVIC_SetPriority                     0x00001974   Section        0  sn_exit.o(i.__NVIC_SetPriority)
-    __NVIC_SetPriority                       0x00001975   Thumb Code   110  sn_exit.o(i.__NVIC_SetPriority)
-    i.__ctz                                  0x000019ec   Section        0  pan_rf.o(i.__ctz)
-    i.__scatterload_copy                     0x00001a0c   Section       14  handlers.o(i.__scatterload_copy)
-    i.__scatterload_null                     0x00001a1a   Section        2  handlers.o(i.__scatterload_null)
-    i.__scatterload_zeroinit                 0x00001a1c   Section       14  handlers.o(i.__scatterload_zeroinit)
-    i._printf_core                           0x00001a2c   Section        0  printf5.o(i._printf_core)
-    _printf_core                             0x00001a2d   Thumb Code   688  printf5.o(i._printf_core)
-    i.fputc                                  0x00001d08   Section        0  sn_uart.o(i.fputc)
-    i.getRfPowerTabIndex                     0x00001d2c   Section        0  myradio.o(i.getRfPowerTabIndex)
-    i.main                                   0x00001d50   Section        0  main.o(i.main)
-    i.myRadioSpi_rwByte                      0x00001dbc   Section        0  myradio_gpio.o(i.myRadioSpi_rwByte)
-    i.myRadio_delay                          0x00001dfc   Section        0  myradio.o(i.myRadio_delay)
-    i.myRadio_gpioCadCallback                0x00001e08   Section        0  myradio.o(i.myRadio_gpioCadCallback)
-    i.myRadio_gpioCallback                   0x00001e7c   Section        0  myradio.o(i.myRadio_gpioCallback)
-    i.myRadio_gpio_init                      0x00001e88   Section        0  myradio_gpio.o(i.myRadio_gpio_init)
-    i.myRadio_gpio_irq_init                  0x00001ef4   Section        0  myradio_gpio.o(i.myRadio_gpio_irq_init)
-    i.myRadio_init                           0x00001f14   Section        0  myradio.o(i.myRadio_init)
-    i.myRadio_process                        0x00001f80   Section        0  myradio.o(i.myRadio_process)
-    i.myRadio_receiver                       0x000020fc   Section        0  myradio.o(i.myRadio_receiver)
-    i.myRadio_restartCadReceiver             0x00002184   Section        0  myradio.o(i.myRadio_restartCadReceiver)
-    i.myRadio_setFrequency                   0x00002208   Section        0  myradio.o(i.myRadio_setFrequency)
-    i.myRadio_setRfParams                    0x0000222c   Section        0  myradio.o(i.myRadio_setRfParams)
-    i.myRadio_setTxPower                     0x00002270   Section        0  myradio.o(i.myRadio_setTxPower)
-    i.myRadio_timCallback                    0x000022ac   Section        0  myradio.o(i.myRadio_timCallback)
-    i.myRadio_transmitArray                  0x0000237c   Section        0  myradio.o(i.myRadio_transmitArray)
-    i.rfRx_callback                          0x00002404   Section        0  main.o(i.rfRx_callback)
-    i.std_adc_calc_vref_voltage              0x00002438   Section        0  sn_adc.o(i.std_adc_calc_vref_voltage)
-    std_adc_calc_vref_voltage                0x00002439   Thumb Code    22  sn_adc.o(i.std_adc_calc_vref_voltage)
-    i.std_adc_clear_flag                     0x00002458   Section        0  sn_adc.o(i.std_adc_clear_flag)
-    std_adc_clear_flag                       0x00002459   Thumb Code     6  sn_adc.o(i.std_adc_clear_flag)
-    i.std_adc_get_flag                       0x00002464   Section        0  sn_adc.o(i.std_adc_get_flag)
-    std_adc_get_flag                         0x00002465   Thumb Code    10  sn_adc.o(i.std_adc_get_flag)
-    i.std_delay_init                         0x00002474   Section        0  ciu32f003_std.o(i.std_delay_init)
-    i.std_delayms                            0x00002494   Section        0  ciu32f003_std.o(i.std_delayms)
-    i.std_delayus                            0x000024ac   Section        0  ciu32f003_std.o(i.std_delayus)
-    i.std_exti_clear_pending                 0x000024f0   Section        0  sn_exit.o(i.std_exti_clear_pending)
-    std_exti_clear_pending                   0x000024f1   Thumb Code    14  sn_exit.o(i.std_exti_clear_pending)
-    i.std_exti_get_pending_status            0x00002504   Section        0  sn_exit.o(i.std_exti_get_pending_status)
-    std_exti_get_pending_status              0x00002505   Thumb Code    18  sn_exit.o(i.std_exti_get_pending_status)
-    i.std_exti_init                          0x0000251c   Section        0  ciu32f003_std_exti.o(i.std_exti_init)
-    i.std_flash_set_latency                  0x00002654   Section        0  sn_rcc.o(i.std_flash_set_latency)
-    std_flash_set_latency                    0x00002655   Thumb Code    16  sn_rcc.o(i.std_flash_set_latency)
-    i.std_gpio_get_pin_mode                  0x00002668   Section        0  sn_gpio.o(i.std_gpio_get_pin_mode)
-    std_gpio_get_pin_mode                    0x00002669   Thumb Code    32  sn_gpio.o(i.std_gpio_get_pin_mode)
-    i.std_gpio_init                          0x00002688   Section        0  ciu32f003_std_gpio.o(i.std_gpio_init)
-    i.std_gpio_set_pin                       0x0000272a   Section        0  sn_spi.o(i.std_gpio_set_pin)
-    std_gpio_set_pin                         0x0000272b   Thumb Code     4  sn_spi.o(i.std_gpio_set_pin)
-    i.std_rcc_get_sysclk_source              0x00002730   Section        0  sn_rcc.o(i.std_rcc_get_sysclk_source)
-    std_rcc_get_sysclk_source                0x00002731   Thumb Code    10  sn_rcc.o(i.std_rcc_get_sysclk_source)
-    i.std_rcc_gpio_clk_enable                0x00002740   Section        0  sn_gpio.o(i.std_rcc_gpio_clk_enable)
-    std_rcc_gpio_clk_enable                  0x00002741   Thumb Code    18  sn_gpio.o(i.std_rcc_gpio_clk_enable)
-    i.std_rcc_gpio_clk_enable                0x00002758   Section        0  sn_spi.o(i.std_rcc_gpio_clk_enable)
-    std_rcc_gpio_clk_enable                  0x00002759   Thumb Code    18  sn_spi.o(i.std_rcc_gpio_clk_enable)
-    i.std_rcc_gpio_clk_enable                0x00002770   Section        0  sn_exit.o(i.std_rcc_gpio_clk_enable)
-    std_rcc_gpio_clk_enable                  0x00002771   Thumb Code    18  sn_exit.o(i.std_rcc_gpio_clk_enable)
-    i.std_rcc_set_sysclk_source              0x00002788   Section        0  sn_rcc.o(i.std_rcc_set_sysclk_source)
-    std_rcc_set_sysclk_source                0x00002789   Thumb Code    16  sn_rcc.o(i.std_rcc_set_sysclk_source)
-    i.std_spi_get_flag                       0x0000279c   Section        0  myradio_gpio.o(i.std_spi_get_flag)
-    std_spi_get_flag                         0x0000279d   Thumb Code    10  myradio_gpio.o(i.std_spi_get_flag)
-    i.std_spi_init                           0x000027ac   Section        0  ciu32f003_std_spi.o(i.std_spi_init)
-    i.std_spi_set_nss_output                 0x000027e0   Section        0  myradio_gpio.o(i.std_spi_set_nss_output)
-    std_spi_set_nss_output                   0x000027e1   Thumb Code     6  myradio_gpio.o(i.std_spi_set_nss_output)
-    i.std_tim_clear_flag                     0x000027ec   Section        0  sn_tim1_init.o(i.std_tim_clear_flag)
-    std_tim_clear_flag                       0x000027ed   Thumb Code     6  sn_tim1_init.o(i.std_tim_clear_flag)
-    i.std_tim_init                           0x000027f4   Section        0  ciu32f003_std_tim.o(i.std_tim_init)
-    i.std_uart_clear_flag                    0x00002850   Section        0  sn_uart.o(i.std_uart_clear_flag)
-    std_uart_clear_flag                      0x00002851   Thumb Code     4  sn_uart.o(i.std_uart_clear_flag)
-    i.std_uart_get_cr1_interrupt_enable      0x00002854   Section        0  sn_uart.o(i.std_uart_get_cr1_interrupt_enable)
-    std_uart_get_cr1_interrupt_enable        0x00002855   Thumb Code     8  sn_uart.o(i.std_uart_get_cr1_interrupt_enable)
-    i.std_uart_get_flag                      0x0000285c   Section        0  sn_uart.o(i.std_uart_get_flag)
-    std_uart_get_flag                        0x0000285d   Thumb Code     8  sn_uart.o(i.std_uart_get_flag)
-    i.std_uart_tx_write_data                 0x00002864   Section        0  sn_uart.o(i.std_uart_tx_write_data)
-    std_uart_tx_write_data                   0x00002865   Thumb Code     4  sn_uart.o(i.std_uart_tx_write_data)
-    .constdata                               0x00002868   Section       32  sn_exit.o(.constdata)
-    .constdata                               0x00002888   Section      868  pan_rf.o(.constdata)
-    g_RfPowerRampCfg                         0x00002888   Data          69  pan_rf.o(.constdata)
-    g_RfDefaultConfig                        0x000028cd   Data         171  pan_rf.o(.constdata)
-    g_RfFreqTable                            0x00002978   Data         384  pan_rf.o(.constdata)
-    g_VcoDivTable                            0x00002af8   Data           8  pan_rf.o(.constdata)
-    g_LowFreqAgcCfg                          0x00002b00   Data          40  pan_rf.o(.constdata)
-    g_HighFreqAgcCfg                         0x00002b28   Data          40  pan_rf.o(.constdata)
+    i.SN_UART_init                           0x000016b8   Section        0  sn_uart.o(i.SN_UART_init)
+    i.SPI_ReadByte                           0x00001854   Section        0  pan_rf.o(i.SPI_ReadByte)
+    i.SPI_WriteByte                          0x0000185e   Section        0  pan_rf.o(i.SPI_WriteByte)
+    i.SysTick_Handler                        0x0000186c   Section        0  sn_ddq.o(i.SysTick_Handler)
+    i.SystemInit                             0x000018a4   Section        0  system_ciu32f003.o(i.SystemInit)
+    i.TIM1_BRK_UP_TRG_COM_IRQHandler         0x000018c4   Section        0  sn_tim1_init.o(i.TIM1_BRK_UP_TRG_COM_IRQHandler)
+    i.TIM3_IRQHandler                        0x000018ec   Section        0  sn_tim3_init.o(i.TIM3_IRQHandler)
+    i.UART1_IRQHandler                       0x00001914   Section        0  sn_uart.o(i.UART1_IRQHandler)
+    i.UART2_IRQHandler                       0x000019ac   Section        0  sn_uart.o(i.UART2_IRQHandler)
+    i.__0printf$5                            0x00001a44   Section        0  printf5.o(i.__0printf$5)
+    i.__ARM_common_switch8                   0x00001a64   Section        0  sn_exit.o(i.__ARM_common_switch8)
+    i.__NVIC_EnableIRQ                       0x00001a80   Section        0  sn_exit.o(i.__NVIC_EnableIRQ)
+    __NVIC_EnableIRQ                         0x00001a81   Thumb Code    18  sn_exit.o(i.__NVIC_EnableIRQ)
+    i.__NVIC_SetPriority                     0x00001a98   Section        0  sn_tim1_init.o(i.__NVIC_SetPriority)
+    __NVIC_SetPriority                       0x00001a99   Thumb Code   110  sn_tim1_init.o(i.__NVIC_SetPriority)
+    i.__NVIC_SetPriority                     0x00001b10   Section        0  sn_exit.o(i.__NVIC_SetPriority)
+    __NVIC_SetPriority                       0x00001b11   Thumb Code   110  sn_exit.o(i.__NVIC_SetPriority)
+    i.__ctz                                  0x00001b88   Section        0  pan_rf.o(i.__ctz)
+    i.__scatterload_copy                     0x00001ba8   Section       14  handlers.o(i.__scatterload_copy)
+    i.__scatterload_null                     0x00001bb6   Section        2  handlers.o(i.__scatterload_null)
+    i.__scatterload_zeroinit                 0x00001bb8   Section       14  handlers.o(i.__scatterload_zeroinit)
+    i._printf_core                           0x00001bc8   Section        0  printf5.o(i._printf_core)
+    _printf_core                             0x00001bc9   Thumb Code   688  printf5.o(i._printf_core)
+    i.fputc                                  0x00001ea4   Section        0  sn_uart.o(i.fputc)
+    i.getRfPowerTabIndex                     0x00001ec8   Section        0  myradio.o(i.getRfPowerTabIndex)
+    i.main                                   0x00001eec   Section        0  main.o(i.main)
+    i.motor_long                             0x00001fc4   Section        0  main.o(i.motor_long)
+    i.motor_short                            0x00001fe6   Section        0  main.o(i.motor_short)
+    i.myRadioSpi_rwByte                      0x00002008   Section        0  myradio_gpio.o(i.myRadioSpi_rwByte)
+    i.myRadio_delay                          0x00002048   Section        0  myradio.o(i.myRadio_delay)
+    i.myRadio_gpioCadCallback                0x00002054   Section        0  myradio.o(i.myRadio_gpioCadCallback)
+    i.myRadio_gpioCallback                   0x000020c8   Section        0  myradio.o(i.myRadio_gpioCallback)
+    i.myRadio_gpio_init                      0x000020d4   Section        0  myradio_gpio.o(i.myRadio_gpio_init)
+    i.myRadio_gpio_irq_init                  0x00002140   Section        0  myradio_gpio.o(i.myRadio_gpio_irq_init)
+    i.myRadio_init                           0x00002160   Section        0  myradio.o(i.myRadio_init)
+    i.myRadio_process                        0x000021cc   Section        0  myradio.o(i.myRadio_process)
+    i.myRadio_receiver                       0x00002348   Section        0  myradio.o(i.myRadio_receiver)
+    i.myRadio_restartCadReceiver             0x000023d0   Section        0  myradio.o(i.myRadio_restartCadReceiver)
+    i.myRadio_setFrequency                   0x00002454   Section        0  myradio.o(i.myRadio_setFrequency)
+    i.myRadio_setRfParams                    0x00002478   Section        0  myradio.o(i.myRadio_setRfParams)
+    i.myRadio_setTxPower                     0x000024bc   Section        0  myradio.o(i.myRadio_setTxPower)
+    i.myRadio_timCallback                    0x000024f8   Section        0  myradio.o(i.myRadio_timCallback)
+    i.myRadio_transmitArray                  0x000025c8   Section        0  myradio.o(i.myRadio_transmitArray)
+    i.rfRx_callback                          0x00002650   Section        0  main.o(i.rfRx_callback)
+    i.std_adc_calc_vref_voltage              0x000026cc   Section        0  sn_adc.o(i.std_adc_calc_vref_voltage)
+    std_adc_calc_vref_voltage                0x000026cd   Thumb Code    22  sn_adc.o(i.std_adc_calc_vref_voltage)
+    i.std_adc_clear_flag                     0x000026ec   Section        0  sn_adc.o(i.std_adc_clear_flag)
+    std_adc_clear_flag                       0x000026ed   Thumb Code     6  sn_adc.o(i.std_adc_clear_flag)
+    i.std_adc_get_flag                       0x000026f8   Section        0  sn_adc.o(i.std_adc_get_flag)
+    std_adc_get_flag                         0x000026f9   Thumb Code    10  sn_adc.o(i.std_adc_get_flag)
+    i.std_delay_init                         0x00002708   Section        0  ciu32f003_std.o(i.std_delay_init)
+    i.std_delayms                            0x00002728   Section        0  ciu32f003_std.o(i.std_delayms)
+    i.std_delayus                            0x00002740   Section        0  ciu32f003_std.o(i.std_delayus)
+    i.std_exti_clear_pending                 0x00002784   Section        0  sn_exit.o(i.std_exti_clear_pending)
+    std_exti_clear_pending                   0x00002785   Thumb Code    14  sn_exit.o(i.std_exti_clear_pending)
+    i.std_exti_get_pending_status            0x00002798   Section        0  sn_exit.o(i.std_exti_get_pending_status)
+    std_exti_get_pending_status              0x00002799   Thumb Code    18  sn_exit.o(i.std_exti_get_pending_status)
+    i.std_exti_init                          0x000027b0   Section        0  ciu32f003_std_exti.o(i.std_exti_init)
+    i.std_flash_set_latency                  0x000028e8   Section        0  sn_rcc.o(i.std_flash_set_latency)
+    std_flash_set_latency                    0x000028e9   Thumb Code    16  sn_rcc.o(i.std_flash_set_latency)
+    i.std_gpio_get_pin_mode                  0x000028fc   Section        0  sn_gpio.o(i.std_gpio_get_pin_mode)
+    std_gpio_get_pin_mode                    0x000028fd   Thumb Code    32  sn_gpio.o(i.std_gpio_get_pin_mode)
+    i.std_gpio_init                          0x0000291c   Section        0  ciu32f003_std_gpio.o(i.std_gpio_init)
+    i.std_gpio_set_pin                       0x000029be   Section        0  sn_spi.o(i.std_gpio_set_pin)
+    std_gpio_set_pin                         0x000029bf   Thumb Code     4  sn_spi.o(i.std_gpio_set_pin)
+    i.std_rcc_get_hclkfreq                   0x000029c4   Section        0  ciu32f003_std_rcc.o(i.std_rcc_get_hclkfreq)
+    i.std_rcc_get_pclkfreq                   0x000029ec   Section        0  ciu32f003_std_rcc.o(i.std_rcc_get_pclkfreq)
+    i.std_rcc_get_sysclk_source              0x00002a1c   Section        0  sn_rcc.o(i.std_rcc_get_sysclk_source)
+    std_rcc_get_sysclk_source                0x00002a1d   Thumb Code    10  sn_rcc.o(i.std_rcc_get_sysclk_source)
+    i.std_rcc_get_sysclkfreq                 0x00002a2c   Section        0  ciu32f003_std_rcc.o(i.std_rcc_get_sysclkfreq)
+    i.std_rcc_gpio_clk_enable                0x00002a7c   Section        0  sn_gpio.o(i.std_rcc_gpio_clk_enable)
+    std_rcc_gpio_clk_enable                  0x00002a7d   Thumb Code    18  sn_gpio.o(i.std_rcc_gpio_clk_enable)
+    i.std_rcc_gpio_clk_enable                0x00002a94   Section        0  sn_uart.o(i.std_rcc_gpio_clk_enable)
+    std_rcc_gpio_clk_enable                  0x00002a95   Thumb Code    18  sn_uart.o(i.std_rcc_gpio_clk_enable)
+    i.std_rcc_gpio_clk_enable                0x00002aac   Section        0  sn_spi.o(i.std_rcc_gpio_clk_enable)
+    std_rcc_gpio_clk_enable                  0x00002aad   Thumb Code    18  sn_spi.o(i.std_rcc_gpio_clk_enable)
+    i.std_rcc_gpio_clk_enable                0x00002ac4   Section        0  sn_exit.o(i.std_rcc_gpio_clk_enable)
+    std_rcc_gpio_clk_enable                  0x00002ac5   Thumb Code    18  sn_exit.o(i.std_rcc_gpio_clk_enable)
+    i.std_rcc_set_sysclk_source              0x00002adc   Section        0  sn_rcc.o(i.std_rcc_set_sysclk_source)
+    std_rcc_set_sysclk_source                0x00002add   Thumb Code    16  sn_rcc.o(i.std_rcc_set_sysclk_source)
+    i.std_spi_get_flag                       0x00002af0   Section        0  myradio_gpio.o(i.std_spi_get_flag)
+    std_spi_get_flag                         0x00002af1   Thumb Code    10  myradio_gpio.o(i.std_spi_get_flag)
+    i.std_spi_init                           0x00002b00   Section        0  ciu32f003_std_spi.o(i.std_spi_init)
+    i.std_spi_set_nss_output                 0x00002b34   Section        0  myradio_gpio.o(i.std_spi_set_nss_output)
+    std_spi_set_nss_output                   0x00002b35   Thumb Code     6  myradio_gpio.o(i.std_spi_set_nss_output)
+    i.std_tim_clear_flag                     0x00002b40   Section        0  sn_tim1_init.o(i.std_tim_clear_flag)
+    std_tim_clear_flag                       0x00002b41   Thumb Code     6  sn_tim1_init.o(i.std_tim_clear_flag)
+    i.std_tim_init                           0x00002b48   Section        0  ciu32f003_std_tim.o(i.std_tim_init)
+    i.std_uart_clear_flag                    0x00002ba4   Section        0  sn_uart.o(i.std_uart_clear_flag)
+    std_uart_clear_flag                      0x00002ba5   Thumb Code     4  sn_uart.o(i.std_uart_clear_flag)
+    i.std_uart_get_cr1_interrupt_enable      0x00002ba8   Section        0  sn_uart.o(i.std_uart_get_cr1_interrupt_enable)
+    std_uart_get_cr1_interrupt_enable        0x00002ba9   Thumb Code     8  sn_uart.o(i.std_uart_get_cr1_interrupt_enable)
+    i.std_uart_get_flag                      0x00002bb0   Section        0  sn_uart.o(i.std_uart_get_flag)
+    std_uart_get_flag                        0x00002bb1   Thumb Code     8  sn_uart.o(i.std_uart_get_flag)
+    i.std_uart_init                          0x00002bb8   Section        0  ciu32f003_std_uart.o(i.std_uart_init)
+    i.std_uart_tx_write_data                 0x00002c00   Section        0  sn_uart.o(i.std_uart_tx_write_data)
+    std_uart_tx_write_data                   0x00002c01   Thumb Code     4  sn_uart.o(i.std_uart_tx_write_data)
+    .constdata                               0x00002c04   Section       72  sn_uart.o(.constdata)
+    .constdata                               0x00002c4c   Section       32  sn_exit.o(.constdata)
+    .constdata                               0x00002c6c   Section      868  pan_rf.o(.constdata)
+    g_RfPowerRampCfg                         0x00002c6c   Data          69  pan_rf.o(.constdata)
+    g_RfDefaultConfig                        0x00002cb1   Data         171  pan_rf.o(.constdata)
+    g_RfFreqTable                            0x00002d5c   Data         384  pan_rf.o(.constdata)
+    g_VcoDivTable                            0x00002edc   Data           8  pan_rf.o(.constdata)
+    g_LowFreqAgcCfg                          0x00002ee4   Data          40  pan_rf.o(.constdata)
+    g_HighFreqAgcCfg                         0x00002f0c   Data          40  pan_rf.o(.constdata)
     .data                                    0x20000000   Section       12  main.o(.data)
     .data                                    0x2000000c   Section       10  sn_adc.o(.data)
     adc_i                                    0x20000015   Data           1  sn_adc.o(.data)
@@ -1809,52 +1824,60 @@ Image Symbol Table
     SN_SPI_MASTER_init                       0x000013e5   Thumb Code   168  sn_spi.o(i.SN_SPI_MASTER_init)
     SN_SYSCLK_set                            0x000014cd   Thumb Code   250  sn_rcc.o(i.SN_SYSCLK_set)
     SN_TIM1_CALL_set                         0x000015dd   Thumb Code   202  sn_tim1_init.o(i.SN_TIM1_CALL_set)
-    SPI_ReadByte                             0x000016b9   Thumb Code    10  pan_rf.o(i.SPI_ReadByte)
-    SPI_WriteByte                            0x000016c3   Thumb Code    12  pan_rf.o(i.SPI_WriteByte)
-    SysTick_Handler                          0x000016d1   Thumb Code    50  sn_ddq.o(i.SysTick_Handler)
-    SystemInit                               0x00001709   Thumb Code    14  system_ciu32f003.o(i.SystemInit)
-    TIM1_BRK_UP_TRG_COM_IRQHandler           0x00001729   Thumb Code    30  sn_tim1_init.o(i.TIM1_BRK_UP_TRG_COM_IRQHandler)
-    TIM3_IRQHandler                          0x00001751   Thumb Code    32  sn_tim3_init.o(i.TIM3_IRQHandler)
-    UART1_IRQHandler                         0x00001779   Thumb Code   122  sn_uart.o(i.UART1_IRQHandler)
-    UART2_IRQHandler                         0x00001811   Thumb Code   122  sn_uart.o(i.UART2_IRQHandler)
-    __0printf$5                              0x000018a9   Thumb Code    24  printf5.o(i.__0printf$5)
-    __1printf$5                              0x000018a9   Thumb Code     0  printf5.o(i.__0printf$5)
-    __2printf                                0x000018a9   Thumb Code     0  printf5.o(i.__0printf$5)
-    __ARM_common_switch8                     0x000018c9   Thumb Code    28  sn_exit.o(i.__ARM_common_switch8)
-    __ctz                                    0x000019ed   Thumb Code    32  pan_rf.o(i.__ctz)
-    __scatterload_copy                       0x00001a0d   Thumb Code    14  handlers.o(i.__scatterload_copy)
-    __scatterload_null                       0x00001a1b   Thumb Code     2  handlers.o(i.__scatterload_null)
-    __scatterload_zeroinit                   0x00001a1d   Thumb Code    14  handlers.o(i.__scatterload_zeroinit)
-    fputc                                    0x00001d09   Thumb Code    32  sn_uart.o(i.fputc)
-    getRfPowerTabIndex                       0x00001d2d   Thumb Code    30  myradio.o(i.getRfPowerTabIndex)
-    main                                     0x00001d51   Thumb Code    86  main.o(i.main)
-    myRadioSpi_rwByte                        0x00001dbd   Thumb Code    60  myradio_gpio.o(i.myRadioSpi_rwByte)
-    myRadio_delay                            0x00001dfd   Thumb Code    12  myradio.o(i.myRadio_delay)
-    myRadio_gpioCadCallback                  0x00001e09   Thumb Code    80  myradio.o(i.myRadio_gpioCadCallback)
-    myRadio_gpioCallback                     0x00001e7d   Thumb Code     8  myradio.o(i.myRadio_gpioCallback)
-    myRadio_gpio_init                        0x00001e89   Thumb Code   100  myradio_gpio.o(i.myRadio_gpio_init)
-    myRadio_gpio_irq_init                    0x00001ef5   Thumb Code    24  myradio_gpio.o(i.myRadio_gpio_irq_init)
-    myRadio_init                             0x00001f15   Thumb Code    88  myradio.o(i.myRadio_init)
-    myRadio_process                          0x00001f81   Thumb Code   332  myradio.o(i.myRadio_process)
-    myRadio_receiver                         0x000020fd   Thumb Code   102  myradio.o(i.myRadio_receiver)
-    myRadio_restartCadReceiver               0x00002185   Thumb Code    70  myradio.o(i.myRadio_restartCadReceiver)
-    myRadio_setFrequency                     0x00002209   Thumb Code    28  myradio.o(i.myRadio_setFrequency)
-    myRadio_setRfParams                      0x0000222d   Thumb Code    52  myradio.o(i.myRadio_setRfParams)
-    myRadio_setTxPower                       0x00002271   Thumb Code    46  myradio.o(i.myRadio_setTxPower)
-    myRadio_timCallback                      0x000022ad   Thumb Code   128  myradio.o(i.myRadio_timCallback)
-    myRadio_transmitArray                    0x0000237d   Thumb Code   108  myradio.o(i.myRadio_transmitArray)
-    rfRx_callback                            0x00002405   Thumb Code    52  main.o(i.rfRx_callback)
-    std_delay_init                           0x00002475   Thumb Code    26  ciu32f003_std.o(i.std_delay_init)
-    std_delayms                              0x00002495   Thumb Code    24  ciu32f003_std.o(i.std_delayms)
-    std_delayus                              0x000024ad   Thumb Code    56  ciu32f003_std.o(i.std_delayus)
-    std_exti_init                            0x0000251d   Thumb Code   308  ciu32f003_std_exti.o(i.std_exti_init)
-    std_gpio_init                            0x00002689   Thumb Code   162  ciu32f003_std_gpio.o(i.std_gpio_init)
-    std_spi_init                             0x000027ad   Thumb Code    48  ciu32f003_std_spi.o(i.std_spi_init)
-    std_tim_init                             0x000027f5   Thumb Code    82  ciu32f003_std_tim.o(i.std_tim_init)
-    EXTI_LINE_list                           0x00002868   Data          32  sn_exit.o(.constdata)
-    g_SnrLog10Talbe                          0x00002b50   Data         124  pan_rf.o(.constdata)
-    Region$$Table$$Base                      0x00002bec   Number         0  anon$$obj.o(Region$$Table)
-    Region$$Table$$Limit                     0x00002c0c   Number         0  anon$$obj.o(Region$$Table)
+    SN_UART_init                             0x000016b9   Thumb Code   392  sn_uart.o(i.SN_UART_init)
+    SPI_ReadByte                             0x00001855   Thumb Code    10  pan_rf.o(i.SPI_ReadByte)
+    SPI_WriteByte                            0x0000185f   Thumb Code    12  pan_rf.o(i.SPI_WriteByte)
+    SysTick_Handler                          0x0000186d   Thumb Code    50  sn_ddq.o(i.SysTick_Handler)
+    SystemInit                               0x000018a5   Thumb Code    14  system_ciu32f003.o(i.SystemInit)
+    TIM1_BRK_UP_TRG_COM_IRQHandler           0x000018c5   Thumb Code    30  sn_tim1_init.o(i.TIM1_BRK_UP_TRG_COM_IRQHandler)
+    TIM3_IRQHandler                          0x000018ed   Thumb Code    32  sn_tim3_init.o(i.TIM3_IRQHandler)
+    UART1_IRQHandler                         0x00001915   Thumb Code   122  sn_uart.o(i.UART1_IRQHandler)
+    UART2_IRQHandler                         0x000019ad   Thumb Code   122  sn_uart.o(i.UART2_IRQHandler)
+    __0printf$5                              0x00001a45   Thumb Code    24  printf5.o(i.__0printf$5)
+    __1printf$5                              0x00001a45   Thumb Code     0  printf5.o(i.__0printf$5)
+    __2printf                                0x00001a45   Thumb Code     0  printf5.o(i.__0printf$5)
+    __ARM_common_switch8                     0x00001a65   Thumb Code    28  sn_exit.o(i.__ARM_common_switch8)
+    __ctz                                    0x00001b89   Thumb Code    32  pan_rf.o(i.__ctz)
+    __scatterload_copy                       0x00001ba9   Thumb Code    14  handlers.o(i.__scatterload_copy)
+    __scatterload_null                       0x00001bb7   Thumb Code     2  handlers.o(i.__scatterload_null)
+    __scatterload_zeroinit                   0x00001bb9   Thumb Code    14  handlers.o(i.__scatterload_zeroinit)
+    fputc                                    0x00001ea5   Thumb Code    32  sn_uart.o(i.fputc)
+    getRfPowerTabIndex                       0x00001ec9   Thumb Code    30  myradio.o(i.getRfPowerTabIndex)
+    main                                     0x00001eed   Thumb Code   150  main.o(i.main)
+    motor_long                               0x00001fc5   Thumb Code    34  main.o(i.motor_long)
+    motor_short                              0x00001fe7   Thumb Code    34  main.o(i.motor_short)
+    myRadioSpi_rwByte                        0x00002009   Thumb Code    60  myradio_gpio.o(i.myRadioSpi_rwByte)
+    myRadio_delay                            0x00002049   Thumb Code    12  myradio.o(i.myRadio_delay)
+    myRadio_gpioCadCallback                  0x00002055   Thumb Code    80  myradio.o(i.myRadio_gpioCadCallback)
+    myRadio_gpioCallback                     0x000020c9   Thumb Code     8  myradio.o(i.myRadio_gpioCallback)
+    myRadio_gpio_init                        0x000020d5   Thumb Code   100  myradio_gpio.o(i.myRadio_gpio_init)
+    myRadio_gpio_irq_init                    0x00002141   Thumb Code    24  myradio_gpio.o(i.myRadio_gpio_irq_init)
+    myRadio_init                             0x00002161   Thumb Code    88  myradio.o(i.myRadio_init)
+    myRadio_process                          0x000021cd   Thumb Code   332  myradio.o(i.myRadio_process)
+    myRadio_receiver                         0x00002349   Thumb Code   102  myradio.o(i.myRadio_receiver)
+    myRadio_restartCadReceiver               0x000023d1   Thumb Code    70  myradio.o(i.myRadio_restartCadReceiver)
+    myRadio_setFrequency                     0x00002455   Thumb Code    28  myradio.o(i.myRadio_setFrequency)
+    myRadio_setRfParams                      0x00002479   Thumb Code    52  myradio.o(i.myRadio_setRfParams)
+    myRadio_setTxPower                       0x000024bd   Thumb Code    46  myradio.o(i.myRadio_setTxPower)
+    myRadio_timCallback                      0x000024f9   Thumb Code   128  myradio.o(i.myRadio_timCallback)
+    myRadio_transmitArray                    0x000025c9   Thumb Code   108  myradio.o(i.myRadio_transmitArray)
+    rfRx_callback                            0x00002651   Thumb Code   102  main.o(i.rfRx_callback)
+    std_delay_init                           0x00002709   Thumb Code    26  ciu32f003_std.o(i.std_delay_init)
+    std_delayms                              0x00002729   Thumb Code    24  ciu32f003_std.o(i.std_delayms)
+    std_delayus                              0x00002741   Thumb Code    56  ciu32f003_std.o(i.std_delayus)
+    std_exti_init                            0x000027b1   Thumb Code   308  ciu32f003_std_exti.o(i.std_exti_init)
+    std_gpio_init                            0x0000291d   Thumb Code   162  ciu32f003_std_gpio.o(i.std_gpio_init)
+    std_rcc_get_hclkfreq                     0x000029c5   Thumb Code    34  ciu32f003_std_rcc.o(i.std_rcc_get_hclkfreq)
+    std_rcc_get_pclkfreq                     0x000029ed   Thumb Code    44  ciu32f003_std_rcc.o(i.std_rcc_get_pclkfreq)
+    std_rcc_get_sysclkfreq                   0x00002a2d   Thumb Code    64  ciu32f003_std_rcc.o(i.std_rcc_get_sysclkfreq)
+    std_spi_init                             0x00002b01   Thumb Code    48  ciu32f003_std_spi.o(i.std_spi_init)
+    std_tim_init                             0x00002b49   Thumb Code    82  ciu32f003_std_tim.o(i.std_tim_init)
+    std_uart_init                            0x00002bb9   Thumb Code    68  ciu32f003_std_uart.o(i.std_uart_init)
+    UARTX_IO_list                            0x00002c04   Data          72  sn_uart.o(.constdata)
+    EXTI_LINE_list                           0x00002c4c   Data          32  sn_exit.o(.constdata)
+    g_SnrLog10Talbe                          0x00002f34   Data         124  pan_rf.o(.constdata)
+    Region$$Table$$Base                      0x00002fd0   Number         0  anon$$obj.o(Region$$Table)
+    Region$$Table$$Limit                     0x00002ff0   Number         0  anon$$obj.o(Region$$Table)
     ADC_VAL                                  0x20000000   Data           2  main.o(.data)
     MCU_VDD                                  0x20000004   Data           4  main.o(.data)
     sendTimeout                              0x20000008   Data           4  main.o(.data)
@@ -1904,216 +1927,225 @@ Memory Map of the image
 
   Image Entry point : 0x000000c1
 
-  Load Region LR_IROM1 (Base: 0x00000000, Size: 0x00002cfc, Max: 0x00006000, ABSOLUTE)
+  Load Region LR_IROM1 (Base: 0x00000000, Size: 0x000030e0, Max: 0x00006000, ABSOLUTE)
 
-    Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00002c0c, Max: 0x00006000, ABSOLUTE)
+    Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00002ff0, Max: 0x00006000, ABSOLUTE)
 
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
 
-    0x00000000   0x00000000   0x000000c0   Data   RO         1831    RESET               startup_ciu32f003.o
-    0x000000c0   0x000000c0   0x00000000   Code   RO         2870  * .ARM.Collect$$$$00000000  mc_p.l(entry.o)
-    0x000000c0   0x000000c0   0x00000004   Code   RO         3165    .ARM.Collect$$$$00000001  mc_p.l(entry2.o)
-    0x000000c4   0x000000c4   0x00000004   Code   RO         3168    .ARM.Collect$$$$00000004  mc_p.l(entry5.o)
-    0x000000c8   0x000000c8   0x00000000   Code   RO         3170    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o)
-    0x000000c8   0x000000c8   0x00000000   Code   RO         3172    .ARM.Collect$$$$0000000A  mc_p.l(entry8b.o)
-    0x000000c8   0x000000c8   0x00000008   Code   RO         3173    .ARM.Collect$$$$0000000B  mc_p.l(entry9a.o)
-    0x000000d0   0x000000d0   0x00000000   Code   RO         3175    .ARM.Collect$$$$0000000D  mc_p.l(entry10a.o)
-    0x000000d0   0x000000d0   0x00000000   Code   RO         3177    .ARM.Collect$$$$0000000F  mc_p.l(entry11a.o)
-    0x000000d0   0x000000d0   0x00000004   Code   RO         3166    .ARM.Collect$$$$00002712  mc_p.l(entry2.o)
-    0x000000d4   0x000000d4   0x0000001c   Code   RO         1832    .text               startup_ciu32f003.o
-    0x000000f0   0x000000f0   0x0000002c   Code   RO         2873    .text               mc_p.l(uidiv.o)
-    0x0000011c   0x0000011c   0x00000028   Code   RO         2875    .text               mc_p.l(idiv.o)
-    0x00000144   0x00000144   0x00000024   Code   RO         2877    .text               mc_p.l(rand.o)
-    0x00000168   0x00000168   0x00000024   Code   RO         2880    .text               mc_p.l(memcpya.o)
-    0x0000018c   0x0000018c   0x00000024   Code   RO         2882    .text               mc_p.l(memseta.o)
-    0x000001b0   0x000001b0   0x00000060   Code   RO         3180    .text               mc_p.l(uldiv.o)
-    0x00000210   0x00000210   0x00000024   Code   RO         3195    .text               mc_p.l(init.o)
-    0x00000234   0x00000234   0x00000020   Code   RO         3197    .text               mc_p.l(llshl.o)
-    0x00000254   0x00000254   0x00000022   Code   RO         3199    .text               mc_p.l(llushr.o)
+    0x00000000   0x00000000   0x000000c0   Data   RO         1854    RESET               startup_ciu32f003.o
+    0x000000c0   0x000000c0   0x00000000   Code   RO         2882  * .ARM.Collect$$$$00000000  mc_p.l(entry.o)
+    0x000000c0   0x000000c0   0x00000004   Code   RO         3177    .ARM.Collect$$$$00000001  mc_p.l(entry2.o)
+    0x000000c4   0x000000c4   0x00000004   Code   RO         3180    .ARM.Collect$$$$00000004  mc_p.l(entry5.o)
+    0x000000c8   0x000000c8   0x00000000   Code   RO         3182    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o)
+    0x000000c8   0x000000c8   0x00000000   Code   RO         3184    .ARM.Collect$$$$0000000A  mc_p.l(entry8b.o)
+    0x000000c8   0x000000c8   0x00000008   Code   RO         3185    .ARM.Collect$$$$0000000B  mc_p.l(entry9a.o)
+    0x000000d0   0x000000d0   0x00000000   Code   RO         3187    .ARM.Collect$$$$0000000D  mc_p.l(entry10a.o)
+    0x000000d0   0x000000d0   0x00000000   Code   RO         3189    .ARM.Collect$$$$0000000F  mc_p.l(entry11a.o)
+    0x000000d0   0x000000d0   0x00000004   Code   RO         3178    .ARM.Collect$$$$00002712  mc_p.l(entry2.o)
+    0x000000d4   0x000000d4   0x0000001c   Code   RO         1855    .text               startup_ciu32f003.o
+    0x000000f0   0x000000f0   0x0000002c   Code   RO         2885    .text               mc_p.l(uidiv.o)
+    0x0000011c   0x0000011c   0x00000028   Code   RO         2887    .text               mc_p.l(idiv.o)
+    0x00000144   0x00000144   0x00000024   Code   RO         2889    .text               mc_p.l(rand.o)
+    0x00000168   0x00000168   0x00000024   Code   RO         2892    .text               mc_p.l(memcpya.o)
+    0x0000018c   0x0000018c   0x00000024   Code   RO         2894    .text               mc_p.l(memseta.o)
+    0x000001b0   0x000001b0   0x00000060   Code   RO         3192    .text               mc_p.l(uldiv.o)
+    0x00000210   0x00000210   0x00000024   Code   RO         3207    .text               mc_p.l(init.o)
+    0x00000234   0x00000234   0x00000020   Code   RO         3209    .text               mc_p.l(llshl.o)
+    0x00000254   0x00000254   0x00000022   Code   RO         3211    .text               mc_p.l(llushr.o)
     0x00000276   0x00000276   0x00000002   PAD
-    0x00000278   0x00000278   0x00000068   Code   RO          369    i.ADC_COMP_IRQHandler  sn_adc.o
-    0x000002e0   0x000002e0   0x00000018   Code   RO         2048    i.BOARD_SPI_NSS_H   myradio_gpio.o
-    0x000002f8   0x000002f8   0x00000018   Code   RO         2049    i.BOARD_SPI_NSS_L   myradio_gpio.o
-    0x00000310   0x00000310   0x00000040   Code   RO         1231    i.EXTI0_1_IRQHandler  sn_exit.o
-    0x00000350   0x00000350   0x00000040   Code   RO         1232    i.EXTI2_3_IRQHandler  sn_exit.o
-    0x00000390   0x00000390   0x0000007c   Code   RO         1233    i.EXTI4_7_IRQHandler  sn_exit.o
-    0x0000040c   0x0000040c   0x00000014   Code   RO         2054    i.READ_RF_PAN3029_IRQ  myradio_gpio.o
-    0x00000420   0x00000420   0x0000008c   Code   RO         2236    i.RF_Calibrate      pan_rf.o
-    0x000004ac   0x000004ac   0x00000010   Code   RO         2238    i.RF_ClrIRQFlag     pan_rf.o
-    0x000004bc   0x000004bc   0x0000002c   Code   RO         2239    i.RF_ConfigAgc      pan_rf.o
-    0x000004e8   0x000004e8   0x00000030   Code   RO         2240    i.RF_ConfigDefaultParams  pan_rf.o
-    0x00000518   0x00000518   0x00000066   Code   RO         2241    i.RF_ConfigGpio     pan_rf.o
+    0x00000278   0x00000278   0x00000068   Code   RO          392    i.ADC_COMP_IRQHandler  sn_adc.o
+    0x000002e0   0x000002e0   0x00000018   Code   RO         2060    i.BOARD_SPI_NSS_H   myradio_gpio.o
+    0x000002f8   0x000002f8   0x00000018   Code   RO         2061    i.BOARD_SPI_NSS_L   myradio_gpio.o
+    0x00000310   0x00000310   0x00000040   Code   RO         1254    i.EXTI0_1_IRQHandler  sn_exit.o
+    0x00000350   0x00000350   0x00000040   Code   RO         1255    i.EXTI2_3_IRQHandler  sn_exit.o
+    0x00000390   0x00000390   0x0000007c   Code   RO         1256    i.EXTI4_7_IRQHandler  sn_exit.o
+    0x0000040c   0x0000040c   0x00000014   Code   RO         2066    i.READ_RF_PAN3029_IRQ  myradio_gpio.o
+    0x00000420   0x00000420   0x0000008c   Code   RO         2248    i.RF_Calibrate      pan_rf.o
+    0x000004ac   0x000004ac   0x00000010   Code   RO         2250    i.RF_ClrIRQFlag     pan_rf.o
+    0x000004bc   0x000004bc   0x0000002c   Code   RO         2251    i.RF_ConfigAgc      pan_rf.o
+    0x000004e8   0x000004e8   0x00000030   Code   RO         2252    i.RF_ConfigDefaultParams  pan_rf.o
+    0x00000518   0x00000518   0x00000066   Code   RO         2253    i.RF_ConfigGpio     pan_rf.o
     0x0000057e   0x0000057e   0x00000002   PAD
-    0x00000580   0x00000580   0x0000004c   Code   RO         2243    i.RF_ConfigUserParams  pan_rf.o
-    0x000005cc   0x000005cc   0x00000012   Code   RO         2244    i.RF_DelayMs        pan_rf.o
-    0x000005de   0x000005de   0x0000000c   Code   RO         2245    i.RF_DelayUs        pan_rf.o
-    0x000005ea   0x000005ea   0x0000001e   Code   RO         2248    i.RF_EnterContinousRxState  pan_rf.o
-    0x00000608   0x00000608   0x00000026   Code   RO         2250    i.RF_EnterSingleRxWithTimeout  pan_rf.o
-    0x0000062e   0x0000062e   0x00000010   Code   RO         2252    i.RF_EnterStandbyState  pan_rf.o
+    0x00000580   0x00000580   0x0000004c   Code   RO         2255    i.RF_ConfigUserParams  pan_rf.o
+    0x000005cc   0x000005cc   0x00000012   Code   RO         2256    i.RF_DelayMs        pan_rf.o
+    0x000005de   0x000005de   0x0000000c   Code   RO         2257    i.RF_DelayUs        pan_rf.o
+    0x000005ea   0x000005ea   0x0000001e   Code   RO         2260    i.RF_EnterContinousRxState  pan_rf.o
+    0x00000608   0x00000608   0x00000026   Code   RO         2262    i.RF_EnterSingleRxWithTimeout  pan_rf.o
+    0x0000062e   0x0000062e   0x00000010   Code   RO         2264    i.RF_EnterStandbyState  pan_rf.o
     0x0000063e   0x0000063e   0x00000002   PAD
-    0x00000640   0x00000640   0x00000068   Code   RO         2253    i.RF_ExitSleepState  pan_rf.o
-    0x000006a8   0x000006a8   0x00000010   Code   RO         2259    i.RF_GetIRQFlag     pan_rf.o
-    0x000006b8   0x000006b8   0x0000000c   Code   RO         2265    i.RF_GetOperateState  pan_rf.o
-    0x000006c4   0x000006c4   0x0000000e   Code   RO         2266    i.RF_GetPktRssi     pan_rf.o
-    0x000006d2   0x000006d2   0x00000018   Code   RO         2270    i.RF_GetRecvPayload  pan_rf.o
-    0x000006ea   0x000006ea   0x0000000c   Code   RO         2271    i.RF_GetRxPayloadLen  pan_rf.o
+    0x00000640   0x00000640   0x00000068   Code   RO         2265    i.RF_ExitSleepState  pan_rf.o
+    0x000006a8   0x000006a8   0x00000010   Code   RO         2271    i.RF_GetIRQFlag     pan_rf.o
+    0x000006b8   0x000006b8   0x0000000c   Code   RO         2277    i.RF_GetOperateState  pan_rf.o
+    0x000006c4   0x000006c4   0x0000000e   Code   RO         2278    i.RF_GetPktRssi     pan_rf.o
+    0x000006d2   0x000006d2   0x00000018   Code   RO         2282    i.RF_GetRecvPayload  pan_rf.o
+    0x000006ea   0x000006ea   0x0000000c   Code   RO         2283    i.RF_GetRxPayloadLen  pan_rf.o
     0x000006f6   0x000006f6   0x00000002   PAD
-    0x000006f8   0x000006f8   0x00000018   Code   RO         2059    i.RF_IRQHandler     myradio_gpio.o
-    0x00000710   0x00000710   0x000000b8   Code   RO         2277    i.RF_Init           pan_rf.o
-    0x000007c8   0x000007c8   0x00000024   Code   RO         2278    i.RF_InitAntGpio    pan_rf.o
-    0x000007ec   0x000007ec   0x00000002   Code   RO         2064    i.RF_PAN3029_NRST_H  myradio_gpio.o
+    0x000006f8   0x000006f8   0x00000018   Code   RO         2071    i.RF_IRQHandler     myradio_gpio.o
+    0x00000710   0x00000710   0x000000b8   Code   RO         2289    i.RF_Init           pan_rf.o
+    0x000007c8   0x000007c8   0x00000024   Code   RO         2290    i.RF_InitAntGpio    pan_rf.o
+    0x000007ec   0x000007ec   0x00000002   Code   RO         2076    i.RF_PAN3029_NRST_H  myradio_gpio.o
     0x000007ee   0x000007ee   0x00000002   PAD
-    0x000007f0   0x000007f0   0x00000058   Code   RO         2281    i.RF_ReadInfoByte   pan_rf.o
-    0x00000848   0x00000848   0x00000014   Code   RO         2282    i.RF_ReadPageReg    pan_rf.o
-    0x0000085c   0x0000085c   0x00000022   Code   RO         2284    i.RF_ReadReg        pan_rf.o
-    0x0000087e   0x0000087e   0x00000030   Code   RO         2285    i.RF_ReadRegs       pan_rf.o
-    0x000008ae   0x000008ae   0x0000001a   Code   RO         2286    i.RF_ResetLogic     pan_rf.o
-    0x000008c8   0x000008c8   0x00000026   Code   RO         2287    i.RF_ResetPageRegBits  pan_rf.o
+    0x000007f0   0x000007f0   0x00000058   Code   RO         2293    i.RF_ReadInfoByte   pan_rf.o
+    0x00000848   0x00000848   0x00000014   Code   RO         2294    i.RF_ReadPageReg    pan_rf.o
+    0x0000085c   0x0000085c   0x00000022   Code   RO         2296    i.RF_ReadReg        pan_rf.o
+    0x0000087e   0x0000087e   0x00000030   Code   RO         2297    i.RF_ReadRegs       pan_rf.o
+    0x000008ae   0x000008ae   0x0000001a   Code   RO         2298    i.RF_ResetLogic     pan_rf.o
+    0x000008c8   0x000008c8   0x00000026   Code   RO         2299    i.RF_ResetPageRegBits  pan_rf.o
     0x000008ee   0x000008ee   0x00000002   PAD
-    0x000008f0   0x000008f0   0x00000034   Code   RO         2288    i.RF_SetBW          pan_rf.o
-    0x00000924   0x00000924   0x0000001c   Code   RO         2289    i.RF_SetCR          pan_rf.o
-    0x00000940   0x00000940   0x0000001c   Code   RO         2290    i.RF_SetCRC         pan_rf.o
-    0x0000095c   0x0000095c   0x0000008c   Code   RO         2293    i.RF_SetChipMode    pan_rf.o
-    0x000009e8   0x000009e8   0x0000011c   Code   RO         2294    i.RF_SetFreq        pan_rf.o
-    0x00000b04   0x00000b04   0x00000034   Code   RO         2295    i.RF_SetInvertIQ    pan_rf.o
-    0x00000b38   0x00000b38   0x0000001c   Code   RO         2296    i.RF_SetLDR         pan_rf.o
-    0x00000b54   0x00000b54   0x0000000c   Code   RO         2299    i.RF_SetOperateState  pan_rf.o
-    0x00000b60   0x00000b60   0x00000024   Code   RO         2300    i.RF_SetPage        pan_rf.o
-    0x00000b84   0x00000b84   0x00000026   Code   RO         2301    i.RF_SetPageRegBits  pan_rf.o
+    0x000008f0   0x000008f0   0x00000034   Code   RO         2300    i.RF_SetBW          pan_rf.o
+    0x00000924   0x00000924   0x0000001c   Code   RO         2301    i.RF_SetCR          pan_rf.o
+    0x00000940   0x00000940   0x0000001c   Code   RO         2302    i.RF_SetCRC         pan_rf.o
+    0x0000095c   0x0000095c   0x0000008c   Code   RO         2305    i.RF_SetChipMode    pan_rf.o
+    0x000009e8   0x000009e8   0x0000011c   Code   RO         2306    i.RF_SetFreq        pan_rf.o
+    0x00000b04   0x00000b04   0x00000034   Code   RO         2307    i.RF_SetInvertIQ    pan_rf.o
+    0x00000b38   0x00000b38   0x0000001c   Code   RO         2308    i.RF_SetLDR         pan_rf.o
+    0x00000b54   0x00000b54   0x0000000c   Code   RO         2311    i.RF_SetOperateState  pan_rf.o
+    0x00000b60   0x00000b60   0x00000024   Code   RO         2312    i.RF_SetPage        pan_rf.o
+    0x00000b84   0x00000b84   0x00000026   Code   RO         2313    i.RF_SetPageRegBits  pan_rf.o
     0x00000baa   0x00000baa   0x00000002   PAD
-    0x00000bac   0x00000bac   0x00000024   Code   RO         2302    i.RF_SetPreamLen    pan_rf.o
-    0x00000bd0   0x00000bd0   0x00000024   Code   RO         2303    i.RF_SetRegulatorMode  pan_rf.o
-    0x00000bf4   0x00000bf4   0x00000018   Code   RO         2304    i.RF_SetRfState     pan_rf.o
-    0x00000c0c   0x00000c0c   0x00000012   Code   RO         2306    i.RF_SetRxMode      pan_rf.o
-    0x00000c1e   0x00000c1e   0x0000001a   Code   RO         2307    i.RF_SetRxTimeout   pan_rf.o
-    0x00000c38   0x00000c38   0x0000001c   Code   RO         2308    i.RF_SetSF          pan_rf.o
-    0x00000c54   0x00000c54   0x0000001c   Code   RO         2310    i.RF_SetTx          pan_rf.o
-    0x00000c70   0x00000c70   0x00000012   Code   RO         2311    i.RF_SetTxMode      pan_rf.o
+    0x00000bac   0x00000bac   0x00000024   Code   RO         2314    i.RF_SetPreamLen    pan_rf.o
+    0x00000bd0   0x00000bd0   0x00000024   Code   RO         2315    i.RF_SetRegulatorMode  pan_rf.o
+    0x00000bf4   0x00000bf4   0x00000018   Code   RO         2316    i.RF_SetRfState     pan_rf.o
+    0x00000c0c   0x00000c0c   0x00000012   Code   RO         2318    i.RF_SetRxMode      pan_rf.o
+    0x00000c1e   0x00000c1e   0x0000001a   Code   RO         2319    i.RF_SetRxTimeout   pan_rf.o
+    0x00000c38   0x00000c38   0x0000001c   Code   RO         2320    i.RF_SetSF          pan_rf.o
+    0x00000c54   0x00000c54   0x0000001c   Code   RO         2322    i.RF_SetTx          pan_rf.o
+    0x00000c70   0x00000c70   0x00000012   Code   RO         2323    i.RF_SetTxMode      pan_rf.o
     0x00000c82   0x00000c82   0x00000002   PAD
-    0x00000c84   0x00000c84   0x00000108   Code   RO         2312    i.RF_SetTxPower     pan_rf.o
-    0x00000d8c   0x00000d8c   0x00000040   Code   RO         2314    i.RF_StartCad       pan_rf.o
-    0x00000dcc   0x00000dcc   0x00000038   Code   RO         2316    i.RF_StopCad        pan_rf.o
-    0x00000e04   0x00000e04   0x0000000e   Code   RO         2318    i.RF_TurnoffLdoPA   pan_rf.o
-    0x00000e12   0x00000e12   0x0000000e   Code   RO         2321    i.RF_TurnonLdoPA    pan_rf.o
-    0x00000e20   0x00000e20   0x00000024   Code   RO         2322    i.RF_TurnonPA       pan_rf.o
-    0x00000e44   0x00000e44   0x00000014   Code   RO         2323    i.RF_TurnonRxAnt    pan_rf.o
-    0x00000e58   0x00000e58   0x00000014   Code   RO         2325    i.RF_TurnonTxAnt    pan_rf.o
-    0x00000e6c   0x00000e6c   0x00000034   Code   RO         2326    i.RF_TxSinglePkt    pan_rf.o
-    0x00000ea0   0x00000ea0   0x00000034   Code   RO         2327    i.RF_WriteGpioLevel  pan_rf.o
-    0x00000ed4   0x00000ed4   0x0000001a   Code   RO         2328    i.RF_WritePageReg   pan_rf.o
-    0x00000eee   0x00000eee   0x00000042   Code   RO         2329    i.RF_WritePageRegBits  pan_rf.o
-    0x00000f30   0x00000f30   0x0000001c   Code   RO         2330    i.RF_WritePageRegs  pan_rf.o
-    0x00000f4c   0x00000f4c   0x00000022   Code   RO         2331    i.RF_WriteReg       pan_rf.o
-    0x00000f6e   0x00000f6e   0x0000002e   Code   RO         2332    i.RF_WriteRegs      pan_rf.o
-    0x00000f9c   0x00000f9c   0x00000160   Code   RO         1234    i.SN_EXIT_set       sn_exit.o
-    0x000010fc   0x000010fc   0x00000026   Code   RO          287    i.SN_GPIO_PIN_get   sn_gpio.o
+    0x00000c84   0x00000c84   0x00000108   Code   RO         2324    i.RF_SetTxPower     pan_rf.o
+    0x00000d8c   0x00000d8c   0x00000040   Code   RO         2326    i.RF_StartCad       pan_rf.o
+    0x00000dcc   0x00000dcc   0x00000038   Code   RO         2328    i.RF_StopCad        pan_rf.o
+    0x00000e04   0x00000e04   0x0000000e   Code   RO         2330    i.RF_TurnoffLdoPA   pan_rf.o
+    0x00000e12   0x00000e12   0x0000000e   Code   RO         2333    i.RF_TurnonLdoPA    pan_rf.o
+    0x00000e20   0x00000e20   0x00000024   Code   RO         2334    i.RF_TurnonPA       pan_rf.o
+    0x00000e44   0x00000e44   0x00000014   Code   RO         2335    i.RF_TurnonRxAnt    pan_rf.o
+    0x00000e58   0x00000e58   0x00000014   Code   RO         2337    i.RF_TurnonTxAnt    pan_rf.o
+    0x00000e6c   0x00000e6c   0x00000034   Code   RO         2338    i.RF_TxSinglePkt    pan_rf.o
+    0x00000ea0   0x00000ea0   0x00000034   Code   RO         2339    i.RF_WriteGpioLevel  pan_rf.o
+    0x00000ed4   0x00000ed4   0x0000001a   Code   RO         2340    i.RF_WritePageReg   pan_rf.o
+    0x00000eee   0x00000eee   0x00000042   Code   RO         2341    i.RF_WritePageRegBits  pan_rf.o
+    0x00000f30   0x00000f30   0x0000001c   Code   RO         2342    i.RF_WritePageRegs  pan_rf.o
+    0x00000f4c   0x00000f4c   0x00000022   Code   RO         2343    i.RF_WriteReg       pan_rf.o
+    0x00000f6e   0x00000f6e   0x0000002e   Code   RO         2344    i.RF_WriteRegs      pan_rf.o
+    0x00000f9c   0x00000f9c   0x00000160   Code   RO         1257    i.SN_EXIT_set       sn_exit.o
+    0x000010fc   0x000010fc   0x00000026   Code   RO          310    i.SN_GPIO_PIN_get   sn_gpio.o
     0x00001122   0x00001122   0x00000002   PAD
-    0x00001124   0x00001124   0x00000068   Code   RO          288    i.SN_GPIO_PIN_init  sn_gpio.o
-    0x0000118c   0x0000118c   0x00000026   Code   RO          292    i.SN_GPIO_PIN_write  sn_gpio.o
+    0x00001124   0x00001124   0x00000068   Code   RO          311    i.SN_GPIO_PIN_init  sn_gpio.o
+    0x0000118c   0x0000118c   0x00000026   Code   RO          315    i.SN_GPIO_PIN_write  sn_gpio.o
     0x000011b2   0x000011b2   0x00000002   PAD
-    0x000011b4   0x000011b4   0x000000b8   Code   RO          888    i.SN_SPI_IO_SOF_cs  sn_spi.o
-    0x0000126c   0x0000126c   0x00000178   Code   RO          889    i.SN_SPI_IO_set     sn_spi.o
-    0x000013e4   0x000013e4   0x000000b8   Code   RO          890    i.SN_SPI_MASTER_init  sn_spi.o
-    0x0000149c   0x0000149c   0x00000018   Code   RO          892    i.SN_SPI_SOF_CS_H   sn_spi.o
-    0x000014b4   0x000014b4   0x00000018   Code   RO          893    i.SN_SPI_SOF_CS_L   sn_spi.o
-    0x000014cc   0x000014cc   0x00000110   Code   RO          842    i.SN_SYSCLK_set     sn_rcc.o
-    0x000015dc   0x000015dc   0x000000dc   Code   RO          561    i.SN_TIM1_CALL_set  sn_tim1_init.o
-    0x000016b8   0x000016b8   0x0000000a   Code   RO         2333    i.SPI_ReadByte      pan_rf.o
-    0x000016c2   0x000016c2   0x0000000c   Code   RO         2334    i.SPI_WriteByte     pan_rf.o
-    0x000016ce   0x000016ce   0x00000002   PAD
-    0x000016d0   0x000016d0   0x00000038   Code   RO          991    i.SysTick_Handler   sn_ddq.o
-    0x00001708   0x00001708   0x00000020   Code   RO         1798    i.SystemInit        system_ciu32f003.o
-    0x00001728   0x00001728   0x00000028   Code   RO          562    i.TIM1_BRK_UP_TRG_COM_IRQHandler  sn_tim1_init.o
-    0x00001750   0x00001750   0x00000028   Code   RO          613    i.TIM3_IRQHandler   sn_tim3_init.o
-    0x00001778   0x00001778   0x00000098   Code   RO          666    i.UART1_IRQHandler  sn_uart.o
-    0x00001810   0x00001810   0x00000098   Code   RO          667    i.UART2_IRQHandler  sn_uart.o
-    0x000018a8   0x000018a8   0x00000020   Code   RO         3019    i.__0printf$5       mc_p.l(printf5.o)
-    0x000018c8   0x000018c8   0x0000001c   Code   RO         1293    i.__ARM_common_switch8  sn_exit.o
-    0x000018e4   0x000018e4   0x00000018   Code   RO         1235    i.__NVIC_EnableIRQ  sn_exit.o
-    0x000018fc   0x000018fc   0x00000078   Code   RO          563    i.__NVIC_SetPriority  sn_tim1_init.o
-    0x00001974   0x00001974   0x00000078   Code   RO         1236    i.__NVIC_SetPriority  sn_exit.o
-    0x000019ec   0x000019ec   0x00000020   Code   RO         2335    i.__ctz             pan_rf.o
-    0x00001a0c   0x00001a0c   0x0000000e   Code   RO         3209    i.__scatterload_copy  mc_p.l(handlers.o)
-    0x00001a1a   0x00001a1a   0x00000002   Code   RO         3210    i.__scatterload_null  mc_p.l(handlers.o)
-    0x00001a1c   0x00001a1c   0x0000000e   Code   RO         3211    i.__scatterload_zeroinit  mc_p.l(handlers.o)
-    0x00001a2a   0x00001a2a   0x00000002   PAD
-    0x00001a2c   0x00001a2c   0x000002dc   Code   RO         3026    i._printf_core      mc_p.l(printf5.o)
-    0x00001d08   0x00001d08   0x00000024   Code   RO          671    i.fputc             sn_uart.o
-    0x00001d2c   0x00001d2c   0x00000024   Code   RO         1839    i.getRfPowerTabIndex  myradio.o
-    0x00001d50   0x00001d50   0x0000006c   Code   RO            3    i.main              main.o
-    0x00001dbc   0x00001dbc   0x00000040   Code   RO         2067    i.myRadioSpi_rwByte  myradio_gpio.o
-    0x00001dfc   0x00001dfc   0x0000000c   Code   RO         1842    i.myRadio_delay     myradio.o
-    0x00001e08   0x00001e08   0x00000074   Code   RO         1848    i.myRadio_gpioCadCallback  myradio.o
-    0x00001e7c   0x00001e7c   0x0000000c   Code   RO         1849    i.myRadio_gpioCallback  myradio.o
-    0x00001e88   0x00001e88   0x0000006c   Code   RO         2069    i.myRadio_gpio_init  myradio_gpio.o
-    0x00001ef4   0x00001ef4   0x00000020   Code   RO         2070    i.myRadio_gpio_irq_init  myradio_gpio.o
-    0x00001f14   0x00001f14   0x0000006c   Code   RO         1850    i.myRadio_init      myradio.o
-    0x00001f80   0x00001f80   0x0000017c   Code   RO         1851    i.myRadio_process   myradio.o
-    0x000020fc   0x000020fc   0x00000088   Code   RO         1852    i.myRadio_receiver  myradio.o
-    0x00002184   0x00002184   0x00000084   Code   RO         1853    i.myRadio_restartCadReceiver  myradio.o
-    0x00002208   0x00002208   0x00000024   Code   RO         1857    i.myRadio_setFrequency  myradio.o
-    0x0000222c   0x0000222c   0x00000044   Code   RO         1858    i.myRadio_setRfParams  myradio.o
-    0x00002270   0x00002270   0x0000003c   Code   RO         1860    i.myRadio_setTxPower  myradio.o
-    0x000022ac   0x000022ac   0x000000d0   Code   RO         1862    i.myRadio_timCallback  myradio.o
-    0x0000237c   0x0000237c   0x00000088   Code   RO         1864    i.myRadio_transmitArray  myradio.o
-    0x00002404   0x00002404   0x00000034   Code   RO            4    i.rfRx_callback     main.o
-    0x00002438   0x00002438   0x00000020   Code   RO          377    i.std_adc_calc_vref_voltage  sn_adc.o
-    0x00002458   0x00002458   0x0000000c   Code   RO          378    i.std_adc_clear_flag  sn_adc.o
-    0x00002464   0x00002464   0x00000010   Code   RO          379    i.std_adc_get_flag  sn_adc.o
-    0x00002474   0x00002474   0x00000020   Code   RO         1304    i.std_delay_init    ciu32f003_std.o
-    0x00002494   0x00002494   0x00000018   Code   RO         1305    i.std_delayms       ciu32f003_std.o
-    0x000024ac   0x000024ac   0x00000044   Code   RO         1307    i.std_delayus       ciu32f003_std.o
-    0x000024f0   0x000024f0   0x00000014   Code   RO         1237    i.std_exti_clear_pending  sn_exit.o
-    0x00002504   0x00002504   0x00000018   Code   RO         1238    i.std_exti_get_pending_status  sn_exit.o
-    0x0000251c   0x0000251c   0x00000138   Code   RO         1426    i.std_exti_init     ciu32f003_std_exti.o
-    0x00002654   0x00002654   0x00000014   Code   RO          843    i.std_flash_set_latency  sn_rcc.o
-    0x00002668   0x00002668   0x00000020   Code   RO          293    i.std_gpio_get_pin_mode  sn_gpio.o
-    0x00002688   0x00002688   0x000000a2   Code   RO         1505    i.std_gpio_init     ciu32f003_std_gpio.o
-    0x0000272a   0x0000272a   0x00000004   Code   RO          896    i.std_gpio_set_pin  sn_spi.o
-    0x0000272e   0x0000272e   0x00000002   PAD
-    0x00002730   0x00002730   0x00000010   Code   RO          844    i.std_rcc_get_sysclk_source  sn_rcc.o
-    0x00002740   0x00002740   0x00000018   Code   RO          295    i.std_rcc_gpio_clk_enable  sn_gpio.o
-    0x00002758   0x00002758   0x00000018   Code   RO          897    i.std_rcc_gpio_clk_enable  sn_spi.o
-    0x00002770   0x00002770   0x00000018   Code   RO         1239    i.std_rcc_gpio_clk_enable  sn_exit.o
-    0x00002788   0x00002788   0x00000014   Code   RO          845    i.std_rcc_set_sysclk_source  sn_rcc.o
-    0x0000279c   0x0000279c   0x00000010   Code   RO         2071    i.std_spi_get_flag  myradio_gpio.o
-    0x000027ac   0x000027ac   0x00000034   Code   RO         1652    i.std_spi_init      ciu32f003_std_spi.o
-    0x000027e0   0x000027e0   0x0000000c   Code   RO         2072    i.std_spi_set_nss_output  myradio_gpio.o
-    0x000027ec   0x000027ec   0x00000006   Code   RO          564    i.std_tim_clear_flag  sn_tim1_init.o
-    0x000027f2   0x000027f2   0x00000002   PAD
-    0x000027f4   0x000027f4   0x0000005c   Code   RO         1686    i.std_tim_init      ciu32f003_std_tim.o
-    0x00002850   0x00002850   0x00000004   Code   RO          673    i.std_uart_clear_flag  sn_uart.o
-    0x00002854   0x00002854   0x00000008   Code   RO          675    i.std_uart_get_cr1_interrupt_enable  sn_uart.o
-    0x0000285c   0x0000285c   0x00000008   Code   RO          676    i.std_uart_get_flag  sn_uart.o
-    0x00002864   0x00002864   0x00000004   Code   RO          677    i.std_uart_tx_write_data  sn_uart.o
-    0x00002868   0x00002868   0x00000020   Data   RO         1240    .constdata          sn_exit.o
-    0x00002888   0x00002888   0x00000364   Data   RO         2337    .constdata          pan_rf.o
-    0x00002bec   0x00002bec   0x00000020   Data   RO         3207    Region$$Table       anon$$obj.o
+    0x000011b4   0x000011b4   0x000000b8   Code   RO          911    i.SN_SPI_IO_SOF_cs  sn_spi.o
+    0x0000126c   0x0000126c   0x00000178   Code   RO          912    i.SN_SPI_IO_set     sn_spi.o
+    0x000013e4   0x000013e4   0x000000b8   Code   RO          913    i.SN_SPI_MASTER_init  sn_spi.o
+    0x0000149c   0x0000149c   0x00000018   Code   RO          915    i.SN_SPI_SOF_CS_H   sn_spi.o
+    0x000014b4   0x000014b4   0x00000018   Code   RO          916    i.SN_SPI_SOF_CS_L   sn_spi.o
+    0x000014cc   0x000014cc   0x00000110   Code   RO          865    i.SN_SYSCLK_set     sn_rcc.o
+    0x000015dc   0x000015dc   0x000000dc   Code   RO          584    i.SN_TIM1_CALL_set  sn_tim1_init.o
+    0x000016b8   0x000016b8   0x0000019c   Code   RO          688    i.SN_UART_init      sn_uart.o
+    0x00001854   0x00001854   0x0000000a   Code   RO         2345    i.SPI_ReadByte      pan_rf.o
+    0x0000185e   0x0000185e   0x0000000c   Code   RO         2346    i.SPI_WriteByte     pan_rf.o
+    0x0000186a   0x0000186a   0x00000002   PAD
+    0x0000186c   0x0000186c   0x00000038   Code   RO         1014    i.SysTick_Handler   sn_ddq.o
+    0x000018a4   0x000018a4   0x00000020   Code   RO         1821    i.SystemInit        system_ciu32f003.o
+    0x000018c4   0x000018c4   0x00000028   Code   RO          585    i.TIM1_BRK_UP_TRG_COM_IRQHandler  sn_tim1_init.o
+    0x000018ec   0x000018ec   0x00000028   Code   RO          636    i.TIM3_IRQHandler   sn_tim3_init.o
+    0x00001914   0x00001914   0x00000098   Code   RO          689    i.UART1_IRQHandler  sn_uart.o
+    0x000019ac   0x000019ac   0x00000098   Code   RO          690    i.UART2_IRQHandler  sn_uart.o
+    0x00001a44   0x00001a44   0x00000020   Code   RO         3031    i.__0printf$5       mc_p.l(printf5.o)
+    0x00001a64   0x00001a64   0x0000001c   Code   RO         1316    i.__ARM_common_switch8  sn_exit.o
+    0x00001a80   0x00001a80   0x00000018   Code   RO         1258    i.__NVIC_EnableIRQ  sn_exit.o
+    0x00001a98   0x00001a98   0x00000078   Code   RO          586    i.__NVIC_SetPriority  sn_tim1_init.o
+    0x00001b10   0x00001b10   0x00000078   Code   RO         1259    i.__NVIC_SetPriority  sn_exit.o
+    0x00001b88   0x00001b88   0x00000020   Code   RO         2347    i.__ctz             pan_rf.o
+    0x00001ba8   0x00001ba8   0x0000000e   Code   RO         3221    i.__scatterload_copy  mc_p.l(handlers.o)
+    0x00001bb6   0x00001bb6   0x00000002   Code   RO         3222    i.__scatterload_null  mc_p.l(handlers.o)
+    0x00001bb8   0x00001bb8   0x0000000e   Code   RO         3223    i.__scatterload_zeroinit  mc_p.l(handlers.o)
+    0x00001bc6   0x00001bc6   0x00000002   PAD
+    0x00001bc8   0x00001bc8   0x000002dc   Code   RO         3038    i._printf_core      mc_p.l(printf5.o)
+    0x00001ea4   0x00001ea4   0x00000024   Code   RO          694    i.fputc             sn_uart.o
+    0x00001ec8   0x00001ec8   0x00000024   Code   RO         1862    i.getRfPowerTabIndex  myradio.o
+    0x00001eec   0x00001eec   0x000000d8   Code   RO            3    i.main              main.o
+    0x00001fc4   0x00001fc4   0x00000022   Code   RO            4    i.motor_long        main.o
+    0x00001fe6   0x00001fe6   0x00000022   Code   RO            5    i.motor_short       main.o
+    0x00002008   0x00002008   0x00000040   Code   RO         2079    i.myRadioSpi_rwByte  myradio_gpio.o
+    0x00002048   0x00002048   0x0000000c   Code   RO         1865    i.myRadio_delay     myradio.o
+    0x00002054   0x00002054   0x00000074   Code   RO         1871    i.myRadio_gpioCadCallback  myradio.o
+    0x000020c8   0x000020c8   0x0000000c   Code   RO         1872    i.myRadio_gpioCallback  myradio.o
+    0x000020d4   0x000020d4   0x0000006c   Code   RO         2081    i.myRadio_gpio_init  myradio_gpio.o
+    0x00002140   0x00002140   0x00000020   Code   RO         2082    i.myRadio_gpio_irq_init  myradio_gpio.o
+    0x00002160   0x00002160   0x0000006c   Code   RO         1873    i.myRadio_init      myradio.o
+    0x000021cc   0x000021cc   0x0000017c   Code   RO         1874    i.myRadio_process   myradio.o
+    0x00002348   0x00002348   0x00000088   Code   RO         1875    i.myRadio_receiver  myradio.o
+    0x000023d0   0x000023d0   0x00000084   Code   RO         1876    i.myRadio_restartCadReceiver  myradio.o
+    0x00002454   0x00002454   0x00000024   Code   RO         1880    i.myRadio_setFrequency  myradio.o
+    0x00002478   0x00002478   0x00000044   Code   RO         1881    i.myRadio_setRfParams  myradio.o
+    0x000024bc   0x000024bc   0x0000003c   Code   RO         1883    i.myRadio_setTxPower  myradio.o
+    0x000024f8   0x000024f8   0x000000d0   Code   RO         1885    i.myRadio_timCallback  myradio.o
+    0x000025c8   0x000025c8   0x00000088   Code   RO         1887    i.myRadio_transmitArray  myradio.o
+    0x00002650   0x00002650   0x0000007c   Code   RO            6    i.rfRx_callback     main.o
+    0x000026cc   0x000026cc   0x00000020   Code   RO          400    i.std_adc_calc_vref_voltage  sn_adc.o
+    0x000026ec   0x000026ec   0x0000000c   Code   RO          401    i.std_adc_clear_flag  sn_adc.o
+    0x000026f8   0x000026f8   0x00000010   Code   RO          402    i.std_adc_get_flag  sn_adc.o
+    0x00002708   0x00002708   0x00000020   Code   RO         1327    i.std_delay_init    ciu32f003_std.o
+    0x00002728   0x00002728   0x00000018   Code   RO         1328    i.std_delayms       ciu32f003_std.o
+    0x00002740   0x00002740   0x00000044   Code   RO         1330    i.std_delayus       ciu32f003_std.o
+    0x00002784   0x00002784   0x00000014   Code   RO         1260    i.std_exti_clear_pending  sn_exit.o
+    0x00002798   0x00002798   0x00000018   Code   RO         1261    i.std_exti_get_pending_status  sn_exit.o
+    0x000027b0   0x000027b0   0x00000138   Code   RO         1449    i.std_exti_init     ciu32f003_std_exti.o
+    0x000028e8   0x000028e8   0x00000014   Code   RO          866    i.std_flash_set_latency  sn_rcc.o
+    0x000028fc   0x000028fc   0x00000020   Code   RO          316    i.std_gpio_get_pin_mode  sn_gpio.o
+    0x0000291c   0x0000291c   0x000000a2   Code   RO         1528    i.std_gpio_init     ciu32f003_std_gpio.o
+    0x000029be   0x000029be   0x00000004   Code   RO          919    i.std_gpio_set_pin  sn_spi.o
+    0x000029c2   0x000029c2   0x00000002   PAD
+    0x000029c4   0x000029c4   0x00000028   Code   RO         1639    i.std_rcc_get_hclkfreq  ciu32f003_std_rcc.o
+    0x000029ec   0x000029ec   0x00000030   Code   RO         1640    i.std_rcc_get_pclkfreq  ciu32f003_std_rcc.o
+    0x00002a1c   0x00002a1c   0x00000010   Code   RO          867    i.std_rcc_get_sysclk_source  sn_rcc.o
+    0x00002a2c   0x00002a2c   0x00000050   Code   RO         1641    i.std_rcc_get_sysclkfreq  ciu32f003_std_rcc.o
+    0x00002a7c   0x00002a7c   0x00000018   Code   RO          318    i.std_rcc_gpio_clk_enable  sn_gpio.o
+    0x00002a94   0x00002a94   0x00000018   Code   RO          695    i.std_rcc_gpio_clk_enable  sn_uart.o
+    0x00002aac   0x00002aac   0x00000018   Code   RO          920    i.std_rcc_gpio_clk_enable  sn_spi.o
+    0x00002ac4   0x00002ac4   0x00000018   Code   RO         1262    i.std_rcc_gpio_clk_enable  sn_exit.o
+    0x00002adc   0x00002adc   0x00000014   Code   RO          868    i.std_rcc_set_sysclk_source  sn_rcc.o
+    0x00002af0   0x00002af0   0x00000010   Code   RO         2083    i.std_spi_get_flag  myradio_gpio.o
+    0x00002b00   0x00002b00   0x00000034   Code   RO         1675    i.std_spi_init      ciu32f003_std_spi.o
+    0x00002b34   0x00002b34   0x0000000c   Code   RO         2084    i.std_spi_set_nss_output  myradio_gpio.o
+    0x00002b40   0x00002b40   0x00000006   Code   RO          587    i.std_tim_clear_flag  sn_tim1_init.o
+    0x00002b46   0x00002b46   0x00000002   PAD
+    0x00002b48   0x00002b48   0x0000005c   Code   RO         1709    i.std_tim_init      ciu32f003_std_tim.o
+    0x00002ba4   0x00002ba4   0x00000004   Code   RO          696    i.std_uart_clear_flag  sn_uart.o
+    0x00002ba8   0x00002ba8   0x00000008   Code   RO          698    i.std_uart_get_cr1_interrupt_enable  sn_uart.o
+    0x00002bb0   0x00002bb0   0x00000008   Code   RO          699    i.std_uart_get_flag  sn_uart.o
+    0x00002bb8   0x00002bb8   0x00000048   Code   RO         1786    i.std_uart_init     ciu32f003_std_uart.o
+    0x00002c00   0x00002c00   0x00000004   Code   RO          700    i.std_uart_tx_write_data  sn_uart.o
+    0x00002c04   0x00002c04   0x00000048   Data   RO          701    .constdata          sn_uart.o
+    0x00002c4c   0x00002c4c   0x00000020   Data   RO         1263    .constdata          sn_exit.o
+    0x00002c6c   0x00002c6c   0x00000364   Data   RO         2349    .constdata          pan_rf.o
+    0x00002fd0   0x00002fd0   0x00000020   Data   RO         3219    Region$$Table       anon$$obj.o
 
 
-    Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00002c0c, Size: 0x000004b0, Max: 0x00000c00, ABSOLUTE)
+    Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00002ff0, Size: 0x000004b0, Max: 0x00000c00, ABSOLUTE)
 
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
 
-    0x20000000   0x00002c0c   0x0000000c   Data   RW            5    .data               main.o
-    0x2000000c   0x00002c18   0x0000000a   Data   RW          383    .data               sn_adc.o
-    0x20000016   0x00002c22   0x00000002   PAD
-    0x20000018   0x00002c24   0x00000004   Data   RW          565    .data               sn_tim1_init.o
-    0x2000001c   0x00002c28   0x00000004   Data   RW          616    .data               sn_tim3_init.o
-    0x20000020   0x00002c2c   0x00000024   Data   RW          679    .data               sn_uart.o
-    0x20000044   0x00002c50   0x00000014   Data   RW          901    .data               sn_spi.o
-    0x20000058   0x00002c64   0x00000020   Data   RW         1241    .data               sn_exit.o
-    0x20000078   0x00002c84   0x00000004   Data   RW         1800    .data               system_ciu32f003.o
-    0x2000007c   0x00002c88   0x00000060   Data   RW         1867    .data               myradio.o
-    0x200000dc   0x00002ce8   0x00000008   Data   RW         2073    .data               myradio_gpio.o
-    0x200000e4   0x00002cf0   0x00000004   Data   RW         2338    .data               pan_rf.o
-    0x200000e8   0x00002cf4   0x00000004   Data   RW         2878    .data               mc_p.l(rand.o)
-    0x200000ec   0x00002cf8   0x00000004   Data   RW         3179    .data               mc_p.l(stdout.o)
-    0x200000f0        -       0x00000012   Zero   RW          381    .bss                sn_adc.o
-    0x20000102   0x00002cfc   0x00000002   PAD
-    0x20000104        -       0x00000084   Zero   RW          992    .bss                sn_ddq.o
-    0x20000188        -       0x00000128   Zero   RW         2336    .bss                pan_rf.o
-    0x200002b0        -       0x00000200   Zero   RW         1829    STACK               startup_ciu32f003.o
+    0x20000000   0x00002ff0   0x0000000c   Data   RW            7    .data               main.o
+    0x2000000c   0x00002ffc   0x0000000a   Data   RW          406    .data               sn_adc.o
+    0x20000016   0x00003006   0x00000002   PAD
+    0x20000018   0x00003008   0x00000004   Data   RW          588    .data               sn_tim1_init.o
+    0x2000001c   0x0000300c   0x00000004   Data   RW          639    .data               sn_tim3_init.o
+    0x20000020   0x00003010   0x00000024   Data   RW          702    .data               sn_uart.o
+    0x20000044   0x00003034   0x00000014   Data   RW          924    .data               sn_spi.o
+    0x20000058   0x00003048   0x00000020   Data   RW         1264    .data               sn_exit.o
+    0x20000078   0x00003068   0x00000004   Data   RW         1823    .data               system_ciu32f003.o
+    0x2000007c   0x0000306c   0x00000060   Data   RW         1890    .data               myradio.o
+    0x200000dc   0x000030cc   0x00000008   Data   RW         2085    .data               myradio_gpio.o
+    0x200000e4   0x000030d4   0x00000004   Data   RW         2350    .data               pan_rf.o
+    0x200000e8   0x000030d8   0x00000004   Data   RW         2890    .data               mc_p.l(rand.o)
+    0x200000ec   0x000030dc   0x00000004   Data   RW         3191    .data               mc_p.l(stdout.o)
+    0x200000f0        -       0x00000012   Zero   RW          404    .bss                sn_adc.o
+    0x20000102   0x000030e0   0x00000002   PAD
+    0x20000104        -       0x00000084   Zero   RW         1015    .bss                sn_ddq.o
+    0x20000188        -       0x00000128   Zero   RW         2348    .bss                pan_rf.o
+    0x200002b0        -       0x00000200   Zero   RW         1852    STACK               startup_ciu32f003.o
 
 
 ==============================================================================
@@ -2126,12 +2158,14 @@ Image component sizes
        124         18          0          0          0       1669   ciu32f003_std.o
        312          4          0          0          0       4328   ciu32f003_std_exti.o
        162          0          0          0          0       4568   ciu32f003_std_gpio.o
+       168         26          0          0          0       8519   ciu32f003_std_rcc.o
         52          4          0          0          0       1063   ciu32f003_std_spi.o
         92         10          0          0          0      13639   ciu32f003_std_tim.o
+        72          4          0          0          0       5388   ciu32f003_std_uart.o
          0          0          0          0          0      86212   common.o
          0          0          0          0          0       6380   i2c_bsp.o
-       160         22          0         12          0       8217   main.o
-      1440        356          0         96          0      12969   myradio.o
+       408         88          0         12          0      10676   main.o
+      1440        356          0         96          0      11601   myradio.o
        326         50          0          8          0       8097   myradio_gpio.o
       2954        166        868          4        296      40258   pan_rf.o
        164         38          0         10         18      11204   sn_adc.o
@@ -2142,12 +2176,12 @@ Image component sizes
        820         82          0         20          0      17691   sn_spi.o
        386         38          0          4          0      30272   sn_tim1_init.o
         40          8          0          4          0      13590   sn_tim3_init.o
-       364         64          0         36          0      18430   sn_uart.o
+       800         90         72         36          0      26645   sn_uart.o
         28          8        192          0        512        660   startup_ciu32f003.o
         32         18          0          4          0       1480   system_ciu32f003.o
 
     ----------------------------------------------------------------------
-      8944       1076       1124        232        960     312598   Object Totals
+      9868       1198       1196        232        960     335811   Object Totals
          0          0         32          0          0          0   (incl. Generated)
         24          0          0          2          2          0   (incl. Padding)
 
@@ -2196,15 +2230,15 @@ Image component sizes
 
       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   
 
-     10152       1156       1124        240        960     307470   Grand Totals
-     10152       1156       1124        240        960     307470   ELF Image Totals
-     10152       1156       1124        240          0          0   ROM Totals
+     11076       1278       1196        240        960     330331   Grand Totals
+     11076       1278       1196        240        960     330331   ELF Image Totals
+     11076       1278       1196        240          0          0   ROM Totals
 
 ==============================================================================
 
-    Total RO  Size (Code + RO Data)                11276 (  11.01kB)
+    Total RO  Size (Code + RO Data)                12272 (  11.98kB)
     Total RW  Size (RW Data + ZI Data)              1200 (   1.17kB)
-    Total ROM Size (Code + RO Data + RW Data)      11516 (  11.25kB)
+    Total ROM Size (Code + RO Data + RW Data)      12512 (  12.22kB)
 
 ==============================================================================
 

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 7 - 8
project/MY_CIU32F003.uvguix.lqp13


+ 1 - 1
project/MY_CIU32F003.uvoptx

@@ -140,7 +140,7 @@
         <SetRegEntry>
           <Number>0</Number>
           <Key>CMSIS_AGDI</Key>
-          <Name>-X"CMSIS-DAP v1" -U2CB207E4C284 -O462 -S9 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FCC00 -FN1 -FF0CIU32F003x5.FLM -FS00 -FL06000 -FP0($$Device:CIU32F003F5Px$CMSIS\Flash\CIU32F003x5.FLM)</Name>
+          <Name>-X"CMSIS-DAP v1" -U2CB207E4C284 -O1486 -S9 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FCC00 -FN1 -FF0CIU32F003x5.FLM -FS00 -FL06000 -FP0($$Device:CIU32F003F5Px$CMSIS\Flash\CIU32F003x5.FLM)</Name>
         </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>

BIN
project/Objects/MY_CIU32F003.axf


+ 16 - 2
project/Objects/MY_CIU32F003.build_log.htm

@@ -27,7 +27,21 @@ Project File Date:  09/19/2025
 <h2>Output:</h2>
 *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'd:\Keil_v5\ARM\ARMCC\Bin'
 Build target 'MY_CIU32F003'
-".\Objects\MY_CIU32F003.axf" - 0 Error(s), 0 Warning(s).
+compiling main.c...
+..\User\main.c(52): warning:  #223-D: function "motor_long" declared implicitly
+              motor_long();
+..\User\main.c(71): warning:  #223-D: function "motor_short" declared implicitly
+              motor_short();
+..\User\main.c(79): warning:  #159-D: declaration is incompatible with previous "motor_short"  (declared at line 71)
+  void motor_short(void)
+..\User\main.c(85): warning:  #159-D: declaration is incompatible with previous "motor_long"  (declared at line 52)
+  void motor_long(void)
+..\User\main.c(120): warning:  #223-D: function "rand" declared implicitly
+          if (sendTimeout++ > 1000+rand()%100)
+..\User\main.c: 5 warnings, 0 errors
+linking...
+Program Size: Code=11076 RO-data=1196 RW-data=240 ZI-data=960  
+".\Objects\MY_CIU32F003.axf" - 0 Error(s), 5 Warning(s).
 
 <h2>Software Packages used:</h2>
 
@@ -40,7 +54,7 @@ Package Vendor: HED
   D:\keil_V5_pack\HED\CIU32F003_DFP\1.0.0\Drivers\CMSIS\Device\CIU32F003\Include
 
 <h2>Collection of Component Files used:</h2>
-Build Time Elapsed:  00:00:00
+Build Time Elapsed:  00:00:01
 </pre>
 </body>
 </html>

+ 236 - 154
project/Objects/MY_CIU32F003.htm

@@ -3,9 +3,9 @@
 <title>Static Call Graph - [.\Objects\MY_CIU32F003.axf]</title></head>
 <body><HR>
 <H1>Static Call Graph for image .\Objects\MY_CIU32F003.axf</H1><HR>
-<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Fri Sep 19 08:54:16 2025
+<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Mon Sep 29 14:42:21 2025
 <BR><P>
-<H3>Maximum Stack Usage =        668 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
+<H3>Maximum Stack Usage =        676 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
 Call chain for Maximum Stack Depth:</H3>
 main &rArr; myRadio_process &rArr; RF_GetRecvPayload &rArr; RF_GetRxPayloadLen &rArr; RF_ReadPageReg &rArr; RF_SetPage &rArr; RF_WriteReg &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 <P>
@@ -60,7 +60,7 @@ Global Symbols
 <P><STRONG><a name="[16]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
 <BR>[Address Reference Count : 1]<UL><LI> startup_ciu32f003.o(.text)
 </UL>
-<P><STRONG><a name="[a6]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
+<P><STRONG><a name="[ae]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
 
 <P><STRONG><a name="[1f]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
 <BR><BR>[Calls]<UL><LI><a href="#[20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
@@ -70,15 +70,15 @@ Global Symbols
 <BR><BR>[Called By]<UL><LI><a href="#[20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
 </UL>
 
-<P><STRONG><a name="[a7]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
+<P><STRONG><a name="[af]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
 
-<P><STRONG><a name="[a8]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
+<P><STRONG><a name="[b0]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
 
-<P><STRONG><a name="[a9]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
+<P><STRONG><a name="[b1]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
 
-<P><STRONG><a name="[aa]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
+<P><STRONG><a name="[b2]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
 
-<P><STRONG><a name="[ab]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
+<P><STRONG><a name="[b3]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
 
 <P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_ciu32f003.o(.text))
 <BR>[Address Reference Count : 1]<UL><LI> startup_ciu32f003.o(RESET)
@@ -133,7 +133,7 @@ Global Symbols
 <P><STRONG><a name="[d]"></a>TIM1_CC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_ciu32f003.o(.text))
 <BR>[Address Reference Count : 1]<UL><LI> startup_ciu32f003.o(RESET)
 </UL>
-<P><STRONG><a name="[ac]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
+<P><STRONG><a name="[b4]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
 
 <P><STRONG><a name="[22]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text))
 <BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = __aeabi_uidivmod
@@ -141,11 +141,12 @@ Global Symbols
 <BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayus
 <LI><a href="#[2c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_adc_calc_vref_voltage
 <LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_gpio_get_pin_mode
+<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_init
 <LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetFreq
 <LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
 </UL>
 
-<P><STRONG><a name="[ad]"></a>__aeabi_idiv</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, idiv.o(.text), UNUSED)
+<P><STRONG><a name="[b5]"></a>__aeabi_idiv</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, idiv.o(.text), UNUSED)
 
 <P><STRONG><a name="[21]"></a>__aeabi_idivmod</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, idiv.o(.text))
 <BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = __aeabi_idivmod &rArr; __aeabi_uidivmod
@@ -155,28 +156,28 @@ Global Symbols
 <BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 </UL>
 
-<P><STRONG><a name="[95]"></a>rand</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, rand.o(.text))
+<P><STRONG><a name="[9a]"></a>rand</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, rand.o(.text))
 <BR><BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 </UL>
 
-<P><STRONG><a name="[ae]"></a>srand</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, rand.o(.text), UNUSED)
+<P><STRONG><a name="[b6]"></a>srand</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, rand.o(.text), UNUSED)
 
-<P><STRONG><a name="[af]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
+<P><STRONG><a name="[b7]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
 
-<P><STRONG><a name="[9e]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text))
-<BR><BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<P><STRONG><a name="[a3]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text))
+<BR><BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
 </UL>
 
-<P><STRONG><a name="[b0]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
+<P><STRONG><a name="[b8]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
 
 <P><STRONG><a name="[24]"></a>__aeabi_memset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
 <BR><BR>[Called By]<UL><LI><a href="#[25]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_memset$wrapper
 <LI><a href="#[23]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
 </UL>
 
-<P><STRONG><a name="[b1]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
+<P><STRONG><a name="[b9]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
 
-<P><STRONG><a name="[b2]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
+<P><STRONG><a name="[ba]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
 
 <P><STRONG><a name="[23]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
 <BR><BR>[Calls]<UL><LI><a href="#[24]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
@@ -184,6 +185,7 @@ Global Symbols
 
 <P><STRONG><a name="[73]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
 <BR><BR>[Called By]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_TIM1_CALL_set
+<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_UART_init
 <LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_init
 <LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_EXIT_set
 <LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SPI_MASTER_init
@@ -191,7 +193,7 @@ Global Symbols
 <LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SPI_IO_SOF_cs
 </UL>
 
-<P><STRONG><a name="[b3]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
+<P><STRONG><a name="[bb]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
 
 <P><STRONG><a name="[25]"></a>_memset$wrapper</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
 <BR><BR>[Calls]<UL><LI><a href="#[24]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
@@ -201,7 +203,7 @@ Global Symbols
 <BR><BR>[Calls]<UL><LI><a href="#[27]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
 <LI><a href="#[28]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
 </UL>
-<BR>[Called By]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
+<BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
 </UL>
 
 <P><STRONG><a name="[20]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
@@ -210,19 +212,19 @@ Global Symbols
 <BR>[Called By]<UL><LI><a href="#[1f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
 </UL>
 
-<P><STRONG><a name="[b4]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
+<P><STRONG><a name="[bc]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
 
 <P><STRONG><a name="[28]"></a>__aeabi_llsl</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)
 <BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
 </UL>
 
-<P><STRONG><a name="[b5]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)
+<P><STRONG><a name="[bd]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)
 
 <P><STRONG><a name="[27]"></a>__aeabi_llsr</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED)
 <BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
 </UL>
 
-<P><STRONG><a name="[b6]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED)
+<P><STRONG><a name="[be]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED)
 
 <P><STRONG><a name="[b]"></a>ADC_COMP_IRQHandler</STRONG> (Thumb, 88 bytes, Stack size 8 bytes, sn_adc.o(i.ADC_COMP_IRQHandler))
 <BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = ADC_COMP_IRQHandler &rArr; std_adc_calc_vref_voltage &rArr; __aeabi_uidivmod
@@ -239,7 +241,7 @@ Global Symbols
 <BR>[Calls]<UL><LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_write
 <LI><a href="#[2e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_spi_set_nss_output
 </UL>
-<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
+<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
 <LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WriteRegs
 <LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WriteReg
 <LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ReadRegs
@@ -306,7 +308,7 @@ Global Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WritePageReg
 </UL>
-<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
 </UL>
 
 <P><STRONG><a name="[3b]"></a>RF_ConfigAgc</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, pan_rf.o(i.RF_ConfigAgc))
@@ -351,7 +353,7 @@ Global Symbols
 <LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetChipMode
 <LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetCRC
 </UL>
-<BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
 </UL>
 
 <P><STRONG><a name="[4b]"></a>RF_DelayMs</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, pan_rf.o(i.RF_DelayMs))
@@ -393,7 +395,7 @@ Global Symbols
 <LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetRxMode
 <LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetRfState
 </UL>
-<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
 </UL>
 
 <P><STRONG><a name="[55]"></a>RF_EnterStandbyState</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, pan_rf.o(i.RF_EnterStandbyState))
@@ -402,7 +404,7 @@ Global Symbols
 <BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetRfState
 <LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetOperateState
 </UL>
-<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
 </UL>
 
 <P><STRONG><a name="[57]"></a>RF_ExitSleepState</STRONG> (Thumb, 98 bytes, Stack size 8 bytes, pan_rf.o(i.RF_ExitSleepState))
@@ -414,8 +416,8 @@ Global Symbols
 <LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_DelayUs
 <LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_DelayMs
 </UL>
-<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
-<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
 </UL>
 
 <P><STRONG><a name="[59]"></a>RF_GetIRQFlag</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, pan_rf.o(i.RF_GetIRQFlag))
@@ -423,12 +425,12 @@ Global Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ReadPageReg
 </UL>
-<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
 </UL>
 
-<P><STRONG><a name="[a0]"></a>RF_GetOperateState</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, pan_rf.o(i.RF_GetOperateState))
-<BR><BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
-<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<P><STRONG><a name="[a5]"></a>RF_GetOperateState</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, pan_rf.o(i.RF_GetOperateState))
+<BR><BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
 </UL>
 
 <P><STRONG><a name="[5b]"></a>RF_GetPktRssi</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, pan_rf.o(i.RF_GetPktRssi))
@@ -436,7 +438,7 @@ Global Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ReadPageReg
 </UL>
-<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
 </UL>
 
 <P><STRONG><a name="[5c]"></a>RF_GetRecvPayload</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, pan_rf.o(i.RF_GetRecvPayload))
@@ -445,7 +447,7 @@ Global Symbols
 <BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ReadRegs
 <LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_GetRxPayloadLen
 </UL>
-<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
 </UL>
 
 <P><STRONG><a name="[5d]"></a>RF_GetRxPayloadLen</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, pan_rf.o(i.RF_GetRxPayloadLen))
@@ -476,7 +478,7 @@ Global Symbols
 <LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigAgc
 <LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_Calibrate
 </UL>
-<BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
 </UL>
 
 <P><STRONG><a name="[61]"></a>RF_InitAntGpio</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, pan_rf.o(i.RF_InitAntGpio))
@@ -488,8 +490,8 @@ Global Symbols
 <BR>[Called By]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_Init
 </UL>
 
-<P><STRONG><a name="[9c]"></a>RF_PAN3029_NRST_H</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, myradio_gpio.o(i.RF_PAN3029_NRST_H))
-<BR><BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
+<P><STRONG><a name="[a1]"></a>RF_PAN3029_NRST_H</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, myradio_gpio.o(i.RF_PAN3029_NRST_H))
+<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
 </UL>
 
 <P><STRONG><a name="[37]"></a>RF_ReadInfoByte</STRONG> (Thumb, 84 bytes, Stack size 32 bytes, pan_rf.o(i.RF_ReadInfoByte))
@@ -572,7 +574,7 @@ Global Symbols
 <LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ResetPageRegBits
 </UL>
 <BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigUserParams
-<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
+<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
 </UL>
 
 <P><STRONG><a name="[44]"></a>RF_SetCR</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, pan_rf.o(i.RF_SetCR))
@@ -581,7 +583,7 @@ Global Symbols
 <BR>[Calls]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WritePageRegBits
 </UL>
 <BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigUserParams
-<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
+<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
 </UL>
 
 <P><STRONG><a name="[45]"></a>RF_SetCRC</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, pan_rf.o(i.RF_SetCRC))
@@ -608,7 +610,7 @@ Global Symbols
 <LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WritePageRegs
 </UL>
 <BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigUserParams
-<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setFrequency
+<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setFrequency
 </UL>
 
 <P><STRONG><a name="[48]"></a>RF_SetInvertIQ</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, pan_rf.o(i.RF_SetInvertIQ))
@@ -666,7 +668,8 @@ Global Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WritePageRegs
 </UL>
-<BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
+<BR>[Called By]<UL><LI><a href="#[1a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfRx_callback
+<LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 <LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigUserParams
 </UL>
 
@@ -713,7 +716,7 @@ Global Symbols
 <BR>[Calls]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WritePageRegBits
 </UL>
 <BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigUserParams
-<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
+<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
 </UL>
 
 <P><STRONG><a name="[68]"></a>RF_SetTx</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, pan_rf.o(i.RF_SetTx))
@@ -721,7 +724,7 @@ Global Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_TxSinglePkt
 </UL>
-<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
 </UL>
 
 <P><STRONG><a name="[6a]"></a>RF_SetTxMode</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, pan_rf.o(i.RF_SetTxMode))
@@ -741,7 +744,7 @@ Global Symbols
 <LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ReadInfoByte
 </UL>
 <BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigUserParams
-<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setTxPower
+<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setTxPower
 </UL>
 
 <P><STRONG><a name="[6b]"></a>RF_StartCad</STRONG> (Thumb, 64 bytes, Stack size 16 bytes, pan_rf.o(i.RF_StartCad))
@@ -753,7 +756,7 @@ Global Symbols
 <LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_EnterContinousRxState
 <LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigGpio
 </UL>
-<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_restartCadReceiver
+<BR>[Called By]<UL><LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_restartCadReceiver
 </UL>
 
 <P><STRONG><a name="[6c]"></a>RF_StopCad</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, pan_rf.o(i.RF_StopCad))
@@ -772,7 +775,7 @@ Global Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ResetPageRegBits
 </UL>
-<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
 <LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_EnterSingleRxWithTimeout
 <LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_EnterContinousRxState
 </UL>
@@ -931,8 +934,8 @@ Global Symbols
 <LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_EnableIRQ
 <LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
 </UL>
-<BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
-<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_irq_init
+<BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_irq_init
 </UL>
 
 <P><STRONG><a name="[34]"></a>SN_GPIO_PIN_get</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, sn_gpio.o(i.SN_GPIO_PIN_get))
@@ -951,7 +954,8 @@ Global Symbols
 <LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_gpio_init
 <LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
 </UL>
-<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
+<BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
+<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
 </UL>
 
 <P><STRONG><a name="[2f]"></a>SN_GPIO_PIN_write</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, sn_gpio.o(i.SN_GPIO_PIN_write))
@@ -959,7 +963,9 @@ Global Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_gpio_get_pin_mode
 </UL>
-<BR>[Called By]<UL><LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BOARD_SPI_NSS_L
+<BR>[Called By]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;motor_short
+<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;motor_long
+<LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BOARD_SPI_NSS_L
 <LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BOARD_SPI_NSS_H
 </UL>
 
@@ -971,7 +977,7 @@ Global Symbols
 <LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_gpio_set_pin
 <LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
 </UL>
-<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
+<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
 </UL>
 
 <P><STRONG><a name="[80]"></a>SN_SPI_IO_set</STRONG> (Thumb, 362 bytes, Stack size 72 bytes, sn_spi.o(i.SN_SPI_IO_set))
@@ -981,7 +987,7 @@ Global Symbols
 <LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_rcc_gpio_clk_enable
 <LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
 </UL>
-<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
+<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
 </UL>
 
 <P><STRONG><a name="[81]"></a>SN_SPI_MASTER_init</STRONG> (Thumb, 168 bytes, Stack size 48 bytes, sn_spi.o(i.SN_SPI_MASTER_init))
@@ -990,7 +996,7 @@ Global Symbols
 <BR>[Calls]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_spi_init
 <LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
 </UL>
-<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
+<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
 </UL>
 
 <P><STRONG><a name="[83]"></a>SN_SYSCLK_set</STRONG> (Thumb, 250 bytes, Stack size 8 bytes, sn_rcc.o(i.SN_SYSCLK_set))
@@ -1011,13 +1017,24 @@ Global Symbols
 <LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_tim_init
 <LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
 </UL>
-<BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+</UL>
+
+<P><STRONG><a name="[8b]"></a>SN_UART_init</STRONG> (Thumb, 392 bytes, Stack size 64 bytes, sn_uart.o(i.SN_UART_init))
+<BR><BR>[Stack]<UL><LI>Max Depth = 108<LI>Call Chain = SN_UART_init &rArr; std_uart_init &rArr; std_rcc_get_pclkfreq &rArr; std_rcc_get_hclkfreq
+</UL>
+<BR>[Calls]<UL><LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_rcc_gpio_clk_enable
+<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_gpio_init
+<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_init
+<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
+</UL>
+<BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 </UL>
 
 <P><STRONG><a name="[65]"></a>SPI_ReadByte</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, pan_rf.o(i.SPI_ReadByte))
 <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SPI_ReadByte &rArr; myRadioSpi_rwByte
 </UL>
-<BR>[Calls]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadioSpi_rwByte
+<BR>[Calls]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadioSpi_rwByte
 </UL>
 <BR>[Called By]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ReadRegs
 <LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ReadReg
@@ -1026,7 +1043,7 @@ Global Symbols
 <P><STRONG><a name="[64]"></a>SPI_WriteByte</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, pan_rf.o(i.SPI_WriteByte))
 <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SPI_WriteByte &rArr; myRadioSpi_rwByte
 </UL>
-<BR>[Calls]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadioSpi_rwByte
+<BR>[Calls]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadioSpi_rwByte
 </UL>
 <BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WriteRegs
 <LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WriteReg
@@ -1055,33 +1072,35 @@ Global Symbols
 <P><STRONG><a name="[12]"></a>UART1_IRQHandler</STRONG> (Thumb, 122 bytes, Stack size 8 bytes, sn_uart.o(i.UART1_IRQHandler))
 <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = UART1_IRQHandler
 </UL>
-<BR>[Calls]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_flag
-<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_cr1_interrupt_enable
-<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_clear_flag
+<BR>[Calls]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_flag
+<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_cr1_interrupt_enable
+<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_clear_flag
 </UL>
 <BR>[Address Reference Count : 1]<UL><LI> startup_ciu32f003.o(RESET)
 </UL>
 <P><STRONG><a name="[13]"></a>UART2_IRQHandler</STRONG> (Thumb, 122 bytes, Stack size 8 bytes, sn_uart.o(i.UART2_IRQHandler))
 <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = UART2_IRQHandler
 </UL>
-<BR>[Calls]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_flag
-<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_cr1_interrupt_enable
-<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_clear_flag
+<BR>[Calls]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_flag
+<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_cr1_interrupt_enable
+<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_clear_flag
 </UL>
 <BR>[Address Reference Count : 1]<UL><LI> startup_ciu32f003.o(RESET)
 </UL>
-<P><STRONG><a name="[8f]"></a>__0printf$5</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, printf5.o(i.__0printf$5), UNUSED)
-<BR><BR>[Calls]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
+<P><STRONG><a name="[92]"></a>__0printf$5</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, printf5.o(i.__0printf$5), UNUSED)
+<BR><BR>[Calls]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
 </UL>
 
-<P><STRONG><a name="[b7]"></a>__1printf$5</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf5.o(i.__0printf$5), UNUSED)
+<P><STRONG><a name="[bf]"></a>__1printf$5</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf5.o(i.__0printf$5), UNUSED)
 
-<P><STRONG><a name="[9a]"></a>__2printf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf5.o(i.__0printf$5))
+<P><STRONG><a name="[97]"></a>__2printf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf5.o(i.__0printf$5))
 <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __2printf
 </UL>
-<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<LI><a href="#[1a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfRx_callback
+<LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 <LI><a href="#[1e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_timCallback
-<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_restartCadReceiver
+<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_restartCadReceiver
 <LI><a href="#[1d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpioCadCallback
 </UL>
 
@@ -1095,107 +1114,130 @@ Global Symbols
 <BR><BR>[Called By]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_WritePageRegBits
 </UL>
 
-<P><STRONG><a name="[b8]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
+<P><STRONG><a name="[c0]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
 
-<P><STRONG><a name="[b9]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
+<P><STRONG><a name="[c1]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
 
-<P><STRONG><a name="[ba]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
+<P><STRONG><a name="[c2]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
 
 <P><STRONG><a name="[19]"></a>fputc</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, sn_uart.o(i.fputc))
 <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = fputc
 </UL>
-<BR>[Calls]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_tx_write_data
-<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_flag
+<BR>[Calls]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_tx_write_data
+<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_get_flag
 </UL>
 <BR>[Address Reference Count : 1]<UL><LI> printf5.o(i.__0printf$5)
 </UL>
-<P><STRONG><a name="[a5]"></a>getRfPowerTabIndex</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, myradio.o(i.getRfPowerTabIndex))
-<BR><BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setTxPower
+<P><STRONG><a name="[aa]"></a>getRfPowerTabIndex</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, myradio.o(i.getRfPowerTabIndex))
+<BR><BR>[Called By]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setTxPower
 </UL>
 
-<P><STRONG><a name="[14]"></a>main</STRONG> (Thumb, 86 bytes, Stack size 0 bytes, main.o(i.main))
-<BR><BR>[Stack]<UL><LI>Max Depth = 668<LI>Call Chain = main &rArr; myRadio_process &rArr; RF_GetRecvPayload &rArr; RF_GetRxPayloadLen &rArr; RF_ReadPageReg &rArr; RF_SetPage &rArr; RF_WriteReg &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
+<P><STRONG><a name="[14]"></a>main</STRONG> (Thumb, 150 bytes, Stack size 8 bytes, main.o(i.main))
+<BR><BR>[Stack]<UL><LI>Max Depth = 676<LI>Call Chain = main &rArr; myRadio_process &rArr; RF_GetRecvPayload &rArr; RF_GetRxPayloadLen &rArr; RF_ReadPageReg &rArr; RF_SetPage &rArr; RF_WriteReg &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
-<BR>[Calls]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayms
-<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delay_init
-<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
-<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
-<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<BR>[Calls]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayms
+<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delay_init
+<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_process
+<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_UART_init
 <LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SYSCLK_set
+<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_init
 <LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetPreamLen
-<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rand
+<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;motor_long
+<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rand
 <LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
+<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
 </UL>
 <BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
 </UL>
-<P><STRONG><a name="[8b]"></a>myRadioSpi_rwByte</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, myradio_gpio.o(i.myRadioSpi_rwByte))
+<P><STRONG><a name="[99]"></a>motor_long</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, main.o(i.motor_long))
+<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = motor_long &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
+</UL>
+<BR>[Calls]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayms
+<LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_write
+</UL>
+<BR>[Called By]<UL><LI><a href="#[1a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfRx_callback
+<LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
+</UL>
+
+<P><STRONG><a name="[9d]"></a>motor_short</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, main.o(i.motor_short))
+<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = motor_short &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
+</UL>
+<BR>[Calls]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayms
+<LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_write
+</UL>
+<BR>[Called By]<UL><LI><a href="#[1a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfRx_callback
+</UL>
+
+<P><STRONG><a name="[8e]"></a>myRadioSpi_rwByte</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, myradio_gpio.o(i.myRadioSpi_rwByte))
 <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = myRadioSpi_rwByte
 </UL>
-<BR>[Calls]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_spi_get_flag
+<BR>[Calls]<UL><LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_spi_get_flag
 </UL>
 <BR>[Called By]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WriteByte
 <LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_ReadByte
 </UL>
 
-<P><STRONG><a name="[99]"></a>myRadio_delay</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, myradio.o(i.myRadio_delay))
+<P><STRONG><a name="[9f]"></a>myRadio_delay</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, myradio.o(i.myRadio_delay))
 <BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = myRadio_delay &rArr; std_delayms &rArr; std_delayus &rArr; __aeabi_uidivmod
 </UL>
-<BR>[Calls]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayms
+<BR>[Calls]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayms
 </UL>
-<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
-<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
-<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
 </UL>
 
 <P><STRONG><a name="[1d]"></a>myRadio_gpioCadCallback</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, myradio.o(i.myRadio_gpioCadCallback))
 <BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = myRadio_gpioCadCallback &rArr; SN_GPIO_PIN_get &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_get
-<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
+<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
 </UL>
 <BR>[Address Reference Count : 1]<UL><LI> myradio.o(i.myRadio_init)
 </UL>
 <P><STRONG><a name="[1c]"></a>myRadio_gpioCallback</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, myradio.o(i.myRadio_gpioCallback))
 <BR>[Address Reference Count : 1]<UL><LI> myradio.o(i.myRadio_init)
 </UL>
-<P><STRONG><a name="[9b]"></a>myRadio_gpio_init</STRONG> (Thumb, 100 bytes, Stack size 16 bytes, myradio_gpio.o(i.myRadio_gpio_init))
+<P><STRONG><a name="[a0]"></a>myRadio_gpio_init</STRONG> (Thumb, 100 bytes, Stack size 16 bytes, myradio_gpio.o(i.myRadio_gpio_init))
 <BR><BR>[Stack]<UL><LI>Max Depth = 132<LI>Call Chain = myRadio_gpio_init &rArr; myRadio_gpio_irq_init &rArr; SN_EXIT_set &rArr; std_gpio_init
 </UL>
 <BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_init
 <LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SPI_MASTER_init
 <LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SPI_IO_set
 <LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SPI_IO_SOF_cs
-<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_irq_init
-<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_PAN3029_NRST_H
+<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_irq_init
+<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_PAN3029_NRST_H
 <LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BOARD_SPI_NSS_H
 </UL>
-<BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
 </UL>
 
-<P><STRONG><a name="[9d]"></a>myRadio_gpio_irq_init</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, myradio_gpio.o(i.myRadio_gpio_irq_init))
+<P><STRONG><a name="[a2]"></a>myRadio_gpio_irq_init</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, myradio_gpio.o(i.myRadio_gpio_irq_init))
 <BR><BR>[Stack]<UL><LI>Max Depth = 116<LI>Call Chain = myRadio_gpio_irq_init &rArr; SN_EXIT_set &rArr; std_gpio_init
 </UL>
 <BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_EXIT_set
 </UL>
-<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
+<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
 </UL>
 
-<P><STRONG><a name="[93]"></a>myRadio_init</STRONG> (Thumb, 88 bytes, Stack size 24 bytes, myradio.o(i.myRadio_init))
+<P><STRONG><a name="[98]"></a>myRadio_init</STRONG> (Thumb, 88 bytes, Stack size 24 bytes, myradio.o(i.myRadio_init))
 <BR><BR>[Stack]<UL><LI>Max Depth = 188<LI>Call Chain = myRadio_init &rArr; RF_ConfigUserParams &rArr; RF_SetTxPower &rArr; RF_ReadInfoByte &rArr; RF_WritePageRegs &rArr; RF_WriteRegs &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_TIM1_CALL_set
 <LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_EXIT_set
-<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
+<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_gpio_init
 <LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_Init
 <LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ConfigUserParams
-<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_delay
+<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_delay
 </UL>
-<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
-<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
 <LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 </UL>
 
-<P><STRONG><a name="[97]"></a>myRadio_process</STRONG> (Thumb, 332 bytes, Stack size 552 bytes, myradio.o(i.myRadio_process))
+<P><STRONG><a name="[9c]"></a>myRadio_process</STRONG> (Thumb, 332 bytes, Stack size 552 bytes, myradio.o(i.myRadio_process))
 <BR><BR>[Stack]<UL><LI>Max Depth = 668<LI>Call Chain = myRadio_process &rArr; RF_GetRecvPayload &rArr; RF_GetRxPayloadLen &rArr; RF_ReadPageReg &rArr; RF_SetPage &rArr; RF_WriteReg &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_TurnoffLdoPA
@@ -1204,108 +1246,114 @@ Global Symbols
 <LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_GetIRQFlag
 <LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_EnterStandbyState
 <LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ClrIRQFlag
-<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
-<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
+<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
+<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
 </UL>
 <BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 </UL>
 
-<P><STRONG><a name="[9f]"></a>myRadio_receiver</STRONG> (Thumb, 102 bytes, Stack size 8 bytes, myradio.o(i.myRadio_receiver))
+<P><STRONG><a name="[a4]"></a>myRadio_receiver</STRONG> (Thumb, 102 bytes, Stack size 8 bytes, myradio.o(i.myRadio_receiver))
 <BR><BR>[Stack]<UL><LI>Max Depth = 196<LI>Call Chain = myRadio_receiver &rArr; myRadio_init &rArr; RF_ConfigUserParams &rArr; RF_SetTxPower &rArr; RF_ReadInfoByte &rArr; RF_WritePageRegs &rArr; RF_WriteRegs &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
-<BR>[Calls]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
-<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_GetOperateState
+<BR>[Calls]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_GetOperateState
 <LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ExitSleepState
 <LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_EnterSingleRxWithTimeout
-<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setTxPower
-<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
-<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setFrequency
-<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_delay
+<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setTxPower
+<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
+<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setFrequency
+<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_delay
 </UL>
 <BR>[Called By]<UL><LI><a href="#[1a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfRx_callback
 </UL>
 
-<P><STRONG><a name="[a4]"></a>myRadio_restartCadReceiver</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, myradio.o(i.myRadio_restartCadReceiver))
+<P><STRONG><a name="[a9]"></a>myRadio_restartCadReceiver</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, myradio.o(i.myRadio_restartCadReceiver))
 <BR><BR>[Stack]<UL><LI>Max Depth = 172<LI>Call Chain = myRadio_restartCadReceiver &rArr; RF_StartCad &rArr; RF_EnterContinousRxState &rArr; RF_TurnonRxAnt &rArr; RF_WriteGpioLevel &rArr; RF_WritePageRegBits &rArr; RF_SetPage &rArr; RF_WriteReg &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_StartCad
-<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
+<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
 </UL>
 <BR>[Called By]<UL><LI><a href="#[1e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_timCallback
 </UL>
 
-<P><STRONG><a name="[a1]"></a>myRadio_setFrequency</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, myradio.o(i.myRadio_setFrequency))
+<P><STRONG><a name="[a6]"></a>myRadio_setFrequency</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, myradio.o(i.myRadio_setFrequency))
 <BR><BR>[Stack]<UL><LI>Max Depth = 156<LI>Call Chain = myRadio_setFrequency &rArr; RF_SetFreq &rArr; RF_WritePageRegs &rArr; RF_WriteRegs &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetFreq
 </UL>
-<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
-<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
 </UL>
 
-<P><STRONG><a name="[a3]"></a>myRadio_setRfParams</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, myradio.o(i.myRadio_setRfParams))
+<P><STRONG><a name="[a8]"></a>myRadio_setRfParams</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, myradio.o(i.myRadio_setRfParams))
 <BR><BR>[Stack]<UL><LI>Max Depth = 140<LI>Call Chain = myRadio_setRfParams &rArr; RF_SetSF &rArr; RF_WritePageRegBits &rArr; RF_SetPage &rArr; RF_WriteReg &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetSF
 <LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetCR
 <LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetBW
 </UL>
-<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
-<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
 </UL>
 
-<P><STRONG><a name="[a2]"></a>myRadio_setTxPower</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, myradio.o(i.myRadio_setTxPower))
+<P><STRONG><a name="[a7]"></a>myRadio_setTxPower</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, myradio.o(i.myRadio_setTxPower))
 <BR><BR>[Stack]<UL><LI>Max Depth = 172<LI>Call Chain = myRadio_setTxPower &rArr; RF_SetTxPower &rArr; RF_ReadInfoByte &rArr; RF_WritePageRegs &rArr; RF_WriteRegs &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetTxPower
-<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;getRfPowerTabIndex
+<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;getRfPowerTabIndex
 </UL>
-<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
-<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_transmitArray
+<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
 </UL>
 
 <P><STRONG><a name="[1e]"></a>myRadio_timCallback</STRONG> (Thumb, 128 bytes, Stack size 8 bytes, myradio.o(i.myRadio_timCallback))
 <BR><BR>[Stack]<UL><LI>Max Depth = 180<LI>Call Chain = myRadio_timCallback &rArr; myRadio_restartCadReceiver &rArr; RF_StartCad &rArr; RF_EnterContinousRxState &rArr; RF_TurnonRxAnt &rArr; RF_WriteGpioLevel &rArr; RF_WritePageRegBits &rArr; RF_SetPage &rArr; RF_WriteReg &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_StopCad
-<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_restartCadReceiver
-<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
+<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_restartCadReceiver
+<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
 </UL>
 <BR>[Address Reference Count : 1]<UL><LI> myradio.o(i.myRadio_init)
 </UL>
-<P><STRONG><a name="[96]"></a>myRadio_transmitArray</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, myradio.o(i.myRadio_transmitArray))
+<P><STRONG><a name="[9b]"></a>myRadio_transmitArray</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, myradio.o(i.myRadio_transmitArray))
 <BR><BR>[Stack]<UL><LI>Max Depth = 204<LI>Call Chain = myRadio_transmitArray &rArr; myRadio_init &rArr; RF_ConfigUserParams &rArr; RF_SetTxPower &rArr; RF_ReadInfoByte &rArr; RF_WritePageRegs &rArr; RF_WriteRegs &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
-<BR>[Calls]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
+<BR>[Calls]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_init
 <LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetTx
-<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_GetOperateState
+<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_GetOperateState
 <LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_ExitSleepState
-<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setTxPower
-<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
-<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setFrequency
-<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_delay
+<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setTxPower
+<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setRfParams
+<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_setFrequency
+<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_delay
 </UL>
 <BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 </UL>
 
-<P><STRONG><a name="[1a]"></a>rfRx_callback</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, main.o(i.rfRx_callback))
-<BR><BR>[Stack]<UL><LI>Max Depth = 204<LI>Call Chain = rfRx_callback &rArr; myRadio_receiver &rArr; myRadio_init &rArr; RF_ConfigUserParams &rArr; RF_SetTxPower &rArr; RF_ReadInfoByte &rArr; RF_WritePageRegs &rArr; RF_WriteRegs &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
+<P><STRONG><a name="[1a]"></a>rfRx_callback</STRONG> (Thumb, 102 bytes, Stack size 24 bytes, main.o(i.rfRx_callback))
+<BR><BR>[Stack]<UL><LI>Max Depth = 220<LI>Call Chain = rfRx_callback &rArr; myRadio_receiver &rArr; myRadio_init &rArr; RF_ConfigUserParams &rArr; RF_SetTxPower &rArr; RF_ReadInfoByte &rArr; RF_WritePageRegs &rArr; RF_WriteRegs &rArr; BOARD_SPI_NSS_L &rArr; SN_GPIO_PIN_write &rArr; std_gpio_get_pin_mode &rArr; __aeabi_uidivmod
 </UL>
-<BR>[Calls]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<BR>[Calls]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_receiver
+<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_SetPreamLen
+<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;motor_short
+<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;motor_long
+<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
 </UL>
 <BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
 </UL>
-<P><STRONG><a name="[92]"></a>std_delay_init</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, ciu32f003_std.o(i.std_delay_init))
+<P><STRONG><a name="[95]"></a>std_delay_init</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, ciu32f003_std.o(i.std_delay_init))
 <BR><BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
 </UL>
 
-<P><STRONG><a name="[94]"></a>std_delayms</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, ciu32f003_std.o(i.std_delayms))
+<P><STRONG><a name="[96]"></a>std_delayms</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, ciu32f003_std.o(i.std_delayms))
 <BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = std_delayms &rArr; std_delayus &rArr; __aeabi_uidivmod
 </UL>
 <BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayus
 </UL>
-<BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
-<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_delay
+<BR>[Called By]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;motor_short
+<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;motor_long
+<LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
+<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadio_delay
 </UL>
 
 <P><STRONG><a name="[4d]"></a>std_delayus</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, ciu32f003_std.o(i.std_delayus))
@@ -1313,7 +1361,7 @@ Global Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[22]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
 </UL>
-<BR>[Called By]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayms
+<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_delayms
 <LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RF_DelayUs
 </UL>
 
@@ -1326,12 +1374,33 @@ Global Symbols
 <P><STRONG><a name="[75]"></a>std_gpio_init</STRONG> (Thumb, 162 bytes, Stack size 20 bytes, ciu32f003_std_gpio.o(i.std_gpio_init))
 <BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = std_gpio_init
 </UL>
-<BR>[Called By]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_init
+<BR>[Called By]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_UART_init
+<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_init
 <LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_EXIT_set
 <LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SPI_IO_set
 <LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SPI_IO_SOF_cs
 </UL>
 
+<P><STRONG><a name="[ab]"></a>std_rcc_get_hclkfreq</STRONG> (Thumb, 34 bytes, Stack size 12 bytes, ciu32f003_std_rcc.o(i.std_rcc_get_hclkfreq))
+<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = std_rcc_get_hclkfreq
+</UL>
+<BR>[Calls]<UL><LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_rcc_get_sysclkfreq
+</UL>
+<BR>[Called By]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_rcc_get_pclkfreq
+</UL>
+
+<P><STRONG><a name="[ad]"></a>std_rcc_get_pclkfreq</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, ciu32f003_std_rcc.o(i.std_rcc_get_pclkfreq))
+<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = std_rcc_get_pclkfreq &rArr; std_rcc_get_hclkfreq
+</UL>
+<BR>[Calls]<UL><LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_rcc_get_hclkfreq
+</UL>
+<BR>[Called By]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_uart_init
+</UL>
+
+<P><STRONG><a name="[ac]"></a>std_rcc_get_sysclkfreq</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, ciu32f003_std_rcc.o(i.std_rcc_get_sysclkfreq))
+<BR><BR>[Called By]<UL><LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_rcc_get_hclkfreq
+</UL>
+
 <P><STRONG><a name="[82]"></a>std_spi_init</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, ciu32f003_std_spi.o(i.std_spi_init))
 <BR><BR>[Called By]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_SPI_MASTER_init
 </UL>
@@ -1341,6 +1410,15 @@ Global Symbols
 </UL>
 <BR>[Called By]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_TIM1_CALL_set
 </UL>
+
+<P><STRONG><a name="[8d]"></a>std_uart_init</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, ciu32f003_std_uart.o(i.std_uart_init))
+<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = std_uart_init &rArr; std_rcc_get_pclkfreq &rArr; std_rcc_get_hclkfreq
+</UL>
+<BR>[Calls]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;std_rcc_get_pclkfreq
+<LI><a href="#[22]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
+</UL>
+<BR>[Called By]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_UART_init
+</UL>
 <P>
 <H3>
 Local Symbols
@@ -1350,8 +1428,8 @@ Local Symbols
 </UL>
 <BR>[Calls]<UL><LI><a href="#[22]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
 </UL>
-<BR>[Called By]<UL><LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_write
-<LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_get
+<BR>[Called By]<UL><LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_get
+<LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_GPIO_PIN_write
 </UL>
 
 <P><STRONG><a name="[7c]"></a>std_rcc_gpio_clk_enable</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, sn_gpio.o(i.std_rcc_gpio_clk_enable))
@@ -1385,23 +1463,27 @@ Local Symbols
 <LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_TIM1_CALL_set
 </UL>
 
-<P><STRONG><a name="[8e]"></a>std_uart_clear_flag</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, sn_uart.o(i.std_uart_clear_flag))
+<P><STRONG><a name="[8c]"></a>std_rcc_gpio_clk_enable</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, sn_uart.o(i.std_rcc_gpio_clk_enable))
+<BR><BR>[Called By]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_UART_init
+</UL>
+
+<P><STRONG><a name="[91]"></a>std_uart_clear_flag</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, sn_uart.o(i.std_uart_clear_flag))
 <BR><BR>[Called By]<UL><LI><a href="#[13]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART2_IRQHandler
 <LI><a href="#[12]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART1_IRQHandler
 </UL>
 
-<P><STRONG><a name="[8c]"></a>std_uart_get_cr1_interrupt_enable</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sn_uart.o(i.std_uart_get_cr1_interrupt_enable))
+<P><STRONG><a name="[8f]"></a>std_uart_get_cr1_interrupt_enable</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sn_uart.o(i.std_uart_get_cr1_interrupt_enable))
 <BR><BR>[Called By]<UL><LI><a href="#[13]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART2_IRQHandler
 <LI><a href="#[12]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART1_IRQHandler
 </UL>
 
-<P><STRONG><a name="[8d]"></a>std_uart_get_flag</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sn_uart.o(i.std_uart_get_flag))
+<P><STRONG><a name="[90]"></a>std_uart_get_flag</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sn_uart.o(i.std_uart_get_flag))
 <BR><BR>[Called By]<UL><LI><a href="#[19]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fputc
 <LI><a href="#[13]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART2_IRQHandler
 <LI><a href="#[12]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART1_IRQHandler
 </UL>
 
-<P><STRONG><a name="[91]"></a>std_uart_tx_write_data</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, sn_uart.o(i.std_uart_tx_write_data))
+<P><STRONG><a name="[94]"></a>std_uart_tx_write_data</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, sn_uart.o(i.std_uart_tx_write_data))
 <BR><BR>[Called By]<UL><LI><a href="#[19]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fputc
 </UL>
 
@@ -1463,8 +1545,8 @@ Local Symbols
 <BR><BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SN_EXIT_set
 </UL>
 
-<P><STRONG><a name="[98]"></a>std_spi_get_flag</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, myradio_gpio.o(i.std_spi_get_flag))
-<BR><BR>[Called By]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadioSpi_rwByte
+<P><STRONG><a name="[9e]"></a>std_spi_get_flag</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, myradio_gpio.o(i.std_spi_get_flag))
+<BR><BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;myRadioSpi_rwByte
 </UL>
 
 <P><STRONG><a name="[2e]"></a>std_spi_set_nss_output</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, myradio_gpio.o(i.std_spi_set_nss_output))
@@ -1472,10 +1554,10 @@ Local Symbols
 <LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BOARD_SPI_NSS_H
 </UL>
 
-<P><STRONG><a name="[90]"></a>_printf_core</STRONG> (Thumb, 688 bytes, Stack size 96 bytes, printf5.o(i._printf_core), UNUSED)
+<P><STRONG><a name="[93]"></a>_printf_core</STRONG> (Thumb, 688 bytes, Stack size 96 bytes, printf5.o(i._printf_core), UNUSED)
 <BR><BR>[Calls]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
 </UL>
-<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$5
+<BR>[Called By]<UL><LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$5
 </UL>
 <P>
 <H3>

+ 4 - 1
project/Objects/MY_CIU32F003_MY_CIU32F003.dep

@@ -1,6 +1,6 @@
 Dependencies for Project 'MY_CIU32F003', Target 'MY_CIU32F003': (DO NOT MODIFY !)
 CompilerVersion: 5060750::V5.06 update 6 (build 750)::.\ARMCC
-F (..\User\main.c)(0x68CC1824)(--c99 --gnu -c --cpu Cortex-M0+ -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\BSP -I ..\CIU32F003_LIB\Include -I ..\CMSIS -I ..\CMSIS\Core -I ..\User -I ..\SN_Port -I ..\SN_Tool -I ..\radio

-ID:\keil_V5_pack\HED\CIU32F003_DFP\1.0.0\Drivers\CMSIS\Device\CIU32F003\Include

-Id:\Keil_v5\ARM\CMSIS\Include

-D__UVISION_VERSION="531" -DCIU32F003

-o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
+F (..\User\main.c)(0x68DA2A49)(--c99 --gnu -c --cpu Cortex-M0+ -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\BSP -I ..\CIU32F003_LIB\Include -I ..\CMSIS -I ..\CMSIS\Core -I ..\User -I ..\SN_Port -I ..\SN_Tool -I ..\radio

-ID:\keil_V5_pack\HED\CIU32F003_DFP\1.0.0\Drivers\CMSIS\Device\CIU32F003\Include

-Id:\Keil_v5\ARM\CMSIS\Include

-D__UVISION_VERSION="531" -DCIU32F003

-o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
 I (..\User\main.h)(0x6862DA30)
 I (..\BSP\common.h)(0x6862DA30)
 I (..\CIU32F003_LIB\Include\ciu32f003_std.h)(0x6862DA12)
@@ -47,6 +47,9 @@ I (..\SN_Port\SN_STOP.h)(0x6862D9E2)
 I (d:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5EC775FC)
 I (..\radio\myRadio.h)(0x68CCA9AE)
 I (d:\Keil_v5\ARM\ARMCC\include\string.h)(0x5EC77604)
+I (..\radio\pan_rf.h)(0x68CBBB3D)
+I (d:\Keil_v5\ARM\ARMCC\include\math.h)(0x5EC77604)
+I (..\radio\myRadio_gpio.h)(0x68CBB4C4)
 F (..\BSP\common.c)(0x6862DA32)(--c99 --gnu -c --cpu Cortex-M0+ -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\BSP -I ..\CIU32F003_LIB\Include -I ..\CMSIS -I ..\CMSIS\Core -I ..\User -I ..\SN_Port -I ..\SN_Tool -I ..\radio

-ID:\keil_V5_pack\HED\CIU32F003_DFP\1.0.0\Drivers\CMSIS\Device\CIU32F003\Include

-Id:\Keil_v5\ARM\CMSIS\Include

-D__UVISION_VERSION="531" -DCIU32F003

-o .\objects\common.o --omf_browse .\objects\common.crf --depend .\objects\common.d)
 I (..\BSP\common.h)(0x6862DA30)
 I (..\CIU32F003_LIB\Include\ciu32f003_std.h)(0x6862DA12)

BIN
project/Objects/main.crf


+ 3 - 0
project/Objects/main.d

@@ -46,3 +46,6 @@
 .\objects\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
 .\objects\main.o: ..\radio\myRadio.h
 .\objects\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
+.\objects\main.o: ..\radio\pan_rf.h
+.\objects\main.o: d:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
+.\objects\main.o: ..\radio\myRadio_gpio.h

BIN
project/Objects/main.o


+ 16 - 1
readme.md

@@ -8,6 +8,8 @@
 ## 功能
 该项目作为发射端演示,`RF_SetPreamLen`用来设置发送的前导长度,可以用于配合接收端的无线唤醒。理论上,前导长度越长,唤醒成功率越高,但是发送时间会越长,各方面的功能都需要配合使用。
 
+- `PB6`:暂时作为串口日志打印输出,和SWD烧录口的SWD口复用
+
 ## 代码说明
 ### 1、`radio\myRadio.c`
 该`.c`文件封装了常用的射频操作函数,包括:
@@ -25,4 +27,17 @@
 **注意事项:**
 
 - spi的clk时钟频率不能超过`10MHz`,主频为`48MHz`,spi的分频最小只能是`8`
-- spi片选脚使用的是软件cs控制
+- spi片选脚使用的是软件cs控制
+- 遥控器端不需要CAD接收,进入接收只需调用`myRadio_receiver();`函数,进入接收之前需设置前导为默认长度,如下:
+
+```c
+RF_SetPreamLen(RF_PREAMBLE_DEFAULT);
+myRadio_receiver();
+```
+
+- 遥控器端发送之前需先设置前导长度,设置前导是为了更好的唤醒接收端如下:
+
+```c
+RF_SetPreamLen(50);
+myRadio_transmitArray("hello world", 10);
+```

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels