B3M38SPD seminar project - beehive monitor with LoRa reporting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
spd-lorabees/build/sx1272.lst

9945 lines
444 KiB

ARM GAS /tmp/ccwcPdtV.s page 1
1 .cpu cortex-m0plus
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 0
10 .eabi_attribute 18, 4
11 .file "sx1272.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.SX1272OnDio4Irq,"ax",%progbits
16 .align 1
17 .global SX1272OnDio4Irq
18 .syntax unified
19 .code 16
20 .thumb_func
21 .fpu softvfp
23 SX1272OnDio4Irq:
24 .LFB131:
25 .file 1 "./Drivers/BSP/Components/sx1272/sx1272.c"
1:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
2:./Drivers/BSP/Components/sx1272/sx1272.c **** / _____) _ | |
3:./Drivers/BSP/Components/sx1272/sx1272.c **** ( (____ _____ ____ _| |_ _____ ____| |__
4:./Drivers/BSP/Components/sx1272/sx1272.c **** \____ \| ___ | (_ _) ___ |/ ___) _ \
5:./Drivers/BSP/Components/sx1272/sx1272.c **** _____) ) ____| | | || |_| ____( (___| | | |
6:./Drivers/BSP/Components/sx1272/sx1272.c **** (______/|_____)_|_|_| \__)_____)\____)_| |_|
7:./Drivers/BSP/Components/sx1272/sx1272.c **** (C)2013 Semtech
8:./Drivers/BSP/Components/sx1272/sx1272.c ****
9:./Drivers/BSP/Components/sx1272/sx1272.c **** Description: Generic SX1272 driver implementation
10:./Drivers/BSP/Components/sx1272/sx1272.c ****
11:./Drivers/BSP/Components/sx1272/sx1272.c **** License: Revised BSD License, see LICENSE.TXT file include in the project
12:./Drivers/BSP/Components/sx1272/sx1272.c ****
13:./Drivers/BSP/Components/sx1272/sx1272.c **** Maintainer: Miguel Luis and Gregory Cristian
14:./Drivers/BSP/Components/sx1272/sx1272.c **** */
15:./Drivers/BSP/Components/sx1272/sx1272.c **** /*******************************************************************************
16:./Drivers/BSP/Components/sx1272/sx1272.c **** * @file sx1272.c
17:./Drivers/BSP/Components/sx1272/sx1272.c **** * @author MCD Application Team
18:./Drivers/BSP/Components/sx1272/sx1272.c **** * @version V1.0.1
19:./Drivers/BSP/Components/sx1272/sx1272.c **** * @date 08-September-2017
20:./Drivers/BSP/Components/sx1272/sx1272.c **** * @brief driver sx1272
21:./Drivers/BSP/Components/sx1272/sx1272.c **** ******************************************************************************
22:./Drivers/BSP/Components/sx1272/sx1272.c **** * @attention
23:./Drivers/BSP/Components/sx1272/sx1272.c **** *
24:./Drivers/BSP/Components/sx1272/sx1272.c **** * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
25:./Drivers/BSP/Components/sx1272/sx1272.c **** *
26:./Drivers/BSP/Components/sx1272/sx1272.c **** * Redistribution and use in source and binary forms, with or without modification,
27:./Drivers/BSP/Components/sx1272/sx1272.c **** * are permitted provided that the following conditions are met:
28:./Drivers/BSP/Components/sx1272/sx1272.c **** * 1. Redistributions of source code must retain the above copyright notice,
29:./Drivers/BSP/Components/sx1272/sx1272.c **** * this list of conditions and the following disclaimer.
30:./Drivers/BSP/Components/sx1272/sx1272.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
31:./Drivers/BSP/Components/sx1272/sx1272.c **** * this list of conditions and the following disclaimer in the documentation
32:./Drivers/BSP/Components/sx1272/sx1272.c **** * and/or other materials provided with the distribution.
33:./Drivers/BSP/Components/sx1272/sx1272.c **** * 3. Neither the name of STMicroelectronics nor the names of its contributors
ARM GAS /tmp/ccwcPdtV.s page 2
34:./Drivers/BSP/Components/sx1272/sx1272.c **** * may be used to endorse or promote products derived from this software
35:./Drivers/BSP/Components/sx1272/sx1272.c **** * without specific prior written permission.
36:./Drivers/BSP/Components/sx1272/sx1272.c **** *
37:./Drivers/BSP/Components/sx1272/sx1272.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
38:./Drivers/BSP/Components/sx1272/sx1272.c **** * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
39:./Drivers/BSP/Components/sx1272/sx1272.c **** * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40:./Drivers/BSP/Components/sx1272/sx1272.c **** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
41:./Drivers/BSP/Components/sx1272/sx1272.c **** * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
42:./Drivers/BSP/Components/sx1272/sx1272.c **** * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
43:./Drivers/BSP/Components/sx1272/sx1272.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
44:./Drivers/BSP/Components/sx1272/sx1272.c **** * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45:./Drivers/BSP/Components/sx1272/sx1272.c **** * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
46:./Drivers/BSP/Components/sx1272/sx1272.c **** * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
47:./Drivers/BSP/Components/sx1272/sx1272.c **** *
48:./Drivers/BSP/Components/sx1272/sx1272.c **** ******************************************************************************
49:./Drivers/BSP/Components/sx1272/sx1272.c **** */
50:./Drivers/BSP/Components/sx1272/sx1272.c ****
51:./Drivers/BSP/Components/sx1272/sx1272.c **** #include "sx1272.h"
52:./Drivers/BSP/Components/sx1272/sx1272.c **** #include "hw.h"
53:./Drivers/BSP/Components/sx1272/sx1272.c **** #include "radio.h"
54:./Drivers/BSP/Components/sx1272/sx1272.c **** #include "timeServer.h"
55:./Drivers/BSP/Components/sx1272/sx1272.c **** #include "delay.h"
56:./Drivers/BSP/Components/sx1272/sx1272.c ****
57:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
58:./Drivers/BSP/Components/sx1272/sx1272.c **** * Local types definition
59:./Drivers/BSP/Components/sx1272/sx1272.c **** */
60:./Drivers/BSP/Components/sx1272/sx1272.c ****
61:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
62:./Drivers/BSP/Components/sx1272/sx1272.c **** * Radio registers definition
63:./Drivers/BSP/Components/sx1272/sx1272.c **** */
64:./Drivers/BSP/Components/sx1272/sx1272.c **** typedef struct
65:./Drivers/BSP/Components/sx1272/sx1272.c **** {
66:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioModems_t Modem;
67:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t Addr;
68:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t Value;
69:./Drivers/BSP/Components/sx1272/sx1272.c **** }RadioRegisters_t;
70:./Drivers/BSP/Components/sx1272/sx1272.c ****
71:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
72:./Drivers/BSP/Components/sx1272/sx1272.c **** * FSK bandwidth definition
73:./Drivers/BSP/Components/sx1272/sx1272.c **** */
74:./Drivers/BSP/Components/sx1272/sx1272.c **** typedef struct
75:./Drivers/BSP/Components/sx1272/sx1272.c **** {
76:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t bandwidth;
77:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t RegValue;
78:./Drivers/BSP/Components/sx1272/sx1272.c **** }FskBandwidth_t;
79:./Drivers/BSP/Components/sx1272/sx1272.c ****
80:./Drivers/BSP/Components/sx1272/sx1272.c ****
81:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
82:./Drivers/BSP/Components/sx1272/sx1272.c **** * Private functions prototypes
83:./Drivers/BSP/Components/sx1272/sx1272.c **** */
84:./Drivers/BSP/Components/sx1272/sx1272.c ****
85:./Drivers/BSP/Components/sx1272/sx1272.c ****
86:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
87:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief Resets the SX1272
88:./Drivers/BSP/Components/sx1272/sx1272.c **** */
89:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272Reset( void );
90:./Drivers/BSP/Components/sx1272/sx1272.c ****
ARM GAS /tmp/ccwcPdtV.s page 3
91:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
92:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief Sets the SX1272 in transmission mode for the given time
93:./Drivers/BSP/Components/sx1272/sx1272.c **** * \param [IN] timeout Transmission timeout [ms] [0: continuous, others timeout]
94:./Drivers/BSP/Components/sx1272/sx1272.c **** */
95:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetTx( uint32_t timeout );
96:./Drivers/BSP/Components/sx1272/sx1272.c ****
97:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
98:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief Writes the buffer contents to the SX1272 FIFO
99:./Drivers/BSP/Components/sx1272/sx1272.c **** *
100:./Drivers/BSP/Components/sx1272/sx1272.c **** * \param [IN] buffer Buffer containing data to be put on the FIFO.
101:./Drivers/BSP/Components/sx1272/sx1272.c **** * \param [IN] size Number of bytes to be written to the FIFO
102:./Drivers/BSP/Components/sx1272/sx1272.c **** */
103:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272WriteFifo( uint8_t *buffer, uint8_t size );
104:./Drivers/BSP/Components/sx1272/sx1272.c ****
105:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
106:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief Reads the contents of the SX1272 FIFO
107:./Drivers/BSP/Components/sx1272/sx1272.c **** *
108:./Drivers/BSP/Components/sx1272/sx1272.c **** * \param [OUT] buffer Buffer where to copy the FIFO read data.
109:./Drivers/BSP/Components/sx1272/sx1272.c **** * \param [IN] size Number of bytes to be read from the FIFO
110:./Drivers/BSP/Components/sx1272/sx1272.c **** */
111:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272ReadFifo( uint8_t *buffer, uint8_t size );
112:./Drivers/BSP/Components/sx1272/sx1272.c ****
113:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
114:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief Sets the SX1272 operating mode
115:./Drivers/BSP/Components/sx1272/sx1272.c **** *
116:./Drivers/BSP/Components/sx1272/sx1272.c **** * \param [IN] opMode New operating mode
117:./Drivers/BSP/Components/sx1272/sx1272.c **** */
118:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetOpMode( uint8_t opMode );
119:./Drivers/BSP/Components/sx1272/sx1272.c ****
120:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
121:./Drivers/BSP/Components/sx1272/sx1272.c **** * SX1272 DIO IRQ callback functions prototype
122:./Drivers/BSP/Components/sx1272/sx1272.c **** */
123:./Drivers/BSP/Components/sx1272/sx1272.c ****
124:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
125:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief DIO 0 IRQ callback
126:./Drivers/BSP/Components/sx1272/sx1272.c **** */
127:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio0Irq( void );
128:./Drivers/BSP/Components/sx1272/sx1272.c ****
129:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
130:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief DIO 1 IRQ callback
131:./Drivers/BSP/Components/sx1272/sx1272.c **** */
132:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio1Irq( void );
133:./Drivers/BSP/Components/sx1272/sx1272.c ****
134:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
135:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief DIO 2 IRQ callback
136:./Drivers/BSP/Components/sx1272/sx1272.c **** */
137:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio2Irq( void );
138:./Drivers/BSP/Components/sx1272/sx1272.c ****
139:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
140:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief DIO 3 IRQ callback
141:./Drivers/BSP/Components/sx1272/sx1272.c **** */
142:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio3Irq( void );
143:./Drivers/BSP/Components/sx1272/sx1272.c ****
144:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
145:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief DIO 4 IRQ callback
146:./Drivers/BSP/Components/sx1272/sx1272.c **** */
147:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio4Irq( void );
ARM GAS /tmp/ccwcPdtV.s page 4
148:./Drivers/BSP/Components/sx1272/sx1272.c ****
149:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
150:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief DIO 5 IRQ callback
151:./Drivers/BSP/Components/sx1272/sx1272.c **** */
152:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio5Irq( void );
153:./Drivers/BSP/Components/sx1272/sx1272.c ****
154:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
155:./Drivers/BSP/Components/sx1272/sx1272.c **** * \brief Tx & Rx timeout timer callback
156:./Drivers/BSP/Components/sx1272/sx1272.c **** */
157:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnTimeoutIrq( void );
158:./Drivers/BSP/Components/sx1272/sx1272.c ****
159:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
160:./Drivers/BSP/Components/sx1272/sx1272.c **** * Private global constants
161:./Drivers/BSP/Components/sx1272/sx1272.c **** */
162:./Drivers/BSP/Components/sx1272/sx1272.c ****
163:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
164:./Drivers/BSP/Components/sx1272/sx1272.c **** * Radio hardware registers initialization
165:./Drivers/BSP/Components/sx1272/sx1272.c **** *
166:./Drivers/BSP/Components/sx1272/sx1272.c **** * \remark RADIO_INIT_REGISTERS_VALUE is defined in sx1272-board.h file
167:./Drivers/BSP/Components/sx1272/sx1272.c **** */
168:./Drivers/BSP/Components/sx1272/sx1272.c **** const RadioRegisters_t RadioRegsInit[] = RADIO_INIT_REGISTERS_VALUE;
169:./Drivers/BSP/Components/sx1272/sx1272.c ****
170:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
171:./Drivers/BSP/Components/sx1272/sx1272.c **** * Constant values need to compute the RSSI value
172:./Drivers/BSP/Components/sx1272/sx1272.c **** */
173:./Drivers/BSP/Components/sx1272/sx1272.c **** #define RSSI_OFFSET -139
174:./Drivers/BSP/Components/sx1272/sx1272.c ****
175:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
176:./Drivers/BSP/Components/sx1272/sx1272.c **** * Precomputed FSK bandwidth registers values
177:./Drivers/BSP/Components/sx1272/sx1272.c **** */
178:./Drivers/BSP/Components/sx1272/sx1272.c **** const FskBandwidth_t FskBandwidths[] =
179:./Drivers/BSP/Components/sx1272/sx1272.c **** {
180:./Drivers/BSP/Components/sx1272/sx1272.c **** { 2600 , 0x17 },
181:./Drivers/BSP/Components/sx1272/sx1272.c **** { 3100 , 0x0F },
182:./Drivers/BSP/Components/sx1272/sx1272.c **** { 3900 , 0x07 },
183:./Drivers/BSP/Components/sx1272/sx1272.c **** { 5200 , 0x16 },
184:./Drivers/BSP/Components/sx1272/sx1272.c **** { 6300 , 0x0E },
185:./Drivers/BSP/Components/sx1272/sx1272.c **** { 7800 , 0x06 },
186:./Drivers/BSP/Components/sx1272/sx1272.c **** { 10400 , 0x15 },
187:./Drivers/BSP/Components/sx1272/sx1272.c **** { 12500 , 0x0D },
188:./Drivers/BSP/Components/sx1272/sx1272.c **** { 15600 , 0x05 },
189:./Drivers/BSP/Components/sx1272/sx1272.c **** { 20800 , 0x14 },
190:./Drivers/BSP/Components/sx1272/sx1272.c **** { 25000 , 0x0C },
191:./Drivers/BSP/Components/sx1272/sx1272.c **** { 31300 , 0x04 },
192:./Drivers/BSP/Components/sx1272/sx1272.c **** { 41700 , 0x13 },
193:./Drivers/BSP/Components/sx1272/sx1272.c **** { 50000 , 0x0B },
194:./Drivers/BSP/Components/sx1272/sx1272.c **** { 62500 , 0x03 },
195:./Drivers/BSP/Components/sx1272/sx1272.c **** { 83333 , 0x12 },
196:./Drivers/BSP/Components/sx1272/sx1272.c **** { 100000, 0x0A },
197:./Drivers/BSP/Components/sx1272/sx1272.c **** { 125000, 0x02 },
198:./Drivers/BSP/Components/sx1272/sx1272.c **** { 166700, 0x11 },
199:./Drivers/BSP/Components/sx1272/sx1272.c **** { 200000, 0x09 },
200:./Drivers/BSP/Components/sx1272/sx1272.c **** { 250000, 0x01 },
201:./Drivers/BSP/Components/sx1272/sx1272.c **** { 300000, 0x00 }, // Invalid Bandwidth
202:./Drivers/BSP/Components/sx1272/sx1272.c **** };
203:./Drivers/BSP/Components/sx1272/sx1272.c ****
204:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
ARM GAS /tmp/ccwcPdtV.s page 5
205:./Drivers/BSP/Components/sx1272/sx1272.c **** * Private global variables
206:./Drivers/BSP/Components/sx1272/sx1272.c **** */
207:./Drivers/BSP/Components/sx1272/sx1272.c ****
208:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
209:./Drivers/BSP/Components/sx1272/sx1272.c **** * Radio callbacks variable
210:./Drivers/BSP/Components/sx1272/sx1272.c **** */
211:./Drivers/BSP/Components/sx1272/sx1272.c **** static RadioEvents_t *RadioEvents;
212:./Drivers/BSP/Components/sx1272/sx1272.c ****
213:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
214:./Drivers/BSP/Components/sx1272/sx1272.c **** * Reception buffer
215:./Drivers/BSP/Components/sx1272/sx1272.c **** */
216:./Drivers/BSP/Components/sx1272/sx1272.c **** static uint8_t RxTxBuffer[RX_BUFFER_SIZE];
217:./Drivers/BSP/Components/sx1272/sx1272.c ****
218:./Drivers/BSP/Components/sx1272/sx1272.c **** static LoRaBoardCallback_t *LoRaBoardCallbacks;
219:./Drivers/BSP/Components/sx1272/sx1272.c ****
220:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
221:./Drivers/BSP/Components/sx1272/sx1272.c **** * Public global variables
222:./Drivers/BSP/Components/sx1272/sx1272.c **** */
223:./Drivers/BSP/Components/sx1272/sx1272.c ****
224:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
225:./Drivers/BSP/Components/sx1272/sx1272.c **** * Radio hardware and global parameters
226:./Drivers/BSP/Components/sx1272/sx1272.c **** */
227:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272_t SX1272;
228:./Drivers/BSP/Components/sx1272/sx1272.c ****
229:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
230:./Drivers/BSP/Components/sx1272/sx1272.c **** * Hardware DIO IRQ callback initialization
231:./Drivers/BSP/Components/sx1272/sx1272.c **** */
232:./Drivers/BSP/Components/sx1272/sx1272.c **** DioIrqHandler *DioIrq[] = { SX1272OnDio0Irq, SX1272OnDio1Irq,
233:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272OnDio2Irq, SX1272OnDio3Irq,
234:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272OnDio4Irq, NULL };
235:./Drivers/BSP/Components/sx1272/sx1272.c ****
236:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
237:./Drivers/BSP/Components/sx1272/sx1272.c **** * Tx and Rx timers
238:./Drivers/BSP/Components/sx1272/sx1272.c **** */
239:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerEvent_t TxTimeoutTimer;
240:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerEvent_t RxTimeoutTimer;
241:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerEvent_t RxTimeoutSyncWord;
242:./Drivers/BSP/Components/sx1272/sx1272.c ****
243:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
244:./Drivers/BSP/Components/sx1272/sx1272.c **** * Radio driver functions implementation
245:./Drivers/BSP/Components/sx1272/sx1272.c **** */
246:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272BoardInit( LoRaBoardCallback_t *callbacks )
247:./Drivers/BSP/Components/sx1272/sx1272.c **** {
248:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks =callbacks;
249:./Drivers/BSP/Components/sx1272/sx1272.c **** }
250:./Drivers/BSP/Components/sx1272/sx1272.c ****
251:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t SX1272Init( RadioEvents_t *events )
252:./Drivers/BSP/Components/sx1272/sx1272.c **** {
253:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
254:./Drivers/BSP/Components/sx1272/sx1272.c ****
255:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents = events;
256:./Drivers/BSP/Components/sx1272/sx1272.c ****
257:./Drivers/BSP/Components/sx1272/sx1272.c **** // Initialize driver timeout timers
258:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerInit( &TxTimeoutTimer, SX1272OnTimeoutIrq );
259:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerInit( &RxTimeoutTimer, SX1272OnTimeoutIrq );
260:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerInit( &RxTimeoutSyncWord, SX1272OnTimeoutIrq );
261:./Drivers/BSP/Components/sx1272/sx1272.c ****
ARM GAS /tmp/ccwcPdtV.s page 6
262:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks->SX1272BoardSetXO( SET );
263:./Drivers/BSP/Components/sx1272/sx1272.c ****
264:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Reset( );
265:./Drivers/BSP/Components/sx1272/sx1272.c ****
266:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_SLEEP );
267:./Drivers/BSP/Components/sx1272/sx1272.c ****
268:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks->SX1272BoardIoIrqInit( DioIrq );
269:./Drivers/BSP/Components/sx1272/sx1272.c ****
270:./Drivers/BSP/Components/sx1272/sx1272.c **** for( i = 0; i < sizeof( RadioRegsInit ) / sizeof( RadioRegisters_t ); i++ )
271:./Drivers/BSP/Components/sx1272/sx1272.c **** {
272:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( RadioRegsInit[i].Modem );
273:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( RadioRegsInit[i].Addr, RadioRegsInit[i].Value );
274:./Drivers/BSP/Components/sx1272/sx1272.c **** }
275:./Drivers/BSP/Components/sx1272/sx1272.c ****
276:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( MODEM_FSK );
277:./Drivers/BSP/Components/sx1272/sx1272.c ****
278:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
279:./Drivers/BSP/Components/sx1272/sx1272.c ****
280:./Drivers/BSP/Components/sx1272/sx1272.c **** return ( uint32_t )LoRaBoardCallbacks->SX1272BoardGetWakeTime( ) + RADIO_WAKEUP_TIME;// BOARD_W
281:./Drivers/BSP/Components/sx1272/sx1272.c **** }
282:./Drivers/BSP/Components/sx1272/sx1272.c ****
283:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioState_t SX1272GetStatus( void )
284:./Drivers/BSP/Components/sx1272/sx1272.c **** {
285:./Drivers/BSP/Components/sx1272/sx1272.c **** return SX1272.Settings.State;
286:./Drivers/BSP/Components/sx1272/sx1272.c **** }
287:./Drivers/BSP/Components/sx1272/sx1272.c ****
288:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetChannel( uint32_t freq )
289:./Drivers/BSP/Components/sx1272/sx1272.c **** {
290:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t channel;
291:./Drivers/BSP/Components/sx1272/sx1272.c ****
292:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Channel = freq;
293:./Drivers/BSP/Components/sx1272/sx1272.c ****
294:./Drivers/BSP/Components/sx1272/sx1272.c **** SX_FREQ_TO_CHANNEL( channel, freq );
295:./Drivers/BSP/Components/sx1272/sx1272.c ****
296:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FRFMSB, ( uint8_t )( ( channel >> 16 ) & 0xFF ) );
297:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FRFMID, ( uint8_t )( ( channel >> 8 ) & 0xFF ) );
298:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FRFLSB, ( uint8_t )( channel & 0xFF ) );
299:./Drivers/BSP/Components/sx1272/sx1272.c **** }
300:./Drivers/BSP/Components/sx1272/sx1272.c ****
301:./Drivers/BSP/Components/sx1272/sx1272.c **** bool SX1272IsChannelFree( RadioModems_t modem, uint32_t freq, int16_t rssiThresh, uint32_t maxCarri
302:./Drivers/BSP/Components/sx1272/sx1272.c **** {
303:./Drivers/BSP/Components/sx1272/sx1272.c **** bool status = true;
304:./Drivers/BSP/Components/sx1272/sx1272.c **** int16_t rssi = 0;
305:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t carrierSenseTime = 0;
306:./Drivers/BSP/Components/sx1272/sx1272.c ****
307:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( modem );
308:./Drivers/BSP/Components/sx1272/sx1272.c ****
309:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetChannel( freq );
310:./Drivers/BSP/Components/sx1272/sx1272.c ****
311:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_RECEIVER );
312:./Drivers/BSP/Components/sx1272/sx1272.c ****
313:./Drivers/BSP/Components/sx1272/sx1272.c **** DelayMs( 1 );
314:./Drivers/BSP/Components/sx1272/sx1272.c ****
315:./Drivers/BSP/Components/sx1272/sx1272.c **** carrierSenseTime = TimerGetCurrentTime( );
316:./Drivers/BSP/Components/sx1272/sx1272.c ****
317:./Drivers/BSP/Components/sx1272/sx1272.c **** // Perform carrier sense for maxCarrierSenseTime
318:./Drivers/BSP/Components/sx1272/sx1272.c **** while( TimerGetElapsedTime( carrierSenseTime ) < maxCarrierSenseTime )
ARM GAS /tmp/ccwcPdtV.s page 7
319:./Drivers/BSP/Components/sx1272/sx1272.c **** {
320:./Drivers/BSP/Components/sx1272/sx1272.c **** rssi = SX1272ReadRssi( modem );
321:./Drivers/BSP/Components/sx1272/sx1272.c ****
322:./Drivers/BSP/Components/sx1272/sx1272.c **** if( rssi > rssiThresh )
323:./Drivers/BSP/Components/sx1272/sx1272.c **** {
324:./Drivers/BSP/Components/sx1272/sx1272.c **** status = false;
325:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
326:./Drivers/BSP/Components/sx1272/sx1272.c **** }
327:./Drivers/BSP/Components/sx1272/sx1272.c **** }
328:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetSleep( );
329:./Drivers/BSP/Components/sx1272/sx1272.c **** return status;
330:./Drivers/BSP/Components/sx1272/sx1272.c **** }
331:./Drivers/BSP/Components/sx1272/sx1272.c ****
332:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t SX1272Random( void )
333:./Drivers/BSP/Components/sx1272/sx1272.c **** {
334:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
335:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t rnd = 0;
336:./Drivers/BSP/Components/sx1272/sx1272.c ****
337:./Drivers/BSP/Components/sx1272/sx1272.c **** /*
338:./Drivers/BSP/Components/sx1272/sx1272.c **** * Radio setup for random number generation
339:./Drivers/BSP/Components/sx1272/sx1272.c **** */
340:./Drivers/BSP/Components/sx1272/sx1272.c **** // Set LoRa modem ON
341:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( MODEM_LORA );
342:./Drivers/BSP/Components/sx1272/sx1272.c ****
343:./Drivers/BSP/Components/sx1272/sx1272.c **** // Disable LoRa modem interrupts
344:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGSMASK, RFLR_IRQFLAGS_RXTIMEOUT |
345:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_RXDONE |
346:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_PAYLOADCRCERROR |
347:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_VALIDHEADER |
348:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_TXDONE |
349:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDONE |
350:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_FHSSCHANGEDCHANNEL |
351:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDETECTED );
352:./Drivers/BSP/Components/sx1272/sx1272.c ****
353:./Drivers/BSP/Components/sx1272/sx1272.c **** // Set radio in continuous reception
354:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_RECEIVER );
355:./Drivers/BSP/Components/sx1272/sx1272.c ****
356:./Drivers/BSP/Components/sx1272/sx1272.c **** for( i = 0; i < 32; i++ )
357:./Drivers/BSP/Components/sx1272/sx1272.c **** {
358:./Drivers/BSP/Components/sx1272/sx1272.c **** DelayMs( 1 );
359:./Drivers/BSP/Components/sx1272/sx1272.c **** // Unfiltered RSSI value reading. Only takes the LSB value
360:./Drivers/BSP/Components/sx1272/sx1272.c **** rnd |= ( ( uint32_t )SX1272Read( REG_LR_RSSIWIDEBAND ) & 0x01 ) << i;
361:./Drivers/BSP/Components/sx1272/sx1272.c **** }
362:./Drivers/BSP/Components/sx1272/sx1272.c ****
363:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetSleep( );
364:./Drivers/BSP/Components/sx1272/sx1272.c ****
365:./Drivers/BSP/Components/sx1272/sx1272.c **** return rnd;
366:./Drivers/BSP/Components/sx1272/sx1272.c **** }
367:./Drivers/BSP/Components/sx1272/sx1272.c ****
368:./Drivers/BSP/Components/sx1272/sx1272.c **** /*!
369:./Drivers/BSP/Components/sx1272/sx1272.c **** * Returns the known FSK bandwidth registers value
370:./Drivers/BSP/Components/sx1272/sx1272.c **** *
371:./Drivers/BSP/Components/sx1272/sx1272.c **** * \param [IN] bandwidth Bandwidth value in Hz
372:./Drivers/BSP/Components/sx1272/sx1272.c **** * \retval regValue Bandwidth register value.
373:./Drivers/BSP/Components/sx1272/sx1272.c **** */
374:./Drivers/BSP/Components/sx1272/sx1272.c **** static uint8_t GetFskBandwidthRegValue( uint32_t bandwidth )
375:./Drivers/BSP/Components/sx1272/sx1272.c **** {
ARM GAS /tmp/ccwcPdtV.s page 8
376:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
377:./Drivers/BSP/Components/sx1272/sx1272.c ****
378:./Drivers/BSP/Components/sx1272/sx1272.c **** for( i = 0; i < ( sizeof( FskBandwidths ) / sizeof( FskBandwidth_t ) ) - 1; i++ )
379:./Drivers/BSP/Components/sx1272/sx1272.c **** {
380:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( bandwidth >= FskBandwidths[i].bandwidth ) && ( bandwidth < FskBandwidths[i + 1].bandw
381:./Drivers/BSP/Components/sx1272/sx1272.c **** {
382:./Drivers/BSP/Components/sx1272/sx1272.c **** return FskBandwidths[i].RegValue;
383:./Drivers/BSP/Components/sx1272/sx1272.c **** }
384:./Drivers/BSP/Components/sx1272/sx1272.c **** }
385:./Drivers/BSP/Components/sx1272/sx1272.c **** // ERROR: Value not found
386:./Drivers/BSP/Components/sx1272/sx1272.c **** while( 1 );
387:./Drivers/BSP/Components/sx1272/sx1272.c **** }
388:./Drivers/BSP/Components/sx1272/sx1272.c ****
389:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetRxConfig( RadioModems_t modem, uint32_t bandwidth,
390:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t datarate, uint8_t coderate,
391:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t bandwidthAfc, uint16_t preambleLen,
392:./Drivers/BSP/Components/sx1272/sx1272.c **** uint16_t symbTimeout, bool fixLen,
393:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t payloadLen,
394:./Drivers/BSP/Components/sx1272/sx1272.c **** bool crcOn, bool freqHopOn, uint8_t hopPeriod,
395:./Drivers/BSP/Components/sx1272/sx1272.c **** bool iqInverted, bool rxContinuous )
396:./Drivers/BSP/Components/sx1272/sx1272.c **** {
397:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( modem );
398:./Drivers/BSP/Components/sx1272/sx1272.c ****
399:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( modem )
400:./Drivers/BSP/Components/sx1272/sx1272.c **** {
401:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
402:./Drivers/BSP/Components/sx1272/sx1272.c **** {
403:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Bandwidth = bandwidth;
404:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Datarate = datarate;
405:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.BandwidthAfc = bandwidthAfc;
406:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.FixLen = fixLen;
407:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.PayloadLen = payloadLen;
408:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.CrcOn = crcOn;
409:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.IqInverted = iqInverted;
410:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.RxContinuous = rxContinuous;
411:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.PreambleLen = preambleLen;
412:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.RxSingleTimeout = ( uint32_t )( symbTimeout * ( ( 1.0 / ( double )d
413:./Drivers/BSP/Components/sx1272/sx1272.c ****
414:./Drivers/BSP/Components/sx1272/sx1272.c **** datarate = ( uint16_t )( ( double )XTAL_FREQ / ( double )datarate );
415:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_BITRATEMSB, ( uint8_t )( datarate >> 8 ) );
416:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_BITRATELSB, ( uint8_t )( datarate & 0xFF ) );
417:./Drivers/BSP/Components/sx1272/sx1272.c ****
418:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_RXBW, GetFskBandwidthRegValue( bandwidth ) );
419:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_AFCBW, GetFskBandwidthRegValue( bandwidthAfc ) );
420:./Drivers/BSP/Components/sx1272/sx1272.c ****
421:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PREAMBLEMSB, ( uint8_t )( ( preambleLen >> 8 ) & 0xFF ) );
422:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PREAMBLELSB, ( uint8_t )( preambleLen & 0xFF ) );
423:./Drivers/BSP/Components/sx1272/sx1272.c ****
424:./Drivers/BSP/Components/sx1272/sx1272.c **** if( fixLen == 1 )
425:./Drivers/BSP/Components/sx1272/sx1272.c **** {
426:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PAYLOADLENGTH, payloadLen );
427:./Drivers/BSP/Components/sx1272/sx1272.c **** }
428:./Drivers/BSP/Components/sx1272/sx1272.c **** else
429:./Drivers/BSP/Components/sx1272/sx1272.c **** {
430:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PAYLOADLENGTH, 0xFF ); // Set payload length to the maximum
431:./Drivers/BSP/Components/sx1272/sx1272.c **** }
432:./Drivers/BSP/Components/sx1272/sx1272.c ****
ARM GAS /tmp/ccwcPdtV.s page 9
433:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PACKETCONFIG1,
434:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_PACKETCONFIG1 ) &
435:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_PACKETCONFIG1_CRC_MASK &
436:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_PACKETCONFIG1_PACKETFORMAT_MASK ) |
437:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( fixLen == 1 ) ? RF_PACKETCONFIG1_PACKETFORMAT_FIXED : RF_PACKETCONFI
438:./Drivers/BSP/Components/sx1272/sx1272.c **** ( crcOn << 4 ) );
439:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PACKETCONFIG2, ( SX1272Read( REG_PACKETCONFIG2 ) | RF_PACKETCONFIG2_DA
440:./Drivers/BSP/Components/sx1272/sx1272.c **** }
441:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
442:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
443:./Drivers/BSP/Components/sx1272/sx1272.c **** {
444:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Bandwidth = bandwidth;
445:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Datarate = datarate;
446:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Coderate = coderate;
447:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.PreambleLen = preambleLen;
448:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.FixLen = fixLen;
449:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.PayloadLen = payloadLen;
450:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.CrcOn = crcOn;
451:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.FreqHopOn = freqHopOn;
452:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.HopPeriod = hopPeriod;
453:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.IqInverted = iqInverted;
454:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.RxContinuous = rxContinuous;
455:./Drivers/BSP/Components/sx1272/sx1272.c ****
456:./Drivers/BSP/Components/sx1272/sx1272.c **** if( datarate > 12 )
457:./Drivers/BSP/Components/sx1272/sx1272.c **** {
458:./Drivers/BSP/Components/sx1272/sx1272.c **** datarate = 12;
459:./Drivers/BSP/Components/sx1272/sx1272.c **** }
460:./Drivers/BSP/Components/sx1272/sx1272.c **** else if( datarate < 6 )
461:./Drivers/BSP/Components/sx1272/sx1272.c **** {
462:./Drivers/BSP/Components/sx1272/sx1272.c **** datarate = 6;
463:./Drivers/BSP/Components/sx1272/sx1272.c **** }
464:./Drivers/BSP/Components/sx1272/sx1272.c ****
465:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( ( bandwidth == 0 ) && ( ( datarate == 11 ) || ( datarate == 12 ) ) ) ||
466:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( bandwidth == 1 ) && ( datarate == 12 ) ) )
467:./Drivers/BSP/Components/sx1272/sx1272.c **** {
468:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize = 0x01;
469:./Drivers/BSP/Components/sx1272/sx1272.c **** }
470:./Drivers/BSP/Components/sx1272/sx1272.c **** else
471:./Drivers/BSP/Components/sx1272/sx1272.c **** {
472:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize = 0x00;
473:./Drivers/BSP/Components/sx1272/sx1272.c **** }
474:./Drivers/BSP/Components/sx1272/sx1272.c ****
475:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_MODEMCONFIG1,
476:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_MODEMCONFIG1 ) &
477:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_BW_MASK &
478:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_CODINGRATE_MASK &
479:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_IMPLICITHEADER_MASK &
480:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_RXPAYLOADCRC_MASK &
481:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_LOWDATARATEOPTIMIZE_MASK ) |
482:./Drivers/BSP/Components/sx1272/sx1272.c **** ( bandwidth << 6 ) | ( coderate << 3 ) |
483:./Drivers/BSP/Components/sx1272/sx1272.c **** ( fixLen << 2 ) | ( crcOn << 1 ) |
484:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize );
485:./Drivers/BSP/Components/sx1272/sx1272.c ****
486:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_MODEMCONFIG2,
487:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_MODEMCONFIG2 ) &
488:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG2_SF_MASK &
489:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG2_SYMBTIMEOUTMSB_MASK ) |
ARM GAS /tmp/ccwcPdtV.s page 10
490:./Drivers/BSP/Components/sx1272/sx1272.c **** ( datarate << 4 ) |
491:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( symbTimeout >> 8 ) & ~RFLR_MODEMCONFIG2_SYMBTIMEOUTMSB_MASK ) );
492:./Drivers/BSP/Components/sx1272/sx1272.c ****
493:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_SYMBTIMEOUTLSB, ( uint8_t )( symbTimeout & 0xFF ) );
494:./Drivers/BSP/Components/sx1272/sx1272.c ****
495:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PREAMBLEMSB, ( uint8_t )( ( preambleLen >> 8 ) & 0xFF ) );
496:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PREAMBLELSB, ( uint8_t )( preambleLen & 0xFF ) );
497:./Drivers/BSP/Components/sx1272/sx1272.c ****
498:./Drivers/BSP/Components/sx1272/sx1272.c **** if( fixLen == 1 )
499:./Drivers/BSP/Components/sx1272/sx1272.c **** {
500:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PAYLOADLENGTH, payloadLen );
501:./Drivers/BSP/Components/sx1272/sx1272.c **** }
502:./Drivers/BSP/Components/sx1272/sx1272.c ****
503:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.FreqHopOn == true )
504:./Drivers/BSP/Components/sx1272/sx1272.c **** {
505:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PLLHOP, ( SX1272Read( REG_LR_PLLHOP ) & RFLR_PLLHOP_FASTHOP_MAS
506:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_HOPPERIOD, SX1272.Settings.LoRa.HopPeriod );
507:./Drivers/BSP/Components/sx1272/sx1272.c **** }
508:./Drivers/BSP/Components/sx1272/sx1272.c ****
509:./Drivers/BSP/Components/sx1272/sx1272.c **** if( datarate == 6 )
510:./Drivers/BSP/Components/sx1272/sx1272.c **** {
511:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_DETECTOPTIMIZE,
512:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_DETECTOPTIMIZE ) &
513:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_MASK ) |
514:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_SF6 );
515:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_DETECTIONTHRESHOLD,
516:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONTHRESH_SF6 );
517:./Drivers/BSP/Components/sx1272/sx1272.c **** }
518:./Drivers/BSP/Components/sx1272/sx1272.c **** else
519:./Drivers/BSP/Components/sx1272/sx1272.c **** {
520:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_DETECTOPTIMIZE,
521:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_DETECTOPTIMIZE ) &
522:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_MASK ) |
523:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_SF7_TO_SF12 );
524:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_DETECTIONTHRESHOLD,
525:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONTHRESH_SF7_TO_SF12 );
526:./Drivers/BSP/Components/sx1272/sx1272.c **** }
527:./Drivers/BSP/Components/sx1272/sx1272.c **** }
528:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
529:./Drivers/BSP/Components/sx1272/sx1272.c **** }
530:./Drivers/BSP/Components/sx1272/sx1272.c **** }
531:./Drivers/BSP/Components/sx1272/sx1272.c ****
532:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetTxConfig( RadioModems_t modem, int8_t power, uint32_t fdev,
533:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t bandwidth, uint32_t datarate,
534:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t coderate, uint16_t preambleLen,
535:./Drivers/BSP/Components/sx1272/sx1272.c **** bool fixLen, bool crcOn, bool freqHopOn,
536:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t hopPeriod, bool iqInverted, uint32_t timeout )
537:./Drivers/BSP/Components/sx1272/sx1272.c **** {
538:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( modem );
539:./Drivers/BSP/Components/sx1272/sx1272.c ****
540:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks->SX1272BoardSetRfTxPower( power );
541:./Drivers/BSP/Components/sx1272/sx1272.c ****
542:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( modem )
543:./Drivers/BSP/Components/sx1272/sx1272.c **** {
544:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
545:./Drivers/BSP/Components/sx1272/sx1272.c **** {
546:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Power = power;
ARM GAS /tmp/ccwcPdtV.s page 11
547:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Fdev = fdev;
548:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Bandwidth = bandwidth;
549:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Datarate = datarate;
550:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.PreambleLen = preambleLen;
551:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.FixLen = fixLen;
552:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.CrcOn = crcOn;
553:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.IqInverted = iqInverted;
554:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.TxTimeout = timeout;
555:./Drivers/BSP/Components/sx1272/sx1272.c ****
556:./Drivers/BSP/Components/sx1272/sx1272.c **** fdev = ( uint16_t )( ( double )fdev / ( double )FREQ_STEP );
557:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FDEVMSB, ( uint8_t )( fdev >> 8 ) );
558:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FDEVLSB, ( uint8_t )( fdev & 0xFF ) );
559:./Drivers/BSP/Components/sx1272/sx1272.c ****
560:./Drivers/BSP/Components/sx1272/sx1272.c **** datarate = ( uint16_t )( ( double )XTAL_FREQ / ( double )datarate );
561:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_BITRATEMSB, ( uint8_t )( datarate >> 8 ) );
562:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_BITRATELSB, ( uint8_t )( datarate & 0xFF ) );
563:./Drivers/BSP/Components/sx1272/sx1272.c ****
564:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PREAMBLEMSB, ( preambleLen >> 8 ) & 0x00FF );
565:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PREAMBLELSB, preambleLen & 0xFF );
566:./Drivers/BSP/Components/sx1272/sx1272.c ****
567:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PACKETCONFIG1,
568:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_PACKETCONFIG1 ) &
569:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_PACKETCONFIG1_CRC_MASK &
570:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_PACKETCONFIG1_PACKETFORMAT_MASK ) |
571:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( fixLen == 1 ) ? RF_PACKETCONFIG1_PACKETFORMAT_FIXED : RF_PACKETCONFI
572:./Drivers/BSP/Components/sx1272/sx1272.c **** ( crcOn << 4 ) );
573:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PACKETCONFIG2, ( SX1272Read( REG_PACKETCONFIG2 ) | RF_PACKETCONFIG2_DA
574:./Drivers/BSP/Components/sx1272/sx1272.c **** }
575:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
576:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
577:./Drivers/BSP/Components/sx1272/sx1272.c **** {
578:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Power = power;
579:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Bandwidth = bandwidth;
580:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Datarate = datarate;
581:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Coderate = coderate;
582:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.PreambleLen = preambleLen;
583:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.FixLen = fixLen;
584:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.FreqHopOn = freqHopOn;
585:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.HopPeriod = hopPeriod;
586:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.CrcOn = crcOn;
587:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.IqInverted = iqInverted;
588:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.TxTimeout = timeout;
589:./Drivers/BSP/Components/sx1272/sx1272.c ****
590:./Drivers/BSP/Components/sx1272/sx1272.c **** if( datarate > 12 )
591:./Drivers/BSP/Components/sx1272/sx1272.c **** {
592:./Drivers/BSP/Components/sx1272/sx1272.c **** datarate = 12;
593:./Drivers/BSP/Components/sx1272/sx1272.c **** }
594:./Drivers/BSP/Components/sx1272/sx1272.c **** else if( datarate < 6 )
595:./Drivers/BSP/Components/sx1272/sx1272.c **** {
596:./Drivers/BSP/Components/sx1272/sx1272.c **** datarate = 6;
597:./Drivers/BSP/Components/sx1272/sx1272.c **** }
598:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( ( bandwidth == 0 ) && ( ( datarate == 11 ) || ( datarate == 12 ) ) ) ||
599:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( bandwidth == 1 ) && ( datarate == 12 ) ) )
600:./Drivers/BSP/Components/sx1272/sx1272.c **** {
601:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize = 0x01;
602:./Drivers/BSP/Components/sx1272/sx1272.c **** }
603:./Drivers/BSP/Components/sx1272/sx1272.c **** else
ARM GAS /tmp/ccwcPdtV.s page 12
604:./Drivers/BSP/Components/sx1272/sx1272.c **** {
605:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize = 0x00;
606:./Drivers/BSP/Components/sx1272/sx1272.c **** }
607:./Drivers/BSP/Components/sx1272/sx1272.c ****
608:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.FreqHopOn == true )
609:./Drivers/BSP/Components/sx1272/sx1272.c **** {
610:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PLLHOP, ( SX1272Read( REG_LR_PLLHOP ) & RFLR_PLLHOP_FASTHOP_MAS
611:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_HOPPERIOD, SX1272.Settings.LoRa.HopPeriod );
612:./Drivers/BSP/Components/sx1272/sx1272.c **** }
613:./Drivers/BSP/Components/sx1272/sx1272.c ****
614:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_MODEMCONFIG1,
615:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_MODEMCONFIG1 ) &
616:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_BW_MASK &
617:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_CODINGRATE_MASK &
618:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_IMPLICITHEADER_MASK &
619:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_RXPAYLOADCRC_MASK &
620:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG1_LOWDATARATEOPTIMIZE_MASK ) |
621:./Drivers/BSP/Components/sx1272/sx1272.c **** ( bandwidth << 6 ) | ( coderate << 3 ) |
622:./Drivers/BSP/Components/sx1272/sx1272.c **** ( fixLen << 2 ) | ( crcOn << 1 ) |
623:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize );
624:./Drivers/BSP/Components/sx1272/sx1272.c ****
625:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_MODEMCONFIG2,
626:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_MODEMCONFIG2 ) &
627:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG2_SF_MASK ) |
628:./Drivers/BSP/Components/sx1272/sx1272.c **** ( datarate << 4 ) );
629:./Drivers/BSP/Components/sx1272/sx1272.c ****
630:./Drivers/BSP/Components/sx1272/sx1272.c ****
631:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PREAMBLEMSB, ( preambleLen >> 8 ) & 0x00FF );
632:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PREAMBLELSB, preambleLen & 0xFF );
633:./Drivers/BSP/Components/sx1272/sx1272.c ****
634:./Drivers/BSP/Components/sx1272/sx1272.c **** if( datarate == 6 )
635:./Drivers/BSP/Components/sx1272/sx1272.c **** {
636:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_DETECTOPTIMIZE,
637:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_DETECTOPTIMIZE ) &
638:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_MASK ) |
639:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_SF6 );
640:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_DETECTIONTHRESHOLD,
641:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONTHRESH_SF6 );
642:./Drivers/BSP/Components/sx1272/sx1272.c **** }
643:./Drivers/BSP/Components/sx1272/sx1272.c **** else
644:./Drivers/BSP/Components/sx1272/sx1272.c **** {
645:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_DETECTOPTIMIZE,
646:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_DETECTOPTIMIZE ) &
647:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_MASK ) |
648:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_SF7_TO_SF12 );
649:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_DETECTIONTHRESHOLD,
650:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONTHRESH_SF7_TO_SF12 );
651:./Drivers/BSP/Components/sx1272/sx1272.c **** }
652:./Drivers/BSP/Components/sx1272/sx1272.c **** }
653:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
654:./Drivers/BSP/Components/sx1272/sx1272.c **** }
655:./Drivers/BSP/Components/sx1272/sx1272.c **** }
656:./Drivers/BSP/Components/sx1272/sx1272.c ****
657:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t SX1272GetTimeOnAir( RadioModems_t modem, uint8_t pktLen )
658:./Drivers/BSP/Components/sx1272/sx1272.c **** {
659:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t airTime = 0;
660:./Drivers/BSP/Components/sx1272/sx1272.c ****
ARM GAS /tmp/ccwcPdtV.s page 13
661:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( modem )
662:./Drivers/BSP/Components/sx1272/sx1272.c **** {
663:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
664:./Drivers/BSP/Components/sx1272/sx1272.c **** {
665:./Drivers/BSP/Components/sx1272/sx1272.c **** airTime = (uint32_t) round( ( 8 * ( SX1272.Settings.Fsk.PreambleLen +
666:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272Read( REG_SYNCCONFIG ) & ~RF_SYNCCONFIG_SYNCSIZE_MAS
667:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272.Settings.Fsk.FixLen == 0x01 ) ? 0.0 : 1.0 ) +
668:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( ( SX1272Read( REG_PACKETCONFIG1 ) & ~RF_PACKETCONFIG1_ADDR
669:./Drivers/BSP/Components/sx1272/sx1272.c **** pktLen +
670:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272.Settings.Fsk.CrcOn == 0x01 ) ? 2.0 : 0 ) ) /
671:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Datarate ) * 1000 );
672:./Drivers/BSP/Components/sx1272/sx1272.c **** }
673:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
674:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
675:./Drivers/BSP/Components/sx1272/sx1272.c **** {
676:./Drivers/BSP/Components/sx1272/sx1272.c **** double bw = 0.0;
677:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.LoRa.Bandwidth )
678:./Drivers/BSP/Components/sx1272/sx1272.c **** {
679:./Drivers/BSP/Components/sx1272/sx1272.c **** case 0: // 125 kHz
680:./Drivers/BSP/Components/sx1272/sx1272.c **** bw = 125000;
681:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
682:./Drivers/BSP/Components/sx1272/sx1272.c **** case 1: // 250 kHz
683:./Drivers/BSP/Components/sx1272/sx1272.c **** bw = 250000;
684:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
685:./Drivers/BSP/Components/sx1272/sx1272.c **** case 2: // 500 kHz
686:./Drivers/BSP/Components/sx1272/sx1272.c **** bw = 500000;
687:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
688:./Drivers/BSP/Components/sx1272/sx1272.c **** }
689:./Drivers/BSP/Components/sx1272/sx1272.c ****
690:./Drivers/BSP/Components/sx1272/sx1272.c **** // Symbol rate : time for one symbol (secs)
691:./Drivers/BSP/Components/sx1272/sx1272.c **** double rs = bw / ( 1 << SX1272.Settings.LoRa.Datarate );
692:./Drivers/BSP/Components/sx1272/sx1272.c **** double ts = 1 / rs;
693:./Drivers/BSP/Components/sx1272/sx1272.c **** // time of preamble
694:./Drivers/BSP/Components/sx1272/sx1272.c **** double tPreamble = ( SX1272.Settings.LoRa.PreambleLen + 4.25 ) * ts;
695:./Drivers/BSP/Components/sx1272/sx1272.c **** // Symbol length of payload and time
696:./Drivers/BSP/Components/sx1272/sx1272.c **** double tmp = ceil( ( 8 * pktLen - 4 * SX1272.Settings.LoRa.Datarate +
697:./Drivers/BSP/Components/sx1272/sx1272.c **** 28 + 16 * SX1272.Settings.LoRa.CrcOn -
698:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272.Settings.LoRa.FixLen ? 20 : 0 ) ) /
699:./Drivers/BSP/Components/sx1272/sx1272.c **** ( double )( 4 * ( SX1272.Settings.LoRa.Datarate -
700:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272.Settings.LoRa.LowDatarateOptimize > 0 ) ? 2 : 0 ) ) ) )
701:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272.Settings.LoRa.Coderate + 4 );
702:./Drivers/BSP/Components/sx1272/sx1272.c **** double nPayload = 8 + ( ( tmp > 0 ) ? tmp : 0 );
703:./Drivers/BSP/Components/sx1272/sx1272.c **** double tPayload = nPayload * ts;
704:./Drivers/BSP/Components/sx1272/sx1272.c **** // Time on air
705:./Drivers/BSP/Components/sx1272/sx1272.c **** double tOnAir = tPreamble + tPayload;
706:./Drivers/BSP/Components/sx1272/sx1272.c **** // return ms secs
707:./Drivers/BSP/Components/sx1272/sx1272.c **** airTime = (uint32_t) floor( tOnAir * 1000 + 0.999 );
708:./Drivers/BSP/Components/sx1272/sx1272.c **** }
709:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
710:./Drivers/BSP/Components/sx1272/sx1272.c **** }
711:./Drivers/BSP/Components/sx1272/sx1272.c **** return airTime;
712:./Drivers/BSP/Components/sx1272/sx1272.c **** }
713:./Drivers/BSP/Components/sx1272/sx1272.c ****
714:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272Send( uint8_t *buffer, uint8_t size )
715:./Drivers/BSP/Components/sx1272/sx1272.c **** {
716:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t txTimeout = 0;
717:./Drivers/BSP/Components/sx1272/sx1272.c ****
ARM GAS /tmp/ccwcPdtV.s page 14
718:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
719:./Drivers/BSP/Components/sx1272/sx1272.c **** {
720:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
721:./Drivers/BSP/Components/sx1272/sx1272.c **** {
722:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
723:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = size;
724:./Drivers/BSP/Components/sx1272/sx1272.c ****
725:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Fsk.FixLen == false )
726:./Drivers/BSP/Components/sx1272/sx1272.c **** {
727:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteFifo( ( uint8_t* )&size, 1 );
728:./Drivers/BSP/Components/sx1272/sx1272.c **** }
729:./Drivers/BSP/Components/sx1272/sx1272.c **** else
730:./Drivers/BSP/Components/sx1272/sx1272.c **** {
731:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PAYLOADLENGTH, size );
732:./Drivers/BSP/Components/sx1272/sx1272.c **** }
733:./Drivers/BSP/Components/sx1272/sx1272.c ****
734:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( size > 0 ) && ( size <= 64 ) )
735:./Drivers/BSP/Components/sx1272/sx1272.c **** {
736:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.ChunkSize = size;
737:./Drivers/BSP/Components/sx1272/sx1272.c **** }
738:./Drivers/BSP/Components/sx1272/sx1272.c **** else
739:./Drivers/BSP/Components/sx1272/sx1272.c **** {
740:./Drivers/BSP/Components/sx1272/sx1272.c **** memcpy1( RxTxBuffer, buffer, size );
741:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.ChunkSize = 32;
742:./Drivers/BSP/Components/sx1272/sx1272.c **** }
743:./Drivers/BSP/Components/sx1272/sx1272.c ****
744:./Drivers/BSP/Components/sx1272/sx1272.c **** // Write payload buffer
745:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteFifo( buffer, SX1272.Settings.FskPacketHandler.ChunkSize );
746:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.ChunkSize;
747:./Drivers/BSP/Components/sx1272/sx1272.c **** txTimeout = SX1272.Settings.Fsk.TxTimeout;
748:./Drivers/BSP/Components/sx1272/sx1272.c **** }
749:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
750:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
751:./Drivers/BSP/Components/sx1272/sx1272.c **** {
752:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.IqInverted == true )
753:./Drivers/BSP/Components/sx1272/sx1272.c **** {
754:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ, ( ( SX1272Read( REG_LR_INVERTIQ ) & RFLR_INVERTIQ_TX_
755:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ2, RFLR_INVERTIQ2_ON );
756:./Drivers/BSP/Components/sx1272/sx1272.c **** }
757:./Drivers/BSP/Components/sx1272/sx1272.c **** else
758:./Drivers/BSP/Components/sx1272/sx1272.c **** {
759:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ, ( ( SX1272Read( REG_LR_INVERTIQ ) & RFLR_INVERTIQ_TX_
760:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ2, RFLR_INVERTIQ2_OFF );
761:./Drivers/BSP/Components/sx1272/sx1272.c **** }
762:./Drivers/BSP/Components/sx1272/sx1272.c ****
763:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRaPacketHandler.Size = size;
764:./Drivers/BSP/Components/sx1272/sx1272.c ****
765:./Drivers/BSP/Components/sx1272/sx1272.c **** // Initializes the payload size
766:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PAYLOADLENGTH, size );
767:./Drivers/BSP/Components/sx1272/sx1272.c ****
768:./Drivers/BSP/Components/sx1272/sx1272.c **** // Full buffer used for Tx
769:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_FIFOTXBASEADDR, 0 );
770:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_FIFOADDRPTR, 0 );
771:./Drivers/BSP/Components/sx1272/sx1272.c ****
772:./Drivers/BSP/Components/sx1272/sx1272.c **** // FIFO operations can not take place in Sleep mode
773:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272Read( REG_OPMODE ) & ~RF_OPMODE_MASK ) == RF_OPMODE_SLEEP )
774:./Drivers/BSP/Components/sx1272/sx1272.c **** {
ARM GAS /tmp/ccwcPdtV.s page 15
775:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetStby( );
776:./Drivers/BSP/Components/sx1272/sx1272.c **** DelayMs( 1 );
777:./Drivers/BSP/Components/sx1272/sx1272.c **** }
778:./Drivers/BSP/Components/sx1272/sx1272.c **** // Write payload buffer
779:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteFifo( buffer, size );
780:./Drivers/BSP/Components/sx1272/sx1272.c **** txTimeout = SX1272.Settings.LoRa.TxTimeout;
781:./Drivers/BSP/Components/sx1272/sx1272.c **** }
782:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
783:./Drivers/BSP/Components/sx1272/sx1272.c **** }
784:./Drivers/BSP/Components/sx1272/sx1272.c ****
785:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetTx( txTimeout );
786:./Drivers/BSP/Components/sx1272/sx1272.c **** }
787:./Drivers/BSP/Components/sx1272/sx1272.c ****
788:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetSleep( void )
789:./Drivers/BSP/Components/sx1272/sx1272.c **** {
790:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
791:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &TxTimeoutTimer );
792:./Drivers/BSP/Components/sx1272/sx1272.c ****
793:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_SLEEP );
794:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
795:./Drivers/BSP/Components/sx1272/sx1272.c **** }
796:./Drivers/BSP/Components/sx1272/sx1272.c ****
797:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetStby( void )
798:./Drivers/BSP/Components/sx1272/sx1272.c **** {
799:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
800:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &TxTimeoutTimer );
801:./Drivers/BSP/Components/sx1272/sx1272.c ****
802:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_STANDBY );
803:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
804:./Drivers/BSP/Components/sx1272/sx1272.c **** }
805:./Drivers/BSP/Components/sx1272/sx1272.c ****
806:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetRx( uint32_t timeout )
807:./Drivers/BSP/Components/sx1272/sx1272.c **** {
808:./Drivers/BSP/Components/sx1272/sx1272.c **** bool rxContinuous = false;
809:./Drivers/BSP/Components/sx1272/sx1272.c ****
810:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
811:./Drivers/BSP/Components/sx1272/sx1272.c **** {
812:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
813:./Drivers/BSP/Components/sx1272/sx1272.c **** {
814:./Drivers/BSP/Components/sx1272/sx1272.c **** rxContinuous = SX1272.Settings.Fsk.RxContinuous;
815:./Drivers/BSP/Components/sx1272/sx1272.c ****
816:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO0=PayloadReady
817:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO1=FifoLevel
818:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO2=SyncAddr
819:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO3=FifoEmpty
820:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO4=Preamble
821:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO5=ModeReady
822:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RF_DIOMAPPING1_DIO0_MAS
823:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_MAS
824:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO2_MAS
825:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO0_00
826:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_00
827:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO2_11
828:./Drivers/BSP/Components/sx1272/sx1272.c ****
829:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING2, ( SX1272Read( REG_DIOMAPPING2 ) & RF_DIOMAPPING2_DIO4_MAS
830:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING2_MAP_MASK
831:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING2_DIO4_11
ARM GAS /tmp/ccwcPdtV.s page 16
832:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING2_MAP_PREA
833:./Drivers/BSP/Components/sx1272/sx1272.c ****
834:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.FifoThresh = SX1272Read( REG_FIFOTHRESH ) & 0x3F;
835:./Drivers/BSP/Components/sx1272/sx1272.c ****
836:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_RXCONFIG, RF_RXCONFIG_AFCAUTO_ON | RF_RXCONFIG_AGCAUTO_ON | RF_RXCONFI
837:./Drivers/BSP/Components/sx1272/sx1272.c ****
838:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.PreambleDetected = false;
839:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
840:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
841:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = 0;
842:./Drivers/BSP/Components/sx1272/sx1272.c **** }
843:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
844:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
845:./Drivers/BSP/Components/sx1272/sx1272.c **** {
846:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.IqInverted == true )
847:./Drivers/BSP/Components/sx1272/sx1272.c **** {
848:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ, ( ( SX1272Read( REG_LR_INVERTIQ ) & RFLR_INVERTIQ_TX_
849:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ2, RFLR_INVERTIQ2_ON );
850:./Drivers/BSP/Components/sx1272/sx1272.c **** }
851:./Drivers/BSP/Components/sx1272/sx1272.c **** else
852:./Drivers/BSP/Components/sx1272/sx1272.c **** {
853:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ, ( ( SX1272Read( REG_LR_INVERTIQ ) & RFLR_INVERTIQ_TX_
854:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ2, RFLR_INVERTIQ2_OFF );
855:./Drivers/BSP/Components/sx1272/sx1272.c **** }
856:./Drivers/BSP/Components/sx1272/sx1272.c ****
857:./Drivers/BSP/Components/sx1272/sx1272.c **** rxContinuous = SX1272.Settings.LoRa.RxContinuous;
858:./Drivers/BSP/Components/sx1272/sx1272.c ****
859:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.FreqHopOn == true )
860:./Drivers/BSP/Components/sx1272/sx1272.c **** {
861:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGSMASK, //RFLR_IRQFLAGS_RXTIMEOUT |
862:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_RXDONE |
863:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_PAYLOADCRCERROR |
864:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_VALIDHEADER |
865:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_TXDONE |
866:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDONE |
867:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_FHSSCHANGEDCHANNEL |
868:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDETECTED );
869:./Drivers/BSP/Components/sx1272/sx1272.c ****
870:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO0=RxDone, DIO2=FhssChangeChannel
871:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RFLR_DIOMAPPING1_DI
872:./Drivers/BSP/Components/sx1272/sx1272.c **** }
873:./Drivers/BSP/Components/sx1272/sx1272.c **** else
874:./Drivers/BSP/Components/sx1272/sx1272.c **** {
875:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGSMASK, //RFLR_IRQFLAGS_RXTIMEOUT |
876:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_RXDONE |
877:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_PAYLOADCRCERROR |
878:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_VALIDHEADER |
879:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_TXDONE |
880:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDONE |
881:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_FHSSCHANGEDCHANNEL |
882:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDETECTED );
883:./Drivers/BSP/Components/sx1272/sx1272.c ****
884:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO0=RxDone
885:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RFLR_DIOMAPPING1_DI
886:./Drivers/BSP/Components/sx1272/sx1272.c **** }
887:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_FIFORXBASEADDR, 0 );
888:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_FIFOADDRPTR, 0 );
ARM GAS /tmp/ccwcPdtV.s page 17
889:./Drivers/BSP/Components/sx1272/sx1272.c **** }
890:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
891:./Drivers/BSP/Components/sx1272/sx1272.c **** }
892:./Drivers/BSP/Components/sx1272/sx1272.c ****
893:./Drivers/BSP/Components/sx1272/sx1272.c **** memset( RxTxBuffer, 0, ( size_t )RX_BUFFER_SIZE );
894:./Drivers/BSP/Components/sx1272/sx1272.c ****
895:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_RX_RUNNING;
896:./Drivers/BSP/Components/sx1272/sx1272.c **** if( timeout != 0 )
897:./Drivers/BSP/Components/sx1272/sx1272.c **** {
898:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerSetValue( &RxTimeoutTimer, timeout );
899:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutTimer );
900:./Drivers/BSP/Components/sx1272/sx1272.c **** }
901:./Drivers/BSP/Components/sx1272/sx1272.c ****
902:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Modem == MODEM_FSK )
903:./Drivers/BSP/Components/sx1272/sx1272.c **** {
904:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_RECEIVER );
905:./Drivers/BSP/Components/sx1272/sx1272.c ****
906:./Drivers/BSP/Components/sx1272/sx1272.c **** if( rxContinuous == false )
907:./Drivers/BSP/Components/sx1272/sx1272.c **** {
908:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerSetValue( &RxTimeoutSyncWord, SX1272.Settings.Fsk.RxSingleTimeout );
909:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutSyncWord );
910:./Drivers/BSP/Components/sx1272/sx1272.c **** }
911:./Drivers/BSP/Components/sx1272/sx1272.c **** }
912:./Drivers/BSP/Components/sx1272/sx1272.c **** else
913:./Drivers/BSP/Components/sx1272/sx1272.c **** {
914:./Drivers/BSP/Components/sx1272/sx1272.c **** if( rxContinuous == true )
915:./Drivers/BSP/Components/sx1272/sx1272.c **** {
916:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RFLR_OPMODE_RECEIVER );
917:./Drivers/BSP/Components/sx1272/sx1272.c **** }
918:./Drivers/BSP/Components/sx1272/sx1272.c **** else
919:./Drivers/BSP/Components/sx1272/sx1272.c **** {
920:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RFLR_OPMODE_RECEIVER_SINGLE );
921:./Drivers/BSP/Components/sx1272/sx1272.c **** }
922:./Drivers/BSP/Components/sx1272/sx1272.c **** }
923:./Drivers/BSP/Components/sx1272/sx1272.c **** }
924:./Drivers/BSP/Components/sx1272/sx1272.c ****
925:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetTx( uint32_t timeout )
926:./Drivers/BSP/Components/sx1272/sx1272.c **** {
927:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerSetValue( &TxTimeoutTimer, timeout );
928:./Drivers/BSP/Components/sx1272/sx1272.c ****
929:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
930:./Drivers/BSP/Components/sx1272/sx1272.c **** {
931:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
932:./Drivers/BSP/Components/sx1272/sx1272.c **** {
933:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO0=PacketSent
934:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO1=FifoEmpty
935:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO2=FifoFull
936:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO3=FifoEmpty
937:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO4=LowBat
938:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO5=ModeReady
939:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RF_DIOMAPPING1_DIO0_MAS
940:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_MAS
941:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO2_MAS
942:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_01
943:./Drivers/BSP/Components/sx1272/sx1272.c ****
944:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING2, ( SX1272Read( REG_DIOMAPPING2 ) & RF_DIOMAPPING2_DIO4_MAS
945:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING2_MAP_MASK
ARM GAS /tmp/ccwcPdtV.s page 18
946:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.FifoThresh = SX1272Read( REG_FIFOTHRESH ) & 0x3F;
947:./Drivers/BSP/Components/sx1272/sx1272.c **** }
948:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
949:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
950:./Drivers/BSP/Components/sx1272/sx1272.c **** {
951:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.FreqHopOn == true )
952:./Drivers/BSP/Components/sx1272/sx1272.c **** {
953:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGSMASK, RFLR_IRQFLAGS_RXTIMEOUT |
954:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_RXDONE |
955:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_PAYLOADCRCERROR |
956:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_VALIDHEADER |
957:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_TXDONE |
958:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDONE |
959:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_FHSSCHANGEDCHANNEL |
960:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDETECTED );
961:./Drivers/BSP/Components/sx1272/sx1272.c ****
962:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO0=TxDone, DIO2=FhssChangeChannel
963:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RFLR_DIOMAPPING1_DI
964:./Drivers/BSP/Components/sx1272/sx1272.c **** }
965:./Drivers/BSP/Components/sx1272/sx1272.c **** else
966:./Drivers/BSP/Components/sx1272/sx1272.c **** {
967:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGSMASK, RFLR_IRQFLAGS_RXTIMEOUT |
968:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_RXDONE |
969:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_PAYLOADCRCERROR |
970:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_VALIDHEADER |
971:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_TXDONE |
972:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDONE |
973:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_FHSSCHANGEDCHANNEL |
974:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_CADDETECTED );
975:./Drivers/BSP/Components/sx1272/sx1272.c ****
976:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO0=TxDone
977:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RFLR_DIOMAPPING1_DI
978:./Drivers/BSP/Components/sx1272/sx1272.c **** }
979:./Drivers/BSP/Components/sx1272/sx1272.c **** }
980:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
981:./Drivers/BSP/Components/sx1272/sx1272.c **** }
982:./Drivers/BSP/Components/sx1272/sx1272.c ****
983:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_TX_RUNNING;
984:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &TxTimeoutTimer );
985:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_TRANSMITTER );
986:./Drivers/BSP/Components/sx1272/sx1272.c **** }
987:./Drivers/BSP/Components/sx1272/sx1272.c ****
988:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272StartCad( void )
989:./Drivers/BSP/Components/sx1272/sx1272.c **** {
990:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
991:./Drivers/BSP/Components/sx1272/sx1272.c **** {
992:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
993:./Drivers/BSP/Components/sx1272/sx1272.c **** {
994:./Drivers/BSP/Components/sx1272/sx1272.c ****
995:./Drivers/BSP/Components/sx1272/sx1272.c **** }
996:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
997:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
998:./Drivers/BSP/Components/sx1272/sx1272.c **** {
999:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGSMASK, RFLR_IRQFLAGS_RXTIMEOUT |
1000:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_RXDONE |
1001:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_PAYLOADCRCERROR |
1002:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_VALIDHEADER |
ARM GAS /tmp/ccwcPdtV.s page 19
1003:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_TXDONE |
1004:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_CADDONE |
1005:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_IRQFLAGS_FHSSCHANGEDCHANNEL // |
1006:./Drivers/BSP/Components/sx1272/sx1272.c **** //RFLR_IRQFLAGS_CADDETECTED
1007:./Drivers/BSP/Components/sx1272/sx1272.c **** );
1008:./Drivers/BSP/Components/sx1272/sx1272.c ****
1009:./Drivers/BSP/Components/sx1272/sx1272.c **** // DIO3=CADDone
1010:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, ( SX1272Read( REG_DIOMAPPING1 ) & RFLR_DIOMAPPING1_DIO3_M
1011:./Drivers/BSP/Components/sx1272/sx1272.c ****
1012:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_CAD;
1013:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RFLR_OPMODE_CAD );
1014:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1015:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1016:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1017:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1018:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1019:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1020:./Drivers/BSP/Components/sx1272/sx1272.c ****
1021:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetTxContinuousWave( uint32_t freq, int8_t power, uint16_t time )
1022:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1023:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t timeout = ( uint32_t )( time * 1000 );
1024:./Drivers/BSP/Components/sx1272/sx1272.c ****
1025:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetChannel( freq );
1026:./Drivers/BSP/Components/sx1272/sx1272.c ****
1027:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetTxConfig( MODEM_FSK, power, 0, 0, 4800, 0, 5, false, false, 0, 0, 0, timeout );
1028:./Drivers/BSP/Components/sx1272/sx1272.c ****
1029:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PACKETCONFIG2, ( SX1272Read( REG_PACKETCONFIG2 ) & RF_PACKETCONFIG2_DATAMODE_M
1030:./Drivers/BSP/Components/sx1272/sx1272.c **** // Disable radio interrupts
1031:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, RF_DIOMAPPING1_DIO0_11 | RF_DIOMAPPING1_DIO1_11 );
1032:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING2, RF_DIOMAPPING2_DIO4_10 | RF_DIOMAPPING2_DIO5_10 );
1033:./Drivers/BSP/Components/sx1272/sx1272.c ****
1034:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerSetValue( &TxTimeoutTimer, timeout );
1035:./Drivers/BSP/Components/sx1272/sx1272.c ****
1036:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_TX_RUNNING;
1037:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &TxTimeoutTimer );
1038:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_TRANSMITTER );
1039:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1040:./Drivers/BSP/Components/sx1272/sx1272.c ****
1041:./Drivers/BSP/Components/sx1272/sx1272.c **** int16_t SX1272ReadRssi( RadioModems_t modem )
1042:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1043:./Drivers/BSP/Components/sx1272/sx1272.c **** int16_t rssi = 0;
1044:./Drivers/BSP/Components/sx1272/sx1272.c ****
1045:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( modem )
1046:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1047:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1048:./Drivers/BSP/Components/sx1272/sx1272.c **** rssi = -( SX1272Read( REG_RSSIVALUE ) >> 1 );
1049:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1050:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1051:./Drivers/BSP/Components/sx1272/sx1272.c **** rssi = RSSI_OFFSET + SX1272Read( REG_LR_RSSIVALUE );
1052:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1053:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1054:./Drivers/BSP/Components/sx1272/sx1272.c **** rssi = -1;
1055:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1056:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1057:./Drivers/BSP/Components/sx1272/sx1272.c **** return rssi;
1058:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1059:./Drivers/BSP/Components/sx1272/sx1272.c ****
ARM GAS /tmp/ccwcPdtV.s page 20
1060:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272Reset( void )
1061:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1062:./Drivers/BSP/Components/sx1272/sx1272.c **** GPIO_InitTypeDef initStruct = { 0 };
1063:./Drivers/BSP/Components/sx1272/sx1272.c ****
1064:./Drivers/BSP/Components/sx1272/sx1272.c **** initStruct.Mode =GPIO_MODE_OUTPUT_PP;
1065:./Drivers/BSP/Components/sx1272/sx1272.c **** initStruct.Pull = GPIO_NOPULL;
1066:./Drivers/BSP/Components/sx1272/sx1272.c **** initStruct.Speed = GPIO_SPEED_HIGH;
1067:./Drivers/BSP/Components/sx1272/sx1272.c ****
1068:./Drivers/BSP/Components/sx1272/sx1272.c **** // Set RESET pin to 1
1069:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Init( RADIO_RESET_PORT, RADIO_RESET_PIN, &initStruct );
1070:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Write( RADIO_RESET_PORT, RADIO_RESET_PIN, 1 );
1071:./Drivers/BSP/Components/sx1272/sx1272.c ****
1072:./Drivers/BSP/Components/sx1272/sx1272.c **** // Wait 1 ms
1073:./Drivers/BSP/Components/sx1272/sx1272.c **** DelayMs( 1 );
1074:./Drivers/BSP/Components/sx1272/sx1272.c ****
1075:./Drivers/BSP/Components/sx1272/sx1272.c **** // Configure RESET as input
1076:./Drivers/BSP/Components/sx1272/sx1272.c **** initStruct.Mode = GPIO_NOPULL;
1077:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Init( RADIO_RESET_PORT, RADIO_RESET_PIN, &initStruct );
1078:./Drivers/BSP/Components/sx1272/sx1272.c ****
1079:./Drivers/BSP/Components/sx1272/sx1272.c **** // Wait 6 ms
1080:./Drivers/BSP/Components/sx1272/sx1272.c **** DelayMs( 6 );
1081:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1082:./Drivers/BSP/Components/sx1272/sx1272.c ****
1083:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetOpMode( uint8_t opMode )
1084:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1085:./Drivers/BSP/Components/sx1272/sx1272.c **** if( opMode == RF_OPMODE_SLEEP )
1086:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1087:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks->SX1272BoardSetAntSwLowPower( true );
1088:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1089:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1090:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1091:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks->SX1272BoardSetAntSwLowPower( false );
1092:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks->SX1272BoardSetAntSw( opMode );
1093:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1094:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_OPMODE, ( SX1272Read( REG_OPMODE ) & RF_OPMODE_MASK ) | opMode );
1095:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1096:./Drivers/BSP/Components/sx1272/sx1272.c ****
1097:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetModem( RadioModems_t modem )
1098:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1099:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272Read( REG_OPMODE ) & RFLR_OPMODE_LONGRANGEMODE_ON ) != 0 )
1100:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1101:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Modem = MODEM_LORA;
1102:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1103:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1104:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1105:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Modem = MODEM_FSK;
1106:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1107:./Drivers/BSP/Components/sx1272/sx1272.c ****
1108:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Modem == modem )
1109:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1110:./Drivers/BSP/Components/sx1272/sx1272.c **** return;
1111:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1112:./Drivers/BSP/Components/sx1272/sx1272.c ****
1113:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Modem = modem;
1114:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1115:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1116:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
ARM GAS /tmp/ccwcPdtV.s page 21
1117:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1118:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetSleep( );
1119:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_OPMODE, ( SX1272Read( REG_OPMODE ) & RFLR_OPMODE_LONGRANGEMODE_MASK ) | RF
1120:./Drivers/BSP/Components/sx1272/sx1272.c ****
1121:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, 0x00 );
1122:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING2, 0x30 ); // DIO5=ModeReady
1123:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1124:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1125:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetSleep( );
1126:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_OPMODE, ( SX1272Read( REG_OPMODE ) & RFLR_OPMODE_LONGRANGEMODE_MASK ) | RF
1127:./Drivers/BSP/Components/sx1272/sx1272.c ****
1128:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING1, 0x00 );
1129:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_DIOMAPPING2, 0x00 );
1130:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1131:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1132:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1133:./Drivers/BSP/Components/sx1272/sx1272.c ****
1134:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272Write( uint8_t addr, uint8_t data )
1135:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteBuffer( addr, &data, 1 );
1137:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1138:./Drivers/BSP/Components/sx1272/sx1272.c ****
1139:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t SX1272Read( uint8_t addr )
1140:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1141:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t data;
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadBuffer( addr, &data, 1 );
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1144:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1145:./Drivers/BSP/Components/sx1272/sx1272.c ****
1146:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272WriteBuffer( uint8_t addr, uint8_t *buffer, uint8_t size )
1147:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1148:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
1149:./Drivers/BSP/Components/sx1272/sx1272.c ****
1150:./Drivers/BSP/Components/sx1272/sx1272.c **** //NSS = 0;
1151:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Write( RADIO_NSS_PORT, RADIO_NSS_PIN, 0 );
1152:./Drivers/BSP/Components/sx1272/sx1272.c ****
1153:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_SPI_InOut( addr | 0x80 );
1154:./Drivers/BSP/Components/sx1272/sx1272.c **** for( i = 0; i < size; i++ )
1155:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1156:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_SPI_InOut( buffer[i] );
1157:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1158:./Drivers/BSP/Components/sx1272/sx1272.c ****
1159:./Drivers/BSP/Components/sx1272/sx1272.c **** //NSS = 1;
1160:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Write( RADIO_NSS_PORT, RADIO_NSS_PIN, 1 );
1161:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1162:./Drivers/BSP/Components/sx1272/sx1272.c ****
1163:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272ReadBuffer( uint8_t addr, uint8_t *buffer, uint8_t size )
1164:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1165:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
1166:./Drivers/BSP/Components/sx1272/sx1272.c ****
1167:./Drivers/BSP/Components/sx1272/sx1272.c **** //NSS = 0;
1168:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Write( RADIO_NSS_PORT, RADIO_NSS_PIN, 0 );
1169:./Drivers/BSP/Components/sx1272/sx1272.c ****
1170:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_SPI_InOut( addr & 0x7F );
1171:./Drivers/BSP/Components/sx1272/sx1272.c ****
1172:./Drivers/BSP/Components/sx1272/sx1272.c **** for( i = 0; i < size; i++ )
1173:./Drivers/BSP/Components/sx1272/sx1272.c **** {
ARM GAS /tmp/ccwcPdtV.s page 22
1174:./Drivers/BSP/Components/sx1272/sx1272.c **** buffer[i] = HW_SPI_InOut( 0 );
1175:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1176:./Drivers/BSP/Components/sx1272/sx1272.c ****
1177:./Drivers/BSP/Components/sx1272/sx1272.c **** //NSS = 1;
1178:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Write( RADIO_NSS_PORT, RADIO_NSS_PIN, 1 );
1179:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1180:./Drivers/BSP/Components/sx1272/sx1272.c ****
1181:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272WriteFifo( uint8_t *buffer, uint8_t size )
1182:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1183:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteBuffer( 0, buffer, size );
1184:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1185:./Drivers/BSP/Components/sx1272/sx1272.c ****
1186:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272ReadFifo( uint8_t *buffer, uint8_t size )
1187:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadBuffer( 0, buffer, size );
1189:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1190:./Drivers/BSP/Components/sx1272/sx1272.c ****
1191:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetMaxPayloadLength( RadioModems_t modem, uint8_t max )
1192:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1193:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( modem );
1194:./Drivers/BSP/Components/sx1272/sx1272.c ****
1195:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( modem )
1196:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1197:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1198:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Fsk.FixLen == false )
1199:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1200:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PAYLOADLENGTH, max );
1201:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1202:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1203:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1204:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PAYLOADMAXLENGTH, max );
1205:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1206:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1207:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1208:./Drivers/BSP/Components/sx1272/sx1272.c ****
1209:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272SetPublicNetwork( bool enable )
1210:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1211:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( MODEM_LORA );
1212:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.PublicNetwork = enable;
1213:./Drivers/BSP/Components/sx1272/sx1272.c **** if( enable == true )
1214:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1215:./Drivers/BSP/Components/sx1272/sx1272.c **** // Change LoRa modem SyncWord
1216:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_SYNCWORD, LORA_MAC_PUBLIC_SYNCWORD );
1217:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1218:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1219:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1220:./Drivers/BSP/Components/sx1272/sx1272.c **** // Change LoRa modem SyncWord
1221:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_SYNCWORD, LORA_MAC_PRIVATE_SYNCWORD );
1222:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1223:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1224:./Drivers/BSP/Components/sx1272/sx1272.c ****
1225:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t SX1272GetRadioWakeUpTime( void )
1226:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1227:./Drivers/BSP/Components/sx1272/sx1272.c **** return ( uint32_t )LoRaBoardCallbacks->SX1272BoardGetWakeTime( ) + RADIO_WAKEUP_TIME;// BOARD_W
1228:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1229:./Drivers/BSP/Components/sx1272/sx1272.c ****
1230:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnTimeoutIrq( void )
ARM GAS /tmp/ccwcPdtV.s page 23
1231:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1232:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.State )
1233:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1234:./Drivers/BSP/Components/sx1272/sx1272.c **** case RF_RX_RUNNING:
1235:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Modem == MODEM_FSK )
1236:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1237:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.PreambleDetected = false;
1238:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
1239:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
1240:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = 0;
1241:./Drivers/BSP/Components/sx1272/sx1272.c ****
1242:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irqs
1243:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_IRQFLAGS1, RF_IRQFLAGS1_RSSI |
1244:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_IRQFLAGS1_PREAMBLEDETECT |
1245:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_IRQFLAGS1_SYNCADDRESSMATCH );
1246:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_IRQFLAGS2, RF_IRQFLAGS2_FIFOOVERRUN );
1247:./Drivers/BSP/Components/sx1272/sx1272.c ****
1248:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Fsk.RxContinuous == true )
1249:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1250:./Drivers/BSP/Components/sx1272/sx1272.c **** // Continuous mode restart Rx chain
1251:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_RXCONFIG, SX1272Read( REG_RXCONFIG ) | RF_RXCONFIG_RESTARTRXWITHOU
1252:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutSyncWord );
1253:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1254:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1255:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1256:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1257:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutSyncWord );
1258:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1259:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1260:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->RxTimeout != NULL ) )
1261:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1262:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->RxTimeout( );
1263:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1264:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1265:./Drivers/BSP/Components/sx1272/sx1272.c **** case RF_TX_RUNNING:
1266:./Drivers/BSP/Components/sx1272/sx1272.c **** // Tx timeout shouldn't happen.
1267:./Drivers/BSP/Components/sx1272/sx1272.c **** // But it has been observed that when it happens it is a result of a corrupted SPI transfer
1268:./Drivers/BSP/Components/sx1272/sx1272.c **** // it depends on the platform design.
1269:./Drivers/BSP/Components/sx1272/sx1272.c **** //
1270:./Drivers/BSP/Components/sx1272/sx1272.c **** // The workaround is to put the radio in a known state. Thus, we re-initialize it.
1271:./Drivers/BSP/Components/sx1272/sx1272.c ****
1272:./Drivers/BSP/Components/sx1272/sx1272.c **** // BEGIN WORKAROUND
1273:./Drivers/BSP/Components/sx1272/sx1272.c ****
1274:./Drivers/BSP/Components/sx1272/sx1272.c **** // Reset the radio
1275:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Reset( );
1276:./Drivers/BSP/Components/sx1272/sx1272.c ****
1277:./Drivers/BSP/Components/sx1272/sx1272.c **** // Initialize radio default values
1278:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_SLEEP );
1279:./Drivers/BSP/Components/sx1272/sx1272.c ****
1280:./Drivers/BSP/Components/sx1272/sx1272.c **** for( uint8_t i = 0; i < sizeof( RadioRegsInit ) / sizeof( RadioRegisters_t ); i++ )
1281:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1282:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( RadioRegsInit[i].Modem );
1283:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( RadioRegsInit[i].Addr, RadioRegsInit[i].Value );
1284:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1285:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( MODEM_FSK );
1286:./Drivers/BSP/Components/sx1272/sx1272.c ****
1287:./Drivers/BSP/Components/sx1272/sx1272.c **** // Restore previous network type setting.
ARM GAS /tmp/ccwcPdtV.s page 24
1288:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetPublicNetwork( SX1272.Settings.LoRa.PublicNetwork );
1289:./Drivers/BSP/Components/sx1272/sx1272.c **** // END WORKAROUND
1290:./Drivers/BSP/Components/sx1272/sx1272.c ****
1291:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1292:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->TxTimeout != NULL ) )
1293:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1294:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->TxTimeout( );
1295:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1296:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1297:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1298:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1299:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1300:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1301:./Drivers/BSP/Components/sx1272/sx1272.c ****
1302:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio0Irq( void )
1303:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1304:./Drivers/BSP/Components/sx1272/sx1272.c **** volatile uint8_t irqFlags = 0;
1305:./Drivers/BSP/Components/sx1272/sx1272.c ****
1306:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.State )
1307:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1308:./Drivers/BSP/Components/sx1272/sx1272.c **** case RF_RX_RUNNING:
1309:./Drivers/BSP/Components/sx1272/sx1272.c **** //TimerStop( &RxTimeoutTimer );
1310:./Drivers/BSP/Components/sx1272/sx1272.c **** // RxDone interrupt
1311:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1312:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1313:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1314:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Fsk.CrcOn == true )
1315:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1316:./Drivers/BSP/Components/sx1272/sx1272.c **** irqFlags = SX1272Read( REG_IRQFLAGS2 );
1317:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( irqFlags & RF_IRQFLAGS2_CRCOK ) != RF_IRQFLAGS2_CRCOK )
1318:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1319:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irqs
1320:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_IRQFLAGS1, RF_IRQFLAGS1_RSSI |
1321:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_IRQFLAGS1_PREAMBLEDETECT |
1322:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_IRQFLAGS1_SYNCADDRESSMATCH );
1323:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_IRQFLAGS2, RF_IRQFLAGS2_FIFOOVERRUN );
1324:./Drivers/BSP/Components/sx1272/sx1272.c ****
1325:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
1326:./Drivers/BSP/Components/sx1272/sx1272.c ****
1327:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Fsk.RxContinuous == false )
1328:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1329:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutSyncWord );
1330:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1331:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1332:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1333:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1334:./Drivers/BSP/Components/sx1272/sx1272.c **** // Continuous mode restart Rx chain
1335:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_RXCONFIG, SX1272Read( REG_RXCONFIG ) | RF_RXCONFIG_RES
1336:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutSyncWord );
1337:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1338:./Drivers/BSP/Components/sx1272/sx1272.c ****
1339:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->RxError != NULL ) )
1340:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1341:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->RxError( );
1342:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1343:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.PreambleDetected = false;
1344:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
ARM GAS /tmp/ccwcPdtV.s page 25
1345:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
1346:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = 0;
1347:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1348:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1349:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1350:./Drivers/BSP/Components/sx1272/sx1272.c ****
1351:./Drivers/BSP/Components/sx1272/sx1272.c **** // Read received packet size
1352:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272.Settings.FskPacketHandler.Size == 0 ) && ( SX1272.Settings.FskPacketHa
1353:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1354:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Fsk.FixLen == false )
1355:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1356:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadFifo( ( uint8_t* )&SX1272.Settings.FskPacketHandler.Size, 1 );
1357:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1358:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1359:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1360:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = SX1272Read( REG_PAYLOADLENGTH );
1361:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1362:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadFifo( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.S
1363:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.
1364:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1365:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1366:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1367:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadFifo( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.S
1368:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.
1369:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1370:./Drivers/BSP/Components/sx1272/sx1272.c ****
1371:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
1372:./Drivers/BSP/Components/sx1272/sx1272.c ****
1373:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Fsk.RxContinuous == false )
1374:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1375:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1376:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutSyncWord );
1377:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1378:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1379:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1380:./Drivers/BSP/Components/sx1272/sx1272.c **** // Continuous mode restart Rx chain
1381:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_RXCONFIG, SX1272Read( REG_RXCONFIG ) | RF_RXCONFIG_RESTARTRXWI
1382:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutSyncWord );
1383:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1384:./Drivers/BSP/Components/sx1272/sx1272.c ****
1385:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->RxDone != NULL ) )
1386:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1387:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->RxDone( RxTxBuffer, SX1272.Settings.FskPacketHandler.Size, SX1272.
1388:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1389:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.PreambleDetected = false;
1390:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
1391:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
1392:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = 0;
1393:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1394:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1395:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1396:./Drivers/BSP/Components/sx1272/sx1272.c **** int8_t snr = 0;
1397:./Drivers/BSP/Components/sx1272/sx1272.c ****
1398:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
1399:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_RXDONE );
1400:./Drivers/BSP/Components/sx1272/sx1272.c ****
1401:./Drivers/BSP/Components/sx1272/sx1272.c **** irqFlags = SX1272Read( REG_LR_IRQFLAGS );
ARM GAS /tmp/ccwcPdtV.s page 26
1402:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( irqFlags & RFLR_IRQFLAGS_PAYLOADCRCERROR_MASK ) == RFLR_IRQFLAGS_PAYLOADC
1403:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1404:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
1405:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_PAYLOADCRCERROR );
1406:./Drivers/BSP/Components/sx1272/sx1272.c ****
1407:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.RxContinuous == false )
1408:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1409:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1410:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1411:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
1412:./Drivers/BSP/Components/sx1272/sx1272.c ****
1413:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->RxError != NULL ) )
1414:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1415:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->RxError( );
1416:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1417:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1418:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1419:./Drivers/BSP/Components/sx1272/sx1272.c ****
1420:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRaPacketHandler.SnrValue = SX1272Read( REG_LR_PKTSNRVALUE );
1421:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRaPacketHandler.SnrValue & 0x80 ) // The SNR sign bit is
1422:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1423:./Drivers/BSP/Components/sx1272/sx1272.c **** // Invert and divide by 4
1424:./Drivers/BSP/Components/sx1272/sx1272.c **** snr = ( ( ~SX1272.Settings.LoRaPacketHandler.SnrValue + 1 ) & 0xFF ) >> 2;
1425:./Drivers/BSP/Components/sx1272/sx1272.c **** snr = -snr;
1426:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1427:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1428:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1429:./Drivers/BSP/Components/sx1272/sx1272.c **** // Divide by 4
1430:./Drivers/BSP/Components/sx1272/sx1272.c **** snr = ( SX1272.Settings.LoRaPacketHandler.SnrValue & 0xFF ) >> 2;
1431:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1432:./Drivers/BSP/Components/sx1272/sx1272.c ****
1433:./Drivers/BSP/Components/sx1272/sx1272.c **** int16_t rssi = SX1272Read( REG_LR_PKTRSSIVALUE );
1434:./Drivers/BSP/Components/sx1272/sx1272.c **** if( snr < 0 )
1435:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1436:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRaPacketHandler.RssiValue = RSSI_OFFSET + rssi + ( rssi >
1437:./Drivers/BSP/Components/sx1272/sx1272.c **** snr;
1438:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1439:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1440:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1441:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRaPacketHandler.RssiValue = RSSI_OFFSET + rssi + ( rssi >
1442:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1443:./Drivers/BSP/Components/sx1272/sx1272.c ****
1444:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRaPacketHandler.Size = SX1272Read( REG_LR_RXNBBYTES );
1445:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_FIFOADDRPTR, SX1272Read( REG_LR_FIFORXCURRENTADDR ) );
1446:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadFifo( RxTxBuffer, SX1272.Settings.LoRaPacketHandler.Size );
1447:./Drivers/BSP/Components/sx1272/sx1272.c ****
1448:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.RxContinuous == false )
1449:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1450:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1451:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1452:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
1453:./Drivers/BSP/Components/sx1272/sx1272.c ****
1454:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->RxDone != NULL ) )
1455:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1456:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->RxDone( RxTxBuffer, SX1272.Settings.LoRaPacketHandler.Size, SX
1457:./Drivers/BSP/Components/sx1272/sx1272.c **** PRINTF( "rxDone\n\r" );
1458:./Drivers/BSP/Components/sx1272/sx1272.c **** }
ARM GAS /tmp/ccwcPdtV.s page 27
1459:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1460:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1461:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1462:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1463:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1464:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1465:./Drivers/BSP/Components/sx1272/sx1272.c **** case RF_TX_RUNNING:
1466:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &TxTimeoutTimer );
1467:./Drivers/BSP/Components/sx1272/sx1272.c **** // TxDone interrupt
1468:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1469:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1470:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1471:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
1472:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_TXDONE );
1473:./Drivers/BSP/Components/sx1272/sx1272.c **** // Intentional fall through
1474:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1475:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1476:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1477:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->TxDone != NULL ) )
1478:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1479:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->TxDone( );
1480:./Drivers/BSP/Components/sx1272/sx1272.c **** PRINTF( "txDone\n\r" );
1481:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1482:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1483:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1484:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1485:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1486:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1487:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1488:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1489:./Drivers/BSP/Components/sx1272/sx1272.c ****
1490:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio1Irq( void )
1491:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1492:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.State )
1493:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1494:./Drivers/BSP/Components/sx1272/sx1272.c **** case RF_RX_RUNNING:
1495:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1496:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1497:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1498:./Drivers/BSP/Components/sx1272/sx1272.c **** // FifoLevel interrupt
1499:./Drivers/BSP/Components/sx1272/sx1272.c **** // Read received packet size
1500:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272.Settings.FskPacketHandler.Size == 0 ) && ( SX1272.Settings.FskPacketHa
1501:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1502:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.Fsk.FixLen == false )
1503:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1504:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadFifo( ( uint8_t* )&SX1272.Settings.FskPacketHandler.Size, 1 );
1505:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1506:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1507:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1508:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = SX1272Read( REG_PAYLOADLENGTH );
1509:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1510:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1511:./Drivers/BSP/Components/sx1272/sx1272.c ****
1512:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBy
1513:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1514:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadFifo( ( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX12
1515:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.Fi
ARM GAS /tmp/ccwcPdtV.s page 28
1516:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1517:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1518:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1519:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadFifo( ( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX12
1520:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.
1521:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1522:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1523:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1524:./Drivers/BSP/Components/sx1272/sx1272.c **** // Sync time out
1525:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
1526:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
1527:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_RXTIMEOUT );
1528:./Drivers/BSP/Components/sx1272/sx1272.c ****
1529:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1530:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->RxTimeout != NULL ) )
1531:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1532:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->RxTimeout( );
1533:./Drivers/BSP/Components/sx1272/sx1272.c **** PRINTF( "rxTimeOut\n\r" );
1534:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1535:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1536:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1537:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1538:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1539:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1540:./Drivers/BSP/Components/sx1272/sx1272.c **** case RF_TX_RUNNING:
1541:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1542:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1543:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1544:./Drivers/BSP/Components/sx1272/sx1272.c **** // FifoEmpty interrupt
1545:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272.Settings.FskPacketHandler.Size - SX1272.Settings.FskPacketHandler.NbBy
1546:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1547:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteFifo( ( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes ), SX1
1548:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.Ch
1549:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1550:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1551:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1552:./Drivers/BSP/Components/sx1272/sx1272.c **** // Write the last chunk of data
1553:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteFifo( RxTxBuffer + SX1272.Settings.FskPacketHandler.NbBytes, SX1272.
1554:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.Si
1555:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1556:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1557:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1558:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1559:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1560:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1561:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1562:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1563:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1564:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1565:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1566:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1567:./Drivers/BSP/Components/sx1272/sx1272.c ****
1568:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio2Irq( void )
1569:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1570:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t afcChannel = 0;
1571:./Drivers/BSP/Components/sx1272/sx1272.c ****
1572:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.State )
ARM GAS /tmp/ccwcPdtV.s page 29
1573:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1574:./Drivers/BSP/Components/sx1272/sx1272.c **** case RF_RX_RUNNING:
1575:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1576:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1577:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1578:./Drivers/BSP/Components/sx1272/sx1272.c **** // Checks if DIO4 is connected. If it is not PreambleDtected is set to true.
1579:./Drivers/BSP/Components/sx1272/sx1272.c **** #ifndef RADIO_DIO_4
1580:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.PreambleDetected = true;
1581:./Drivers/BSP/Components/sx1272/sx1272.c **** #endif
1582:./Drivers/BSP/Components/sx1272/sx1272.c ****
1583:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272.Settings.FskPacketHandler.PreambleDetected == true ) && ( SX1272.Setti
1584:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1585:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutSyncWord );
1586:./Drivers/BSP/Components/sx1272/sx1272.c ****
1587:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = true;
1588:./Drivers/BSP/Components/sx1272/sx1272.c ****
1589:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.RssiValue = -( SX1272Read( REG_RSSIVALUE ) >>
1590:./Drivers/BSP/Components/sx1272/sx1272.c ****
1591:./Drivers/BSP/Components/sx1272/sx1272.c **** afcChannel = ( ( ( uint16_t )SX1272Read( REG_AFCMSB ) << 8 ) |
1592:./Drivers/BSP/Components/sx1272/sx1272.c **** ( uint16_t )SX1272Read( REG_AFCLSB ) );
1593:./Drivers/BSP/Components/sx1272/sx1272.c ****
1594:./Drivers/BSP/Components/sx1272/sx1272.c **** SX_CHANNEL_TO_FREQ( afcChannel, SX1272.Settings.FskPacketHandler.AfcValue );
1595:./Drivers/BSP/Components/sx1272/sx1272.c ****
1596:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.RxGain = ( SX1272Read( REG_LNA ) >> 5 ) & 0x07
1597:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1598:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1599:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1600:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.FreqHopOn == true )
1601:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1602:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
1603:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_FHSSCHANGEDCHANNEL );
1604:./Drivers/BSP/Components/sx1272/sx1272.c ****
1605:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->FhssChangeChannel != NULL ) )
1606:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1607:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->FhssChangeChannel( ( SX1272Read( REG_LR_HOPCHANNEL ) & RFLR_HO
1608:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1609:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1610:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1611:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1612:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1613:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1614:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1615:./Drivers/BSP/Components/sx1272/sx1272.c **** case RF_TX_RUNNING:
1616:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1617:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1618:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1619:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1620:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1621:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRa.FreqHopOn == true )
1622:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1623:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
1624:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_FHSSCHANGEDCHANNEL );
1625:./Drivers/BSP/Components/sx1272/sx1272.c ****
1626:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->FhssChangeChannel != NULL ) )
1627:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1628:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->FhssChangeChannel( ( SX1272Read( REG_LR_HOPCHANNEL ) & RFLR_HO
1629:./Drivers/BSP/Components/sx1272/sx1272.c **** }
ARM GAS /tmp/ccwcPdtV.s page 30
1630:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1631:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1632:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1633:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1634:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1635:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1636:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1637:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1638:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1639:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1640:./Drivers/BSP/Components/sx1272/sx1272.c ****
1641:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio3Irq( void )
1642:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1643:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1644:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1645:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1646:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1647:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1648:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272Read( REG_LR_IRQFLAGS ) & RFLR_IRQFLAGS_CADDETECTED ) == RFLR_IRQFLAGS_CADDETEC
1649:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1650:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
1651:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_CADDETECTED | RFLR_IRQFLAGS_CADDONE );
1652:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->CadDone != NULL ) )
1653:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1654:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->CadDone( true );
1655:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1656:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1657:./Drivers/BSP/Components/sx1272/sx1272.c **** else
1658:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1659:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
1660:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_CADDONE );
1661:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->CadDone != NULL ) )
1662:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1663:./Drivers/BSP/Components/sx1272/sx1272.c **** RadioEvents->CadDone( false );
1664:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1665:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1666:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1667:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1668:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1669:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1670:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1671:./Drivers/BSP/Components/sx1272/sx1272.c ****
1672:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio4Irq( void )
1673:./Drivers/BSP/Components/sx1272/sx1272.c **** {
26 .loc 1 1673 0
27 .cfi_startproc
28 @ args = 0, pretend = 0, frame = 0
29 @ frame_needed = 0, uses_anonymous_args = 0
30 @ link register save eliminated.
1674:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
31 .loc 1 1674 0
32 0000 064B ldr r3, .L4
33 0002 5B79 ldrb r3, [r3, #5]
34 0004 002B cmp r3, #0
35 0006 07D1 bne .L1
1675:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1676:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
ARM GAS /tmp/ccwcPdtV.s page 31
1677:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1678:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.FskPacketHandler.PreambleDetected == false )
36 .loc 1 1678 0
37 0008 044A ldr r2, .L4
38 000a 3033 adds r3, r3, #48
39 000c D35C ldrb r3, [r2, r3]
40 000e 002B cmp r3, #0
41 0010 02D1 bne .L1
1679:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1680:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.PreambleDetected = true;
42 .loc 1 1680 0
43 0012 3033 adds r3, r3, #48
44 0014 0121 movs r1, #1
45 0016 D154 strb r1, [r2, r3]
46 .L1:
1681:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1682:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1683:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1684:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1685:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1686:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1687:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1688:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1689:./Drivers/BSP/Components/sx1272/sx1272.c **** }
47 .loc 1 1689 0
48 @ sp needed
49 0018 7047 bx lr
50 .L5:
51 001a C046 .align 2
52 .L4:
53 001c 00000000 .word .LANCHOR0
54 .cfi_endproc
55 .LFE131:
57 .section .text.SX1272BoardInit,"ax",%progbits
58 .align 1
59 .global SX1272BoardInit
60 .syntax unified
61 .code 16
62 .thumb_func
63 .fpu softvfp
65 SX1272BoardInit:
66 .LFB96:
247:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks =callbacks;
67 .loc 1 247 0
68 .cfi_startproc
69 @ args = 0, pretend = 0, frame = 0
70 @ frame_needed = 0, uses_anonymous_args = 0
71 @ link register save eliminated.
72 .LVL0:
248:./Drivers/BSP/Components/sx1272/sx1272.c **** }
73 .loc 1 248 0
74 0000 014B ldr r3, .L7
75 0002 1860 str r0, [r3]
249:./Drivers/BSP/Components/sx1272/sx1272.c ****
76 .loc 1 249 0
77 @ sp needed
78 0004 7047 bx lr
ARM GAS /tmp/ccwcPdtV.s page 32
79 .L8:
80 0006 C046 .align 2
81 .L7:
82 0008 00000000 .word .LANCHOR1
83 .cfi_endproc
84 .LFE96:
86 .section .text.SX1272GetStatus,"ax",%progbits
87 .align 1
88 .global SX1272GetStatus
89 .syntax unified
90 .code 16
91 .thumb_func
92 .fpu softvfp
94 SX1272GetStatus:
95 .LFB98:
284:./Drivers/BSP/Components/sx1272/sx1272.c **** return SX1272.Settings.State;
96 .loc 1 284 0
97 .cfi_startproc
98 @ args = 0, pretend = 0, frame = 0
99 @ frame_needed = 0, uses_anonymous_args = 0
100 @ link register save eliminated.
285:./Drivers/BSP/Components/sx1272/sx1272.c **** }
101 .loc 1 285 0
102 0000 014B ldr r3, .L10
103 0002 1879 ldrb r0, [r3, #4]
286:./Drivers/BSP/Components/sx1272/sx1272.c ****
104 .loc 1 286 0
105 @ sp needed
106 0004 7047 bx lr
107 .L11:
108 0006 C046 .align 2
109 .L10:
110 0008 00000000 .word .LANCHOR0
111 .cfi_endproc
112 .LFE98:
114 .section .text.SX1272Reset,"ax",%progbits
115 .align 1
116 .global SX1272Reset
117 .syntax unified
118 .code 16
119 .thumb_func
120 .fpu softvfp
122 SX1272Reset:
123 .LFB114:
1061:./Drivers/BSP/Components/sx1272/sx1272.c **** GPIO_InitTypeDef initStruct = { 0 };
124 .loc 1 1061 0
125 .cfi_startproc
126 @ args = 0, pretend = 0, frame = 24
127 @ frame_needed = 0, uses_anonymous_args = 0
128 0000 10B5 push {r4, lr}
129 .LCFI0:
130 .cfi_def_cfa_offset 8
131 .cfi_offset 4, -8
132 .cfi_offset 14, -4
133 0002 86B0 sub sp, sp, #24
134 .LCFI1:
135 .cfi_def_cfa_offset 32
ARM GAS /tmp/ccwcPdtV.s page 33
1062:./Drivers/BSP/Components/sx1272/sx1272.c ****
136 .loc 1 1062 0
137 0004 1422 movs r2, #20
138 0006 0021 movs r1, #0
139 0008 01A8 add r0, sp, #4
140 000a FFF7FEFF bl memset
141 .LVL1:
1064:./Drivers/BSP/Components/sx1272/sx1272.c **** initStruct.Pull = GPIO_NOPULL;
142 .loc 1 1064 0
143 000e 0123 movs r3, #1
144 0010 0293 str r3, [sp, #8]
1066:./Drivers/BSP/Components/sx1272/sx1272.c ****
145 .loc 1 1066 0
146 0012 0233 adds r3, r3, #2
147 0014 0493 str r3, [sp, #16]
1069:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Write( RADIO_RESET_PORT, RADIO_RESET_PIN, 1 );
148 .loc 1 1069 0
149 0016 A024 movs r4, #160
150 0018 E405 lsls r4, r4, #23
151 001a 01AA add r2, sp, #4
152 001c 0121 movs r1, #1
153 001e 2000 movs r0, r4
154 0020 FFF7FEFF bl HW_GPIO_Init
155 .LVL2:
1070:./Drivers/BSP/Components/sx1272/sx1272.c ****
156 .loc 1 1070 0
157 0024 0122 movs r2, #1
158 0026 0121 movs r1, #1
159 0028 2000 movs r0, r4
160 002a FFF7FEFF bl HW_GPIO_Write
161 .LVL3:
1073:./Drivers/BSP/Components/sx1272/sx1272.c ****
162 .loc 1 1073 0
163 002e 0120 movs r0, #1
164 0030 FFF7FEFF bl DelayMs
165 .LVL4:
1076:./Drivers/BSP/Components/sx1272/sx1272.c **** HW_GPIO_Init( RADIO_RESET_PORT, RADIO_RESET_PIN, &initStruct );
166 .loc 1 1076 0
167 0034 0023 movs r3, #0
168 0036 0293 str r3, [sp, #8]
1077:./Drivers/BSP/Components/sx1272/sx1272.c ****
169 .loc 1 1077 0
170 0038 01AA add r2, sp, #4
171 003a 0121 movs r1, #1
172 003c 2000 movs r0, r4
173 003e FFF7FEFF bl HW_GPIO_Init
174 .LVL5:
1080:./Drivers/BSP/Components/sx1272/sx1272.c **** }
175 .loc 1 1080 0
176 0042 0620 movs r0, #6
177 0044 FFF7FEFF bl DelayMs
178 .LVL6:
1081:./Drivers/BSP/Components/sx1272/sx1272.c ****
179 .loc 1 1081 0
180 0048 06B0 add sp, sp, #24
181 @ sp needed
182 004a 10BD pop {r4, pc}
ARM GAS /tmp/ccwcPdtV.s page 34
183 .cfi_endproc
184 .LFE114:
186 .section .text.SX1272WriteBuffer,"ax",%progbits
187 .align 1
188 .global SX1272WriteBuffer
189 .syntax unified
190 .code 16
191 .thumb_func
192 .fpu softvfp
194 SX1272WriteBuffer:
195 .LFB119:
1147:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
196 .loc 1 1147 0
197 .cfi_startproc
198 @ args = 0, pretend = 0, frame = 0
199 @ frame_needed = 0, uses_anonymous_args = 0
200 .LVL7:
201 0000 70B5 push {r4, r5, r6, lr}
202 .LCFI2:
203 .cfi_def_cfa_offset 16
204 .cfi_offset 4, -16
205 .cfi_offset 5, -12
206 .cfi_offset 6, -8
207 .cfi_offset 14, -4
208 0002 0400 movs r4, r0
209 0004 0E00 movs r6, r1
210 0006 1500 movs r5, r2
1151:./Drivers/BSP/Components/sx1272/sx1272.c ****
211 .loc 1 1151 0
212 0008 0022 movs r2, #0
213 .LVL8:
214 000a 4021 movs r1, #64
215 .LVL9:
216 000c 0B48 ldr r0, .L16
217 .LVL10:
218 000e FFF7FEFF bl HW_GPIO_Write
219 .LVL11:
1153:./Drivers/BSP/Components/sx1272/sx1272.c **** for( i = 0; i < size; i++ )
220 .loc 1 1153 0
221 0012 8020 movs r0, #128
222 0014 4042 rsbs r0, r0, #0
223 0016 2043 orrs r0, r4
224 0018 C0B2 uxtb r0, r0
225 001a FFF7FEFF bl HW_SPI_InOut
226 .LVL12:
1154:./Drivers/BSP/Components/sx1272/sx1272.c **** {
227 .loc 1 1154 0
228 001e 0024 movs r4, #0
229 0020 04E0 b .L14
230 .LVL13:
231 .L15:
1156:./Drivers/BSP/Components/sx1272/sx1272.c **** }
232 .loc 1 1156 0 discriminator 3
233 0022 305D ldrb r0, [r6, r4]
234 0024 FFF7FEFF bl HW_SPI_InOut
235 .LVL14:
1154:./Drivers/BSP/Components/sx1272/sx1272.c **** {
ARM GAS /tmp/ccwcPdtV.s page 35
236 .loc 1 1154 0 discriminator 3
237 0028 0134 adds r4, r4, #1
238 .LVL15:
239 002a E4B2 uxtb r4, r4
240 .LVL16:
241 .L14:
1154:./Drivers/BSP/Components/sx1272/sx1272.c **** {
242 .loc 1 1154 0 is_stmt 0 discriminator 1
243 002c AC42 cmp r4, r5
244 002e F8D3 bcc .L15
1160:./Drivers/BSP/Components/sx1272/sx1272.c **** }
245 .loc 1 1160 0 is_stmt 1
246 0030 0122 movs r2, #1
247 0032 4021 movs r1, #64
248 0034 0148 ldr r0, .L16
249 0036 FFF7FEFF bl HW_GPIO_Write
250 .LVL17:
1161:./Drivers/BSP/Components/sx1272/sx1272.c ****
251 .loc 1 1161 0
252 @ sp needed
253 .LVL18:
254 .LVL19:
255 003a 70BD pop {r4, r5, r6, pc}
256 .L17:
257 .align 2
258 .L16:
259 003c 00040050 .word 1342178304
260 .cfi_endproc
261 .LFE119:
263 .section .text.SX1272Write,"ax",%progbits
264 .align 1
265 .global SX1272Write
266 .syntax unified
267 .code 16
268 .thumb_func
269 .fpu softvfp
271 SX1272Write:
272 .LFB117:
1135:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteBuffer( addr, &data, 1 );
273 .loc 1 1135 0
274 .cfi_startproc
275 @ args = 0, pretend = 0, frame = 8
276 @ frame_needed = 0, uses_anonymous_args = 0
277 .LVL20:
278 0000 00B5 push {lr}
279 .LCFI3:
280 .cfi_def_cfa_offset 4
281 .cfi_offset 14, -4
282 0002 83B0 sub sp, sp, #12
283 .LCFI4:
284 .cfi_def_cfa_offset 16
285 0004 6B46 mov r3, sp
286 0006 D971 strb r1, [r3, #7]
287 0008 0733 adds r3, r3, #7
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
288 .loc 1 1136 0
289 000a 0122 movs r2, #1
ARM GAS /tmp/ccwcPdtV.s page 36
290 000c 1900 movs r1, r3
291 .LVL21:
292 000e FFF7FEFF bl SX1272WriteBuffer
293 .LVL22:
1137:./Drivers/BSP/Components/sx1272/sx1272.c ****
294 .loc 1 1137 0
295 0012 03B0 add sp, sp, #12
296 @ sp needed
297 0014 00BD pop {pc}
298 .cfi_endproc
299 .LFE117:
301 .global __aeabi_uidiv
302 .global __aeabi_uidivmod
303 .section .text.SX1272SetChannel,"ax",%progbits
304 .align 1
305 .global SX1272SetChannel
306 .syntax unified
307 .code 16
308 .thumb_func
309 .fpu softvfp
311 SX1272SetChannel:
312 .LFB99:
289:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t channel;
313 .loc 1 289 0
314 .cfi_startproc
315 @ args = 0, pretend = 0, frame = 8
316 @ frame_needed = 0, uses_anonymous_args = 0
317 .LVL23:
318 0000 30B5 push {r4, r5, lr}
319 .LCFI5:
320 .cfi_def_cfa_offset 12
321 .cfi_offset 4, -12
322 .cfi_offset 5, -8
323 .cfi_offset 14, -4
324 0002 83B0 sub sp, sp, #12
325 .LCFI6:
326 .cfi_def_cfa_offset 24
327 0004 0500 movs r5, r0
292:./Drivers/BSP/Components/sx1272/sx1272.c ****
328 .loc 1 292 0
329 0006 154B ldr r3, .L20
330 0008 9860 str r0, [r3, #8]
331 .LBB361:
294:./Drivers/BSP/Components/sx1272/sx1272.c ****
332 .loc 1 294 0
333 000a 1549 ldr r1, .L20+4
334 000c FFF7FEFF bl __aeabi_uidiv
335 .LVL24:
336 0010 0402 lsls r4, r0, #8
337 0012 1349 ldr r1, .L20+4
338 0014 2800 movs r0, r5
339 .LVL25:
340 0016 FFF7FEFF bl __aeabi_uidivmod
341 .LVL26:
342 001a 0802 lsls r0, r1, #8
343 001c 114B ldr r3, .L20+8
344 001e 9C46 mov ip, r3
ARM GAS /tmp/ccwcPdtV.s page 37
345 0020 6044 add r0, r0, ip
346 0022 0F49 ldr r1, .L20+4
347 0024 FFF7FEFF bl __aeabi_uidiv
348 .LVL27:
349 0028 2418 adds r4, r4, r0
350 .LVL28:
351 .LBE361:
296:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FRFMID, ( uint8_t )( ( channel >> 8 ) & 0xFF ) );
352 .loc 1 296 0
353 002a 230C lsrs r3, r4, #16
354 .LVL29:
355 002c 6A46 mov r2, sp
356 002e D11D adds r1, r2, #7
357 0030 0B70 strb r3, [r1]
358 .LVL30:
359 .LBB362:
360 .LBB363:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
361 .loc 1 1136 0
362 0032 0122 movs r2, #1
363 0034 0620 movs r0, #6
364 0036 FFF7FEFF bl SX1272WriteBuffer
365 .LVL31:
366 .LBE363:
367 .LBE362:
297:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FRFLSB, ( uint8_t )( channel & 0xFF ) );
368 .loc 1 297 0
369 003a 230A lsrs r3, r4, #8
370 .LVL32:
371 003c 6A46 mov r2, sp
372 003e 911D adds r1, r2, #6
373 0040 0B70 strb r3, [r1]
374 .LVL33:
375 .LBB364:
376 .LBB365:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
377 .loc 1 1136 0
378 0042 0122 movs r2, #1
379 0044 0720 movs r0, #7
380 0046 FFF7FEFF bl SX1272WriteBuffer
381 .LVL34:
382 004a 6B46 mov r3, sp
383 004c 591D adds r1, r3, #5
384 004e 0C70 strb r4, [r1]
385 .LVL35:
386 .LBE365:
387 .LBE364:
388 .LBB366:
389 .LBB367:
390 0050 0122 movs r2, #1
391 0052 0820 movs r0, #8
392 0054 FFF7FEFF bl SX1272WriteBuffer
393 .LVL36:
394 .LBE367:
395 .LBE366:
299:./Drivers/BSP/Components/sx1272/sx1272.c ****
396 .loc 1 299 0
ARM GAS /tmp/ccwcPdtV.s page 38
397 0058 03B0 add sp, sp, #12
398 @ sp needed
399 .LVL37:
400 .LVL38:
401 005a 30BD pop {r4, r5, pc}
402 .L21:
403 .align 2
404 .L20:
405 005c 00000000 .word .LANCHOR0
406 0060 093D0000 .word 15625
407 0064 841E0000 .word 7812
408 .cfi_endproc
409 .LFE99:
411 .section .text.SX1272ReadBuffer,"ax",%progbits
412 .align 1
413 .global SX1272ReadBuffer
414 .syntax unified
415 .code 16
416 .thumb_func
417 .fpu softvfp
419 SX1272ReadBuffer:
420 .LFB120:
1164:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
421 .loc 1 1164 0
422 .cfi_startproc
423 @ args = 0, pretend = 0, frame = 0
424 @ frame_needed = 0, uses_anonymous_args = 0
425 .LVL39:
426 0000 70B5 push {r4, r5, r6, lr}
427 .LCFI7:
428 .cfi_def_cfa_offset 16
429 .cfi_offset 4, -16
430 .cfi_offset 5, -12
431 .cfi_offset 6, -8
432 .cfi_offset 14, -4
433 0002 0400 movs r4, r0
434 0004 0E00 movs r6, r1
435 0006 1500 movs r5, r2
1168:./Drivers/BSP/Components/sx1272/sx1272.c ****
436 .loc 1 1168 0
437 0008 0022 movs r2, #0
438 .LVL40:
439 000a 4021 movs r1, #64
440 .LVL41:
441 000c 0B48 ldr r0, .L25
442 .LVL42:
443 000e FFF7FEFF bl HW_GPIO_Write
444 .LVL43:
1170:./Drivers/BSP/Components/sx1272/sx1272.c ****
445 .loc 1 1170 0
446 0012 7F20 movs r0, #127
447 0014 2040 ands r0, r4
448 0016 FFF7FEFF bl HW_SPI_InOut
449 .LVL44:
1172:./Drivers/BSP/Components/sx1272/sx1272.c **** {
450 .loc 1 1172 0
451 001a 0024 movs r4, #0
ARM GAS /tmp/ccwcPdtV.s page 39
452 001c 05E0 b .L23
453 .LVL45:
454 .L24:
1174:./Drivers/BSP/Components/sx1272/sx1272.c **** }
455 .loc 1 1174 0 discriminator 3
456 001e 0020 movs r0, #0
457 0020 FFF7FEFF bl HW_SPI_InOut
458 .LVL46:
459 0024 3055 strb r0, [r6, r4]
1172:./Drivers/BSP/Components/sx1272/sx1272.c **** {
460 .loc 1 1172 0 discriminator 3
461 0026 0134 adds r4, r4, #1
462 .LVL47:
463 0028 E4B2 uxtb r4, r4
464 .LVL48:
465 .L23:
1172:./Drivers/BSP/Components/sx1272/sx1272.c **** {
466 .loc 1 1172 0 is_stmt 0 discriminator 1
467 002a AC42 cmp r4, r5
468 002c F7D3 bcc .L24
1178:./Drivers/BSP/Components/sx1272/sx1272.c **** }
469 .loc 1 1178 0 is_stmt 1
470 002e 0122 movs r2, #1
471 0030 4021 movs r1, #64
472 0032 0248 ldr r0, .L25
473 0034 FFF7FEFF bl HW_GPIO_Write
474 .LVL49:
1179:./Drivers/BSP/Components/sx1272/sx1272.c ****
475 .loc 1 1179 0
476 @ sp needed
477 .LVL50:
478 .LVL51:
479 0038 70BD pop {r4, r5, r6, pc}
480 .L26:
481 003a C046 .align 2
482 .L25:
483 003c 00040050 .word 1342178304
484 .cfi_endproc
485 .LFE120:
487 .section .text.SX1272Read,"ax",%progbits
488 .align 1
489 .global SX1272Read
490 .syntax unified
491 .code 16
492 .thumb_func
493 .fpu softvfp
495 SX1272Read:
496 .LFB118:
1140:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t data;
497 .loc 1 1140 0
498 .cfi_startproc
499 @ args = 0, pretend = 0, frame = 8
500 @ frame_needed = 0, uses_anonymous_args = 0
501 .LVL52:
502 0000 10B5 push {r4, lr}
503 .LCFI8:
504 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccwcPdtV.s page 40
505 .cfi_offset 4, -8
506 .cfi_offset 14, -4
507 0002 82B0 sub sp, sp, #8
508 .LCFI9:
509 .cfi_def_cfa_offset 16
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
510 .loc 1 1142 0
511 0004 6B46 mov r3, sp
512 0006 DC1D adds r4, r3, #7
513 0008 0122 movs r2, #1
514 000a 2100 movs r1, r4
515 000c FFF7FEFF bl SX1272ReadBuffer
516 .LVL53:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
517 .loc 1 1143 0
518 0010 2078 ldrb r0, [r4]
1144:./Drivers/BSP/Components/sx1272/sx1272.c ****
519 .loc 1 1144 0
520 0012 02B0 add sp, sp, #8
521 @ sp needed
522 0014 10BD pop {r4, pc}
523 .cfi_endproc
524 .LFE118:
526 .global __aeabi_i2d
527 .global __aeabi_dadd
528 .global __aeabi_dmul
529 .global __aeabi_ui2d
530 .global __aeabi_ddiv
531 .global __aeabi_d2uiz
532 .global __aeabi_dcmpgt
533 .section .text.SX1272GetTimeOnAir,"ax",%progbits
534 .align 1
535 .global SX1272GetTimeOnAir
536 .syntax unified
537 .code 16
538 .thumb_func
539 .fpu softvfp
541 SX1272GetTimeOnAir:
542 .LFB105:
658:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t airTime = 0;
543 .loc 1 658 0
544 .cfi_startproc
545 @ args = 0, pretend = 0, frame = 24
546 @ frame_needed = 0, uses_anonymous_args = 0
547 .LVL54:
548 0000 F0B5 push {r4, r5, r6, r7, lr}
549 .LCFI10:
550 .cfi_def_cfa_offset 20
551 .cfi_offset 4, -20
552 .cfi_offset 5, -16
553 .cfi_offset 6, -12
554 .cfi_offset 7, -8
555 .cfi_offset 14, -4
556 0002 87B0 sub sp, sp, #28
557 .LCFI11:
558 .cfi_def_cfa_offset 48
559 0004 0C00 movs r4, r1
ARM GAS /tmp/ccwcPdtV.s page 41
560 .LVL55:
661:./Drivers/BSP/Components/sx1272/sx1272.c **** {
561 .loc 1 661 0
562 0006 0028 cmp r0, #0
563 0008 03D0 beq .L30
564 000a 0128 cmp r0, #1
565 000c 62D0 beq .L31
659:./Drivers/BSP/Components/sx1272/sx1272.c ****
566 .loc 1 659 0
567 000e 0020 movs r0, #0
568 .LVL56:
711:./Drivers/BSP/Components/sx1272/sx1272.c **** }
569 .loc 1 711 0
570 0010 54E0 b .L28
571 .LVL57:
572 .L30:
665:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272Read( REG_SYNCCONFIG ) & ~RF_SYNCCONFIG_SYNCSIZE_MAS
573 .loc 1 665 0
574 0012 7F4E ldr r6, .L55
575 0014 358C ldrh r5, [r6, #32]
576 .LVL58:
577 .LBB368:
578 .LBB369:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
579 .loc 1 1142 0
580 0016 04AB add r3, sp, #16
581 0018 DF1D adds r7, r3, #7
582 001a 0122 movs r2, #1
583 001c 3900 movs r1, r7
584 .LVL59:
585 001e 2720 movs r0, #39
586 .LVL60:
587 0020 FFF7FEFF bl SX1272ReadBuffer
588 .LVL61:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
589 .loc 1 1143 0
590 0024 3878 ldrb r0, [r7]
591 .LVL62:
592 .LBE369:
593 .LBE368:
666:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272.Settings.Fsk.FixLen == 0x01 ) ? 0.0 : 1.0 ) +
594 .loc 1 666 0
595 0026 F823 movs r3, #248
596 0028 9843 bics r0, r3
597 002a 0130 adds r0, r0, #1
665:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272Read( REG_SYNCCONFIG ) & ~RF_SYNCCONFIG_SYNCSIZE_MAS
598 .loc 1 665 0
599 002c 2818 adds r0, r5, r0
666:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272.Settings.Fsk.FixLen == 0x01 ) ? 0.0 : 1.0 ) +
600 .loc 1 666 0
601 002e FFF7FEFF bl __aeabi_i2d
602 .LVL63:
667:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( ( SX1272Read( REG_PACKETCONFIG1 ) & ~RF_PACKETCONFIG1_ADDR
603 .loc 1 667 0
604 0032 2223 movs r3, #34
605 0034 F35C ldrb r3, [r6, r3]
606 0036 002B cmp r3, #0
ARM GAS /tmp/ccwcPdtV.s page 42
607 0038 42D0 beq .L44
608 003a 0022 movs r2, #0
609 003c 0023 movs r3, #0
610 .L32:
666:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272.Settings.Fsk.FixLen == 0x01 ) ? 0.0 : 1.0 ) +
611 .loc 1 666 0
612 003e FFF7FEFF bl __aeabi_dadd
613 .LVL64:
614 0042 0600 movs r6, r0
615 0044 0F00 movs r7, r1
616 .LVL65:
617 .LBB370:
618 .LBB371:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
619 .loc 1 1142 0
620 0046 04AB add r3, sp, #16
621 0048 DD1D adds r5, r3, #7
622 004a 0122 movs r2, #1
623 004c 2900 movs r1, r5
624 004e 3020 movs r0, #48
625 0050 FFF7FEFF bl SX1272ReadBuffer
626 .LVL66:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
627 .loc 1 1143 0
628 0054 2B78 ldrb r3, [r5]
629 .LVL67:
630 .LBE371:
631 .LBE370:
668:./Drivers/BSP/Components/sx1272/sx1272.c **** pktLen +
632 .loc 1 668 0
633 0056 F922 movs r2, #249
634 0058 9343 bics r3, r2
635 005a 34D0 beq .L45
636 005c 0022 movs r2, #0
637 005e 6D4B ldr r3, .L55+4
638 .L33:
667:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( ( SX1272Read( REG_PACKETCONFIG1 ) & ~RF_PACKETCONFIG1_ADDR
639 .loc 1 667 0
640 0060 3000 movs r0, r6
641 0062 3900 movs r1, r7
642 0064 FFF7FEFF bl __aeabi_dadd
643 .LVL68:
644 0068 0600 movs r6, r0
645 006a 0F00 movs r7, r1
668:./Drivers/BSP/Components/sx1272/sx1272.c **** pktLen +
646 .loc 1 668 0
647 006c 2000 movs r0, r4
648 006e FFF7FEFF bl __aeabi_i2d
649 .LVL69:
650 0072 3200 movs r2, r6
651 0074 3B00 movs r3, r7
652 0076 FFF7FEFF bl __aeabi_dadd
653 .LVL70:
670:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Datarate ) * 1000 );
654 .loc 1 670 0
655 007a 654A ldr r2, .L55
656 007c 2423 movs r3, #36
ARM GAS /tmp/ccwcPdtV.s page 43
657 007e D35C ldrb r3, [r2, r3]
658 0080 002B cmp r3, #0
659 0082 23D1 bne .L54
660 0084 0022 movs r2, #0
661 0086 0023 movs r3, #0
662 .L34:
669:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272.Settings.Fsk.CrcOn == 0x01 ) ? 2.0 : 0 ) ) /
663 .loc 1 669 0
664 0088 FFF7FEFF bl __aeabi_dadd
665 .LVL71:
665:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272Read( REG_SYNCCONFIG ) & ~RF_SYNCCONFIG_SYNCSIZE_MAS
666 .loc 1 665 0
667 008c 0022 movs r2, #0
668 008e 624B ldr r3, .L55+8
669 0090 FFF7FEFF bl __aeabi_dmul
670 .LVL72:
671 0094 0400 movs r4, r0
672 0096 0D00 movs r5, r1
671:./Drivers/BSP/Components/sx1272/sx1272.c **** }
673 .loc 1 671 0
674 0098 5D4B ldr r3, .L55
675 009a D869 ldr r0, [r3, #28]
670:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Datarate ) * 1000 );
676 .loc 1 670 0
677 009c FFF7FEFF bl __aeabi_ui2d
678 .LVL73:
679 00a0 0200 movs r2, r0
680 00a2 0B00 movs r3, r1
681 00a4 2000 movs r0, r4
682 00a6 2900 movs r1, r5
683 00a8 FFF7FEFF bl __aeabi_ddiv
684 .LVL74:
665:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272Read( REG_SYNCCONFIG ) & ~RF_SYNCCONFIG_SYNCSIZE_MAS
685 .loc 1 665 0
686 00ac 0022 movs r2, #0
687 00ae 5B4B ldr r3, .L55+12
688 00b0 FFF7FEFF bl __aeabi_dmul
689 .LVL75:
690 00b4 FFF7FEFF bl round
691 .LVL76:
692 00b8 FFF7FEFF bl __aeabi_d2uiz
693 .LVL77:
694 .L28:
712:./Drivers/BSP/Components/sx1272/sx1272.c ****
695 .loc 1 712 0
696 00bc 07B0 add sp, sp, #28
697 @ sp needed
698 00be F0BD pop {r4, r5, r6, r7, pc}
699 .LVL78:
700 .L44:
667:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( ( SX1272Read( REG_PACKETCONFIG1 ) & ~RF_PACKETCONFIG1_ADDR
701 .loc 1 667 0
702 00c0 0022 movs r2, #0
703 00c2 544B ldr r3, .L55+4
704 00c4 BBE7 b .L32
705 .L45:
668:./Drivers/BSP/Components/sx1272/sx1272.c **** pktLen +
ARM GAS /tmp/ccwcPdtV.s page 44
706 .loc 1 668 0
707 00c6 0022 movs r2, #0
708 00c8 0023 movs r3, #0
709 00ca C9E7 b .L33
710 .L54:
670:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Datarate ) * 1000 );
711 .loc 1 670 0
712 00cc 0022 movs r2, #0
713 00ce 8023 movs r3, #128
714 00d0 DB05 lsls r3, r3, #23
715 00d2 D9E7 b .L34
716 .LVL79:
717 .L31:
718 .LBB372:
677:./Drivers/BSP/Components/sx1272/sx1272.c **** {
719 .loc 1 677 0
720 00d4 4E4B ldr r3, .L55
721 00d6 5B6C ldr r3, [r3, #68]
722 00d8 012B cmp r3, #1
723 00da 00D1 bne .LCB625
724 00dc 82E0 b .L36 @long jump
725 .LCB625:
726 00de 002B cmp r3, #0
727 00e0 00D1 bne .LCB627
728 00e2 89E0 b .L47 @long jump
729 .LCB627:
730 00e4 022B cmp r3, #2
731 00e6 00D1 bne .LCB629
732 00e8 81E0 b .L38 @long jump
733 .LCB629:
676:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.LoRa.Bandwidth )
734 .loc 1 676 0
735 00ea 0022 movs r2, #0
736 00ec 0023 movs r3, #0
737 00ee 0092 str r2, [sp]
738 00f0 0193 str r3, [sp, #4]
739 .LVL80:
740 .L37:
691:./Drivers/BSP/Components/sx1272/sx1272.c **** double ts = 1 / rs;
741 .loc 1 691 0
742 00f2 474D ldr r5, .L55
743 00f4 AE6C ldr r6, [r5, #72]
744 00f6 0120 movs r0, #1
745 .LVL81:
746 00f8 B040 lsls r0, r0, r6
747 00fa FFF7FEFF bl __aeabi_i2d
748 .LVL82:
749 00fe 0200 movs r2, r0
750 0100 0B00 movs r3, r1
751 0102 0098 ldr r0, [sp]
752 0104 0199 ldr r1, [sp, #4]
753 0106 FFF7FEFF bl __aeabi_ddiv
754 .LVL83:
755 010a 0200 movs r2, r0
756 010c 0B00 movs r3, r1
757 .LVL84:
692:./Drivers/BSP/Components/sx1272/sx1272.c **** // time of preamble
ARM GAS /tmp/ccwcPdtV.s page 45
758 .loc 1 692 0
759 010e 0020 movs r0, #0
760 0110 4049 ldr r1, .L55+4
761 0112 FFF7FEFF bl __aeabi_ddiv
762 .LVL85:
763 0116 0090 str r0, [sp]
764 0118 0191 str r1, [sp, #4]
765 .LVL86:
694:./Drivers/BSP/Components/sx1272/sx1272.c **** // Symbol length of payload and time
766 .loc 1 694 0
767 011a 4E23 movs r3, #78
768 011c E85A ldrh r0, [r5, r3]
769 .LVL87:
770 011e FFF7FEFF bl __aeabi_i2d
771 .LVL88:
772 0122 0022 movs r2, #0
773 0124 3E4B ldr r3, .L55+16
774 0126 FFF7FEFF bl __aeabi_dadd
775 .LVL89:
776 012a 009A ldr r2, [sp]
777 012c 019B ldr r3, [sp, #4]
778 012e FFF7FEFF bl __aeabi_dmul
779 .LVL90:
780 0132 0290 str r0, [sp, #8]
781 0134 0391 str r1, [sp, #12]
782 .LVL91:
696:./Drivers/BSP/Components/sx1272/sx1272.c **** 28 + 16 * SX1272.Settings.LoRa.CrcOn -
783 .loc 1 696 0
784 0136 E400 lsls r4, r4, #3
785 0138 B000 lsls r0, r6, #2
786 .LVL92:
787 013a 241A subs r4, r4, r0
697:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272.Settings.LoRa.FixLen ? 20 : 0 ) ) /
788 .loc 1 697 0
789 013c 5223 movs r3, #82
790 013e E85C ldrb r0, [r5, r3]
791 0140 0001 lsls r0, r0, #4
792 0142 0019 adds r0, r0, r4
698:./Drivers/BSP/Components/sx1272/sx1272.c **** ( double )( 4 * ( SX1272.Settings.LoRa.Datarate -
793 .loc 1 698 0
794 0144 023B subs r3, r3, #2
795 0146 EB5C ldrb r3, [r5, r3]
796 0148 002B cmp r3, #0
797 014a 5AD0 beq .L48
798 014c 1424 movs r4, #20
799 .L39:
697:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272.Settings.LoRa.FixLen ? 20 : 0 ) ) /
800 .loc 1 697 0
801 014e 001B subs r0, r0, r4
802 0150 1C30 adds r0, r0, #28
696:./Drivers/BSP/Components/sx1272/sx1272.c **** 28 + 16 * SX1272.Settings.LoRa.CrcOn -
803 .loc 1 696 0
804 0152 FFF7FEFF bl __aeabi_ui2d
805 .LVL93:
806 0156 0400 movs r4, r0
807 0158 0D00 movs r5, r1
700:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272.Settings.LoRa.Coderate + 4 );
ARM GAS /tmp/ccwcPdtV.s page 46
808 .loc 1 700 0
809 015a 2D4A ldr r2, .L55
810 015c 4C23 movs r3, #76
811 015e D35C ldrb r3, [r2, r3]
812 0160 002B cmp r3, #0
813 0162 50D0 beq .L49
814 0164 0220 movs r0, #2
815 .L40:
699:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( SX1272.Settings.LoRa.LowDatarateOptimize > 0 ) ? 2 : 0 ) ) ) )
816 .loc 1 699 0
817 0166 301A subs r0, r6, r0
818 0168 8000 lsls r0, r0, #2
819 016a FFF7FEFF bl __aeabi_ui2d
820 .LVL94:
821 016e 0200 movs r2, r0
822 0170 0B00 movs r3, r1
696:./Drivers/BSP/Components/sx1272/sx1272.c **** 28 + 16 * SX1272.Settings.LoRa.CrcOn -
823 .loc 1 696 0
824 0172 2000 movs r0, r4
825 0174 2900 movs r1, r5
826 0176 FFF7FEFF bl __aeabi_ddiv
827 .LVL95:
828 017a FFF7FEFF bl ceil
829 .LVL96:
830 017e 0400 movs r4, r0
831 0180 0D00 movs r5, r1
701:./Drivers/BSP/Components/sx1272/sx1272.c **** double nPayload = 8 + ( ( tmp > 0 ) ? tmp : 0 );
832 .loc 1 701 0
833 0182 234A ldr r2, .L55
834 0184 4D23 movs r3, #77
835 0186 D05C ldrb r0, [r2, r3]
836 0188 0430 adds r0, r0, #4
700:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272.Settings.LoRa.Coderate + 4 );
837 .loc 1 700 0
838 018a FFF7FEFF bl __aeabi_i2d
839 .LVL97:
840 018e 0200 movs r2, r0
841 0190 0B00 movs r3, r1
696:./Drivers/BSP/Components/sx1272/sx1272.c **** 28 + 16 * SX1272.Settings.LoRa.CrcOn -
842 .loc 1 696 0
843 0192 2000 movs r0, r4
844 0194 2900 movs r1, r5
845 0196 FFF7FEFF bl __aeabi_dmul
846 .LVL98:
847 019a 0400 movs r4, r0
848 019c 0D00 movs r5, r1
849 .LVL99:
702:./Drivers/BSP/Components/sx1272/sx1272.c **** double tPayload = nPayload * ts;
850 .loc 1 702 0
851 019e 0022 movs r2, #0
852 01a0 0023 movs r3, #0
853 01a2 FFF7FEFF bl __aeabi_dcmpgt
854 .LVL100:
855 01a6 0028 cmp r0, #0
856 01a8 2FD0 beq .L53
702:./Drivers/BSP/Components/sx1272/sx1272.c **** double tPayload = nPayload * ts;
857 .loc 1 702 0 is_stmt 0 discriminator 1
ARM GAS /tmp/ccwcPdtV.s page 47
858 01aa 0022 movs r2, #0
859 01ac 1A4B ldr r3, .L55+8
860 01ae 2000 movs r0, r4
861 01b0 2900 movs r1, r5
862 01b2 FFF7FEFF bl __aeabi_dadd
863 .LVL101:
864 .L41:
703:./Drivers/BSP/Components/sx1272/sx1272.c **** // Time on air
865 .loc 1 703 0 is_stmt 1 discriminator 4
866 01b6 009A ldr r2, [sp]
867 01b8 019B ldr r3, [sp, #4]
868 01ba FFF7FEFF bl __aeabi_dmul
869 .LVL102:
870 01be 0200 movs r2, r0
871 01c0 0B00 movs r3, r1
872 .LVL103:
705:./Drivers/BSP/Components/sx1272/sx1272.c **** // return ms secs
873 .loc 1 705 0 discriminator 4
874 01c2 0298 ldr r0, [sp, #8]
875 01c4 0399 ldr r1, [sp, #12]
876 01c6 FFF7FEFF bl __aeabi_dadd
877 .LVL104:
707:./Drivers/BSP/Components/sx1272/sx1272.c **** }
878 .loc 1 707 0 discriminator 4
879 01ca 0022 movs r2, #0
880 01cc 134B ldr r3, .L55+12
881 01ce FFF7FEFF bl __aeabi_dmul
882 .LVL105:
883 01d2 144A ldr r2, .L55+20
884 01d4 144B ldr r3, .L55+24
885 01d6 FFF7FEFF bl __aeabi_dadd
886 .LVL106:
887 01da FFF7FEFF bl floor
888 .LVL107:
889 01de FFF7FEFF bl __aeabi_d2uiz
890 .LVL108:
891 .LBE372:
709:./Drivers/BSP/Components/sx1272/sx1272.c **** }
892 .loc 1 709 0 discriminator 4
893 01e2 6BE7 b .L28
894 .LVL109:
895 .L36:
896 .LBB373:
683:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
897 .loc 1 683 0
898 01e4 0022 movs r2, #0
899 01e6 114B ldr r3, .L55+28
900 01e8 0092 str r2, [sp]
901 01ea 0193 str r3, [sp, #4]
684:./Drivers/BSP/Components/sx1272/sx1272.c **** case 2: // 500 kHz
902 .loc 1 684 0
903 01ec 81E7 b .L37
904 .LVL110:
905 .L38:
686:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
906 .loc 1 686 0
907 01ee 0022 movs r2, #0
ARM GAS /tmp/ccwcPdtV.s page 48
908 01f0 0F4B ldr r3, .L55+32
909 01f2 0092 str r2, [sp]
910 01f4 0193 str r3, [sp, #4]
687:./Drivers/BSP/Components/sx1272/sx1272.c **** }
911 .loc 1 687 0
912 01f6 7CE7 b .L37
913 .LVL111:
914 .L47:
680:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
915 .loc 1 680 0
916 01f8 0022 movs r2, #0
917 01fa 0E4B ldr r3, .L55+36
918 01fc 0092 str r2, [sp]
919 01fe 0193 str r3, [sp, #4]
920 0200 77E7 b .L37
921 .LVL112:
922 .L48:
698:./Drivers/BSP/Components/sx1272/sx1272.c **** ( double )( 4 * ( SX1272.Settings.LoRa.Datarate -
923 .loc 1 698 0
924 0202 0024 movs r4, #0
925 0204 A3E7 b .L39
926 .L49:
700:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272.Settings.LoRa.Coderate + 4 );
927 .loc 1 700 0
928 0206 0020 movs r0, #0
929 0208 ADE7 b .L40
930 .LVL113:
931 .L53:
702:./Drivers/BSP/Components/sx1272/sx1272.c **** double tPayload = nPayload * ts;
932 .loc 1 702 0
933 020a 0020 movs r0, #0
934 020c 0249 ldr r1, .L55+8
935 020e D2E7 b .L41
936 .L56:
937 .align 2
938 .L55:
939 0210 00000000 .word .LANCHOR0
940 0214 0000F03F .word 1072693248
941 0218 00002040 .word 1075838976
942 021c 00408F40 .word 1083129856
943 0220 00001140 .word 1074855936
944 0224 2B8716D9 .word -652835029
945 0228 CEF7EF3F .word 1072691150
946 022c 80840E41 .word 1091470464
947 0230 80841E41 .word 1092519040
948 0234 8084FE40 .word 1090421888
949 .LBE373:
950 .cfi_endproc
951 .LFE105:
953 .section .text.SX1272ReadRssi,"ax",%progbits
954 .align 1
955 .global SX1272ReadRssi
956 .syntax unified
957 .code 16
958 .thumb_func
959 .fpu softvfp
961 SX1272ReadRssi:
ARM GAS /tmp/ccwcPdtV.s page 49
962 .LFB113:
1042:./Drivers/BSP/Components/sx1272/sx1272.c **** int16_t rssi = 0;
963 .loc 1 1042 0
964 .cfi_startproc
965 @ args = 0, pretend = 0, frame = 8
966 @ frame_needed = 0, uses_anonymous_args = 0
967 .LVL114:
968 0000 10B5 push {r4, lr}
969 .LCFI12:
970 .cfi_def_cfa_offset 8
971 .cfi_offset 4, -8
972 .cfi_offset 14, -4
973 0002 82B0 sub sp, sp, #8
974 .LCFI13:
975 .cfi_def_cfa_offset 16
976 .LVL115:
1045:./Drivers/BSP/Components/sx1272/sx1272.c **** {
977 .loc 1 1045 0
978 0004 0028 cmp r0, #0
979 0006 04D0 beq .L59
980 0008 0128 cmp r0, #1
981 000a 0FD0 beq .L60
1054:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
982 .loc 1 1054 0
983 000c 0120 movs r0, #1
984 .LVL116:
985 000e 4042 rsbs r0, r0, #0
986 0010 0AE0 b .L58
987 .LVL117:
988 .L59:
989 .LBB374:
990 .LBB375:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
991 .loc 1 1142 0
992 0012 6B46 mov r3, sp
993 0014 DC1D adds r4, r3, #7
994 0016 0122 movs r2, #1
995 0018 2100 movs r1, r4
996 001a 1120 movs r0, #17
997 .LVL118:
998 001c FFF7FEFF bl SX1272ReadBuffer
999 .LVL119:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1000 .loc 1 1143 0
1001 0020 2078 ldrb r0, [r4]
1002 .LVL120:
1003 .LBE375:
1004 .LBE374:
1048:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1005 .loc 1 1048 0
1006 0022 4008 lsrs r0, r0, #1
1007 0024 4042 rsbs r0, r0, #0
1008 0026 00B2 sxth r0, r0
1009 .LVL121:
1010 .L58:
1058:./Drivers/BSP/Components/sx1272/sx1272.c ****
1011 .loc 1 1058 0
ARM GAS /tmp/ccwcPdtV.s page 50
1012 0028 02B0 add sp, sp, #8
1013 @ sp needed
1014 002a 10BD pop {r4, pc}
1015 .LVL122:
1016 .L60:
1017 .LBB376:
1018 .LBB377:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1019 .loc 1 1142 0
1020 002c 6B46 mov r3, sp
1021 002e DC1D adds r4, r3, #7
1022 0030 0122 movs r2, #1
1023 0032 2100 movs r1, r4
1024 0034 1B20 movs r0, #27
1025 .LVL123:
1026 0036 FFF7FEFF bl SX1272ReadBuffer
1027 .LVL124:
1028 .LBE377:
1029 .LBE376:
1051:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1030 .loc 1 1051 0
1031 003a 2078 ldrb r0, [r4]
1032 003c 8B38 subs r0, r0, #139
1033 .LVL125:
1052:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1034 .loc 1 1052 0
1035 003e F3E7 b .L58
1036 .cfi_endproc
1037 .LFE113:
1039 .section .text.SX1272SetOpMode,"ax",%progbits
1040 .align 1
1041 .global SX1272SetOpMode
1042 .syntax unified
1043 .code 16
1044 .thumb_func
1045 .fpu softvfp
1047 SX1272SetOpMode:
1048 .LFB115:
1084:./Drivers/BSP/Components/sx1272/sx1272.c **** if( opMode == RF_OPMODE_SLEEP )
1049 .loc 1 1084 0
1050 .cfi_startproc
1051 @ args = 0, pretend = 0, frame = 8
1052 @ frame_needed = 0, uses_anonymous_args = 0
1053 .LVL126:
1054 0000 30B5 push {r4, r5, lr}
1055 .LCFI14:
1056 .cfi_def_cfa_offset 12
1057 .cfi_offset 4, -12
1058 .cfi_offset 5, -8
1059 .cfi_offset 14, -4
1060 0002 83B0 sub sp, sp, #12
1061 .LCFI15:
1062 .cfi_def_cfa_offset 24
1063 0004 051E subs r5, r0, #0
1085:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1064 .loc 1 1085 0
1065 0006 1CD0 beq .L66
ARM GAS /tmp/ccwcPdtV.s page 51
1091:./Drivers/BSP/Components/sx1272/sx1272.c **** LoRaBoardCallbacks->SX1272BoardSetAntSw( opMode );
1066 .loc 1 1091 0
1067 0008 114C ldr r4, .L67
1068 000a 2368 ldr r3, [r4]
1069 000c 1B69 ldr r3, [r3, #16]
1070 000e 0020 movs r0, #0
1071 .LVL127:
1072 0010 9847 blx r3
1073 .LVL128:
1092:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1074 .loc 1 1092 0
1075 0012 2368 ldr r3, [r4]
1076 0014 5B69 ldr r3, [r3, #20]
1077 0016 2800 movs r0, r5
1078 0018 9847 blx r3
1079 .LVL129:
1080 .L65:
1081 .LBB378:
1082 .LBB379:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1083 .loc 1 1142 0
1084 001a 6B46 mov r3, sp
1085 001c DC1D adds r4, r3, #7
1086 001e 0122 movs r2, #1
1087 0020 2100 movs r1, r4
1088 0022 0120 movs r0, #1
1089 0024 FFF7FEFF bl SX1272ReadBuffer
1090 .LVL130:
1091 .LBE379:
1092 .LBE378:
1094:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1093 .loc 1 1094 0
1094 0028 0020 movs r0, #0
1095 002a 2056 ldrsb r0, [r4, r0]
1096 002c 0723 movs r3, #7
1097 002e 9843 bics r0, r3
1098 0030 2843 orrs r0, r5
1099 .LVL131:
1100 0032 2070 strb r0, [r4]
1101 .LVL132:
1102 .LBB380:
1103 .LBB381:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1104 .loc 1 1136 0
1105 0034 0122 movs r2, #1
1106 0036 2100 movs r1, r4
1107 0038 0120 movs r0, #1
1108 003a FFF7FEFF bl SX1272WriteBuffer
1109 .LVL133:
1110 .LBE381:
1111 .LBE380:
1095:./Drivers/BSP/Components/sx1272/sx1272.c ****
1112 .loc 1 1095 0
1113 003e 03B0 add sp, sp, #12
1114 @ sp needed
1115 0040 30BD pop {r4, r5, pc}
1116 .LVL134:
ARM GAS /tmp/ccwcPdtV.s page 52
1117 .L66:
1087:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1118 .loc 1 1087 0
1119 0042 034B ldr r3, .L67
1120 0044 1B68 ldr r3, [r3]
1121 0046 1B69 ldr r3, [r3, #16]
1122 0048 0120 movs r0, #1
1123 .LVL135:
1124 004a 9847 blx r3
1125 .LVL136:
1126 004c E5E7 b .L65
1127 .L68:
1128 004e C046 .align 2
1129 .L67:
1130 0050 00000000 .word .LANCHOR1
1131 .cfi_endproc
1132 .LFE115:
1134 .section .text.SX1272SetSleep,"ax",%progbits
1135 .align 1
1136 .global SX1272SetSleep
1137 .syntax unified
1138 .code 16
1139 .thumb_func
1140 .fpu softvfp
1142 SX1272SetSleep:
1143 .LFB107:
789:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
1144 .loc 1 789 0
1145 .cfi_startproc
1146 @ args = 0, pretend = 0, frame = 0
1147 @ frame_needed = 0, uses_anonymous_args = 0
1148 0000 10B5 push {r4, lr}
1149 .LCFI16:
1150 .cfi_def_cfa_offset 8
1151 .cfi_offset 4, -8
1152 .cfi_offset 14, -4
790:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &TxTimeoutTimer );
1153 .loc 1 790 0
1154 0002 0648 ldr r0, .L70
1155 0004 FFF7FEFF bl TimerStop
1156 .LVL137:
791:./Drivers/BSP/Components/sx1272/sx1272.c ****
1157 .loc 1 791 0
1158 0008 0548 ldr r0, .L70+4
1159 000a FFF7FEFF bl TimerStop
1160 .LVL138:
793:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1161 .loc 1 793 0
1162 000e 0020 movs r0, #0
1163 0010 FFF7FEFF bl SX1272SetOpMode
1164 .LVL139:
794:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1165 .loc 1 794 0
1166 0014 034B ldr r3, .L70+8
1167 0016 0022 movs r2, #0
1168 0018 1A71 strb r2, [r3, #4]
795:./Drivers/BSP/Components/sx1272/sx1272.c ****
ARM GAS /tmp/ccwcPdtV.s page 53
1169 .loc 1 795 0
1170 @ sp needed
1171 001a 10BD pop {r4, pc}
1172 .L71:
1173 .align 2
1174 .L70:
1175 001c 00000000 .word .LANCHOR2
1176 0020 00000000 .word .LANCHOR3
1177 0024 00000000 .word .LANCHOR0
1178 .cfi_endproc
1179 .LFE107:
1181 .section .text.SX1272SetStby,"ax",%progbits
1182 .align 1
1183 .global SX1272SetStby
1184 .syntax unified
1185 .code 16
1186 .thumb_func
1187 .fpu softvfp
1189 SX1272SetStby:
1190 .LFB108:
798:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutTimer );
1191 .loc 1 798 0
1192 .cfi_startproc
1193 @ args = 0, pretend = 0, frame = 0
1194 @ frame_needed = 0, uses_anonymous_args = 0
1195 0000 10B5 push {r4, lr}
1196 .LCFI17:
1197 .cfi_def_cfa_offset 8
1198 .cfi_offset 4, -8
1199 .cfi_offset 14, -4
799:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &TxTimeoutTimer );
1200 .loc 1 799 0
1201 0002 0648 ldr r0, .L73
1202 0004 FFF7FEFF bl TimerStop
1203 .LVL140:
800:./Drivers/BSP/Components/sx1272/sx1272.c ****
1204 .loc 1 800 0
1205 0008 0548 ldr r0, .L73+4
1206 000a FFF7FEFF bl TimerStop
1207 .LVL141:
802:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
1208 .loc 1 802 0
1209 000e 0120 movs r0, #1
1210 0010 FFF7FEFF bl SX1272SetOpMode
1211 .LVL142:
803:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1212 .loc 1 803 0
1213 0014 034B ldr r3, .L73+8
1214 0016 0022 movs r2, #0
1215 0018 1A71 strb r2, [r3, #4]
804:./Drivers/BSP/Components/sx1272/sx1272.c ****
1216 .loc 1 804 0
1217 @ sp needed
1218 001a 10BD pop {r4, pc}
1219 .L74:
1220 .align 2
1221 .L73:
ARM GAS /tmp/ccwcPdtV.s page 54
1222 001c 00000000 .word .LANCHOR2
1223 0020 00000000 .word .LANCHOR3
1224 0024 00000000 .word .LANCHOR0
1225 .cfi_endproc
1226 .LFE108:
1228 .section .text.SX1272SetRx,"ax",%progbits
1229 .align 1
1230 .global SX1272SetRx
1231 .syntax unified
1232 .code 16
1233 .thumb_func
1234 .fpu softvfp
1236 SX1272SetRx:
1237 .LFB109:
807:./Drivers/BSP/Components/sx1272/sx1272.c **** bool rxContinuous = false;
1238 .loc 1 807 0
1239 .cfi_startproc
1240 @ args = 0, pretend = 0, frame = 16
1241 @ frame_needed = 0, uses_anonymous_args = 0
1242 .LVL143:
1243 0000 F0B5 push {r4, r5, r6, r7, lr}
1244 .LCFI18:
1245 .cfi_def_cfa_offset 20
1246 .cfi_offset 4, -20
1247 .cfi_offset 5, -16
1248 .cfi_offset 6, -12
1249 .cfi_offset 7, -8
1250 .cfi_offset 14, -4
1251 0002 85B0 sub sp, sp, #20
1252 .LCFI19:
1253 .cfi_def_cfa_offset 40
1254 0004 0600 movs r6, r0
1255 .LVL144:
810:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1256 .loc 1 810 0
1257 0006 804B ldr r3, .L92
1258 0008 5B79 ldrb r3, [r3, #5]
1259 000a 002B cmp r3, #0
1260 000c 03D0 beq .L77
1261 000e 012B cmp r3, #1
1262 0010 59D0 beq .L78
808:./Drivers/BSP/Components/sx1272/sx1272.c ****
1263 .loc 1 808 0
1264 0012 0027 movs r7, #0
1265 0014 3EE0 b .L76
1266 .L77:
814:./Drivers/BSP/Components/sx1272/sx1272.c ****
1267 .loc 1 814 0
1268 0016 7C4C ldr r4, .L92
1269 0018 2623 movs r3, #38
1270 001a E75C ldrb r7, [r4, r3]
1271 .LVL145:
1272 .LBB382:
1273 .LBB383:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1274 .loc 1 1142 0
1275 001c 0F25 movs r5, #15
ARM GAS /tmp/ccwcPdtV.s page 55
1276 001e 6D44 add r5, r5, sp
1277 0020 0122 movs r2, #1
1278 0022 2900 movs r1, r5
1279 0024 4020 movs r0, #64
1280 .LVL146:
1281 0026 FFF7FEFF bl SX1272ReadBuffer
1282 .LVL147:
1283 .LBE383:
1284 .LBE382:
822:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_MAS
1285 .loc 1 822 0
1286 002a 0022 movs r2, #0
1287 002c AA56 ldrsb r2, [r5, r2]
825:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_00
1288 .loc 1 825 0
1289 002e 0323 movs r3, #3
1290 0030 1340 ands r3, r2
822:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_MAS
1291 .loc 1 822 0
1292 0032 0C22 movs r2, #12
1293 0034 1343 orrs r3, r2
1294 .LVL148:
1295 0036 6A46 mov r2, sp
1296 0038 511D adds r1, r2, #5
1297 003a 0B70 strb r3, [r1]
1298 .LVL149:
1299 .LBB384:
1300 .LBB385:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1301 .loc 1 1136 0
1302 003c 0122 movs r2, #1
1303 003e 4020 movs r0, #64
1304 0040 FFF7FEFF bl SX1272WriteBuffer
1305 .LVL150:
1306 .LBE385:
1307 .LBE384:
1308 .LBB386:
1309 .LBB387:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1310 .loc 1 1142 0
1311 0044 0122 movs r2, #1
1312 0046 2900 movs r1, r5
1313 0048 4120 movs r0, #65
1314 004a FFF7FEFF bl SX1272ReadBuffer
1315 .LVL151:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1316 .loc 1 1143 0
1317 004e 2A78 ldrb r2, [r5]
1318 .LVL152:
1319 .LBE387:
1320 .LBE386:
829:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING2_MAP_MASK
1321 .loc 1 829 0
1322 0050 3F23 movs r3, #63
1323 0052 5B42 rsbs r3, r3, #0
1324 0054 1343 orrs r3, r2
1325 .LVL153:
ARM GAS /tmp/ccwcPdtV.s page 56
1326 0056 01A9 add r1, sp, #4
1327 0058 0B70 strb r3, [r1]
1328 .LVL154:
1329 .LBB388:
1330 .LBB389:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1331 .loc 1 1136 0
1332 005a 0122 movs r2, #1
1333 005c 4120 movs r0, #65
1334 005e FFF7FEFF bl SX1272WriteBuffer
1335 .LVL155:
1336 .LBE389:
1337 .LBE388:
1338 .LBB390:
1339 .LBB391:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1340 .loc 1 1142 0
1341 0062 0122 movs r2, #1
1342 0064 2900 movs r1, r5
1343 0066 3520 movs r0, #53
1344 0068 FFF7FEFF bl SX1272ReadBuffer
1345 .LVL156:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1346 .loc 1 1143 0
1347 006c 2A78 ldrb r2, [r5]
1348 .LVL157:
1349 .LBE391:
1350 .LBE390:
834:./Drivers/BSP/Components/sx1272/sx1272.c ****
1351 .loc 1 834 0
1352 006e 3F23 movs r3, #63
1353 0070 1340 ands r3, r2
1354 0072 3E22 movs r2, #62
1355 0074 A354 strb r3, [r4, r2]
1356 .LVL158:
1357 0076 6B46 mov r3, sp
1358 0078 D91C adds r1, r3, #3
1359 007a 1E23 movs r3, #30
1360 007c 0B70 strb r3, [r1]
1361 .LVL159:
1362 .LBB392:
1363 .LBB393:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1364 .loc 1 1136 0
1365 007e 3D3A subs r2, r2, #61
1366 0080 0D20 movs r0, #13
1367 0082 FFF7FEFF bl SX1272WriteBuffer
1368 .LVL160:
1369 .LBE393:
1370 .LBE392:
838:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
1371 .loc 1 838 0
1372 0086 0023 movs r3, #0
1373 0088 3022 movs r2, #48
1374 008a A354 strb r3, [r4, r2]
839:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
1375 .loc 1 839 0
ARM GAS /tmp/ccwcPdtV.s page 57
1376 008c 0132 adds r2, r2, #1
1377 008e A354 strb r3, [r4, r2]
840:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = 0;
1378 .loc 1 840 0
1379 0090 A387 strh r3, [r4, #60]
841:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1380 .loc 1 841 0
1381 0092 6387 strh r3, [r4, #58]
1382 .LVL161:
1383 .L76:
893:./Drivers/BSP/Components/sx1272/sx1272.c ****
1384 .loc 1 893 0
1385 0094 8022 movs r2, #128
1386 0096 5200 lsls r2, r2, #1
1387 0098 0021 movs r1, #0
1388 009a 5C48 ldr r0, .L92+4
1389 009c FFF7FEFF bl memset
1390 .LVL162:
895:./Drivers/BSP/Components/sx1272/sx1272.c **** if( timeout != 0 )
1391 .loc 1 895 0
1392 00a0 594B ldr r3, .L92
1393 00a2 0122 movs r2, #1
1394 00a4 1A71 strb r2, [r3, #4]
896:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1395 .loc 1 896 0
1396 00a6 002E cmp r6, #0
1397 00a8 00D0 beq .LCB1258
1398 00aa 8FE0 b .L89 @long jump
1399 .LCB1258:
1400 .L83:
902:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1401 .loc 1 902 0
1402 00ac 564B ldr r3, .L92
1403 00ae 5B79 ldrb r3, [r3, #5]
1404 00b0 002B cmp r3, #0
1405 00b2 00D1 bne .LCB1263
1406 00b4 93E0 b .L90 @long jump
1407 .LCB1263:
914:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1408 .loc 1 914 0
1409 00b6 002F cmp r7, #0
1410 00b8 00D0 beq .LCB1265
1411 00ba A0E0 b .L91 @long jump
1412 .LCB1265:
920:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1413 .loc 1 920 0
1414 00bc 0620 movs r0, #6
1415 00be FFF7FEFF bl SX1272SetOpMode
1416 .LVL163:
1417 .L75:
923:./Drivers/BSP/Components/sx1272/sx1272.c ****
1418 .loc 1 923 0
1419 00c2 05B0 add sp, sp, #20
1420 @ sp needed
1421 .LVL164:
1422 .LVL165:
1423 00c4 F0BD pop {r4, r5, r6, r7, pc}
ARM GAS /tmp/ccwcPdtV.s page 58
1424 .LVL166:
1425 .L78:
846:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1426 .loc 1 846 0
1427 00c6 504A ldr r2, .L92
1428 00c8 5523 movs r3, #85
1429 00ca D35C ldrb r3, [r2, r3]
1430 00cc 002B cmp r3, #0
1431 00ce 48D0 beq .L79
1432 .LVL167:
1433 .LBB394:
1434 .LBB395:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1435 .loc 1 1142 0
1436 00d0 0F24 movs r4, #15
1437 00d2 6C44 add r4, r4, sp
1438 00d4 0122 movs r2, #1
1439 00d6 2100 movs r1, r4
1440 00d8 3320 movs r0, #51
1441 .LVL168:
1442 00da FFF7FEFF bl SX1272ReadBuffer
1443 .LVL169:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1444 .loc 1 1143 0
1445 00de 2378 ldrb r3, [r4]
1446 .LVL170:
1447 .LBE395:
1448 .LBE394:
848:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ2, RFLR_INVERTIQ2_ON );
1449 .loc 1 848 0
1450 00e0 4122 movs r2, #65
1451 00e2 1343 orrs r3, r2
1452 .LVL171:
1453 00e4 6A46 mov r2, sp
1454 00e6 D11D adds r1, r2, #7
1455 00e8 0B70 strb r3, [r1]
1456 .LVL172:
1457 .LBB396:
1458 .LBB397:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1459 .loc 1 1136 0
1460 00ea 0122 movs r2, #1
1461 00ec 3320 movs r0, #51
1462 00ee FFF7FEFF bl SX1272WriteBuffer
1463 .LVL173:
1464 00f2 6B46 mov r3, sp
1465 00f4 991D adds r1, r3, #6
1466 00f6 1923 movs r3, #25
1467 00f8 0B70 strb r3, [r1]
1468 .LVL174:
1469 .LBE397:
1470 .LBE396:
1471 .LBB398:
1472 .LBB399:
1473 00fa 0122 movs r2, #1
1474 00fc 3B20 movs r0, #59
1475 00fe FFF7FEFF bl SX1272WriteBuffer
ARM GAS /tmp/ccwcPdtV.s page 59
1476 .LVL175:
1477 .L80:
1478 .LBE399:
1479 .LBE398:
857:./Drivers/BSP/Components/sx1272/sx1272.c ****
1480 .loc 1 857 0
1481 0102 414B ldr r3, .L92
1482 0104 5622 movs r2, #86
1483 0106 9F5C ldrb r7, [r3, r2]
1484 .LVL176:
859:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1485 .loc 1 859 0
1486 0108 033A subs r2, r2, #3
1487 010a 9B5C ldrb r3, [r3, r2]
1488 010c 002B cmp r3, #0
1489 010e 44D0 beq .L81
1490 .LVL177:
1491 0110 0B21 movs r1, #11
1492 0112 6944 add r1, r1, sp
1493 0114 1D23 movs r3, #29
1494 0116 0B70 strb r3, [r1]
1495 .LVL178:
1496 .LBB400:
1497 .LBB401:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1498 .loc 1 1136 0
1499 0118 523A subs r2, r2, #82
1500 011a 1120 movs r0, #17
1501 011c FFF7FEFF bl SX1272WriteBuffer
1502 .LVL179:
1503 .LBE401:
1504 .LBE400:
1505 .LBB402:
1506 .LBB403:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1507 .loc 1 1142 0
1508 0120 0F24 movs r4, #15
1509 0122 6C44 add r4, r4, sp
1510 0124 0122 movs r2, #1
1511 0126 2100 movs r1, r4
1512 0128 4020 movs r0, #64
1513 012a FFF7FEFF bl SX1272ReadBuffer
1514 .LVL180:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1515 .loc 1 1143 0
1516 012e 2278 ldrb r2, [r4]
1517 .LVL181:
1518 .LBE403:
1519 .LBE402:
871:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1520 .loc 1 871 0
1521 0130 3323 movs r3, #51
1522 0132 1340 ands r3, r2
1523 .LVL182:
1524 0134 0A21 movs r1, #10
1525 0136 6944 add r1, r1, sp
1526 0138 0B70 strb r3, [r1]
ARM GAS /tmp/ccwcPdtV.s page 60
1527 .LVL183:
1528 .LBB404:
1529 .LBB405:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1530 .loc 1 1136 0
1531 013a 0122 movs r2, #1
1532 013c 4020 movs r0, #64
1533 013e FFF7FEFF bl SX1272WriteBuffer
1534 .LVL184:
1535 .L82:
1536 0142 0F21 movs r1, #15
1537 0144 6944 add r1, r1, sp
1538 0146 0024 movs r4, #0
1539 0148 0C70 strb r4, [r1]
1540 .LVL185:
1541 .LBE405:
1542 .LBE404:
1543 .LBB406:
1544 .LBB407:
1545 014a 0122 movs r2, #1
1546 014c 0F20 movs r0, #15
1547 014e FFF7FEFF bl SX1272WriteBuffer
1548 .LVL186:
1549 0152 0E21 movs r1, #14
1550 0154 6944 add r1, r1, sp
1551 0156 0C70 strb r4, [r1]
1552 .LVL187:
1553 .LBE407:
1554 .LBE406:
1555 .LBB408:
1556 .LBB409:
1557 0158 0122 movs r2, #1
1558 015a 0D20 movs r0, #13
1559 015c FFF7FEFF bl SX1272WriteBuffer
1560 .LVL188:
1561 0160 98E7 b .L76
1562 .LVL189:
1563 .L79:
1564 .LBE409:
1565 .LBE408:
1566 .LBB410:
1567 .LBB411:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1568 .loc 1 1142 0
1569 0162 0F24 movs r4, #15
1570 0164 6C44 add r4, r4, sp
1571 0166 0122 movs r2, #1
1572 0168 2100 movs r1, r4
1573 016a 3320 movs r0, #51
1574 .LVL190:
1575 016c FFF7FEFF bl SX1272ReadBuffer
1576 .LVL191:
1577 .LBE411:
1578 .LBE410:
853:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ2, RFLR_INVERTIQ2_OFF );
1579 .loc 1 853 0
1580 0170 0023 movs r3, #0
ARM GAS /tmp/ccwcPdtV.s page 61
1581 0172 E356 ldrsb r3, [r4, r3]
1582 0174 4122 movs r2, #65
1583 0176 9343 bics r3, r2
1584 0178 0122 movs r2, #1
1585 017a 1343 orrs r3, r2
1586 .LVL192:
1587 017c 0921 movs r1, #9
1588 017e 6944 add r1, r1, sp
1589 0180 0B70 strb r3, [r1]
1590 .LVL193:
1591 .LBB412:
1592 .LBB413:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1593 .loc 1 1136 0
1594 0182 0122 movs r2, #1
1595 0184 3320 movs r0, #51
1596 0186 FFF7FEFF bl SX1272WriteBuffer
1597 .LVL194:
1598 018a 02A9 add r1, sp, #8
1599 018c 1D23 movs r3, #29
1600 018e 0B70 strb r3, [r1]
1601 .LVL195:
1602 .LBE413:
1603 .LBE412:
1604 .LBB414:
1605 .LBB415:
1606 0190 0122 movs r2, #1
1607 0192 3B20 movs r0, #59
1608 0194 FFF7FEFF bl SX1272WriteBuffer
1609 .LVL196:
1610 0198 B3E7 b .L80
1611 .LVL197:
1612 .L81:
1613 019a 0D21 movs r1, #13
1614 019c 6944 add r1, r1, sp
1615 019e 1F23 movs r3, #31
1616 01a0 0B70 strb r3, [r1]
1617 .LVL198:
1618 .LBE415:
1619 .LBE414:
1620 .LBB416:
1621 .LBB417:
1622 01a2 0122 movs r2, #1
1623 01a4 1120 movs r0, #17
1624 01a6 FFF7FEFF bl SX1272WriteBuffer
1625 .LVL199:
1626 .LBE417:
1627 .LBE416:
1628 .LBB418:
1629 .LBB419:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1630 .loc 1 1142 0
1631 01aa 0F24 movs r4, #15
1632 01ac 6C44 add r4, r4, sp
1633 01ae 0122 movs r2, #1
1634 01b0 2100 movs r1, r4
1635 01b2 4020 movs r0, #64
ARM GAS /tmp/ccwcPdtV.s page 62
1636 01b4 FFF7FEFF bl SX1272ReadBuffer
1637 .LVL200:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1638 .loc 1 1143 0
1639 01b8 2278 ldrb r2, [r4]
1640 .LVL201:
1641 .LBE419:
1642 .LBE418:
885:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1643 .loc 1 885 0
1644 01ba 3F23 movs r3, #63
1645 01bc 1340 ands r3, r2
1646 .LVL202:
1647 01be 03A9 add r1, sp, #12
1648 01c0 0B70 strb r3, [r1]
1649 .LVL203:
1650 .LBB420:
1651 .LBB421:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1652 .loc 1 1136 0
1653 01c2 0122 movs r2, #1
1654 01c4 4020 movs r0, #64
1655 01c6 FFF7FEFF bl SX1272WriteBuffer
1656 .LVL204:
1657 01ca BAE7 b .L82
1658 .LVL205:
1659 .L89:
1660 .LBE421:
1661 .LBE420:
898:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutTimer );
1662 .loc 1 898 0
1663 01cc 104C ldr r4, .L92+8
1664 01ce 3100 movs r1, r6
1665 01d0 2000 movs r0, r4
1666 01d2 FFF7FEFF bl TimerSetValue
1667 .LVL206:
899:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1668 .loc 1 899 0
1669 01d6 2000 movs r0, r4
1670 01d8 FFF7FEFF bl TimerStart
1671 .LVL207:
1672 01dc 66E7 b .L83
1673 .L90:
904:./Drivers/BSP/Components/sx1272/sx1272.c ****
1674 .loc 1 904 0
1675 01de 0520 movs r0, #5
1676 01e0 FFF7FEFF bl SX1272SetOpMode
1677 .LVL208:
906:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1678 .loc 1 906 0
1679 01e4 002F cmp r7, #0
1680 01e6 00D0 beq .LCB1566
1681 01e8 6BE7 b .L75 @long jump
1682 .LCB1566:
908:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutSyncWord );
1683 .loc 1 908 0
1684 01ea 074B ldr r3, .L92
ARM GAS /tmp/ccwcPdtV.s page 63
1685 01ec D96A ldr r1, [r3, #44]
1686 01ee 094C ldr r4, .L92+12
1687 01f0 2000 movs r0, r4
1688 01f2 FFF7FEFF bl TimerSetValue
1689 .LVL209:
909:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1690 .loc 1 909 0
1691 01f6 2000 movs r0, r4
1692 01f8 FFF7FEFF bl TimerStart
1693 .LVL210:
1694 01fc 61E7 b .L75
1695 .L91:
916:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1696 .loc 1 916 0
1697 01fe 0520 movs r0, #5
1698 0200 FFF7FEFF bl SX1272SetOpMode
1699 .LVL211:
1700 0204 5DE7 b .L75
1701 .L93:
1702 0206 C046 .align 2
1703 .L92:
1704 0208 00000000 .word .LANCHOR0
1705 020c 00000000 .word RxTxBuffer
1706 0210 00000000 .word .LANCHOR2
1707 0214 00000000 .word .LANCHOR4
1708 .cfi_endproc
1709 .LFE109:
1711 .section .text.SX1272SetTx,"ax",%progbits
1712 .align 1
1713 .global SX1272SetTx
1714 .syntax unified
1715 .code 16
1716 .thumb_func
1717 .fpu softvfp
1719 SX1272SetTx:
1720 .LFB110:
926:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerSetValue( &TxTimeoutTimer, timeout );
1721 .loc 1 926 0
1722 .cfi_startproc
1723 @ args = 0, pretend = 0, frame = 8
1724 @ frame_needed = 0, uses_anonymous_args = 0
1725 .LVL212:
1726 0000 10B5 push {r4, lr}
1727 .LCFI20:
1728 .cfi_def_cfa_offset 8
1729 .cfi_offset 4, -8
1730 .cfi_offset 14, -4
1731 0002 82B0 sub sp, sp, #8
1732 .LCFI21:
1733 .cfi_def_cfa_offset 16
1734 0004 0100 movs r1, r0
927:./Drivers/BSP/Components/sx1272/sx1272.c ****
1735 .loc 1 927 0
1736 0006 4048 ldr r0, .L100
1737 .LVL213:
1738 0008 FFF7FEFF bl TimerSetValue
1739 .LVL214:
ARM GAS /tmp/ccwcPdtV.s page 64
929:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1740 .loc 1 929 0
1741 000c 3F4B ldr r3, .L100+4
1742 000e 5B79 ldrb r3, [r3, #5]
1743 0010 002B cmp r3, #0
1744 0012 0CD0 beq .L96
1745 0014 012B cmp r3, #1
1746 0016 39D0 beq .L97
1747 .L95:
983:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &TxTimeoutTimer );
1748 .loc 1 983 0
1749 0018 3C4B ldr r3, .L100+4
1750 001a 0222 movs r2, #2
1751 001c 1A71 strb r2, [r3, #4]
984:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_TRANSMITTER );
1752 .loc 1 984 0
1753 001e 3A48 ldr r0, .L100
1754 0020 FFF7FEFF bl TimerStart
1755 .LVL215:
985:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1756 .loc 1 985 0
1757 0024 0320 movs r0, #3
1758 0026 FFF7FEFF bl SX1272SetOpMode
1759 .LVL216:
986:./Drivers/BSP/Components/sx1272/sx1272.c ****
1760 .loc 1 986 0
1761 002a 02B0 add sp, sp, #8
1762 @ sp needed
1763 002c 10BD pop {r4, pc}
1764 .L96:
1765 .LVL217:
1766 .LBB422:
1767 .LBB423:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1768 .loc 1 1142 0
1769 002e 6B46 mov r3, sp
1770 0030 DC1D adds r4, r3, #7
1771 0032 0122 movs r2, #1
1772 0034 2100 movs r1, r4
1773 0036 4020 movs r0, #64
1774 0038 FFF7FEFF bl SX1272ReadBuffer
1775 .LVL218:
1776 .LBE423:
1777 .LBE422:
939:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_MAS
1778 .loc 1 939 0
1779 003c 0022 movs r2, #0
1780 003e A256 ldrsb r2, [r4, r2]
940:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO2_MAS
1781 .loc 1 940 0
1782 0040 0323 movs r3, #3
1783 0042 1340 ands r3, r2
939:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING1_DIO1_MAS
1784 .loc 1 939 0
1785 0044 1022 movs r2, #16
1786 0046 1343 orrs r3, r2
1787 .LVL219:
ARM GAS /tmp/ccwcPdtV.s page 65
1788 0048 6A46 mov r2, sp
1789 004a D11C adds r1, r2, #3
1790 004c 0B70 strb r3, [r1]
1791 .LVL220:
1792 .LBB424:
1793 .LBB425:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1794 .loc 1 1136 0
1795 004e 0122 movs r2, #1
1796 0050 4020 movs r0, #64
1797 0052 FFF7FEFF bl SX1272WriteBuffer
1798 .LVL221:
1799 .LBE425:
1800 .LBE424:
1801 .LBB426:
1802 .LBB427:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1803 .loc 1 1142 0
1804 0056 0122 movs r2, #1
1805 0058 2100 movs r1, r4
1806 005a 4120 movs r0, #65
1807 005c FFF7FEFF bl SX1272ReadBuffer
1808 .LVL222:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1809 .loc 1 1143 0
1810 0060 2278 ldrb r2, [r4]
1811 .LVL223:
1812 .LBE427:
1813 .LBE426:
944:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_DIOMAPPING2_MAP_MASK
1814 .loc 1 944 0
1815 0062 3E23 movs r3, #62
1816 0064 1340 ands r3, r2
1817 .LVL224:
1818 0066 6A46 mov r2, sp
1819 0068 911C adds r1, r2, #2
1820 006a 0B70 strb r3, [r1]
1821 .LVL225:
1822 .LBB428:
1823 .LBB429:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1824 .loc 1 1136 0
1825 006c 0122 movs r2, #1
1826 006e 4120 movs r0, #65
1827 0070 FFF7FEFF bl SX1272WriteBuffer
1828 .LVL226:
1829 .LBE429:
1830 .LBE428:
1831 .LBB430:
1832 .LBB431:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1833 .loc 1 1142 0
1834 0074 0122 movs r2, #1
1835 0076 2100 movs r1, r4
1836 0078 3520 movs r0, #53
1837 007a FFF7FEFF bl SX1272ReadBuffer
1838 .LVL227:
ARM GAS /tmp/ccwcPdtV.s page 66
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1839 .loc 1 1143 0
1840 007e 2278 ldrb r2, [r4]
1841 .LVL228:
1842 .LBE431:
1843 .LBE430:
946:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1844 .loc 1 946 0
1845 0080 3F23 movs r3, #63
1846 0082 1340 ands r3, r2
1847 0084 3E22 movs r2, #62
1848 0086 2149 ldr r1, .L100+4
1849 0088 8B54 strb r3, [r1, r2]
948:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1850 .loc 1 948 0
1851 008a C5E7 b .L95
1852 .L97:
951:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1853 .loc 1 951 0
1854 008c 1F4A ldr r2, .L100+4
1855 008e 5323 movs r3, #83
1856 0090 D35C ldrb r3, [r2, r3]
1857 0092 002B cmp r3, #0
1858 0094 1BD1 bne .L99
1859 .LVL229:
1860 0096 6B46 mov r3, sp
1861 0098 D91D adds r1, r3, #7
1862 009a F723 movs r3, #247
1863 009c 0B70 strb r3, [r1]
1864 .LVL230:
1865 .LBB432:
1866 .LBB433:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1867 .loc 1 1136 0
1868 009e 0122 movs r2, #1
1869 00a0 1120 movs r0, #17
1870 00a2 FFF7FEFF bl SX1272WriteBuffer
1871 .LVL231:
1872 .LBE433:
1873 .LBE432:
1874 .LBB434:
1875 .LBB435:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1876 .loc 1 1142 0
1877 00a6 6B46 mov r3, sp
1878 00a8 9C1D adds r4, r3, #6
1879 00aa 0122 movs r2, #1
1880 00ac 2100 movs r1, r4
1881 00ae 4020 movs r0, #64
1882 00b0 FFF7FEFF bl SX1272ReadBuffer
1883 .LVL232:
1884 .LBE435:
1885 .LBE434:
977:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1886 .loc 1 977 0
1887 00b4 0022 movs r2, #0
1888 00b6 A256 ldrsb r2, [r4, r2]
ARM GAS /tmp/ccwcPdtV.s page 67
1889 00b8 3F23 movs r3, #63
1890 00ba 1340 ands r3, r2
1891 00bc 4022 movs r2, #64
1892 00be 1343 orrs r3, r2
1893 .LVL233:
1894 00c0 2370 strb r3, [r4]
1895 .LVL234:
1896 .LBB436:
1897 .LBB437:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1898 .loc 1 1136 0
1899 00c2 0122 movs r2, #1
1900 00c4 2100 movs r1, r4
1901 00c6 4020 movs r0, #64
1902 00c8 FFF7FEFF bl SX1272WriteBuffer
1903 .LVL235:
1904 00cc A4E7 b .L95
1905 .LVL236:
1906 .L99:
1907 00ce 6B46 mov r3, sp
1908 00d0 591D adds r1, r3, #5
1909 00d2 F523 movs r3, #245
1910 00d4 0B70 strb r3, [r1]
1911 .LVL237:
1912 .LBE437:
1913 .LBE436:
1914 .LBB438:
1915 .LBB439:
1916 00d6 0122 movs r2, #1
1917 00d8 1120 movs r0, #17
1918 00da FFF7FEFF bl SX1272WriteBuffer
1919 .LVL238:
1920 .LBE439:
1921 .LBE438:
1922 .LBB440:
1923 .LBB441:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
1924 .loc 1 1142 0
1925 00de 6B46 mov r3, sp
1926 00e0 DC1D adds r4, r3, #7
1927 00e2 0122 movs r2, #1
1928 00e4 2100 movs r1, r4
1929 00e6 4020 movs r0, #64
1930 00e8 FFF7FEFF bl SX1272ReadBuffer
1931 .LVL239:
1932 .LBE441:
1933 .LBE440:
963:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1934 .loc 1 963 0
1935 00ec 0022 movs r2, #0
1936 00ee A256 ldrsb r2, [r4, r2]
1937 00f0 3323 movs r3, #51
1938 00f2 1340 ands r3, r2
1939 00f4 4022 movs r2, #64
1940 00f6 1343 orrs r3, r2
1941 .LVL240:
1942 00f8 01A9 add r1, sp, #4
ARM GAS /tmp/ccwcPdtV.s page 68
1943 00fa 0B70 strb r3, [r1]
1944 .LVL241:
1945 .LBB442:
1946 .LBB443:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1947 .loc 1 1136 0
1948 00fc 0122 movs r2, #1
1949 00fe 4020 movs r0, #64
1950 0100 FFF7FEFF bl SX1272WriteBuffer
1951 .LVL242:
1952 0104 88E7 b .L95
1953 .L101:
1954 0106 C046 .align 2
1955 .L100:
1956 0108 00000000 .word .LANCHOR3
1957 010c 00000000 .word .LANCHOR0
1958 .LBE443:
1959 .LBE442:
1960 .cfi_endproc
1961 .LFE110:
1963 .section .text.SX1272StartCad,"ax",%progbits
1964 .align 1
1965 .global SX1272StartCad
1966 .syntax unified
1967 .code 16
1968 .thumb_func
1969 .fpu softvfp
1971 SX1272StartCad:
1972 .LFB111:
989:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1973 .loc 1 989 0
1974 .cfi_startproc
1975 @ args = 0, pretend = 0, frame = 8
1976 @ frame_needed = 0, uses_anonymous_args = 0
1977 0000 30B5 push {r4, r5, lr}
1978 .LCFI22:
1979 .cfi_def_cfa_offset 12
1980 .cfi_offset 4, -12
1981 .cfi_offset 5, -8
1982 .cfi_offset 14, -4
1983 0002 83B0 sub sp, sp, #12
1984 .LCFI23:
1985 .cfi_def_cfa_offset 24
990:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1986 .loc 1 990 0
1987 0004 114B ldr r3, .L105
1988 0006 5B79 ldrb r3, [r3, #5]
1989 0008 012B cmp r3, #1
1990 000a 1CD1 bne .L102
1991 .LVL243:
1992 000c 6B46 mov r3, sp
1993 000e D91D adds r1, r3, #7
1994 0010 FA23 movs r3, #250
1995 0012 0B70 strb r3, [r1]
1996 .LVL244:
1997 .LBB444:
1998 .LBB445:
ARM GAS /tmp/ccwcPdtV.s page 69
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1999 .loc 1 1136 0
2000 0014 0122 movs r2, #1
2001 0016 1120 movs r0, #17
2002 0018 FFF7FEFF bl SX1272WriteBuffer
2003 .LVL245:
2004 .LBE445:
2005 .LBE444:
2006 .LBB446:
2007 .LBB447:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
2008 .loc 1 1142 0
2009 001c 6B46 mov r3, sp
2010 001e 9C1D adds r4, r3, #6
2011 0020 0122 movs r2, #1
2012 0022 2100 movs r1, r4
2013 0024 4020 movs r0, #64
2014 0026 FFF7FEFF bl SX1272ReadBuffer
2015 .LVL246:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2016 .loc 1 1143 0
2017 002a 2378 ldrb r3, [r4]
2018 .LVL247:
2019 .LBE447:
2020 .LBE446:
1010:./Drivers/BSP/Components/sx1272/sx1272.c ****
2021 .loc 1 1010 0
2022 002c 0325 movs r5, #3
2023 002e AB43 bics r3, r5
2024 .LVL248:
2025 0030 2370 strb r3, [r4]
2026 .LVL249:
2027 .LBB448:
2028 .LBB449:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2029 .loc 1 1136 0
2030 0032 0122 movs r2, #1
2031 0034 2100 movs r1, r4
2032 0036 4020 movs r0, #64
2033 0038 FFF7FEFF bl SX1272WriteBuffer
2034 .LVL250:
2035 .LBE449:
2036 .LBE448:
1012:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RFLR_OPMODE_CAD );
2037 .loc 1 1012 0
2038 003c 034B ldr r3, .L105
2039 003e 1D71 strb r5, [r3, #4]
1013:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2040 .loc 1 1013 0
2041 0040 0720 movs r0, #7
2042 0042 FFF7FEFF bl SX1272SetOpMode
2043 .LVL251:
2044 .L102:
1019:./Drivers/BSP/Components/sx1272/sx1272.c ****
2045 .loc 1 1019 0
2046 0046 03B0 add sp, sp, #12
2047 @ sp needed
ARM GAS /tmp/ccwcPdtV.s page 70
2048 0048 30BD pop {r4, r5, pc}
2049 .L106:
2050 004a C046 .align 2
2051 .L105:
2052 004c 00000000 .word .LANCHOR0
2053 .cfi_endproc
2054 .LFE111:
2056 .section .text.SX1272SetModem,"ax",%progbits
2057 .align 1
2058 .global SX1272SetModem
2059 .syntax unified
2060 .code 16
2061 .thumb_func
2062 .fpu softvfp
2064 SX1272SetModem:
2065 .LFB116:
1098:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( SX1272Read( REG_OPMODE ) & RFLR_OPMODE_LONGRANGEMODE_ON ) != 0 )
2066 .loc 1 1098 0
2067 .cfi_startproc
2068 @ args = 0, pretend = 0, frame = 8
2069 @ frame_needed = 0, uses_anonymous_args = 0
2070 .LVL252:
2071 0000 30B5 push {r4, r5, lr}
2072 .LCFI24:
2073 .cfi_def_cfa_offset 12
2074 .cfi_offset 4, -12
2075 .cfi_offset 5, -8
2076 .cfi_offset 14, -4
2077 0002 83B0 sub sp, sp, #12
2078 .LCFI25:
2079 .cfi_def_cfa_offset 24
2080 0004 0400 movs r4, r0
2081 .LVL253:
2082 .LBB450:
2083 .LBB451:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
2084 .loc 1 1142 0
2085 0006 6B46 mov r3, sp
2086 0008 DD1D adds r5, r3, #7
2087 000a 0122 movs r2, #1
2088 000c 2900 movs r1, r5
2089 000e 0120 movs r0, #1
2090 .LVL254:
2091 0010 FFF7FEFF bl SX1272ReadBuffer
2092 .LVL255:
2093 .LBE451:
2094 .LBE450:
1099:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2095 .loc 1 1099 0
2096 0014 0023 movs r3, #0
2097 0016 EB56 ldrsb r3, [r5, r3]
2098 0018 002B cmp r3, #0
2099 001a 2EDB blt .L113
1105:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2100 .loc 1 1105 0
2101 001c 2A4B ldr r3, .L115
2102 001e 0022 movs r2, #0
ARM GAS /tmp/ccwcPdtV.s page 71
2103 0020 5A71 strb r2, [r3, #5]
2104 .L109:
1108:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2105 .loc 1 1108 0
2106 0022 294B ldr r3, .L115
2107 0024 5B79 ldrb r3, [r3, #5]
2108 0026 A342 cmp r3, r4
2109 0028 25D0 beq .L107
1113:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
2110 .loc 1 1113 0
2111 002a 274B ldr r3, .L115
2112 002c 5C71 strb r4, [r3, #5]
1114:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2113 .loc 1 1114 0
2114 002e 012C cmp r4, #1
2115 0030 27D1 bne .L114
1125:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_OPMODE, ( SX1272Read( REG_OPMODE ) & RFLR_OPMODE_LONGRANGEMODE_MASK ) | RF
2116 .loc 1 1125 0
2117 0032 FFF7FEFF bl SX1272SetSleep
2118 .LVL256:
2119 .LBB452:
2120 .LBB453:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
2121 .loc 1 1142 0
2122 0036 6B46 mov r3, sp
2123 0038 DC1D adds r4, r3, #7
2124 003a 0122 movs r2, #1
2125 003c 2100 movs r1, r4
2126 003e 0120 movs r0, #1
2127 0040 FFF7FEFF bl SX1272ReadBuffer
2128 .LVL257:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2129 .loc 1 1143 0
2130 0044 2278 ldrb r2, [r4]
2131 .LVL258:
2132 .LBE453:
2133 .LBE452:
1126:./Drivers/BSP/Components/sx1272/sx1272.c ****
2134 .loc 1 1126 0
2135 0046 8023 movs r3, #128
2136 0048 5B42 rsbs r3, r3, #0
2137 004a 1343 orrs r3, r2
2138 .LVL259:
2139 004c 2370 strb r3, [r4]
2140 .LVL260:
2141 .LBB454:
2142 .LBB455:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2143 .loc 1 1136 0
2144 004e 0122 movs r2, #1
2145 0050 2100 movs r1, r4
2146 0052 0120 movs r0, #1
2147 0054 FFF7FEFF bl SX1272WriteBuffer
2148 .LVL261:
2149 0058 6B46 mov r3, sp
2150 005a 991D adds r1, r3, #6
2151 005c 0024 movs r4, #0
ARM GAS /tmp/ccwcPdtV.s page 72
2152 005e 0C70 strb r4, [r1]
2153 .LVL262:
2154 .LBE455:
2155 .LBE454:
2156 .LBB456:
2157 .LBB457:
2158 0060 0122 movs r2, #1
2159 0062 4020 movs r0, #64
2160 0064 FFF7FEFF bl SX1272WriteBuffer
2161 .LVL263:
2162 0068 6B46 mov r3, sp
2163 006a 591D adds r1, r3, #5
2164 006c 0C70 strb r4, [r1]
2165 .LVL264:
2166 .LBE457:
2167 .LBE456:
2168 .LBB458:
2169 .LBB459:
2170 006e 0122 movs r2, #1
2171 0070 4120 movs r0, #65
2172 0072 FFF7FEFF bl SX1272WriteBuffer
2173 .LVL265:
2174 .L107:
2175 .LBE459:
2176 .LBE458:
1132:./Drivers/BSP/Components/sx1272/sx1272.c ****
2177 .loc 1 1132 0
2178 0076 03B0 add sp, sp, #12
2179 @ sp needed
2180 0078 30BD pop {r4, r5, pc}
2181 .L113:
1101:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2182 .loc 1 1101 0
2183 007a 134B ldr r3, .L115
2184 007c 0122 movs r2, #1
2185 007e 5A71 strb r2, [r3, #5]
2186 0080 CFE7 b .L109
2187 .L114:
1118:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_OPMODE, ( SX1272Read( REG_OPMODE ) & RFLR_OPMODE_LONGRANGEMODE_MASK ) | RF
2188 .loc 1 1118 0
2189 0082 FFF7FEFF bl SX1272SetSleep
2190 .LVL266:
2191 .LBB460:
2192 .LBB461:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
2193 .loc 1 1142 0
2194 0086 6B46 mov r3, sp
2195 0088 DC1D adds r4, r3, #7
2196 008a 0122 movs r2, #1
2197 008c 2100 movs r1, r4
2198 008e 0120 movs r0, #1
2199 0090 FFF7FEFF bl SX1272ReadBuffer
2200 .LVL267:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2201 .loc 1 1143 0
2202 0094 2278 ldrb r2, [r4]
2203 .LVL268:
ARM GAS /tmp/ccwcPdtV.s page 73
2204 .LBE461:
2205 .LBE460:
1119:./Drivers/BSP/Components/sx1272/sx1272.c ****
2206 .loc 1 1119 0
2207 0096 7F23 movs r3, #127
2208 0098 1340 ands r3, r2
2209 .LVL269:
2210 009a 01A9 add r1, sp, #4
2211 009c 0B70 strb r3, [r1]
2212 .LVL270:
2213 .LBB462:
2214 .LBB463:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2215 .loc 1 1136 0
2216 009e 0122 movs r2, #1
2217 00a0 0120 movs r0, #1
2218 00a2 FFF7FEFF bl SX1272WriteBuffer
2219 .LVL271:
2220 00a6 6B46 mov r3, sp
2221 00a8 D91C adds r1, r3, #3
2222 00aa 0023 movs r3, #0
2223 00ac 0B70 strb r3, [r1]
2224 .LVL272:
2225 .LBE463:
2226 .LBE462:
2227 .LBB464:
2228 .LBB465:
2229 00ae 0122 movs r2, #1
2230 00b0 4020 movs r0, #64
2231 00b2 FFF7FEFF bl SX1272WriteBuffer
2232 .LVL273:
2233 00b6 6B46 mov r3, sp
2234 00b8 991C adds r1, r3, #2
2235 00ba 3023 movs r3, #48
2236 00bc 0B70 strb r3, [r1]
2237 .LVL274:
2238 .LBE465:
2239 .LBE464:
2240 .LBB466:
2241 .LBB467:
2242 00be 0122 movs r2, #1
2243 00c0 4120 movs r0, #65
2244 00c2 FFF7FEFF bl SX1272WriteBuffer
2245 .LVL275:
2246 00c6 D6E7 b .L107
2247 .L116:
2248 .align 2
2249 .L115:
2250 00c8 00000000 .word .LANCHOR0
2251 .LBE467:
2252 .LBE466:
2253 .cfi_endproc
2254 .LFE116:
2256 .section .text.SX1272Init,"ax",%progbits
2257 .align 1
2258 .global SX1272Init
2259 .syntax unified
ARM GAS /tmp/ccwcPdtV.s page 74
2260 .code 16
2261 .thumb_func
2262 .fpu softvfp
2264 SX1272Init:
2265 .LFB97:
252:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
2266 .loc 1 252 0
2267 .cfi_startproc
2268 @ args = 0, pretend = 0, frame = 8
2269 @ frame_needed = 0, uses_anonymous_args = 0
2270 .LVL276:
2271 0000 70B5 push {r4, r5, r6, lr}
2272 .LCFI26:
2273 .cfi_def_cfa_offset 16
2274 .cfi_offset 4, -16
2275 .cfi_offset 5, -12
2276 .cfi_offset 6, -8
2277 .cfi_offset 14, -4
2278 0002 82B0 sub sp, sp, #8
2279 .LCFI27:
2280 .cfi_def_cfa_offset 24
255:./Drivers/BSP/Components/sx1272/sx1272.c ****
2281 .loc 1 255 0
2282 0004 1F4B ldr r3, .L120
2283 0006 1860 str r0, [r3]
258:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerInit( &RxTimeoutTimer, SX1272OnTimeoutIrq );
2284 .loc 1 258 0
2285 0008 1F4C ldr r4, .L120+4
2286 000a 2100 movs r1, r4
2287 000c 1F48 ldr r0, .L120+8
2288 .LVL277:
2289 000e FFF7FEFF bl TimerInit
2290 .LVL278:
259:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerInit( &RxTimeoutSyncWord, SX1272OnTimeoutIrq );
2291 .loc 1 259 0
2292 0012 2100 movs r1, r4
2293 0014 1E48 ldr r0, .L120+12
2294 0016 FFF7FEFF bl TimerInit
2295 .LVL279:
260:./Drivers/BSP/Components/sx1272/sx1272.c ****
2296 .loc 1 260 0
2297 001a 2100 movs r1, r4
2298 001c 1D48 ldr r0, .L120+16
2299 001e FFF7FEFF bl TimerInit
2300 .LVL280:
262:./Drivers/BSP/Components/sx1272/sx1272.c ****
2301 .loc 1 262 0
2302 0022 1D4C ldr r4, .L120+20
2303 0024 2368 ldr r3, [r4]
2304 0026 1B68 ldr r3, [r3]
2305 0028 0120 movs r0, #1
2306 002a 9847 blx r3
2307 .LVL281:
264:./Drivers/BSP/Components/sx1272/sx1272.c ****
2308 .loc 1 264 0
2309 002c FFF7FEFF bl SX1272Reset
2310 .LVL282:
ARM GAS /tmp/ccwcPdtV.s page 75
266:./Drivers/BSP/Components/sx1272/sx1272.c ****
2311 .loc 1 266 0
2312 0030 0020 movs r0, #0
2313 0032 FFF7FEFF bl SX1272SetOpMode
2314 .LVL283:
268:./Drivers/BSP/Components/sx1272/sx1272.c ****
2315 .loc 1 268 0
2316 0036 2368 ldr r3, [r4]
2317 0038 9B68 ldr r3, [r3, #8]
2318 003a 1848 ldr r0, .L120+24
2319 003c 9847 blx r3
2320 .LVL284:
270:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2321 .loc 1 270 0
2322 003e 0024 movs r4, #0
2323 0040 10E0 b .L118
2324 .LVL285:
2325 .L119:
272:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( RadioRegsInit[i].Addr, RadioRegsInit[i].Value );
2326 .loc 1 272 0 discriminator 3
2327 0042 174D ldr r5, .L120+28
2328 0044 6600 lsls r6, r4, #1
2329 0046 3619 adds r6, r6, r4
2330 0048 705D ldrb r0, [r6, r5]
2331 004a FFF7FEFF bl SX1272SetModem
2332 .LVL286:
273:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2333 .loc 1 273 0 discriminator 3
2334 004e AD19 adds r5, r5, r6
2335 0050 6878 ldrb r0, [r5, #1]
2336 0052 AB78 ldrb r3, [r5, #2]
2337 .LVL287:
2338 0054 6A46 mov r2, sp
2339 0056 D11D adds r1, r2, #7
2340 0058 0B70 strb r3, [r1]
2341 .LVL288:
2342 .LBB468:
2343 .LBB469:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2344 .loc 1 1136 0 discriminator 3
2345 005a 0122 movs r2, #1
2346 005c FFF7FEFF bl SX1272WriteBuffer
2347 .LVL289:
2348 .LBE469:
2349 .LBE468:
270:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2350 .loc 1 270 0 discriminator 3
2351 0060 0134 adds r4, r4, #1
2352 .LVL290:
2353 0062 E4B2 uxtb r4, r4
2354 .LVL291:
2355 .L118:
270:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2356 .loc 1 270 0 is_stmt 0 discriminator 1
2357 0064 102C cmp r4, #16
2358 0066 ECD9 bls .L119
276:./Drivers/BSP/Components/sx1272/sx1272.c ****
ARM GAS /tmp/ccwcPdtV.s page 76
2359 .loc 1 276 0 is_stmt 1
2360 0068 0020 movs r0, #0
2361 006a FFF7FEFF bl SX1272SetModem
2362 .LVL292:
278:./Drivers/BSP/Components/sx1272/sx1272.c ****
2363 .loc 1 278 0
2364 006e 0D4B ldr r3, .L120+32
2365 0070 0022 movs r2, #0
2366 0072 1A71 strb r2, [r3, #4]
280:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2367 .loc 1 280 0
2368 0074 084B ldr r3, .L120+20
2369 0076 1B68 ldr r3, [r3]
2370 0078 5B68 ldr r3, [r3, #4]
2371 007a 9847 blx r3
2372 .LVL293:
2373 007c 0230 adds r0, r0, #2
281:./Drivers/BSP/Components/sx1272/sx1272.c ****
2374 .loc 1 281 0
2375 007e 02B0 add sp, sp, #8
2376 @ sp needed
2377 .LVL294:
2378 0080 70BD pop {r4, r5, r6, pc}
2379 .L121:
2380 0082 C046 .align 2
2381 .L120:
2382 0084 00000000 .word .LANCHOR5
2383 0088 00000000 .word SX1272OnTimeoutIrq
2384 008c 00000000 .word .LANCHOR3
2385 0090 00000000 .word .LANCHOR2
2386 0094 00000000 .word .LANCHOR4
2387 0098 00000000 .word .LANCHOR1
2388 009c 00000000 .word .LANCHOR6
2389 00a0 00000000 .word .LANCHOR7
2390 00a4 00000000 .word .LANCHOR0
2391 .cfi_endproc
2392 .LFE97:
2394 .section .text.SX1272IsChannelFree,"ax",%progbits
2395 .align 1
2396 .global SX1272IsChannelFree
2397 .syntax unified
2398 .code 16
2399 .thumb_func
2400 .fpu softvfp
2402 SX1272IsChannelFree:
2403 .LFB100:
302:./Drivers/BSP/Components/sx1272/sx1272.c **** bool status = true;
2404 .loc 1 302 0
2405 .cfi_startproc
2406 @ args = 0, pretend = 0, frame = 0
2407 @ frame_needed = 0, uses_anonymous_args = 0
2408 .LVL295:
2409 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
2410 .LCFI28:
2411 .cfi_def_cfa_offset 24
2412 .cfi_offset 3, -24
2413 .cfi_offset 4, -20
ARM GAS /tmp/ccwcPdtV.s page 77
2414 .cfi_offset 5, -16
2415 .cfi_offset 6, -12
2416 .cfi_offset 7, -8
2417 .cfi_offset 14, -4
2418 0002 0400 movs r4, r0
2419 0004 0D00 movs r5, r1
2420 0006 1700 movs r7, r2
2421 0008 1E00 movs r6, r3
2422 .LVL296:
307:./Drivers/BSP/Components/sx1272/sx1272.c ****
2423 .loc 1 307 0
2424 000a FFF7FEFF bl SX1272SetModem
2425 .LVL297:
309:./Drivers/BSP/Components/sx1272/sx1272.c ****
2426 .loc 1 309 0
2427 000e 2800 movs r0, r5
2428 0010 FFF7FEFF bl SX1272SetChannel
2429 .LVL298:
311:./Drivers/BSP/Components/sx1272/sx1272.c ****
2430 .loc 1 311 0
2431 0014 0520 movs r0, #5
2432 0016 FFF7FEFF bl SX1272SetOpMode
2433 .LVL299:
313:./Drivers/BSP/Components/sx1272/sx1272.c ****
2434 .loc 1 313 0
2435 001a 0120 movs r0, #1
2436 001c FFF7FEFF bl DelayMs
2437 .LVL300:
315:./Drivers/BSP/Components/sx1272/sx1272.c ****
2438 .loc 1 315 0
2439 0020 FFF7FEFF bl TimerGetCurrentTime
2440 .LVL301:
2441 0024 0500 movs r5, r0
2442 .LVL302:
2443 .L123:
318:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2444 .loc 1 318 0
2445 0026 2800 movs r0, r5
2446 0028 FFF7FEFF bl TimerGetElapsedTime
2447 .LVL303:
2448 002c B042 cmp r0, r6
2449 002e 06D2 bcs .L127
320:./Drivers/BSP/Components/sx1272/sx1272.c ****
2450 .loc 1 320 0
2451 0030 2000 movs r0, r4
2452 0032 FFF7FEFF bl SX1272ReadRssi
2453 .LVL304:
322:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2454 .loc 1 322 0
2455 0036 B842 cmp r0, r7
2456 0038 F5DD ble .L123
324:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
2457 .loc 1 324 0
2458 003a 0024 movs r4, #0
2459 003c 00E0 b .L124
2460 .LVL305:
2461 .L127:
ARM GAS /tmp/ccwcPdtV.s page 78
303:./Drivers/BSP/Components/sx1272/sx1272.c **** int16_t rssi = 0;
2462 .loc 1 303 0
2463 003e 0124 movs r4, #1
2464 .L124:
2465 .LVL306:
328:./Drivers/BSP/Components/sx1272/sx1272.c **** return status;
2466 .loc 1 328 0
2467 0040 FFF7FEFF bl SX1272SetSleep
2468 .LVL307:
330:./Drivers/BSP/Components/sx1272/sx1272.c ****
2469 .loc 1 330 0
2470 0044 2000 movs r0, r4
2471 @ sp needed
2472 .LVL308:
2473 .LVL309:
2474 .LVL310:
2475 0046 F8BD pop {r3, r4, r5, r6, r7, pc}
2476 .cfi_endproc
2477 .LFE100:
2479 .section .text.SX1272Random,"ax",%progbits
2480 .align 1
2481 .global SX1272Random
2482 .syntax unified
2483 .code 16
2484 .thumb_func
2485 .fpu softvfp
2487 SX1272Random:
2488 .LFB101:
333:./Drivers/BSP/Components/sx1272/sx1272.c **** uint8_t i;
2489 .loc 1 333 0
2490 .cfi_startproc
2491 @ args = 0, pretend = 0, frame = 8
2492 @ frame_needed = 0, uses_anonymous_args = 0
2493 0000 70B5 push {r4, r5, r6, lr}
2494 .LCFI29:
2495 .cfi_def_cfa_offset 16
2496 .cfi_offset 4, -16
2497 .cfi_offset 5, -12
2498 .cfi_offset 6, -8
2499 .cfi_offset 14, -4
2500 0002 82B0 sub sp, sp, #8
2501 .LCFI30:
2502 .cfi_def_cfa_offset 24
2503 .LVL311:
341:./Drivers/BSP/Components/sx1272/sx1272.c ****
2504 .loc 1 341 0
2505 0004 0120 movs r0, #1
2506 0006 FFF7FEFF bl SX1272SetModem
2507 .LVL312:
2508 000a 6B46 mov r3, sp
2509 000c 991D adds r1, r3, #6
2510 000e FF23 movs r3, #255
2511 0010 0B70 strb r3, [r1]
2512 .LVL313:
2513 .LBB470:
2514 .LBB471:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
ARM GAS /tmp/ccwcPdtV.s page 79
2515 .loc 1 1136 0
2516 0012 0122 movs r2, #1
2517 0014 1120 movs r0, #17
2518 0016 FFF7FEFF bl SX1272WriteBuffer
2519 .LVL314:
2520 .LBE471:
2521 .LBE470:
354:./Drivers/BSP/Components/sx1272/sx1272.c ****
2522 .loc 1 354 0
2523 001a 0520 movs r0, #5
2524 001c FFF7FEFF bl SX1272SetOpMode
2525 .LVL315:
335:./Drivers/BSP/Components/sx1272/sx1272.c ****
2526 .loc 1 335 0
2527 0020 0026 movs r6, #0
356:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2528 .loc 1 356 0
2529 0022 0024 movs r4, #0
2530 0024 10E0 b .L129
2531 .LVL316:
2532 .L130:
358:./Drivers/BSP/Components/sx1272/sx1272.c **** // Unfiltered RSSI value reading. Only takes the LSB value
2533 .loc 1 358 0 discriminator 3
2534 0026 0120 movs r0, #1
2535 0028 FFF7FEFF bl DelayMs
2536 .LVL317:
2537 .LBB472:
2538 .LBB473:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
2539 .loc 1 1142 0 discriminator 3
2540 002c 6B46 mov r3, sp
2541 002e DD1D adds r5, r3, #7
2542 0030 0122 movs r2, #1
2543 0032 2900 movs r1, r5
2544 0034 2C20 movs r0, #44
2545 0036 FFF7FEFF bl SX1272ReadBuffer
2546 .LVL318:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2547 .loc 1 1143 0 discriminator 3
2548 003a 2A78 ldrb r2, [r5]
2549 .LVL319:
2550 .LBE473:
2551 .LBE472:
360:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2552 .loc 1 360 0 discriminator 3
2553 003c 0123 movs r3, #1
2554 003e 1340 ands r3, r2
2555 0040 A340 lsls r3, r3, r4
2556 0042 1E43 orrs r6, r3
2557 .LVL320:
356:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2558 .loc 1 356 0 discriminator 3
2559 0044 0134 adds r4, r4, #1
2560 .LVL321:
2561 0046 E4B2 uxtb r4, r4
2562 .LVL322:
2563 .L129:
ARM GAS /tmp/ccwcPdtV.s page 80
356:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2564 .loc 1 356 0 is_stmt 0 discriminator 1
2565 0048 1F2C cmp r4, #31
2566 004a ECD9 bls .L130
363:./Drivers/BSP/Components/sx1272/sx1272.c ****
2567 .loc 1 363 0 is_stmt 1
2568 004c FFF7FEFF bl SX1272SetSleep
2569 .LVL323:
366:./Drivers/BSP/Components/sx1272/sx1272.c ****
2570 .loc 1 366 0
2571 0050 3000 movs r0, r6
2572 0052 02B0 add sp, sp, #8
2573 @ sp needed
2574 .LVL324:
2575 .LVL325:
2576 0054 70BD pop {r4, r5, r6, pc}
2577 .cfi_endproc
2578 .LFE101:
2580 .section .text.SX1272SetRxConfig,"ax",%progbits
2581 .align 1
2582 .global SX1272SetRxConfig
2583 .syntax unified
2584 .code 16
2585 .thumb_func
2586 .fpu softvfp
2588 SX1272SetRxConfig:
2589 .LFB103:
396:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( modem );
2590 .loc 1 396 0
2591 .cfi_startproc
2592 @ args = 40, pretend = 0, frame = 56
2593 @ frame_needed = 0, uses_anonymous_args = 0
2594 .LVL326:
2595 0000 F0B5 push {r4, r5, r6, r7, lr}
2596 .LCFI31:
2597 .cfi_def_cfa_offset 20
2598 .cfi_offset 4, -20
2599 .cfi_offset 5, -16
2600 .cfi_offset 6, -12
2601 .cfi_offset 7, -8
2602 .cfi_offset 14, -4
2603 0002 DE46 mov lr, fp
2604 0004 5746 mov r7, r10
2605 0006 4E46 mov r6, r9
2606 0008 4546 mov r5, r8
2607 000a E0B5 push {r5, r6, r7, lr}
2608 .LCFI32:
2609 .cfi_def_cfa_offset 36
2610 .cfi_offset 8, -36
2611 .cfi_offset 9, -32
2612 .cfi_offset 10, -28
2613 .cfi_offset 11, -24
2614 000c 8FB0 sub sp, sp, #60
2615 .LCFI33:
2616 .cfi_def_cfa_offset 96
2617 000e 0700 movs r7, r0
2618 0010 0C00 movs r4, r1
ARM GAS /tmp/ccwcPdtV.s page 81
2619 0012 1500 movs r5, r2
2620 0014 0093 str r3, [sp]
2621 0016 18AB add r3, sp, #96
2622 .LVL327:
2623 0018 04CB ldmia r3!, {r2}
2624 .LVL328:
2625 001a 9346 mov fp, r2
2626 001c 1B88 ldrh r3, [r3]
2627 .LVL329:
2628 001e 9946 mov r9, r3
2629 0020 1AAB add r3, sp, #104
2630 .LVL330:
2631 0022 1B88 ldrh r3, [r3]
2632 .LVL331:
2633 0024 0493 str r3, [sp, #16]
2634 0026 1BAB add r3, sp, #108
2635 .LVL332:
2636 0028 1B78 ldrb r3, [r3]
2637 .LVL333:
2638 002a 9846 mov r8, r3
2639 002c 1CAB add r3, sp, #112
2640 .LVL334:
2641 002e 1B78 ldrb r3, [r3]
2642 .LVL335:
2643 0030 9A46 mov r10, r3
2644 0032 1DAB add r3, sp, #116
2645 .LVL336:
2646 0034 1E78 ldrb r6, [r3]
2647 0036 1EAB add r3, sp, #120
2648 .LVL337:
2649 0038 1B78 ldrb r3, [r3]
2650 .LVL338:
2651 003a 0693 str r3, [sp, #24]
2652 003c 1FAB add r3, sp, #124
2653 .LVL339:
2654 003e 1B78 ldrb r3, [r3]
2655 .LVL340:
2656 0040 0793 str r3, [sp, #28]
2657 0042 20AB add r3, sp, #128
2658 .LVL341:
2659 0044 1B78 ldrb r3, [r3]
2660 .LVL342:
2661 0046 0293 str r3, [sp, #8]
2662 0048 21AB add r3, sp, #132
2663 .LVL343:
2664 004a 1B78 ldrb r3, [r3]
2665 .LVL344:
2666 004c 0593 str r3, [sp, #20]
397:./Drivers/BSP/Components/sx1272/sx1272.c ****
2667 .loc 1 397 0
2668 004e FFF7FEFF bl SX1272SetModem
2669 .LVL345:
399:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2670 .loc 1 399 0
2671 0052 002F cmp r7, #0
2672 0054 09D0 beq .L133
2673 0056 012F cmp r7, #1
ARM GAS /tmp/ccwcPdtV.s page 82
2674 0058 00D1 bne .LCB2580
2675 005a E6E0 b .L134 @long jump
2676 .LCB2580:
2677 .LVL346:
2678 .L131:
530:./Drivers/BSP/Components/sx1272/sx1272.c ****
2679 .loc 1 530 0
2680 005c 0FB0 add sp, sp, #60
2681 @ sp needed
2682 .LVL347:
2683 005e 3CBC pop {r2, r3, r4, r5}
2684 0060 9046 mov r8, r2
2685 0062 9946 mov r9, r3
2686 0064 A246 mov r10, r4
2687 0066 AB46 mov fp, r5
2688 0068 F0BD pop {r4, r5, r6, r7, pc}
2689 .LVL348:
2690 .L133:
403:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Datarate = datarate;
2691 .loc 1 403 0
2692 006a E64F ldr r7, .L160
2693 006c 7C61 str r4, [r7, #20]
404:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.BandwidthAfc = bandwidthAfc;
2694 .loc 1 404 0
2695 006e FD61 str r5, [r7, #28]
405:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.FixLen = fixLen;
2696 .loc 1 405 0
2697 0070 5B46 mov r3, fp
2698 0072 BB61 str r3, [r7, #24]
406:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.PayloadLen = payloadLen;
2699 .loc 1 406 0
2700 0074 2223 movs r3, #34
2701 0076 4246 mov r2, r8
2702 0078 FA54 strb r2, [r7, r3]
407:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.CrcOn = crcOn;
2703 .loc 1 407 0
2704 007a 0133 adds r3, r3, #1
2705 007c 5246 mov r2, r10
2706 007e FA54 strb r2, [r7, r3]
408:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.IqInverted = iqInverted;
2707 .loc 1 408 0
2708 0080 0133 adds r3, r3, #1
2709 0082 FE54 strb r6, [r7, r3]
409:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.RxContinuous = rxContinuous;
2710 .loc 1 409 0
2711 0084 0133 adds r3, r3, #1
2712 0086 6A46 mov r2, sp
2713 0088 127A ldrb r2, [r2, #8]
2714 008a FA54 strb r2, [r7, r3]
410:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.PreambleLen = preambleLen;
2715 .loc 1 410 0
2716 008c 0133 adds r3, r3, #1
2717 008e 6A46 mov r2, sp
2718 0090 127D ldrb r2, [r2, #20]
2719 0092 FA54 strb r2, [r7, r3]
411:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.RxSingleTimeout = ( uint32_t )( symbTimeout * ( ( 1.0 / ( double )d
2720 .loc 1 411 0
ARM GAS /tmp/ccwcPdtV.s page 83
2721 0094 4B46 mov r3, r9
2722 0096 3B84 strh r3, [r7, #32]
412:./Drivers/BSP/Components/sx1272/sx1272.c ****
2723 .loc 1 412 0
2724 0098 2800 movs r0, r5
2725 009a FFF7FEFF bl __aeabi_ui2d
2726 .LVL349:
2727 009e 0090 str r0, [sp]
2728 00a0 0191 str r1, [sp, #4]
2729 00a2 0200 movs r2, r0
2730 00a4 0B00 movs r3, r1
2731 00a6 0020 movs r0, #0
2732 00a8 D749 ldr r1, .L160+4
2733 00aa FFF7FEFF bl __aeabi_ddiv
2734 .LVL350:
2735 00ae 0022 movs r2, #0
2736 00b0 D64B ldr r3, .L160+8
2737 00b2 FFF7FEFF bl __aeabi_dmul
2738 .LVL351:
2739 00b6 0290 str r0, [sp, #8]
2740 00b8 0391 str r1, [sp, #12]
2741 00ba 0498 ldr r0, [sp, #16]
2742 00bc FFF7FEFF bl __aeabi_i2d
2743 .LVL352:
2744 00c0 029A ldr r2, [sp, #8]
2745 00c2 039B ldr r3, [sp, #12]
2746 00c4 FFF7FEFF bl __aeabi_dmul
2747 .LVL353:
2748 00c8 0022 movs r2, #0
2749 00ca D14B ldr r3, .L160+12
2750 00cc FFF7FEFF bl __aeabi_dmul
2751 .LVL354:
2752 00d0 FFF7FEFF bl __aeabi_d2uiz
2753 .LVL355:
2754 00d4 F862 str r0, [r7, #44]
414:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_BITRATEMSB, ( uint8_t )( datarate >> 8 ) );
2755 .loc 1 414 0
2756 00d6 009A ldr r2, [sp]
2757 00d8 019B ldr r3, [sp, #4]
2758 00da 0020 movs r0, #0
2759 00dc CD49 ldr r1, .L160+16
2760 00de FFF7FEFF bl __aeabi_ddiv
2761 .LVL356:
2762 00e2 FFF7FEFF bl __aeabi_d2uiz
2763 .LVL357:
2764 00e6 85B2 uxth r5, r0
2765 .LVL358:
415:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_BITRATELSB, ( uint8_t )( datarate & 0xFF ) );
2766 .loc 1 415 0
2767 00e8 2B0A lsrs r3, r5, #8
2768 .LVL359:
2769 00ea 08AA add r2, sp, #32
2770 00ec D11D adds r1, r2, #7
2771 00ee 0B70 strb r3, [r1]
2772 .LVL360:
2773 .LBB474:
2774 .LBB475:
ARM GAS /tmp/ccwcPdtV.s page 84
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2775 .loc 1 1136 0
2776 00f0 0122 movs r2, #1
2777 00f2 0220 movs r0, #2
2778 00f4 FFF7FEFF bl SX1272WriteBuffer
2779 .LVL361:
2780 00f8 08AB add r3, sp, #32
2781 00fa 991D adds r1, r3, #6
2782 00fc 0D70 strb r5, [r1]
2783 .LVL362:
2784 .LBE475:
2785 .LBE474:
2786 .LBB476:
2787 .LBB477:
2788 00fe 0122 movs r2, #1
2789 0100 0320 movs r0, #3
2790 0102 FFF7FEFF bl SX1272WriteBuffer
2791 .LVL363:
2792 .LBE477:
2793 .LBE476:
2794 .LBB478:
2795 .LBB479:
378:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2796 .loc 1 378 0
2797 0106 0023 movs r3, #0
2798 0108 01E0 b .L135
2799 .LVL364:
2800 .L136:
2801 010a 0133 adds r3, r3, #1
2802 .LVL365:
2803 010c DBB2 uxtb r3, r3
2804 .LVL366:
2805 .L135:
2806 010e 142B cmp r3, #20
2807 0110 16D8 bhi .L139
380:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2808 .loc 1 380 0
2809 0112 DA00 lsls r2, r3, #3
2810 0114 C048 ldr r0, .L160+20
2811 0116 1258 ldr r2, [r2, r0]
2812 0118 9442 cmp r4, r2
2813 011a F6D3 bcc .L136
2814 011c 5A1C adds r2, r3, #1
2815 011e D200 lsls r2, r2, #3
2816 0120 1258 ldr r2, [r2, r0]
2817 0122 9442 cmp r4, r2
2818 0124 F1D2 bcs .L136
382:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2819 .loc 1 382 0
2820 0126 DB00 lsls r3, r3, #3
2821 .LVL367:
2822 0128 C318 adds r3, r0, r3
2823 012a 1B79 ldrb r3, [r3, #4]
2824 .LVL368:
2825 012c 08AA add r2, sp, #32
2826 012e 511D adds r1, r2, #5
2827 0130 0B70 strb r3, [r1]
ARM GAS /tmp/ccwcPdtV.s page 85
2828 .LVL369:
2829 .LBE479:
2830 .LBE478:
2831 .LBB480:
2832 .LBB481:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2833 .loc 1 1136 0
2834 0132 0122 movs r2, #1
2835 0134 1220 movs r0, #18
2836 0136 FFF7FEFF bl SX1272WriteBuffer
2837 .LVL370:
2838 .LBE481:
2839 .LBE480:
2840 .LBB482:
2841 .LBB483:
378:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2842 .loc 1 378 0
2843 013a 0023 movs r3, #0
2844 013c 5846 mov r0, fp
2845 013e 02E0 b .L137
2846 .LVL371:
2847 .L139:
2848 0140 FEE7 b .L139
2849 .LVL372:
2850 .L140:
2851 0142 0133 adds r3, r3, #1
2852 .LVL373:
2853 0144 DBB2 uxtb r3, r3
2854 .LVL374:
2855 .L137:
2856 0146 142B cmp r3, #20
2857 0148 31D8 bhi .L144
380:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2858 .loc 1 380 0
2859 014a D900 lsls r1, r3, #3
2860 014c B24C ldr r4, .L160+20
2861 014e 0959 ldr r1, [r1, r4]
2862 0150 8842 cmp r0, r1
2863 0152 F6D3 bcc .L140
2864 0154 591C adds r1, r3, #1
2865 0156 C900 lsls r1, r1, #3
2866 0158 0959 ldr r1, [r1, r4]
2867 015a 8842 cmp r0, r1
2868 015c F1D2 bcs .L140
382:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2869 .loc 1 382 0
2870 015e DA00 lsls r2, r3, #3
2871 0160 A318 adds r3, r4, r2
2872 .LVL375:
2873 0162 1B79 ldrb r3, [r3, #4]
2874 .LVL376:
2875 0164 09A9 add r1, sp, #36
2876 0166 0B70 strb r3, [r1]
2877 .LVL377:
2878 .LBE483:
2879 .LBE482:
2880 .LBB484:
ARM GAS /tmp/ccwcPdtV.s page 86
2881 .LBB485:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2882 .loc 1 1136 0
2883 0168 0122 movs r2, #1
2884 016a 1320 movs r0, #19
2885 016c FFF7FEFF bl SX1272WriteBuffer
2886 .LVL378:
2887 .LBE485:
2888 .LBE484:
421:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PREAMBLELSB, ( uint8_t )( preambleLen & 0xFF ) );
2889 .loc 1 421 0
2890 0170 4B46 mov r3, r9
2891 0172 1B0A lsrs r3, r3, #8
2892 .LVL379:
2893 0174 08AA add r2, sp, #32
2894 0176 D11C adds r1, r2, #3
2895 0178 0B70 strb r3, [r1]
2896 .LVL380:
2897 .LBB486:
2898 .LBB487:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
2899 .loc 1 1136 0
2900 017a 0122 movs r2, #1
2901 017c 2520 movs r0, #37
2902 017e FFF7FEFF bl SX1272WriteBuffer
2903 .LVL381:
2904 0182 08AB add r3, sp, #32
2905 0184 991C adds r1, r3, #2
2906 0186 4B46 mov r3, r9
2907 0188 0B70 strb r3, [r1]
2908 .LVL382:
2909 .LBE487:
2910 .LBE486:
2911 .LBB488:
2912 .LBB489:
2913 018a 0122 movs r2, #1
2914 018c 2620 movs r0, #38
2915 018e FFF7FEFF bl SX1272WriteBuffer
2916 .LVL383:
2917 .LBE489:
2918 .LBE488:
424:./Drivers/BSP/Components/sx1272/sx1272.c **** {
2919 .loc 1 424 0
2920 0192 4346 mov r3, r8
2921 0194 002B cmp r3, #0
2922 0196 0BD1 bne .L141
2923 .LVL384:
2924 0198 0921 movs r1, #9
2925 019a 08AB add r3, sp, #32
2926 019c 9C46 mov ip, r3
2927 019e 6144 add r1, r1, ip
2928 01a0 FF23 movs r3, #255
2929 01a2 0B70 strb r3, [r1]
2930 .LVL385:
2931 .LBB490:
2932 .LBB491:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
ARM GAS /tmp/ccwcPdtV.s page 87
2933 .loc 1 1136 0
2934 01a4 0122 movs r2, #1
2935 01a6 3220 movs r0, #50
2936 01a8 FFF7FEFF bl SX1272WriteBuffer
2937 .LVL386:
2938 01ac 07E0 b .L145
2939 .LVL387:
2940 .L144:
2941 01ae FEE7 b .L144
2942 .LVL388:
2943 .L141:
2944 01b0 0AA9 add r1, sp, #40
2945 01b2 5346 mov r3, r10
2946 01b4 0B70 strb r3, [r1]
2947 .LVL389:
2948 .LBE491:
2949 .LBE490:
2950 .LBB492:
2951 .LBB493:
2952 01b6 0122 movs r2, #1
2953 01b8 3220 movs r0, #50
2954 01ba FFF7FEFF bl SX1272WriteBuffer
2955 .LVL390:
2956 .L145:
2957 .LBE493:
2958 .LBE492:
2959 .LBB494:
2960 .LBB495:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
2961 .loc 1 1142 0
2962 01be 1724 movs r4, #23
2963 01c0 08AB add r3, sp, #32
2964 01c2 9C46 mov ip, r3
2965 01c4 6444 add r4, r4, ip
2966 01c6 0122 movs r2, #1
2967 01c8 2100 movs r1, r4
2968 01ca 3020 movs r0, #48
2969 01cc FFF7FEFF bl SX1272ReadBuffer
2970 .LVL391:
2971 .LBE495:
2972 .LBE494:
434:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_PACKETCONFIG1_CRC_MASK &
2973 .loc 1 434 0
2974 01d0 0023 movs r3, #0
2975 01d2 E356 ldrsb r3, [r4, r3]
435:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_PACKETCONFIG1_PACKETFORMAT_MASK ) |
2976 .loc 1 435 0
2977 01d4 6F22 movs r2, #111
2978 01d6 1340 ands r3, r2
436:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( fixLen == 1 ) ? RF_PACKETCONFIG1_PACKETFORMAT_FIXED : RF_PACKETCONFI
2979 .loc 1 436 0
2980 01d8 4246 mov r2, r8
2981 01da 002A cmp r2, #0
2982 01dc 22D0 beq .L155
2983 01de 0022 movs r2, #0
2984 .L146:
436:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( fixLen == 1 ) ? RF_PACKETCONFIG1_PACKETFORMAT_FIXED : RF_PACKETCONFI
ARM GAS /tmp/ccwcPdtV.s page 88
2985 .loc 1 436 0 is_stmt 0 discriminator 4
2986 01e0 1343 orrs r3, r2
438:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PACKETCONFIG2, ( SX1272Read( REG_PACKETCONFIG2 ) | RF_PACKETCONFIG2_DA
2987 .loc 1 438 0 is_stmt 1 discriminator 4
2988 01e2 3601 lsls r6, r6, #4
437:./Drivers/BSP/Components/sx1272/sx1272.c **** ( crcOn << 4 ) );
2989 .loc 1 437 0 discriminator 4
2990 01e4 1E43 orrs r6, r3
2991 .LVL392:
2992 01e6 0B21 movs r1, #11
2993 01e8 08AB add r3, sp, #32
2994 01ea 9C46 mov ip, r3
2995 01ec 6144 add r1, r1, ip
2996 01ee 0E70 strb r6, [r1]
2997 .LVL393:
2998 .LBB496:
2999 .LBB497:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3000 .loc 1 1136 0 discriminator 4
3001 01f0 0122 movs r2, #1
3002 01f2 3020 movs r0, #48
3003 01f4 FFF7FEFF bl SX1272WriteBuffer
3004 .LVL394:
3005 .LBE497:
3006 .LBE496:
3007 .LBB498:
3008 .LBB499:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3009 .loc 1 1142 0 discriminator 4
3010 01f8 1724 movs r4, #23
3011 01fa 08AB add r3, sp, #32
3012 01fc 9C46 mov ip, r3
3013 01fe 6444 add r4, r4, ip
3014 0200 0122 movs r2, #1
3015 0202 2100 movs r1, r4
3016 0204 3120 movs r0, #49
3017 0206 FFF7FEFF bl SX1272ReadBuffer
3018 .LVL395:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3019 .loc 1 1143 0 discriminator 4
3020 020a 2278 ldrb r2, [r4]
3021 .LVL396:
3022 .LBE499:
3023 .LBE498:
439:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3024 .loc 1 439 0 discriminator 4
3025 020c 4023 movs r3, #64
3026 020e 1343 orrs r3, r2
3027 .LVL397:
3028 0210 0A21 movs r1, #10
3029 0212 08AA add r2, sp, #32
3030 0214 9446 mov ip, r2
3031 0216 6144 add r1, r1, ip
3032 0218 0B70 strb r3, [r1]
3033 .LVL398:
3034 .LBB500:
3035 .LBB501:
ARM GAS /tmp/ccwcPdtV.s page 89
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3036 .loc 1 1136 0 discriminator 4
3037 021a 0122 movs r2, #1
3038 021c 3120 movs r0, #49
3039 021e FFF7FEFF bl SX1272WriteBuffer
3040 .LVL399:
3041 0222 1BE7 b .L131
3042 .LVL400:
3043 .L155:
3044 .LBE501:
3045 .LBE500:
436:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( fixLen == 1 ) ? RF_PACKETCONFIG1_PACKETFORMAT_FIXED : RF_PACKETCONFI
3046 .loc 1 436 0
3047 0224 8022 movs r2, #128
3048 0226 5242 rsbs r2, r2, #0
3049 0228 DAE7 b .L146
3050 .LVL401:
3051 .L134:
444:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Datarate = datarate;
3052 .loc 1 444 0
3053 022a 764B ldr r3, .L160
3054 022c 5C64 str r4, [r3, #68]
445:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Coderate = coderate;
3055 .loc 1 445 0
3056 022e 9D64 str r5, [r3, #72]
446:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.PreambleLen = preambleLen;
3057 .loc 1 446 0
3058 0230 4D22 movs r2, #77
3059 0232 6946 mov r1, sp
3060 0234 0978 ldrb r1, [r1]
3061 0236 9954 strb r1, [r3, r2]
447:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.FixLen = fixLen;
3062 .loc 1 447 0
3063 0238 0132 adds r2, r2, #1
3064 023a 4946 mov r1, r9
3065 023c 9952 strh r1, [r3, r2]
448:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.PayloadLen = payloadLen;
3066 .loc 1 448 0
3067 023e 0232 adds r2, r2, #2
3068 0240 4146 mov r1, r8
3069 0242 9954 strb r1, [r3, r2]
449:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.CrcOn = crcOn;
3070 .loc 1 449 0
3071 0244 0132 adds r2, r2, #1
3072 0246 5146 mov r1, r10
3073 0248 9954 strb r1, [r3, r2]
450:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.FreqHopOn = freqHopOn;
3074 .loc 1 450 0
3075 024a 0132 adds r2, r2, #1
3076 024c 9E54 strb r6, [r3, r2]
451:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.HopPeriod = hopPeriod;
3077 .loc 1 451 0
3078 024e 0132 adds r2, r2, #1
3079 0250 6946 mov r1, sp
3080 0252 097E ldrb r1, [r1, #24]
3081 0254 9954 strb r1, [r3, r2]
452:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.IqInverted = iqInverted;
ARM GAS /tmp/ccwcPdtV.s page 90
3082 .loc 1 452 0
3083 0256 0132 adds r2, r2, #1
3084 0258 6946 mov r1, sp
3085 025a 097F ldrb r1, [r1, #28]
3086 025c 9954 strb r1, [r3, r2]
453:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.RxContinuous = rxContinuous;
3087 .loc 1 453 0
3088 025e 0132 adds r2, r2, #1
3089 0260 6946 mov r1, sp
3090 0262 097A ldrb r1, [r1, #8]
3091 0264 9954 strb r1, [r3, r2]
454:./Drivers/BSP/Components/sx1272/sx1272.c ****
3092 .loc 1 454 0
3093 0266 0132 adds r2, r2, #1
3094 0268 6946 mov r1, sp
3095 026a 097D ldrb r1, [r1, #20]
3096 026c 9954 strb r1, [r3, r2]
456:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3097 .loc 1 456 0
3098 026e 0C2D cmp r5, #12
3099 0270 00D9 bls .LCB3024
3100 0272 BAE0 b .L156 @long jump
3101 .LCB3024:
460:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3102 .loc 1 460 0
3103 0274 052D cmp r5, #5
3104 0276 00D8 bhi .LCB3028
3105 0278 B9E0 b .L157 @long jump
3106 .LCB3028:
3107 .LVL402:
3108 .L147:
465:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( bandwidth == 1 ) && ( datarate == 12 ) ) )
3109 .loc 1 465 0
3110 027a 002C cmp r4, #0
3111 027c 04D1 bne .L148
465:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( bandwidth == 1 ) && ( datarate == 12 ) ) )
3112 .loc 1 465 0 is_stmt 0 discriminator 1
3113 027e 2B00 movs r3, r5
3114 0280 0B3B subs r3, r3, #11
3115 0282 012B cmp r3, #1
3116 0284 00D8 bhi .LCB3037
3117 0286 B7E0 b .L149 @long jump
3118 .LCB3037:
3119 .L148:
465:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( bandwidth == 1 ) && ( datarate == 12 ) ) )
3120 .loc 1 465 0 discriminator 3
3121 0288 012C cmp r4, #1
3122 028a 00D1 bne .LCB3040
3123 028c B1E0 b .L159 @long jump
3124 .LCB3040:
3125 .L150:
472:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3126 .loc 1 472 0 is_stmt 1
3127 028e 5D4A ldr r2, .L160
3128 0290 4C23 movs r3, #76
3129 0292 0021 movs r1, #0
3130 0294 D154 strb r1, [r2, r3]
ARM GAS /tmp/ccwcPdtV.s page 91
3131 .L151:
3132 .LVL403:
3133 .LBB502:
3134 .LBB503:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3135 .loc 1 1142 0
3136 0296 1727 movs r7, #23
3137 0298 08AB add r3, sp, #32
3138 029a 9C46 mov ip, r3
3139 029c 6744 add r7, r7, ip
3140 029e 0122 movs r2, #1
3141 02a0 3900 movs r1, r7
3142 02a2 1D20 movs r0, #29
3143 02a4 FFF7FEFF bl SX1272ReadBuffer
3144 .LVL404:
3145 .LBE503:
3146 .LBE502:
482:./Drivers/BSP/Components/sx1272/sx1272.c **** ( fixLen << 2 ) | ( crcOn << 1 ) |
3147 .loc 1 482 0
3148 02a8 A301 lsls r3, r4, #6
3149 02aa DBB2 uxtb r3, r3
3150 02ac 009A ldr r2, [sp]
3151 02ae D200 lsls r2, r2, #3
3152 02b0 D2B2 uxtb r2, r2
3153 02b2 1343 orrs r3, r2
483:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize );
3154 .loc 1 483 0
3155 02b4 4246 mov r2, r8
3156 02b6 9200 lsls r2, r2, #2
3157 02b8 D2B2 uxtb r2, r2
482:./Drivers/BSP/Components/sx1272/sx1272.c **** ( fixLen << 2 ) | ( crcOn << 1 ) |
3158 .loc 1 482 0
3159 02ba 1343 orrs r3, r2
483:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize );
3160 .loc 1 483 0
3161 02bc 7600 lsls r6, r6, #1
3162 02be F6B2 uxtb r6, r6
3163 02c0 3343 orrs r3, r6
484:./Drivers/BSP/Components/sx1272/sx1272.c ****
3164 .loc 1 484 0
3165 02c2 5049 ldr r1, .L160
3166 02c4 4C22 movs r2, #76
3167 02c6 8A5C ldrb r2, [r1, r2]
483:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize );
3168 .loc 1 483 0
3169 02c8 1343 orrs r3, r2
3170 .LVL405:
3171 02ca 0CA9 add r1, sp, #48
3172 02cc 0B70 strb r3, [r1]
3173 .LVL406:
3174 .LBB504:
3175 .LBB505:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3176 .loc 1 1136 0
3177 02ce 0122 movs r2, #1
3178 02d0 1D20 movs r0, #29
3179 02d2 FFF7FEFF bl SX1272WriteBuffer
ARM GAS /tmp/ccwcPdtV.s page 92
3180 .LVL407:
3181 .LBE505:
3182 .LBE504:
3183 .LBB506:
3184 .LBB507:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3185 .loc 1 1142 0
3186 02d6 0122 movs r2, #1
3187 02d8 3900 movs r1, r7
3188 02da 1E20 movs r0, #30
3189 02dc FFF7FEFF bl SX1272ReadBuffer
3190 .LVL408:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3191 .loc 1 1143 0
3192 02e0 3A78 ldrb r2, [r7]
3193 .LVL409:
3194 .LBE507:
3195 .LBE506:
488:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG2_SYMBTIMEOUTMSB_MASK ) |
3196 .loc 1 488 0
3197 02e2 0C23 movs r3, #12
3198 02e4 1340 ands r3, r2
490:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( symbTimeout >> 8 ) & ~RFLR_MODEMCONFIG2_SYMBTIMEOUTMSB_MASK ) );
3199 .loc 1 490 0
3200 02e6 2A01 lsls r2, r5, #4
3201 02e8 D2B2 uxtb r2, r2
489:./Drivers/BSP/Components/sx1272/sx1272.c **** ( datarate << 4 ) |
3202 .loc 1 489 0
3203 02ea 1343 orrs r3, r2
491:./Drivers/BSP/Components/sx1272/sx1272.c ****
3204 .loc 1 491 0
3205 02ec 049C ldr r4, [sp, #16]
3206 .LVL410:
3207 02ee 210A lsrs r1, r4, #8
3208 02f0 0322 movs r2, #3
3209 02f2 0A40 ands r2, r1
486:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_MODEMCONFIG2 ) &
3210 .loc 1 486 0
3211 02f4 1343 orrs r3, r2
3212 .LVL411:
3213 02f6 0F21 movs r1, #15
3214 02f8 08AA add r2, sp, #32
3215 02fa 9446 mov ip, r2
3216 02fc 6144 add r1, r1, ip
3217 02fe 0B70 strb r3, [r1]
3218 .LVL412:
3219 .LBB508:
3220 .LBB509:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3221 .loc 1 1136 0
3222 0300 0122 movs r2, #1
3223 0302 1E20 movs r0, #30
3224 0304 FFF7FEFF bl SX1272WriteBuffer
3225 .LVL413:
3226 0308 0E21 movs r1, #14
3227 030a 08AB add r3, sp, #32
3228 030c 9C46 mov ip, r3
ARM GAS /tmp/ccwcPdtV.s page 93
3229 030e 6144 add r1, r1, ip
3230 0310 0C70 strb r4, [r1]
3231 .LVL414:
3232 .LBE509:
3233 .LBE508:
3234 .LBB510:
3235 .LBB511:
3236 0312 0122 movs r2, #1
3237 0314 1F20 movs r0, #31
3238 0316 FFF7FEFF bl SX1272WriteBuffer
3239 .LVL415:
3240 .LBE511:
3241 .LBE510:
495:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PREAMBLELSB, ( uint8_t )( preambleLen & 0xFF ) );
3242 .loc 1 495 0
3243 031a 4B46 mov r3, r9
3244 031c 1B0A lsrs r3, r3, #8
3245 .LVL416:
3246 031e 0D21 movs r1, #13
3247 0320 08AA add r2, sp, #32
3248 0322 9446 mov ip, r2
3249 0324 6144 add r1, r1, ip
3250 0326 0B70 strb r3, [r1]
3251 .LVL417:
3252 .LBB512:
3253 .LBB513:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3254 .loc 1 1136 0
3255 0328 0122 movs r2, #1
3256 032a 2020 movs r0, #32
3257 032c FFF7FEFF bl SX1272WriteBuffer
3258 .LVL418:
3259 0330 0BA9 add r1, sp, #44
3260 0332 4B46 mov r3, r9
3261 0334 0B70 strb r3, [r1]
3262 .LVL419:
3263 .LBE513:
3264 .LBE512:
3265 .LBB514:
3266 .LBB515:
3267 0336 0122 movs r2, #1
3268 0338 2120 movs r0, #33
3269 033a FFF7FEFF bl SX1272WriteBuffer
3270 .LVL420:
3271 .LBE515:
3272 .LBE514:
498:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3273 .loc 1 498 0
3274 033e 4346 mov r3, r8
3275 0340 002B cmp r3, #0
3276 0342 09D0 beq .L152
3277 .LVL421:
3278 0344 1121 movs r1, #17
3279 0346 08AB add r3, sp, #32
3280 0348 9C46 mov ip, r3
3281 034a 6144 add r1, r1, ip
3282 034c 5346 mov r3, r10
ARM GAS /tmp/ccwcPdtV.s page 94
3283 034e 0B70 strb r3, [r1]
3284 .LVL422:
3285 .LBB516:
3286 .LBB517:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3287 .loc 1 1136 0
3288 0350 0122 movs r2, #1
3289 0352 2220 movs r0, #34
3290 0354 FFF7FEFF bl SX1272WriteBuffer
3291 .LVL423:
3292 .L152:
3293 .LBE517:
3294 .LBE516:
503:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3295 .loc 1 503 0
3296 0358 2A4A ldr r2, .L160
3297 035a 5323 movs r3, #83
3298 035c D35C ldrb r3, [r2, r3]
3299 035e 002B cmp r3, #0
3300 0360 21D0 beq .L153
3301 .LVL424:
3302 .LBB518:
3303 .LBB519:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3304 .loc 1 1142 0
3305 0362 1724 movs r4, #23
3306 0364 08AB add r3, sp, #32
3307 0366 9C46 mov ip, r3
3308 0368 6444 add r4, r4, ip
3309 036a 0122 movs r2, #1
3310 036c 2100 movs r1, r4
3311 036e 4B20 movs r0, #75
3312 0370 FFF7FEFF bl SX1272ReadBuffer
3313 .LVL425:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3314 .loc 1 1143 0
3315 0374 2278 ldrb r2, [r4]
3316 .LVL426:
3317 .LBE519:
3318 .LBE518:
505:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_HOPPERIOD, SX1272.Settings.LoRa.HopPeriod );
3319 .loc 1 505 0
3320 0376 8023 movs r3, #128
3321 0378 5B42 rsbs r3, r3, #0
3322 037a 1343 orrs r3, r2
3323 .LVL427:
3324 037c 1321 movs r1, #19
3325 037e 08AA add r2, sp, #32
3326 0380 9446 mov ip, r2
3327 0382 6144 add r1, r1, ip
3328 0384 0B70 strb r3, [r1]
3329 .LVL428:
3330 .LBB520:
3331 .LBB521:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3332 .loc 1 1136 0
3333 0386 0122 movs r2, #1
ARM GAS /tmp/ccwcPdtV.s page 95
3334 0388 4B20 movs r0, #75
3335 038a FFF7FEFF bl SX1272WriteBuffer
3336 .LVL429:
3337 .LBE521:
3338 .LBE520:
506:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3339 .loc 1 506 0
3340 038e 1D4A ldr r2, .L160
3341 0390 5423 movs r3, #84
3342 0392 D35C ldrb r3, [r2, r3]
3343 .LVL430:
3344 0394 1221 movs r1, #18
3345 0396 08AA add r2, sp, #32
3346 0398 9446 mov ip, r2
3347 039a 6144 add r1, r1, ip
3348 039c 0B70 strb r3, [r1]
3349 .LVL431:
3350 .LBB522:
3351 .LBB523:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3352 .loc 1 1136 0
3353 039e 0122 movs r2, #1
3354 03a0 2420 movs r0, #36
3355 03a2 FFF7FEFF bl SX1272WriteBuffer
3356 .LVL432:
3357 .L153:
3358 .LBE523:
3359 .LBE522:
509:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3360 .loc 1 509 0
3361 03a6 062D cmp r5, #6
3362 03a8 38D1 bne .L154
3363 .LVL433:
3364 .LBB524:
3365 .LBB525:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3366 .loc 1 1142 0
3367 03aa 1724 movs r4, #23
3368 03ac 08AB add r3, sp, #32
3369 03ae 9C46 mov ip, r3
3370 03b0 6444 add r4, r4, ip
3371 03b2 0122 movs r2, #1
3372 03b4 2100 movs r1, r4
3373 03b6 3120 movs r0, #49
3374 03b8 FFF7FEFF bl SX1272ReadBuffer
3375 .LVL434:
3376 .LBE525:
3377 .LBE524:
512:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_MASK ) |
3378 .loc 1 512 0
3379 03bc 0023 movs r3, #0
3380 03be E356 ldrsb r3, [r4, r3]
3381 03c0 0722 movs r2, #7
3382 03c2 9343 bics r3, r2
513:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_SF6 );
3383 .loc 1 513 0
3384 03c4 0522 movs r2, #5
ARM GAS /tmp/ccwcPdtV.s page 96
3385 03c6 1343 orrs r3, r2
3386 .LVL435:
3387 03c8 1521 movs r1, #21
3388 03ca 08AA add r2, sp, #32
3389 03cc 9446 mov ip, r2
3390 03ce 6144 add r1, r1, ip
3391 03d0 0B70 strb r3, [r1]
3392 .LVL436:
3393 .LBB526:
3394 .LBB527:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3395 .loc 1 1136 0
3396 03d2 0122 movs r2, #1
3397 03d4 3120 movs r0, #49
3398 03d6 FFF7FEFF bl SX1272WriteBuffer
3399 .LVL437:
3400 03da 0DA9 add r1, sp, #52
3401 03dc 0C23 movs r3, #12
3402 03de 0B70 strb r3, [r1]
3403 .LVL438:
3404 .LBE527:
3405 .LBE526:
3406 .LBB528:
3407 .LBB529:
3408 03e0 0122 movs r2, #1
3409 03e2 3720 movs r0, #55
3410 03e4 FFF7FEFF bl SX1272WriteBuffer
3411 .LVL439:
3412 03e8 38E6 b .L131
3413 .LVL440:
3414 .L156:
3415 .LBE529:
3416 .LBE528:
458:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3417 .loc 1 458 0
3418 03ea 0C25 movs r5, #12
3419 .LVL441:
3420 03ec 45E7 b .L147
3421 .LVL442:
3422 .L157:
462:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3423 .loc 1 462 0
3424 03ee 0625 movs r5, #6
3425 .LVL443:
3426 03f0 43E7 b .L147
3427 .LVL444:
3428 .L159:
466:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3429 .loc 1 466 0
3430 03f2 0C2D cmp r5, #12
3431 03f4 00D0 beq .LCB3363
3432 03f6 4AE7 b .L150 @long jump
3433 .LCB3363:
3434 .L149:
468:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3435 .loc 1 468 0
3436 03f8 024A ldr r2, .L160
ARM GAS /tmp/ccwcPdtV.s page 97
3437 03fa 4C23 movs r3, #76
3438 03fc 0121 movs r1, #1
3439 03fe D154 strb r1, [r2, r3]
3440 0400 49E7 b .L151
3441 .L161:
3442 0402 C046 .align 2
3443 .L160:
3444 0404 00000000 .word .LANCHOR0
3445 0408 0000F03F .word 1072693248
3446 040c 00002040 .word 1075838976
3447 0410 00408F40 .word 1083129856
3448 0414 80847E41 .word 1098810496
3449 0418 00000000 .word FskBandwidths
3450 .LVL445:
3451 .L154:
3452 .LBB530:
3453 .LBB531:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3454 .loc 1 1142 0
3455 041c 1724 movs r4, #23
3456 041e 08AB add r3, sp, #32
3457 0420 9C46 mov ip, r3
3458 0422 6444 add r4, r4, ip
3459 0424 0122 movs r2, #1
3460 0426 2100 movs r1, r4
3461 0428 3120 movs r0, #49
3462 042a FFF7FEFF bl SX1272ReadBuffer
3463 .LVL446:
3464 .LBE531:
3465 .LBE530:
521:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_MASK ) |
3466 .loc 1 521 0
3467 042e 0023 movs r3, #0
3468 0430 E356 ldrsb r3, [r4, r3]
3469 0432 0722 movs r2, #7
3470 0434 9343 bics r3, r2
522:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_SF7_TO_SF12 );
3471 .loc 1 522 0
3472 0436 0322 movs r2, #3
3473 0438 1343 orrs r3, r2
3474 .LVL447:
3475 043a 2370 strb r3, [r4]
3476 .LVL448:
3477 .LBB532:
3478 .LBB533:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3479 .loc 1 1136 0
3480 043c 0122 movs r2, #1
3481 043e 2100 movs r1, r4
3482 0440 3120 movs r0, #49
3483 0442 FFF7FEFF bl SX1272WriteBuffer
3484 .LVL449:
3485 0446 1621 movs r1, #22
3486 0448 08AB add r3, sp, #32
3487 044a 9C46 mov ip, r3
3488 044c 6144 add r1, r1, ip
3489 044e 0A23 movs r3, #10
ARM GAS /tmp/ccwcPdtV.s page 98
3490 0450 0B70 strb r3, [r1]
3491 .LVL450:
3492 .LBE533:
3493 .LBE532:
3494 .LBB534:
3495 .LBB535:
3496 0452 0122 movs r2, #1
3497 0454 3720 movs r0, #55
3498 0456 FFF7FEFF bl SX1272WriteBuffer
3499 .LVL451:
3500 .LBE535:
3501 .LBE534:
530:./Drivers/BSP/Components/sx1272/sx1272.c ****
3502 .loc 1 530 0
3503 045a FFE5 b .L131
3504 .cfi_endproc
3505 .LFE103:
3507 .section .text.SX1272SetTxConfig,"ax",%progbits
3508 .align 1
3509 .global SX1272SetTxConfig
3510 .syntax unified
3511 .code 16
3512 .thumb_func
3513 .fpu softvfp
3515 SX1272SetTxConfig:
3516 .LFB104:
537:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( modem );
3517 .loc 1 537 0
3518 .cfi_startproc
3519 @ args = 36, pretend = 0, frame = 40
3520 @ frame_needed = 0, uses_anonymous_args = 0
3521 .LVL452:
3522 0000 F0B5 push {r4, r5, r6, r7, lr}
3523 .LCFI34:
3524 .cfi_def_cfa_offset 20
3525 .cfi_offset 4, -20
3526 .cfi_offset 5, -16
3527 .cfi_offset 6, -12
3528 .cfi_offset 7, -8
3529 .cfi_offset 14, -4
3530 0002 DE46 mov lr, fp
3531 0004 5746 mov r7, r10
3532 0006 4E46 mov r6, r9
3533 0008 4546 mov r5, r8
3534 000a E0B5 push {r5, r6, r7, lr}
3535 .LCFI35:
3536 .cfi_def_cfa_offset 36
3537 .cfi_offset 8, -36
3538 .cfi_offset 9, -32
3539 .cfi_offset 10, -28
3540 .cfi_offset 11, -24
3541 000c 8BB0 sub sp, sp, #44
3542 .LCFI36:
3543 .cfi_def_cfa_offset 80
3544 000e 0700 movs r7, r0
3545 0010 0091 str r1, [sp]
3546 0012 0292 str r2, [sp, #8]
ARM GAS /tmp/ccwcPdtV.s page 99
3547 0014 1C00 movs r4, r3
3548 0016 14AB add r3, sp, #80
3549 .LVL453:
3550 0018 40CB ldmia r3!, {r6}
3551 .LVL454:
3552 001a 1B78 ldrb r3, [r3]
3553 .LVL455:
3554 001c 0193 str r3, [sp, #4]
3555 001e 16AB add r3, sp, #88
3556 .LVL456:
3557 0020 1B88 ldrh r3, [r3]
3558 .LVL457:
3559 0022 9946 mov r9, r3
3560 0024 17AB add r3, sp, #92
3561 .LVL458:
3562 0026 1B78 ldrb r3, [r3]
3563 .LVL459:
3564 0028 9846 mov r8, r3
3565 002a 18AB add r3, sp, #96
3566 .LVL460:
3567 002c 1D78 ldrb r5, [r3]
3568 002e 19AB add r3, sp, #100
3569 .LVL461:
3570 0030 1B78 ldrb r3, [r3]
3571 .LVL462:
3572 0032 9A46 mov r10, r3
3573 0034 1AAB add r3, sp, #104
3574 .LVL463:
3575 0036 1B78 ldrb r3, [r3]
3576 .LVL464:
3577 0038 0393 str r3, [sp, #12]
3578 003a 1BAB add r3, sp, #108
3579 .LVL465:
3580 003c 1B78 ldrb r3, [r3]
3581 .LVL466:
3582 003e 9B46 mov fp, r3
538:./Drivers/BSP/Components/sx1272/sx1272.c ****
3583 .loc 1 538 0
3584 0040 FFF7FEFF bl SX1272SetModem
3585 .LVL467:
540:./Drivers/BSP/Components/sx1272/sx1272.c ****
3586 .loc 1 540 0
3587 0044 C54B ldr r3, .L181
3588 0046 1B68 ldr r3, [r3]
3589 0048 DB68 ldr r3, [r3, #12]
3590 004a 0098 ldr r0, [sp]
3591 004c 9847 blx r3
3592 .LVL468:
542:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3593 .loc 1 542 0
3594 004e 002F cmp r7, #0
3595 0050 09D0 beq .L164
3596 0052 012F cmp r7, #1
3597 0054 00D1 bne .LCB3565
3598 0056 96E0 b .L165 @long jump
3599 .LCB3565:
3600 .LVL469:
ARM GAS /tmp/ccwcPdtV.s page 100
3601 .L162:
655:./Drivers/BSP/Components/sx1272/sx1272.c ****
3602 .loc 1 655 0
3603 0058 0BB0 add sp, sp, #44
3604 @ sp needed
3605 005a 3CBC pop {r2, r3, r4, r5}
3606 005c 9046 mov r8, r2
3607 005e 9946 mov r9, r3
3608 0060 A246 mov r10, r4
3609 0062 AB46 mov fp, r5
3610 0064 F0BD pop {r4, r5, r6, r7, pc}
3611 .LVL470:
3612 .L164:
546:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Fdev = fdev;
3613 .loc 1 546 0
3614 0066 BE4B ldr r3, .L181+4
3615 0068 6A46 mov r2, sp
3616 006a 1278 ldrb r2, [r2]
3617 006c 1A73 strb r2, [r3, #12]
547:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Bandwidth = bandwidth;
3618 .loc 1 547 0
3619 006e 0298 ldr r0, [sp, #8]
3620 0070 1861 str r0, [r3, #16]
548:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.Datarate = datarate;
3621 .loc 1 548 0
3622 0072 5C61 str r4, [r3, #20]
549:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.PreambleLen = preambleLen;
3623 .loc 1 549 0
3624 0074 DE61 str r6, [r3, #28]
550:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.FixLen = fixLen;
3625 .loc 1 550 0
3626 0076 4A46 mov r2, r9
3627 0078 1A84 strh r2, [r3, #32]
551:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.CrcOn = crcOn;
3628 .loc 1 551 0
3629 007a 2222 movs r2, #34
3630 007c 4146 mov r1, r8
3631 007e 9954 strb r1, [r3, r2]
552:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.IqInverted = iqInverted;
3632 .loc 1 552 0
3633 0080 0232 adds r2, r2, #2
3634 0082 9D54 strb r5, [r3, r2]
553:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.Fsk.TxTimeout = timeout;
3635 .loc 1 553 0
3636 0084 0132 adds r2, r2, #1
3637 0086 5946 mov r1, fp
3638 0088 9954 strb r1, [r3, r2]
554:./Drivers/BSP/Components/sx1272/sx1272.c ****
3639 .loc 1 554 0
3640 008a 1C9A ldr r2, [sp, #112]
3641 008c 9A62 str r2, [r3, #40]
556:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FDEVMSB, ( uint8_t )( fdev >> 8 ) );
3642 .loc 1 556 0
3643 008e FFF7FEFF bl __aeabi_ui2d
3644 .LVL471:
3645 0092 0022 movs r2, #0
3646 0094 B34B ldr r3, .L181+8
ARM GAS /tmp/ccwcPdtV.s page 101
3647 0096 FFF7FEFF bl __aeabi_ddiv
3648 .LVL472:
3649 009a FFF7FEFF bl __aeabi_d2uiz
3650 .LVL473:
3651 009e 84B2 uxth r4, r0
3652 .LVL474:
557:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_FDEVLSB, ( uint8_t )( fdev & 0xFF ) );
3653 .loc 1 557 0
3654 00a0 230A lsrs r3, r4, #8
3655 .LVL475:
3656 00a2 0B21 movs r1, #11
3657 00a4 04AA add r2, sp, #16
3658 00a6 9446 mov ip, r2
3659 00a8 6144 add r1, r1, ip
3660 00aa 0B70 strb r3, [r1]
3661 .LVL476:
3662 .LBB536:
3663 .LBB537:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3664 .loc 1 1136 0
3665 00ac 0122 movs r2, #1
3666 00ae 0420 movs r0, #4
3667 00b0 FFF7FEFF bl SX1272WriteBuffer
3668 .LVL477:
3669 00b4 0A21 movs r1, #10
3670 00b6 04AB add r3, sp, #16
3671 00b8 9C46 mov ip, r3
3672 00ba 6144 add r1, r1, ip
3673 00bc 0C70 strb r4, [r1]
3674 .LVL478:
3675 .LBE537:
3676 .LBE536:
3677 .LBB538:
3678 .LBB539:
3679 00be 0122 movs r2, #1
3680 00c0 0520 movs r0, #5
3681 00c2 FFF7FEFF bl SX1272WriteBuffer
3682 .LVL479:
3683 .LBE539:
3684 .LBE538:
560:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_BITRATEMSB, ( uint8_t )( datarate >> 8 ) );
3685 .loc 1 560 0
3686 00c6 3000 movs r0, r6
3687 00c8 FFF7FEFF bl __aeabi_ui2d
3688 .LVL480:
3689 00cc 0200 movs r2, r0
3690 00ce 0B00 movs r3, r1
3691 00d0 0020 movs r0, #0
3692 00d2 A549 ldr r1, .L181+12
3693 00d4 FFF7FEFF bl __aeabi_ddiv
3694 .LVL481:
3695 00d8 FFF7FEFF bl __aeabi_d2uiz
3696 .LVL482:
3697 00dc 84B2 uxth r4, r0
3698 .LVL483:
561:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_BITRATELSB, ( uint8_t )( datarate & 0xFF ) );
3699 .loc 1 561 0
ARM GAS /tmp/ccwcPdtV.s page 102
3700 00de 230A lsrs r3, r4, #8
3701 .LVL484:
3702 00e0 0921 movs r1, #9
3703 00e2 04AA add r2, sp, #16
3704 00e4 9446 mov ip, r2
3705 00e6 6144 add r1, r1, ip
3706 00e8 0B70 strb r3, [r1]
3707 .LVL485:
3708 .LBB540:
3709 .LBB541:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3710 .loc 1 1136 0
3711 00ea 0122 movs r2, #1
3712 00ec 0220 movs r0, #2
3713 00ee FFF7FEFF bl SX1272WriteBuffer
3714 .LVL486:
3715 00f2 06A9 add r1, sp, #24
3716 00f4 0C70 strb r4, [r1]
3717 .LVL487:
3718 .LBE541:
3719 .LBE540:
3720 .LBB542:
3721 .LBB543:
3722 00f6 0122 movs r2, #1
3723 00f8 0320 movs r0, #3
3724 00fa FFF7FEFF bl SX1272WriteBuffer
3725 .LVL488:
3726 .LBE543:
3727 .LBE542:
564:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PREAMBLELSB, preambleLen & 0xFF );
3728 .loc 1 564 0
3729 00fe 4B46 mov r3, r9
3730 0100 1B0A lsrs r3, r3, #8
3731 .LVL489:
3732 0102 04AA add r2, sp, #16
3733 0104 D11D adds r1, r2, #7
3734 0106 0B70 strb r3, [r1]
3735 .LVL490:
3736 .LBB544:
3737 .LBB545:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3738 .loc 1 1136 0
3739 0108 0122 movs r2, #1
3740 010a 2520 movs r0, #37
3741 010c FFF7FEFF bl SX1272WriteBuffer
3742 .LVL491:
3743 0110 04AB add r3, sp, #16
3744 0112 991D adds r1, r3, #6
3745 0114 4B46 mov r3, r9
3746 0116 0B70 strb r3, [r1]
3747 .LVL492:
3748 .LBE545:
3749 .LBE544:
3750 .LBB546:
3751 .LBB547:
3752 0118 0122 movs r2, #1
3753 011a 2620 movs r0, #38
ARM GAS /tmp/ccwcPdtV.s page 103
3754 011c FFF7FEFF bl SX1272WriteBuffer
3755 .LVL493:
3756 .LBE547:
3757 .LBE546:
3758 .LBB548:
3759 .LBB549:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3760 .loc 1 1142 0
3761 0120 1724 movs r4, #23
3762 .LVL494:
3763 0122 04AB add r3, sp, #16
3764 0124 9C46 mov ip, r3
3765 0126 6444 add r4, r4, ip
3766 0128 0122 movs r2, #1
3767 012a 2100 movs r1, r4
3768 012c 3020 movs r0, #48
3769 012e FFF7FEFF bl SX1272ReadBuffer
3770 .LVL495:
3771 .LBE549:
3772 .LBE548:
568:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_PACKETCONFIG1_CRC_MASK &
3773 .loc 1 568 0
3774 0132 0022 movs r2, #0
3775 0134 A256 ldrsb r2, [r4, r2]
569:./Drivers/BSP/Components/sx1272/sx1272.c **** RF_PACKETCONFIG1_PACKETFORMAT_MASK ) |
3776 .loc 1 569 0
3777 0136 6F23 movs r3, #111
3778 0138 1340 ands r3, r2
570:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( fixLen == 1 ) ? RF_PACKETCONFIG1_PACKETFORMAT_FIXED : RF_PACKETCONFI
3779 .loc 1 570 0
3780 013a 4246 mov r2, r8
3781 013c 002A cmp r2, #0
3782 013e 20D1 bne .L177
3783 0140 8022 movs r2, #128
3784 0142 5242 rsbs r2, r2, #0
3785 .L166:
570:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( fixLen == 1 ) ? RF_PACKETCONFIG1_PACKETFORMAT_FIXED : RF_PACKETCONFI
3786 .loc 1 570 0 is_stmt 0 discriminator 4
3787 0144 1343 orrs r3, r2
572:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_PACKETCONFIG2, ( SX1272Read( REG_PACKETCONFIG2 ) | RF_PACKETCONFIG2_DA
3788 .loc 1 572 0 is_stmt 1 discriminator 4
3789 0146 2D01 lsls r5, r5, #4
571:./Drivers/BSP/Components/sx1272/sx1272.c **** ( crcOn << 4 ) );
3790 .loc 1 571 0 discriminator 4
3791 0148 1D43 orrs r5, r3
3792 .LVL496:
3793 014a 0D21 movs r1, #13
3794 014c 04AB add r3, sp, #16
3795 014e 9C46 mov ip, r3
3796 0150 6144 add r1, r1, ip
3797 0152 0D70 strb r5, [r1]
3798 .LVL497:
3799 .LBB550:
3800 .LBB551:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3801 .loc 1 1136 0 discriminator 4
3802 0154 0122 movs r2, #1
ARM GAS /tmp/ccwcPdtV.s page 104
3803 0156 3020 movs r0, #48
3804 0158 FFF7FEFF bl SX1272WriteBuffer
3805 .LVL498:
3806 .LBE551:
3807 .LBE550:
3808 .LBB552:
3809 .LBB553:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3810 .loc 1 1142 0 discriminator 4
3811 015c 1724 movs r4, #23
3812 015e 04AB add r3, sp, #16
3813 0160 9C46 mov ip, r3
3814 0162 6444 add r4, r4, ip
3815 0164 0122 movs r2, #1
3816 0166 2100 movs r1, r4
3817 0168 3120 movs r0, #49
3818 016a FFF7FEFF bl SX1272ReadBuffer
3819 .LVL499:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3820 .loc 1 1143 0 discriminator 4
3821 016e 2378 ldrb r3, [r4]
3822 .LVL500:
3823 .LBE553:
3824 .LBE552:
573:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3825 .loc 1 573 0 discriminator 4
3826 0170 4022 movs r2, #64
3827 0172 1343 orrs r3, r2
3828 .LVL501:
3829 0174 07A9 add r1, sp, #28
3830 0176 0B70 strb r3, [r1]
3831 .LVL502:
3832 .LBB554:
3833 .LBB555:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3834 .loc 1 1136 0 discriminator 4
3835 0178 0122 movs r2, #1
3836 017a 3120 movs r0, #49
3837 017c FFF7FEFF bl SX1272WriteBuffer
3838 .LVL503:
3839 0180 6AE7 b .L162
3840 .LVL504:
3841 .L177:
3842 .LBE555:
3843 .LBE554:
570:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( fixLen == 1 ) ? RF_PACKETCONFIG1_PACKETFORMAT_FIXED : RF_PACKETCONFI
3844 .loc 1 570 0
3845 0182 0022 movs r2, #0
3846 0184 DEE7 b .L166
3847 .LVL505:
3848 .L165:
578:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Bandwidth = bandwidth;
3849 .loc 1 578 0
3850 0186 764B ldr r3, .L181+4
3851 0188 4022 movs r2, #64
3852 018a 6946 mov r1, sp
3853 018c 0978 ldrb r1, [r1]
ARM GAS /tmp/ccwcPdtV.s page 105
3854 018e 9954 strb r1, [r3, r2]
579:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Datarate = datarate;
3855 .loc 1 579 0
3856 0190 5C64 str r4, [r3, #68]
580:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.Coderate = coderate;
3857 .loc 1 580 0
3858 0192 9E64 str r6, [r3, #72]
581:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.PreambleLen = preambleLen;
3859 .loc 1 581 0
3860 0194 0D32 adds r2, r2, #13
3861 0196 6946 mov r1, sp
3862 0198 0979 ldrb r1, [r1, #4]
3863 019a 9954 strb r1, [r3, r2]
582:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.FixLen = fixLen;
3864 .loc 1 582 0
3865 019c 0132 adds r2, r2, #1
3866 019e 4946 mov r1, r9
3867 01a0 9952 strh r1, [r3, r2]
583:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.FreqHopOn = freqHopOn;
3868 .loc 1 583 0
3869 01a2 0232 adds r2, r2, #2
3870 01a4 4146 mov r1, r8
3871 01a6 9954 strb r1, [r3, r2]
584:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.HopPeriod = hopPeriod;
3872 .loc 1 584 0
3873 01a8 0332 adds r2, r2, #3
3874 01aa 5146 mov r1, r10
3875 01ac 9954 strb r1, [r3, r2]
585:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.CrcOn = crcOn;
3876 .loc 1 585 0
3877 01ae 0132 adds r2, r2, #1
3878 01b0 6946 mov r1, sp
3879 01b2 097B ldrb r1, [r1, #12]
3880 01b4 9954 strb r1, [r3, r2]
586:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.IqInverted = iqInverted;
3881 .loc 1 586 0
3882 01b6 023A subs r2, r2, #2
3883 01b8 9D54 strb r5, [r3, r2]
587:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.TxTimeout = timeout;
3884 .loc 1 587 0
3885 01ba 0332 adds r2, r2, #3
3886 01bc 5946 mov r1, fp
3887 01be 9954 strb r1, [r3, r2]
588:./Drivers/BSP/Components/sx1272/sx1272.c ****
3888 .loc 1 588 0
3889 01c0 1C9A ldr r2, [sp, #112]
3890 01c2 9A65 str r2, [r3, #88]
590:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3891 .loc 1 590 0
3892 01c4 0C2E cmp r6, #12
3893 01c6 03D8 bhi .L175
594:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3894 .loc 1 594 0
3895 01c8 052E cmp r6, #5
3896 01ca 02D8 bhi .L167
596:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3897 .loc 1 596 0
ARM GAS /tmp/ccwcPdtV.s page 106
3898 01cc 0626 movs r6, #6
3899 01ce 00E0 b .L167
3900 .L175:
592:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3901 .loc 1 592 0
3902 01d0 0C26 movs r6, #12
3903 .L167:
3904 .LVL506:
598:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( bandwidth == 1 ) && ( datarate == 12 ) ) )
3905 .loc 1 598 0
3906 01d2 002C cmp r4, #0
3907 01d4 03D1 bne .L168
598:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( bandwidth == 1 ) && ( datarate == 12 ) ) )
3908 .loc 1 598 0 is_stmt 0 discriminator 1
3909 01d6 3300 movs r3, r6
3910 01d8 0B3B subs r3, r3, #11
3911 01da 012B cmp r3, #1
3912 01dc 75D9 bls .L169
3913 .L168:
598:./Drivers/BSP/Components/sx1272/sx1272.c **** ( ( bandwidth == 1 ) && ( datarate == 12 ) ) )
3914 .loc 1 598 0 discriminator 3
3915 01de 012C cmp r4, #1
3916 01e0 71D0 beq .L178
3917 .L170:
605:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3918 .loc 1 605 0 is_stmt 1
3919 01e2 5F4A ldr r2, .L181+4
3920 01e4 4C23 movs r3, #76
3921 01e6 0021 movs r1, #0
3922 01e8 D154 strb r1, [r2, r3]
3923 .L171:
608:./Drivers/BSP/Components/sx1272/sx1272.c **** {
3924 .loc 1 608 0
3925 01ea 5346 mov r3, r10
3926 01ec 002B cmp r3, #0
3927 01ee 71D1 bne .L179
3928 .L172:
3929 .LVL507:
3930 .LBB556:
3931 .LBB557:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3932 .loc 1 1142 0
3933 01f0 1727 movs r7, #23
3934 01f2 04AB add r3, sp, #16
3935 01f4 9C46 mov ip, r3
3936 01f6 6744 add r7, r7, ip
3937 01f8 0122 movs r2, #1
3938 01fa 3900 movs r1, r7
3939 01fc 1D20 movs r0, #29
3940 01fe FFF7FEFF bl SX1272ReadBuffer
3941 .LVL508:
3942 .LBE557:
3943 .LBE556:
621:./Drivers/BSP/Components/sx1272/sx1272.c **** ( fixLen << 2 ) | ( crcOn << 1 ) |
3944 .loc 1 621 0
3945 0202 A401 lsls r4, r4, #6
3946 .LVL509:
ARM GAS /tmp/ccwcPdtV.s page 107
3947 0204 E4B2 uxtb r4, r4
3948 0206 019B ldr r3, [sp, #4]
3949 0208 DB00 lsls r3, r3, #3
3950 020a DBB2 uxtb r3, r3
3951 020c 1C43 orrs r4, r3
622:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize );
3952 .loc 1 622 0
3953 020e 4346 mov r3, r8
3954 0210 9B00 lsls r3, r3, #2
3955 0212 DBB2 uxtb r3, r3
621:./Drivers/BSP/Components/sx1272/sx1272.c **** ( fixLen << 2 ) | ( crcOn << 1 ) |
3956 .loc 1 621 0
3957 0214 1C43 orrs r4, r3
622:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize );
3958 .loc 1 622 0
3959 0216 6D00 lsls r5, r5, #1
3960 0218 EDB2 uxtb r5, r5
3961 021a 2543 orrs r5, r4
623:./Drivers/BSP/Components/sx1272/sx1272.c ****
3962 .loc 1 623 0
3963 021c 504A ldr r2, .L181+4
3964 021e 4C23 movs r3, #76
3965 0220 D45C ldrb r4, [r2, r3]
622:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.LowDatarateOptimize );
3966 .loc 1 622 0
3967 0222 2543 orrs r5, r4
3968 .LVL510:
3969 0224 1321 movs r1, #19
3970 0226 04AB add r3, sp, #16
3971 0228 9C46 mov ip, r3
3972 022a 6144 add r1, r1, ip
3973 022c 0D70 strb r5, [r1]
3974 .LVL511:
3975 .LBB558:
3976 .LBB559:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3977 .loc 1 1136 0
3978 022e 0122 movs r2, #1
3979 0230 1D20 movs r0, #29
3980 0232 FFF7FEFF bl SX1272WriteBuffer
3981 .LVL512:
3982 .LBE559:
3983 .LBE558:
3984 .LBB560:
3985 .LBB561:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
3986 .loc 1 1142 0
3987 0236 0122 movs r2, #1
3988 0238 3900 movs r1, r7
3989 023a 1E20 movs r0, #30
3990 023c FFF7FEFF bl SX1272ReadBuffer
3991 .LVL513:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
3992 .loc 1 1143 0
3993 0240 3A78 ldrb r2, [r7]
3994 .LVL514:
3995 .LBE561:
ARM GAS /tmp/ccwcPdtV.s page 108
3996 .LBE560:
626:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_MODEMCONFIG2_SF_MASK ) |
3997 .loc 1 626 0
3998 0242 0F23 movs r3, #15
3999 0244 1340 ands r3, r2
628:./Drivers/BSP/Components/sx1272/sx1272.c ****
4000 .loc 1 628 0
4001 0246 3201 lsls r2, r6, #4
4002 0248 D2B2 uxtb r2, r2
625:./Drivers/BSP/Components/sx1272/sx1272.c **** ( SX1272Read( REG_LR_MODEMCONFIG2 ) &
4003 .loc 1 625 0
4004 024a 1343 orrs r3, r2
4005 .LVL515:
4006 024c 1221 movs r1, #18
4007 024e 04AA add r2, sp, #16
4008 0250 9446 mov ip, r2
4009 0252 6144 add r1, r1, ip
4010 0254 0B70 strb r3, [r1]
4011 .LVL516:
4012 .LBB562:
4013 .LBB563:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4014 .loc 1 1136 0
4015 0256 0122 movs r2, #1
4016 0258 1E20 movs r0, #30
4017 025a FFF7FEFF bl SX1272WriteBuffer
4018 .LVL517:
4019 .LBE563:
4020 .LBE562:
631:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_PREAMBLELSB, preambleLen & 0xFF );
4021 .loc 1 631 0
4022 025e 4B46 mov r3, r9
4023 0260 1B0A lsrs r3, r3, #8
4024 .LVL518:
4025 0262 1121 movs r1, #17
4026 0264 04AA add r2, sp, #16
4027 0266 9446 mov ip, r2
4028 0268 6144 add r1, r1, ip
4029 026a 0B70 strb r3, [r1]
4030 .LVL519:
4031 .LBB564:
4032 .LBB565:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4033 .loc 1 1136 0
4034 026c 0122 movs r2, #1
4035 026e 2020 movs r0, #32
4036 0270 FFF7FEFF bl SX1272WriteBuffer
4037 .LVL520:
4038 0274 08A9 add r1, sp, #32
4039 0276 4B46 mov r3, r9
4040 0278 0B70 strb r3, [r1]
4041 .LVL521:
4042 .LBE565:
4043 .LBE564:
4044 .LBB566:
4045 .LBB567:
4046 027a 0122 movs r2, #1
ARM GAS /tmp/ccwcPdtV.s page 109
4047 027c 2120 movs r0, #33
4048 027e FFF7FEFF bl SX1272WriteBuffer
4049 .LVL522:
4050 .LBE567:
4051 .LBE566:
634:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4052 .loc 1 634 0
4053 0282 062E cmp r6, #6
4054 0284 49D0 beq .L180
4055 .LVL523:
4056 .LBB568:
4057 .LBB569:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4058 .loc 1 1142 0
4059 0286 1724 movs r4, #23
4060 0288 04AB add r3, sp, #16
4061 028a 9C46 mov ip, r3
4062 028c 6444 add r4, r4, ip
4063 028e 0122 movs r2, #1
4064 0290 2100 movs r1, r4
4065 0292 3120 movs r0, #49
4066 0294 FFF7FEFF bl SX1272ReadBuffer
4067 .LVL524:
4068 .LBE569:
4069 .LBE568:
646:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_MASK ) |
4070 .loc 1 646 0
4071 0298 0023 movs r3, #0
4072 029a E356 ldrsb r3, [r4, r3]
4073 029c 0722 movs r2, #7
4074 029e 9343 bics r3, r2
647:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_SF7_TO_SF12 );
4075 .loc 1 647 0
4076 02a0 0322 movs r2, #3
4077 02a2 1343 orrs r3, r2
4078 .LVL525:
4079 02a4 2370 strb r3, [r4]
4080 .LVL526:
4081 .LBB570:
4082 .LBB571:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4083 .loc 1 1136 0
4084 02a6 0122 movs r2, #1
4085 02a8 2100 movs r1, r4
4086 02aa 3120 movs r0, #49
4087 02ac FFF7FEFF bl SX1272WriteBuffer
4088 .LVL527:
4089 02b0 1621 movs r1, #22
4090 02b2 04AB add r3, sp, #16
4091 02b4 9C46 mov ip, r3
4092 02b6 6144 add r1, r1, ip
4093 02b8 0A23 movs r3, #10
4094 02ba 0B70 strb r3, [r1]
4095 .LVL528:
4096 .LBE571:
4097 .LBE570:
4098 .LBB572:
ARM GAS /tmp/ccwcPdtV.s page 110
4099 .LBB573:
4100 02bc 0122 movs r2, #1
4101 02be 3720 movs r0, #55
4102 02c0 FFF7FEFF bl SX1272WriteBuffer
4103 .LVL529:
4104 .LBE573:
4105 .LBE572:
655:./Drivers/BSP/Components/sx1272/sx1272.c ****
4106 .loc 1 655 0
4107 02c4 C8E6 b .L162
4108 .LVL530:
4109 .L178:
599:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4110 .loc 1 599 0
4111 02c6 0C2E cmp r6, #12
4112 02c8 8BD1 bne .L170
4113 .L169:
601:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4114 .loc 1 601 0
4115 02ca 254A ldr r2, .L181+4
4116 02cc 4C23 movs r3, #76
4117 02ce 0121 movs r1, #1
4118 02d0 D154 strb r1, [r2, r3]
4119 02d2 8AE7 b .L171
4120 .L179:
4121 .LVL531:
4122 .LBB574:
4123 .LBB575:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4124 .loc 1 1142 0
4125 02d4 1727 movs r7, #23
4126 02d6 04AB add r3, sp, #16
4127 02d8 9C46 mov ip, r3
4128 02da 6744 add r7, r7, ip
4129 02dc 0122 movs r2, #1
4130 02de 3900 movs r1, r7
4131 02e0 4B20 movs r0, #75
4132 02e2 FFF7FEFF bl SX1272ReadBuffer
4133 .LVL532:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4134 .loc 1 1143 0
4135 02e6 3A78 ldrb r2, [r7]
4136 .LVL533:
4137 .LBE575:
4138 .LBE574:
610:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_HOPPERIOD, SX1272.Settings.LoRa.HopPeriod );
4139 .loc 1 610 0
4140 02e8 8023 movs r3, #128
4141 02ea 5B42 rsbs r3, r3, #0
4142 02ec 1343 orrs r3, r2
4143 .LVL534:
4144 02ee 0F21 movs r1, #15
4145 02f0 04AA add r2, sp, #16
4146 02f2 9446 mov ip, r2
4147 02f4 6144 add r1, r1, ip
4148 02f6 0B70 strb r3, [r1]
4149 .LVL535:
ARM GAS /tmp/ccwcPdtV.s page 111
4150 .LBB576:
4151 .LBB577:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4152 .loc 1 1136 0
4153 02f8 0122 movs r2, #1
4154 02fa 4B20 movs r0, #75
4155 02fc FFF7FEFF bl SX1272WriteBuffer
4156 .LVL536:
4157 .LBE577:
4158 .LBE576:
611:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4159 .loc 1 611 0
4160 0300 174A ldr r2, .L181+4
4161 0302 5423 movs r3, #84
4162 0304 D35C ldrb r3, [r2, r3]
4163 .LVL537:
4164 0306 0E21 movs r1, #14
4165 0308 04AA add r2, sp, #16
4166 030a 9446 mov ip, r2
4167 030c 6144 add r1, r1, ip
4168 030e 0B70 strb r3, [r1]
4169 .LVL538:
4170 .LBB578:
4171 .LBB579:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4172 .loc 1 1136 0
4173 0310 0122 movs r2, #1
4174 0312 2420 movs r0, #36
4175 0314 FFF7FEFF bl SX1272WriteBuffer
4176 .LVL539:
4177 0318 6AE7 b .L172
4178 .LVL540:
4179 .L180:
4180 .LBE579:
4181 .LBE578:
4182 .LBB580:
4183 .LBB581:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4184 .loc 1 1142 0
4185 031a 1724 movs r4, #23
4186 031c 04AB add r3, sp, #16
4187 031e 9C46 mov ip, r3
4188 0320 6444 add r4, r4, ip
4189 0322 0122 movs r2, #1
4190 0324 2100 movs r1, r4
4191 0326 3120 movs r0, #49
4192 0328 FFF7FEFF bl SX1272ReadBuffer
4193 .LVL541:
4194 .LBE581:
4195 .LBE580:
637:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_MASK ) |
4196 .loc 1 637 0
4197 032c 0023 movs r3, #0
4198 032e E356 ldrsb r3, [r4, r3]
4199 0330 0722 movs r2, #7
4200 0332 9343 bics r3, r2
638:./Drivers/BSP/Components/sx1272/sx1272.c **** RFLR_DETECTIONOPTIMIZE_SF6 );
ARM GAS /tmp/ccwcPdtV.s page 112
4201 .loc 1 638 0
4202 0334 0522 movs r2, #5
4203 0336 1343 orrs r3, r2
4204 .LVL542:
4205 0338 1521 movs r1, #21
4206 033a 04AA add r2, sp, #16
4207 033c 9446 mov ip, r2
4208 033e 6144 add r1, r1, ip
4209 0340 0B70 strb r3, [r1]
4210 .LVL543:
4211 .LBB582:
4212 .LBB583:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4213 .loc 1 1136 0
4214 0342 0122 movs r2, #1
4215 0344 3120 movs r0, #49
4216 0346 FFF7FEFF bl SX1272WriteBuffer
4217 .LVL544:
4218 034a 09A9 add r1, sp, #36
4219 034c 0C23 movs r3, #12
4220 034e 0B70 strb r3, [r1]
4221 .LVL545:
4222 .LBE583:
4223 .LBE582:
4224 .LBB584:
4225 .LBB585:
4226 0350 0122 movs r2, #1
4227 0352 3720 movs r0, #55
4228 0354 FFF7FEFF bl SX1272WriteBuffer
4229 .LVL546:
4230 0358 7EE6 b .L162
4231 .L182:
4232 035a C046 .align 2
4233 .L181:
4234 035c 00000000 .word .LANCHOR1
4235 0360 00000000 .word .LANCHOR0
4236 0364 80844E40 .word 1078887552
4237 0368 80847E41 .word 1098810496
4238 .LBE585:
4239 .LBE584:
4240 .cfi_endproc
4241 .LFE104:
4243 .section .text.SX1272SetTxContinuousWave,"ax",%progbits
4244 .align 1
4245 .global SX1272SetTxContinuousWave
4246 .syntax unified
4247 .code 16
4248 .thumb_func
4249 .fpu softvfp
4251 SX1272SetTxContinuousWave:
4252 .LFB112:
1022:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t timeout = ( uint32_t )( time * 1000 );
4253 .loc 1 1022 0
4254 .cfi_startproc
4255 @ args = 0, pretend = 0, frame = 8
4256 @ frame_needed = 0, uses_anonymous_args = 0
4257 .LVL547:
ARM GAS /tmp/ccwcPdtV.s page 113
4258 0000 30B5 push {r4, r5, lr}
4259 .LCFI37:
4260 .cfi_def_cfa_offset 12
4261 .cfi_offset 4, -12
4262 .cfi_offset 5, -8
4263 .cfi_offset 14, -4
4264 0002 8DB0 sub sp, sp, #52
4265 .LCFI38:
4266 .cfi_def_cfa_offset 64
4267 0004 0C00 movs r4, r1
1023:./Drivers/BSP/Components/sx1272/sx1272.c ****
4268 .loc 1 1023 0
4269 0006 5301 lsls r3, r2, #5
4270 0008 9B1A subs r3, r3, r2
4271 000a 9B00 lsls r3, r3, #2
4272 000c 9A18 adds r2, r3, r2
4273 .LVL548:
4274 000e D500 lsls r5, r2, #3
4275 .LVL549:
1025:./Drivers/BSP/Components/sx1272/sx1272.c ****
4276 .loc 1 1025 0
4277 0010 FFF7FEFF bl SX1272SetChannel
4278 .LVL550:
1027:./Drivers/BSP/Components/sx1272/sx1272.c ****
4279 .loc 1 1027 0
4280 0014 0895 str r5, [sp, #32]
4281 0016 0023 movs r3, #0
4282 0018 0793 str r3, [sp, #28]
4283 001a 0693 str r3, [sp, #24]
4284 001c 0593 str r3, [sp, #20]
4285 001e 0493 str r3, [sp, #16]
4286 0020 0393 str r3, [sp, #12]
4287 0022 0522 movs r2, #5
4288 0024 0292 str r2, [sp, #8]
4289 0026 0193 str r3, [sp, #4]
4290 0028 9623 movs r3, #150
4291 002a 5B01 lsls r3, r3, #5
4292 002c 0093 str r3, [sp]
4293 002e 0023 movs r3, #0
4294 0030 0022 movs r2, #0
4295 0032 2100 movs r1, r4
4296 0034 0020 movs r0, #0
4297 0036 FFF7FEFF bl SX1272SetTxConfig
4298 .LVL551:
4299 .LBB586:
4300 .LBB587:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4301 .loc 1 1142 0
4302 003a 2F24 movs r4, #47
4303 003c 6C44 add r4, r4, sp
4304 003e 0122 movs r2, #1
4305 0040 2100 movs r1, r4
4306 0042 3120 movs r0, #49
4307 0044 FFF7FEFF bl SX1272ReadBuffer
4308 .LVL552:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4309 .loc 1 1143 0
ARM GAS /tmp/ccwcPdtV.s page 114
4310 0048 2378 ldrb r3, [r4]
4311 .LVL553:
4312 .LBE587:
4313 .LBE586:
1029:./Drivers/BSP/Components/sx1272/sx1272.c **** // Disable radio interrupts
4314 .loc 1 1029 0
4315 004a 4022 movs r2, #64
4316 004c 9343 bics r3, r2
4317 .LVL554:
4318 004e 2370 strb r3, [r4]
4319 .LVL555:
4320 .LBB588:
4321 .LBB589:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4322 .loc 1 1136 0
4323 0050 3F3A subs r2, r2, #63
4324 0052 2100 movs r1, r4
4325 0054 3120 movs r0, #49
4326 0056 FFF7FEFF bl SX1272WriteBuffer
4327 .LVL556:
4328 005a 2E21 movs r1, #46
4329 005c 6944 add r1, r1, sp
4330 005e F023 movs r3, #240
4331 0060 0B70 strb r3, [r1]
4332 .LVL557:
4333 .LBE589:
4334 .LBE588:
4335 .LBB590:
4336 .LBB591:
4337 0062 0122 movs r2, #1
4338 0064 4020 movs r0, #64
4339 0066 FFF7FEFF bl SX1272WriteBuffer
4340 .LVL558:
4341 006a 2D21 movs r1, #45
4342 006c 6944 add r1, r1, sp
4343 006e A023 movs r3, #160
4344 0070 0B70 strb r3, [r1]
4345 .LVL559:
4346 .LBE591:
4347 .LBE590:
4348 .LBB592:
4349 .LBB593:
4350 0072 0122 movs r2, #1
4351 0074 4120 movs r0, #65
4352 0076 FFF7FEFF bl SX1272WriteBuffer
4353 .LVL560:
4354 .LBE593:
4355 .LBE592:
1034:./Drivers/BSP/Components/sx1272/sx1272.c ****
4356 .loc 1 1034 0
4357 007a 084C ldr r4, .L184
4358 007c 2900 movs r1, r5
4359 007e 2000 movs r0, r4
4360 0080 FFF7FEFF bl TimerSetValue
4361 .LVL561:
1036:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &TxTimeoutTimer );
4362 .loc 1 1036 0
ARM GAS /tmp/ccwcPdtV.s page 115
4363 0084 064B ldr r3, .L184+4
4364 0086 0222 movs r2, #2
4365 0088 1A71 strb r2, [r3, #4]
1037:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetOpMode( RF_OPMODE_TRANSMITTER );
4366 .loc 1 1037 0
4367 008a 2000 movs r0, r4
4368 008c FFF7FEFF bl TimerStart
4369 .LVL562:
1038:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4370 .loc 1 1038 0
4371 0090 0320 movs r0, #3
4372 0092 FFF7FEFF bl SX1272SetOpMode
4373 .LVL563:
1039:./Drivers/BSP/Components/sx1272/sx1272.c ****
4374 .loc 1 1039 0
4375 0096 0DB0 add sp, sp, #52
4376 @ sp needed
4377 .LVL564:
4378 0098 30BD pop {r4, r5, pc}
4379 .L185:
4380 009a C046 .align 2
4381 .L184:
4382 009c 00000000 .word .LANCHOR3
4383 00a0 00000000 .word .LANCHOR0
4384 .cfi_endproc
4385 .LFE112:
4387 .section .text.SX1272OnDio2Irq,"ax",%progbits
4388 .align 1
4389 .global SX1272OnDio2Irq
4390 .syntax unified
4391 .code 16
4392 .thumb_func
4393 .fpu softvfp
4395 SX1272OnDio2Irq:
4396 .LFB129:
1569:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t afcChannel = 0;
4397 .loc 1 1569 0
4398 .cfi_startproc
4399 @ args = 0, pretend = 0, frame = 8
4400 @ frame_needed = 0, uses_anonymous_args = 0
4401 0000 70B5 push {r4, r5, r6, lr}
4402 .LCFI39:
4403 .cfi_def_cfa_offset 16
4404 .cfi_offset 4, -16
4405 .cfi_offset 5, -12
4406 .cfi_offset 6, -8
4407 .cfi_offset 14, -4
4408 0002 82B0 sub sp, sp, #8
4409 .LCFI40:
4410 .cfi_def_cfa_offset 24
4411 .LVL565:
1572:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4412 .loc 1 1572 0
4413 0004 4D4B ldr r3, .L193
4414 0006 1B79 ldrb r3, [r3, #4]
4415 0008 012B cmp r3, #1
4416 000a 04D0 beq .L188
ARM GAS /tmp/ccwcPdtV.s page 116
4417 000c 022B cmp r3, #2
4418 000e 00D1 bne .LCB4397
4419 0010 6BE0 b .L189 @long jump
4420 .LCB4397:
4421 .LVL566:
4422 .L186:
1639:./Drivers/BSP/Components/sx1272/sx1272.c ****
4423 .loc 1 1639 0
4424 0012 02B0 add sp, sp, #8
4425 @ sp needed
4426 0014 70BD pop {r4, r5, r6, pc}
4427 .LVL567:
4428 .L188:
1575:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4429 .loc 1 1575 0
4430 0016 494B ldr r3, .L193
4431 0018 5B79 ldrb r3, [r3, #5]
4432 001a 002B cmp r3, #0
4433 001c 21D0 beq .L190
4434 001e 012B cmp r3, #1
4435 0020 F7D1 bne .L186
1600:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4436 .loc 1 1600 0
4437 0022 464A ldr r2, .L193
4438 0024 5323 movs r3, #83
4439 0026 D35C ldrb r3, [r2, r3]
4440 0028 002B cmp r3, #0
4441 002a F2D0 beq .L186
4442 .LVL568:
4443 002c 6B46 mov r3, sp
4444 002e 591D adds r1, r3, #5
4445 0030 0223 movs r3, #2
4446 0032 0B70 strb r3, [r1]
4447 .LVL569:
4448 .LBB594:
4449 .LBB595:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4450 .loc 1 1136 0
4451 0034 0122 movs r2, #1
4452 0036 1220 movs r0, #18
4453 0038 FFF7FEFF bl SX1272WriteBuffer
4454 .LVL570:
4455 .LBE595:
4456 .LBE594:
1605:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4457 .loc 1 1605 0
4458 003c 404B ldr r3, .L193+4
4459 003e 1B68 ldr r3, [r3]
4460 0040 002B cmp r3, #0
4461 0042 E6D0 beq .L186
1605:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4462 .loc 1 1605 0 is_stmt 0 discriminator 1
4463 0044 5C69 ldr r4, [r3, #20]
4464 0046 002C cmp r4, #0
4465 0048 E3D0 beq .L186
4466 .LVL571:
4467 .LBB596:
ARM GAS /tmp/ccwcPdtV.s page 117
4468 .LBB597:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4469 .loc 1 1142 0 is_stmt 1
4470 004a 6B46 mov r3, sp
4471 004c DD1D adds r5, r3, #7
4472 004e 0122 movs r2, #1
4473 0050 2900 movs r1, r5
4474 0052 1C20 movs r0, #28
4475 0054 FFF7FEFF bl SX1272ReadBuffer
4476 .LVL572:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4477 .loc 1 1143 0
4478 0058 2B78 ldrb r3, [r5]
4479 .LVL573:
4480 .LBE597:
4481 .LBE596:
1607:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4482 .loc 1 1607 0
4483 005a 3F20 movs r0, #63
4484 005c 1840 ands r0, r3
4485 005e A047 blx r4
4486 .LVL574:
4487 0060 D7E7 b .L186
4488 .L190:
1580:./Drivers/BSP/Components/sx1272/sx1272.c **** #endif
4489 .loc 1 1580 0
4490 0062 364B ldr r3, .L193
4491 0064 3022 movs r2, #48
4492 0066 0121 movs r1, #1
4493 0068 9954 strb r1, [r3, r2]
1583:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4494 .loc 1 1583 0
4495 006a 1B8E ldrh r3, [r3, #48]
4496 006c 012B cmp r3, #1
4497 006e D0D1 bne .L186
1585:./Drivers/BSP/Components/sx1272/sx1272.c ****
4498 .loc 1 1585 0
4499 0070 3448 ldr r0, .L193+8
4500 0072 FFF7FEFF bl TimerStop
4501 .LVL575:
1587:./Drivers/BSP/Components/sx1272/sx1272.c ****
4502 .loc 1 1587 0
4503 0076 314D ldr r5, .L193
4504 0078 3123 movs r3, #49
4505 007a 0122 movs r2, #1
4506 007c EA54 strb r2, [r5, r3]
4507 .LVL576:
4508 .LBB598:
4509 .LBB599:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4510 .loc 1 1142 0
4511 007e 6B46 mov r3, sp
4512 0080 DC1D adds r4, r3, #7
4513 0082 2100 movs r1, r4
4514 0084 1120 movs r0, #17
4515 0086 FFF7FEFF bl SX1272ReadBuffer
4516 .LVL577:
ARM GAS /tmp/ccwcPdtV.s page 118
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4517 .loc 1 1143 0
4518 008a 2378 ldrb r3, [r4]
4519 .LVL578:
4520 .LBE599:
4521 .LBE598:
1589:./Drivers/BSP/Components/sx1272/sx1272.c ****
4522 .loc 1 1589 0
4523 008c 5B08 lsrs r3, r3, #1
4524 008e 5B42 rsbs r3, r3, #0
4525 0090 3222 movs r2, #50
4526 0092 AB54 strb r3, [r5, r2]
4527 .LVL579:
4528 .LBB600:
4529 .LBB601:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4530 .loc 1 1142 0
4531 0094 313A subs r2, r2, #49
4532 0096 2100 movs r1, r4
4533 0098 1B20 movs r0, #27
4534 009a FFF7FEFF bl SX1272ReadBuffer
4535 .LVL580:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4536 .loc 1 1143 0
4537 009e 2678 ldrb r6, [r4]
4538 .LVL581:
4539 .LBE601:
4540 .LBE600:
1591:./Drivers/BSP/Components/sx1272/sx1272.c **** ( uint16_t )SX1272Read( REG_AFCLSB ) );
4541 .loc 1 1591 0
4542 00a0 3602 lsls r6, r6, #8
4543 .LVL582:
4544 .LBB602:
4545 .LBB603:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4546 .loc 1 1142 0
4547 00a2 0122 movs r2, #1
4548 00a4 2100 movs r1, r4
4549 00a6 1C20 movs r0, #28
4550 00a8 FFF7FEFF bl SX1272ReadBuffer
4551 .LVL583:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4552 .loc 1 1143 0
4553 00ac 2278 ldrb r2, [r4]
4554 .LVL584:
4555 .LBE603:
4556 .LBE602:
1591:./Drivers/BSP/Components/sx1272/sx1272.c **** ( uint16_t )SX1272Read( REG_AFCLSB ) );
4557 .loc 1 1591 0
4558 00ae 3243 orrs r2, r6
4559 .LVL585:
4560 .LBB604:
1594:./Drivers/BSP/Components/sx1272/sx1272.c ****
4561 .loc 1 1594 0
4562 00b0 130A lsrs r3, r2, #8
4563 .LVL586:
4564 00b2 5901 lsls r1, r3, #5
ARM GAS /tmp/ccwcPdtV.s page 119
4565 00b4 C91A subs r1, r1, r3
4566 00b6 8801 lsls r0, r1, #6
4567 00b8 411A subs r1, r0, r1
4568 00ba C900 lsls r1, r1, #3
4569 00bc C918 adds r1, r1, r3
4570 00be FF20 movs r0, #255
4571 00c0 1040 ands r0, r2
4572 .LVL587:
4573 00c2 4301 lsls r3, r0, #5
4574 .LVL588:
4575 00c4 1B1A subs r3, r3, r0
4576 00c6 9A01 lsls r2, r3, #6
4577 .LVL589:
4578 00c8 D31A subs r3, r2, r3
4579 00ca DB00 lsls r3, r3, #3
4580 00cc 1B18 adds r3, r3, r0
4581 00ce 8033 adds r3, r3, #128
4582 00d0 1B0A lsrs r3, r3, #8
4583 00d2 CB18 adds r3, r1, r3
4584 00d4 6B63 str r3, [r5, #52]
4585 .LVL590:
4586 .LBE604:
4587 .LBB605:
4588 .LBB606:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4589 .loc 1 1142 0
4590 00d6 0122 movs r2, #1
4591 00d8 2100 movs r1, r4
4592 00da 0C20 movs r0, #12
4593 .LVL591:
4594 00dc FFF7FEFF bl SX1272ReadBuffer
4595 .LVL592:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4596 .loc 1 1143 0
4597 00e0 2378 ldrb r3, [r4]
4598 .LVL593:
4599 .LBE606:
4600 .LBE605:
1596:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4601 .loc 1 1596 0
4602 00e2 5B09 lsrs r3, r3, #5
4603 00e4 3822 movs r2, #56
4604 00e6 AB54 strb r3, [r5, r2]
4605 00e8 93E7 b .L186
4606 .LVL594:
4607 .L189:
1616:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4608 .loc 1 1616 0
4609 00ea 144B ldr r3, .L193
4610 00ec 5B79 ldrb r3, [r3, #5]
4611 00ee 012B cmp r3, #1
4612 00f0 00D0 beq .LCB4584
4613 00f2 8EE7 b .L186 @long jump
4614 .LCB4584:
1621:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4615 .loc 1 1621 0
4616 00f4 114A ldr r2, .L193
ARM GAS /tmp/ccwcPdtV.s page 120
4617 00f6 5233 adds r3, r3, #82
4618 00f8 D35C ldrb r3, [r2, r3]
4619 00fa 002B cmp r3, #0
4620 00fc 00D1 bne .LCB4589
4621 00fe 88E7 b .L186 @long jump
4622 .LCB4589:
4623 .LVL595:
4624 0100 6B46 mov r3, sp
4625 0102 991D adds r1, r3, #6
4626 0104 0223 movs r3, #2
4627 0106 0B70 strb r3, [r1]
4628 .LVL596:
4629 .LBB607:
4630 .LBB608:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4631 .loc 1 1136 0
4632 0108 0122 movs r2, #1
4633 010a 1220 movs r0, #18
4634 010c FFF7FEFF bl SX1272WriteBuffer
4635 .LVL597:
4636 .LBE608:
4637 .LBE607:
1626:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4638 .loc 1 1626 0
4639 0110 0B4B ldr r3, .L193+4
4640 0112 1B68 ldr r3, [r3]
4641 0114 002B cmp r3, #0
4642 0116 00D1 bne .LCB4609
4643 0118 7BE7 b .L186 @long jump
4644 .LCB4609:
1626:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4645 .loc 1 1626 0 is_stmt 0 discriminator 1
4646 011a 5C69 ldr r4, [r3, #20]
4647 011c 002C cmp r4, #0
4648 011e 00D1 bne .LCB4612
4649 0120 77E7 b .L186 @long jump
4650 .LCB4612:
4651 .LVL598:
4652 .LBB609:
4653 .LBB610:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4654 .loc 1 1142 0 is_stmt 1
4655 0122 6B46 mov r3, sp
4656 0124 DD1D adds r5, r3, #7
4657 0126 0122 movs r2, #1
4658 0128 2900 movs r1, r5
4659 012a 1C20 movs r0, #28
4660 012c FFF7FEFF bl SX1272ReadBuffer
4661 .LVL599:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4662 .loc 1 1143 0
4663 0130 2B78 ldrb r3, [r5]
4664 .LVL600:
4665 .LBE610:
4666 .LBE609:
1628:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4667 .loc 1 1628 0
ARM GAS /tmp/ccwcPdtV.s page 121
4668 0132 3F20 movs r0, #63
4669 0134 1840 ands r0, r3
4670 0136 A047 blx r4
4671 .LVL601:
1639:./Drivers/BSP/Components/sx1272/sx1272.c ****
4672 .loc 1 1639 0
4673 0138 6BE7 b .L186
4674 .L194:
4675 013a C046 .align 2
4676 .L193:
4677 013c 00000000 .word .LANCHOR0
4678 0140 00000000 .word .LANCHOR5
4679 0144 00000000 .word .LANCHOR4
4680 .cfi_endproc
4681 .LFE129:
4683 .section .text.SX1272OnDio3Irq,"ax",%progbits
4684 .align 1
4685 .global SX1272OnDio3Irq
4686 .syntax unified
4687 .code 16
4688 .thumb_func
4689 .fpu softvfp
4691 SX1272OnDio3Irq:
4692 .LFB130:
1642:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
4693 .loc 1 1642 0
4694 .cfi_startproc
4695 @ args = 0, pretend = 0, frame = 8
4696 @ frame_needed = 0, uses_anonymous_args = 0
4697 0000 10B5 push {r4, lr}
4698 .LCFI41:
4699 .cfi_def_cfa_offset 8
4700 .cfi_offset 4, -8
4701 .cfi_offset 14, -4
4702 0002 82B0 sub sp, sp, #8
4703 .LCFI42:
4704 .cfi_def_cfa_offset 16
1643:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4705 .loc 1 1643 0
4706 0004 194B ldr r3, .L199
4707 0006 5B79 ldrb r3, [r3, #5]
4708 0008 012B cmp r3, #1
4709 000a 2CD1 bne .L195
4710 .LVL602:
4711 .LBB611:
4712 .LBB612:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4713 .loc 1 1142 0
4714 000c 6B46 mov r3, sp
4715 000e DC1D adds r4, r3, #7
4716 0010 0122 movs r2, #1
4717 0012 2100 movs r1, r4
4718 0014 1220 movs r0, #18
4719 0016 FFF7FEFF bl SX1272ReadBuffer
4720 .LVL603:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4721 .loc 1 1143 0
ARM GAS /tmp/ccwcPdtV.s page 122
4722 001a 2378 ldrb r3, [r4]
4723 .LVL604:
4724 .LBE612:
4725 .LBE611:
1648:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4726 .loc 1 1648 0
4727 001c DB07 lsls r3, r3, #31
4728 001e 11D5 bpl .L198
4729 .LVL605:
4730 0020 6B46 mov r3, sp
4731 0022 991D adds r1, r3, #6
4732 0024 0523 movs r3, #5
4733 0026 0B70 strb r3, [r1]
4734 .LVL606:
4735 .LBB613:
4736 .LBB614:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4737 .loc 1 1136 0
4738 0028 0122 movs r2, #1
4739 002a 1220 movs r0, #18
4740 002c FFF7FEFF bl SX1272WriteBuffer
4741 .LVL607:
4742 .LBE614:
4743 .LBE613:
1652:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4744 .loc 1 1652 0
4745 0030 0F4B ldr r3, .L199+4
4746 0032 1B68 ldr r3, [r3]
4747 0034 002B cmp r3, #0
4748 0036 16D0 beq .L195
1652:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4749 .loc 1 1652 0 is_stmt 0 discriminator 1
4750 0038 9B69 ldr r3, [r3, #24]
4751 003a 002B cmp r3, #0
4752 003c 13D0 beq .L195
1654:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4753 .loc 1 1654 0 is_stmt 1
4754 003e 0120 movs r0, #1
4755 0040 9847 blx r3
4756 .LVL608:
4757 0042 10E0 b .L195
4758 .L198:
4759 .LVL609:
4760 0044 6B46 mov r3, sp
4761 0046 D91D adds r1, r3, #7
4762 0048 0423 movs r3, #4
4763 004a 0B70 strb r3, [r1]
4764 .LVL610:
4765 .LBB615:
4766 .LBB616:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4767 .loc 1 1136 0
4768 004c 0122 movs r2, #1
4769 004e 1220 movs r0, #18
4770 0050 FFF7FEFF bl SX1272WriteBuffer
4771 .LVL611:
4772 .LBE616:
ARM GAS /tmp/ccwcPdtV.s page 123
4773 .LBE615:
1661:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4774 .loc 1 1661 0
4775 0054 064B ldr r3, .L199+4
4776 0056 1B68 ldr r3, [r3]
4777 0058 002B cmp r3, #0
4778 005a 04D0 beq .L195
1661:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4779 .loc 1 1661 0 is_stmt 0 discriminator 1
4780 005c 9B69 ldr r3, [r3, #24]
4781 005e 002B cmp r3, #0
4782 0060 01D0 beq .L195
1663:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4783 .loc 1 1663 0 is_stmt 1
4784 0062 0020 movs r0, #0
4785 0064 9847 blx r3
4786 .LVL612:
4787 .L195:
1670:./Drivers/BSP/Components/sx1272/sx1272.c ****
4788 .loc 1 1670 0
4789 0066 02B0 add sp, sp, #8
4790 @ sp needed
4791 0068 10BD pop {r4, pc}
4792 .L200:
4793 006a C046 .align 2
4794 .L199:
4795 006c 00000000 .word .LANCHOR0
4796 0070 00000000 .word .LANCHOR5
4797 .cfi_endproc
4798 .LFE130:
4800 .section .text.SX1272Send,"ax",%progbits
4801 .align 1
4802 .global SX1272Send
4803 .syntax unified
4804 .code 16
4805 .thumb_func
4806 .fpu softvfp
4808 SX1272Send:
4809 .LFB106:
715:./Drivers/BSP/Components/sx1272/sx1272.c **** uint32_t txTimeout = 0;
4810 .loc 1 715 0
4811 .cfi_startproc
4812 @ args = 0, pretend = 0, frame = 16
4813 @ frame_needed = 0, uses_anonymous_args = 0
4814 .LVL613:
4815 0000 70B5 push {r4, r5, r6, lr}
4816 .LCFI43:
4817 .cfi_def_cfa_offset 16
4818 .cfi_offset 4, -16
4819 .cfi_offset 5, -12
4820 .cfi_offset 6, -8
4821 .cfi_offset 14, -4
4822 0002 84B0 sub sp, sp, #16
4823 .LCFI44:
4824 .cfi_def_cfa_offset 32
4825 0004 0400 movs r4, r0
4826 0006 6B46 mov r3, sp
ARM GAS /tmp/ccwcPdtV.s page 124
4827 0008 D971 strb r1, [r3, #7]
4828 .LVL614:
718:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4829 .loc 1 718 0
4830 000a 594B ldr r3, .L215
4831 000c 5B79 ldrb r3, [r3, #5]
4832 000e 002B cmp r3, #0
4833 0010 03D0 beq .L203
4834 0012 012B cmp r3, #1
4835 0014 3CD0 beq .L204
716:./Drivers/BSP/Components/sx1272/sx1272.c ****
4836 .loc 1 716 0
4837 0016 0020 movs r0, #0
4838 .LVL615:
4839 0018 25E0 b .L202
4840 .LVL616:
4841 .L203:
722:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = size;
4842 .loc 1 722 0
4843 001a 554B ldr r3, .L215
4844 001c 0022 movs r2, #0
4845 001e 9A87 strh r2, [r3, #60]
723:./Drivers/BSP/Components/sx1272/sx1272.c ****
4846 .loc 1 723 0
4847 0020 6A46 mov r2, sp
4848 0022 0732 adds r2, r2, #7
4849 0024 1278 ldrb r2, [r2]
4850 0026 5A87 strh r2, [r3, #58]
725:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4851 .loc 1 725 0
4852 0028 2221 movs r1, #34
4853 .LVL617:
4854 002a 5B5C ldrb r3, [r3, r1]
4855 002c 002B cmp r3, #0
4856 002e 1ED1 bne .L205
4857 .LVL618:
4858 .LBB617:
4859 .LBB618:
1183:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4860 .loc 1 1183 0
4861 0030 0122 movs r2, #1
4862 0032 6B46 mov r3, sp
4863 0034 D91D adds r1, r3, #7
4864 .LVL619:
4865 0036 0020 movs r0, #0
4866 .LVL620:
4867 0038 FFF7FEFF bl SX1272WriteBuffer
4868 .LVL621:
4869 .L206:
4870 .LBE618:
4871 .LBE617:
734:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4872 .loc 1 734 0
4873 003c 6B46 mov r3, sp
4874 003e DA79 ldrb r2, [r3, #7]
4875 0040 531E subs r3, r2, #1
4876 0042 DBB2 uxtb r3, r3
ARM GAS /tmp/ccwcPdtV.s page 125
4877 0044 3F2B cmp r3, #63
4878 0046 19D8 bhi .L207
736:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4879 .loc 1 736 0
4880 0048 4949 ldr r1, .L215
4881 004a 3F23 movs r3, #63
4882 004c CA54 strb r2, [r1, r3]
4883 .L208:
745:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.ChunkSize;
4884 .loc 1 745 0
4885 004e 484D ldr r5, .L215
4886 0050 3F26 movs r6, #63
4887 0052 AA5D ldrb r2, [r5, r6]
4888 .LVL622:
4889 .LBB619:
4890 .LBB620:
1183:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4891 .loc 1 1183 0
4892 0054 2100 movs r1, r4
4893 0056 0020 movs r0, #0
4894 0058 FFF7FEFF bl SX1272WriteBuffer
4895 .LVL623:
4896 .LBE620:
4897 .LBE619:
746:./Drivers/BSP/Components/sx1272/sx1272.c **** txTimeout = SX1272.Settings.Fsk.TxTimeout;
4898 .loc 1 746 0
4899 005c AB5D ldrb r3, [r5, r6]
4900 005e AA8F ldrh r2, [r5, #60]
4901 0060 9B18 adds r3, r3, r2
4902 0062 AB87 strh r3, [r5, #60]
747:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4903 .loc 1 747 0
4904 0064 A86A ldr r0, [r5, #40]
4905 .LVL624:
4906 .L202:
785:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4907 .loc 1 785 0
4908 0066 FFF7FEFF bl SX1272SetTx
4909 .LVL625:
786:./Drivers/BSP/Components/sx1272/sx1272.c ****
4910 .loc 1 786 0
4911 006a 04B0 add sp, sp, #16
4912 @ sp needed
4913 .LVL626:
4914 006c 70BD pop {r4, r5, r6, pc}
4915 .LVL627:
4916 .L205:
4917 006e 03A9 add r1, sp, #12
4918 0070 0A70 strb r2, [r1]
4919 .LVL628:
4920 .LBB621:
4921 .LBB622:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4922 .loc 1 1136 0
4923 0072 0122 movs r2, #1
4924 .LVL629:
4925 0074 3220 movs r0, #50
ARM GAS /tmp/ccwcPdtV.s page 126
4926 .LVL630:
4927 0076 FFF7FEFF bl SX1272WriteBuffer
4928 .LVL631:
4929 007a DFE7 b .L206
4930 .LVL632:
4931 .L207:
4932 .LBE622:
4933 .LBE621:
740:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.ChunkSize = 32;
4934 .loc 1 740 0
4935 007c 92B2 uxth r2, r2
4936 007e 2100 movs r1, r4
4937 0080 3C48 ldr r0, .L215+4
4938 0082 FFF7FEFF bl memcpy1
4939 .LVL633:
741:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4940 .loc 1 741 0
4941 0086 3A4A ldr r2, .L215
4942 0088 3F23 movs r3, #63
4943 008a 2021 movs r1, #32
4944 008c D154 strb r1, [r2, r3]
4945 008e DEE7 b .L208
4946 .LVL634:
4947 .L204:
752:./Drivers/BSP/Components/sx1272/sx1272.c **** {
4948 .loc 1 752 0
4949 0090 374A ldr r2, .L215
4950 0092 5523 movs r3, #85
4951 0094 D35C ldrb r3, [r2, r3]
4952 0096 002B cmp r3, #0
4953 0098 46D0 beq .L209
4954 .LVL635:
4955 .LBB623:
4956 .LBB624:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
4957 .loc 1 1142 0
4958 009a 0F25 movs r5, #15
4959 009c 6D44 add r5, r5, sp
4960 009e 0122 movs r2, #1
4961 00a0 2900 movs r1, r5
4962 .LVL636:
4963 00a2 3320 movs r0, #51
4964 .LVL637:
4965 00a4 FFF7FEFF bl SX1272ReadBuffer
4966 .LVL638:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4967 .loc 1 1143 0
4968 00a8 2B78 ldrb r3, [r5]
4969 .LVL639:
4970 .LBE624:
4971 .LBE623:
754:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ2, RFLR_INVERTIQ2_ON );
4972 .loc 1 754 0
4973 00aa 4122 movs r2, #65
4974 00ac 9343 bics r3, r2
4975 .LVL640:
4976 00ae 0921 movs r1, #9
ARM GAS /tmp/ccwcPdtV.s page 127
4977 00b0 6944 add r1, r1, sp
4978 00b2 0B70 strb r3, [r1]
4979 .LVL641:
4980 .LBB625:
4981 .LBB626:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
4982 .loc 1 1136 0
4983 00b4 403A subs r2, r2, #64
4984 00b6 3320 movs r0, #51
4985 00b8 FFF7FEFF bl SX1272WriteBuffer
4986 .LVL642:
4987 00bc 02A9 add r1, sp, #8
4988 00be 1923 movs r3, #25
4989 00c0 0B70 strb r3, [r1]
4990 .LVL643:
4991 .LBE626:
4992 .LBE625:
4993 .LBB627:
4994 .LBB628:
4995 00c2 0122 movs r2, #1
4996 00c4 3B20 movs r0, #59
4997 00c6 FFF7FEFF bl SX1272WriteBuffer
4998 .LVL644:
4999 .L210:
5000 .LBE628:
5001 .LBE627:
763:./Drivers/BSP/Components/sx1272/sx1272.c ****
5002 .loc 1 763 0
5003 00ca 6B46 mov r3, sp
5004 00cc 0733 adds r3, r3, #7
5005 00ce 1B78 ldrb r3, [r3]
5006 00d0 2749 ldr r1, .L215
5007 00d2 6422 movs r2, #100
5008 00d4 8B54 strb r3, [r1, r2]
5009 .LVL645:
5010 00d6 0F21 movs r1, #15
5011 00d8 6944 add r1, r1, sp
5012 00da 0B70 strb r3, [r1]
5013 .LVL646:
5014 .LBB629:
5015 .LBB630:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5016 .loc 1 1136 0
5017 00dc 633A subs r2, r2, #99
5018 00de 2220 movs r0, #34
5019 00e0 FFF7FEFF bl SX1272WriteBuffer
5020 .LVL647:
5021 00e4 0E21 movs r1, #14
5022 00e6 6944 add r1, r1, sp
5023 00e8 0025 movs r5, #0
5024 00ea 0D70 strb r5, [r1]
5025 .LVL648:
5026 .LBE630:
5027 .LBE629:
5028 .LBB631:
5029 .LBB632:
5030 00ec 0122 movs r2, #1
ARM GAS /tmp/ccwcPdtV.s page 128
5031 00ee 0E20 movs r0, #14
5032 00f0 FFF7FEFF bl SX1272WriteBuffer
5033 .LVL649:
5034 00f4 0D21 movs r1, #13
5035 00f6 6944 add r1, r1, sp
5036 00f8 0D70 strb r5, [r1]
5037 .LVL650:
5038 .LBE632:
5039 .LBE631:
5040 .LBB633:
5041 .LBB634:
5042 00fa 0122 movs r2, #1
5043 00fc 0D20 movs r0, #13
5044 00fe FFF7FEFF bl SX1272WriteBuffer
5045 .LVL651:
5046 .LBE634:
5047 .LBE633:
5048 .LBB635:
5049 .LBB636:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5050 .loc 1 1142 0
5051 0102 03AD add r5, sp, #12
5052 0104 0122 movs r2, #1
5053 0106 2900 movs r1, r5
5054 0108 0120 movs r0, #1
5055 010a FFF7FEFF bl SX1272ReadBuffer
5056 .LVL652:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5057 .loc 1 1143 0
5058 010e 2B78 ldrb r3, [r5]
5059 .LVL653:
5060 .LBE636:
5061 .LBE635:
773:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5062 .loc 1 773 0
5063 0110 F822 movs r2, #248
5064 0112 9343 bics r3, r2
5065 0114 25D0 beq .L214
5066 .L211:
779:./Drivers/BSP/Components/sx1272/sx1272.c **** txTimeout = SX1272.Settings.LoRa.TxTimeout;
5067 .loc 1 779 0
5068 0116 6B46 mov r3, sp
5069 0118 DA79 ldrb r2, [r3, #7]
5070 .LVL654:
5071 .LBB637:
5072 .LBB638:
1183:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5073 .loc 1 1183 0
5074 011a 2100 movs r1, r4
5075 011c 0020 movs r0, #0
5076 011e FFF7FEFF bl SX1272WriteBuffer
5077 .LVL655:
5078 .LBE638:
5079 .LBE637:
780:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5080 .loc 1 780 0
5081 0122 134B ldr r3, .L215
ARM GAS /tmp/ccwcPdtV.s page 129
5082 0124 986D ldr r0, [r3, #88]
5083 .LVL656:
782:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5084 .loc 1 782 0
5085 0126 9EE7 b .L202
5086 .LVL657:
5087 .L209:
5088 .LBB639:
5089 .LBB640:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5090 .loc 1 1142 0
5091 0128 0F25 movs r5, #15
5092 012a 6D44 add r5, r5, sp
5093 012c 0122 movs r2, #1
5094 012e 2900 movs r1, r5
5095 .LVL658:
5096 0130 3320 movs r0, #51
5097 .LVL659:
5098 0132 FFF7FEFF bl SX1272ReadBuffer
5099 .LVL660:
5100 .LBE640:
5101 .LBE639:
759:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_INVERTIQ2, RFLR_INVERTIQ2_OFF );
5102 .loc 1 759 0
5103 0136 0023 movs r3, #0
5104 0138 EB56 ldrsb r3, [r5, r3]
5105 013a 4122 movs r2, #65
5106 013c 9343 bics r3, r2
5107 013e 0122 movs r2, #1
5108 0140 1343 orrs r3, r2
5109 .LVL661:
5110 0142 0B21 movs r1, #11
5111 0144 6944 add r1, r1, sp
5112 0146 0B70 strb r3, [r1]
5113 .LVL662:
5114 .LBB641:
5115 .LBB642:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5116 .loc 1 1136 0
5117 0148 0122 movs r2, #1
5118 014a 3320 movs r0, #51
5119 014c FFF7FEFF bl SX1272WriteBuffer
5120 .LVL663:
5121 0150 0A21 movs r1, #10
5122 0152 6944 add r1, r1, sp
5123 0154 1D23 movs r3, #29
5124 0156 0B70 strb r3, [r1]
5125 .LVL664:
5126 .LBE642:
5127 .LBE641:
5128 .LBB643:
5129 .LBB644:
5130 0158 0122 movs r2, #1
5131 015a 3B20 movs r0, #59
5132 015c FFF7FEFF bl SX1272WriteBuffer
5133 .LVL665:
5134 0160 B3E7 b .L210
ARM GAS /tmp/ccwcPdtV.s page 130
5135 .LVL666:
5136 .L214:
5137 .LBE644:
5138 .LBE643:
775:./Drivers/BSP/Components/sx1272/sx1272.c **** DelayMs( 1 );
5139 .loc 1 775 0
5140 0162 FFF7FEFF bl SX1272SetStby
5141 .LVL667:
776:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5142 .loc 1 776 0
5143 0166 0120 movs r0, #1
5144 0168 FFF7FEFF bl DelayMs
5145 .LVL668:
5146 016c D3E7 b .L211
5147 .L216:
5148 016e C046 .align 2
5149 .L215:
5150 0170 00000000 .word .LANCHOR0
5151 0174 00000000 .word RxTxBuffer
5152 .cfi_endproc
5153 .LFE106:
5155 .section .text.SX1272OnDio0Irq,"ax",%progbits
5156 .align 1
5157 .global SX1272OnDio0Irq
5158 .syntax unified
5159 .code 16
5160 .thumb_func
5161 .fpu softvfp
5163 SX1272OnDio0Irq:
5164 .LFB127:
1303:./Drivers/BSP/Components/sx1272/sx1272.c **** volatile uint8_t irqFlags = 0;
5165 .loc 1 1303 0
5166 .cfi_startproc
5167 @ args = 0, pretend = 0, frame = 16
5168 @ frame_needed = 0, uses_anonymous_args = 0
5169 0000 70B5 push {r4, r5, r6, lr}
5170 .LCFI45:
5171 .cfi_def_cfa_offset 16
5172 .cfi_offset 4, -16
5173 .cfi_offset 5, -12
5174 .cfi_offset 6, -8
5175 .cfi_offset 14, -4
5176 0002 84B0 sub sp, sp, #16
5177 .LCFI46:
5178 .cfi_def_cfa_offset 32
1304:./Drivers/BSP/Components/sx1272/sx1272.c ****
5179 .loc 1 1304 0
5180 0004 0F23 movs r3, #15
5181 0006 6B44 add r3, r3, sp
5182 0008 0022 movs r2, #0
5183 000a 1A70 strb r2, [r3]
1306:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5184 .loc 1 1306 0
5185 000c C94B ldr r3, .L247
5186 000e 1B79 ldrb r3, [r3, #4]
5187 0010 012B cmp r3, #1
5188 0012 04D0 beq .L219
ARM GAS /tmp/ccwcPdtV.s page 131
5189 0014 022B cmp r3, #2
5190 0016 00D1 bne .LCB5159
5191 0018 6BE1 b .L220 @long jump
5192 .LCB5159:
5193 .L217:
1488:./Drivers/BSP/Components/sx1272/sx1272.c ****
5194 .loc 1 1488 0
5195 001a 04B0 add sp, sp, #16
5196 @ sp needed
5197 001c 70BD pop {r4, r5, r6, pc}
5198 .L219:
1311:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5199 .loc 1 1311 0
5200 001e C54B ldr r3, .L247
5201 0020 5B79 ldrb r3, [r3, #5]
5202 0022 002B cmp r3, #0
5203 0024 33D0 beq .L221
5204 0026 012B cmp r3, #1
5205 0028 F7D1 bne .L217
5206 .LVL669:
5207 002a 0B21 movs r1, #11
5208 002c 6944 add r1, r1, sp
5209 002e 4023 movs r3, #64
5210 0030 0B70 strb r3, [r1]
5211 .LVL670:
5212 .LBB645:
5213 .LBB646:
5214 .LBB647:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5215 .loc 1 1136 0
5216 0032 0122 movs r2, #1
5217 0034 1220 movs r0, #18
5218 0036 FFF7FEFF bl SX1272WriteBuffer
5219 .LVL671:
5220 .LBE647:
5221 .LBE646:
5222 .LBB648:
5223 .LBB649:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5224 .loc 1 1142 0
5225 003a 0E24 movs r4, #14
5226 003c 6C44 add r4, r4, sp
5227 003e 0122 movs r2, #1
5228 0040 2100 movs r1, r4
5229 0042 1220 movs r0, #18
5230 0044 FFF7FEFF bl SX1272ReadBuffer
5231 .LVL672:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5232 .loc 1 1143 0
5233 0048 2278 ldrb r2, [r4]
5234 .LVL673:
5235 .LBE649:
5236 .LBE648:
1401:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( irqFlags & RFLR_IRQFLAGS_PAYLOADCRCERROR_MASK ) == RFLR_IRQFLAGS_PAYLOADC
5237 .loc 1 1401 0
5238 004a 0F23 movs r3, #15
5239 004c 6B44 add r3, r3, sp
ARM GAS /tmp/ccwcPdtV.s page 132
5240 004e 1A70 strb r2, [r3]
1402:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5241 .loc 1 1402 0
5242 0050 1B78 ldrb r3, [r3]
5243 0052 9B06 lsls r3, r3, #26
5244 0054 00D4 bmi .LCB5219
5245 0056 DFE0 b .L234 @long jump
5246 .LCB5219:
5247 .LVL674:
5248 0058 03A9 add r1, sp, #12
5249 005a 2023 movs r3, #32
5250 005c 0B70 strb r3, [r1]
5251 .LVL675:
5252 .LBB650:
5253 .LBB651:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5254 .loc 1 1136 0
5255 005e 0122 movs r2, #1
5256 0060 1220 movs r0, #18
5257 0062 FFF7FEFF bl SX1272WriteBuffer
5258 .LVL676:
5259 .LBE651:
5260 .LBE650:
1407:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5261 .loc 1 1407 0
5262 0066 B34A ldr r2, .L247
5263 0068 5623 movs r3, #86
5264 006a D35C ldrb r3, [r2, r3]
5265 006c 002B cmp r3, #0
5266 006e 02D1 bne .L235
1409:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5267 .loc 1 1409 0
5268 0070 1300 movs r3, r2
5269 0072 0022 movs r2, #0
5270 0074 1A71 strb r2, [r3, #4]
5271 .L235:
1411:./Drivers/BSP/Components/sx1272/sx1272.c ****
5272 .loc 1 1411 0
5273 0076 B048 ldr r0, .L247+4
5274 0078 FFF7FEFF bl TimerStop
5275 .LVL677:
1413:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5276 .loc 1 1413 0
5277 007c AF4B ldr r3, .L247+8
5278 007e 1B68 ldr r3, [r3]
5279 0080 002B cmp r3, #0
5280 0082 CAD0 beq .L217
1413:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5281 .loc 1 1413 0 is_stmt 0 discriminator 1
5282 0084 1B69 ldr r3, [r3, #16]
5283 0086 002B cmp r3, #0
5284 0088 C7D0 beq .L217
1415:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5285 .loc 1 1415 0 is_stmt 1
5286 008a 9847 blx r3
5287 .LVL678:
5288 008c C5E7 b .L217
ARM GAS /tmp/ccwcPdtV.s page 133
5289 .LVL679:
5290 .L221:
5291 .LBE645:
1314:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5292 .loc 1 1314 0
5293 008e A94A ldr r2, .L247
5294 0090 2423 movs r3, #36
5295 0092 D35C ldrb r3, [r2, r3]
5296 0094 002B cmp r3, #0
5297 0096 1ED1 bne .L243
5298 .L223:
1352:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5299 .loc 1 1352 0
5300 0098 A64B ldr r3, .L247
5301 009a 5A8F ldrh r2, [r3, #58]
5302 009c 002A cmp r2, #0
5303 009e 76D1 bne .L227
1352:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5304 .loc 1 1352 0 is_stmt 0 discriminator 1
5305 00a0 9B8F ldrh r3, [r3, #60]
5306 00a2 002B cmp r3, #0
5307 00a4 73D1 bne .L227
1354:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5308 .loc 1 1354 0 is_stmt 1
5309 00a6 A34A ldr r2, .L247
5310 00a8 2233 adds r3, r3, #34
5311 00aa D35C ldrb r3, [r2, r3]
5312 00ac 002B cmp r3, #0
5313 00ae 63D1 bne .L228
5314 .LVL680:
5315 .LBB664:
5316 .LBB665:
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5317 .loc 1 1188 0
5318 00b0 1100 movs r1, r2
5319 00b2 0122 movs r2, #1
5320 00b4 3A31 adds r1, r1, #58
5321 00b6 0020 movs r0, #0
5322 00b8 FFF7FEFF bl SX1272ReadBuffer
5323 .LVL681:
5324 .L229:
5325 .LBE665:
5326 .LBE664:
1362:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.
5327 .loc 1 1362 0
5328 00bc 9D4C ldr r4, .L247
5329 00be A38F ldrh r3, [r4, #60]
5330 00c0 9F49 ldr r1, .L247+12
5331 00c2 5918 adds r1, r3, r1
5332 00c4 628F ldrh r2, [r4, #58]
5333 00c6 D21A subs r2, r2, r3
5334 00c8 D2B2 uxtb r2, r2
5335 .LVL682:
5336 .LBB666:
5337 .LBB667:
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5338 .loc 1 1188 0
ARM GAS /tmp/ccwcPdtV.s page 134
5339 00ca 0020 movs r0, #0
5340 00cc FFF7FEFF bl SX1272ReadBuffer
5341 .LVL683:
5342 .LBE667:
5343 .LBE666:
1363:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5344 .loc 1 1363 0
5345 00d0 638F ldrh r3, [r4, #58]
5346 00d2 A387 strh r3, [r4, #60]
5347 00d4 66E0 b .L230
5348 .L243:
5349 .LVL684:
5350 .LBB668:
5351 .LBB669:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5352 .loc 1 1142 0
5353 00d6 0E24 movs r4, #14
5354 00d8 6C44 add r4, r4, sp
5355 00da 0122 movs r2, #1
5356 00dc 2100 movs r1, r4
5357 00de 3F20 movs r0, #63
5358 00e0 FFF7FEFF bl SX1272ReadBuffer
5359 .LVL685:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5360 .loc 1 1143 0
5361 00e4 2278 ldrb r2, [r4]
5362 .LVL686:
5363 .LBE669:
5364 .LBE668:
1316:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( irqFlags & RF_IRQFLAGS2_CRCOK ) != RF_IRQFLAGS2_CRCOK )
5365 .loc 1 1316 0
5366 00e6 0F23 movs r3, #15
5367 00e8 6B44 add r3, r3, sp
5368 00ea 1A70 strb r2, [r3]
1317:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5369 .loc 1 1317 0
5370 00ec 1B78 ldrb r3, [r3]
5371 00ee 9B07 lsls r3, r3, #30
5372 00f0 D2D4 bmi .L223
5373 .LVL687:
5374 00f2 02A9 add r1, sp, #8
5375 00f4 0B23 movs r3, #11
5376 00f6 0B70 strb r3, [r1]
5377 .LVL688:
5378 .LBB670:
5379 .LBB671:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5380 .loc 1 1136 0
5381 00f8 0122 movs r2, #1
5382 00fa 3E20 movs r0, #62
5383 00fc FFF7FEFF bl SX1272WriteBuffer
5384 .LVL689:
5385 0100 6B46 mov r3, sp
5386 0102 D91D adds r1, r3, #7
5387 0104 1023 movs r3, #16
5388 0106 0B70 strb r3, [r1]
5389 .LVL690:
ARM GAS /tmp/ccwcPdtV.s page 135
5390 .LBE671:
5391 .LBE670:
5392 .LBB672:
5393 .LBB673:
5394 0108 0122 movs r2, #1
5395 010a 3F20 movs r0, #63
5396 010c FFF7FEFF bl SX1272WriteBuffer
5397 .LVL691:
5398 .LBE673:
5399 .LBE672:
1325:./Drivers/BSP/Components/sx1272/sx1272.c ****
5400 .loc 1 1325 0
5401 0110 8948 ldr r0, .L247+4
5402 0112 FFF7FEFF bl TimerStop
5403 .LVL692:
1327:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5404 .loc 1 1327 0
5405 0116 874A ldr r2, .L247
5406 0118 2623 movs r3, #38
5407 011a D35C ldrb r3, [r2, r3]
5408 011c 002B cmp r3, #0
5409 011e 16D1 bne .L224
1329:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.State = RF_IDLE;
5410 .loc 1 1329 0
5411 0120 8848 ldr r0, .L247+16
5412 0122 FFF7FEFF bl TimerStop
5413 .LVL693:
1330:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5414 .loc 1 1330 0
5415 0126 834B ldr r3, .L247
5416 0128 0022 movs r2, #0
5417 012a 1A71 strb r2, [r3, #4]
5418 .L225:
1339:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5419 .loc 1 1339 0
5420 012c 834B ldr r3, .L247+8
5421 012e 1B68 ldr r3, [r3]
5422 0130 002B cmp r3, #0
5423 0132 03D0 beq .L226
1339:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5424 .loc 1 1339 0 is_stmt 0 discriminator 1
5425 0134 1B69 ldr r3, [r3, #16]
5426 0136 002B cmp r3, #0
5427 0138 00D0 beq .L226
1341:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5428 .loc 1 1341 0 is_stmt 1
5429 013a 9847 blx r3
5430 .LVL694:
5431 .L226:
1343:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
5432 .loc 1 1343 0
5433 013c 7D4B ldr r3, .L247
5434 013e 0022 movs r2, #0
5435 0140 3021 movs r1, #48
5436 0142 5A54 strb r2, [r3, r1]
1344:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
5437 .loc 1 1344 0
ARM GAS /tmp/ccwcPdtV.s page 136
5438 0144 0131 adds r1, r1, #1
5439 0146 5A54 strb r2, [r3, r1]
1345:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = 0;
5440 .loc 1 1345 0
5441 0148 9A87 strh r2, [r3, #60]
1346:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
5442 .loc 1 1346 0
5443 014a 5A87 strh r2, [r3, #58]
1347:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5444 .loc 1 1347 0
5445 014c 65E7 b .L217
5446 .L224:
5447 .LVL695:
5448 .LBB674:
5449 .LBB675:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5450 .loc 1 1142 0
5451 014e 0E24 movs r4, #14
5452 0150 6C44 add r4, r4, sp
5453 0152 0122 movs r2, #1
5454 0154 2100 movs r1, r4
5455 0156 0D20 movs r0, #13
5456 0158 FFF7FEFF bl SX1272ReadBuffer
5457 .LVL696:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5458 .loc 1 1143 0
5459 015c 2378 ldrb r3, [r4]
5460 .LVL697:
5461 .LBE675:
5462 .LBE674:
1335:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutSyncWord );
5463 .loc 1 1335 0
5464 015e 4022 movs r2, #64
5465 0160 1343 orrs r3, r2
5466 .LVL698:
5467 0162 0921 movs r1, #9
5468 0164 6944 add r1, r1, sp
5469 0166 0B70 strb r3, [r1]
5470 .LVL699:
5471 .LBB676:
5472 .LBB677:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5473 .loc 1 1136 0
5474 0168 0122 movs r2, #1
5475 016a 0D20 movs r0, #13
5476 016c FFF7FEFF bl SX1272WriteBuffer
5477 .LVL700:
5478 .LBE677:
5479 .LBE676:
1336:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5480 .loc 1 1336 0
5481 0170 7448 ldr r0, .L247+16
5482 0172 FFF7FEFF bl TimerStart
5483 .LVL701:
5484 0176 D9E7 b .L225
5485 .L228:
5486 .LVL702:
ARM GAS /tmp/ccwcPdtV.s page 137
5487 .LBB678:
5488 .LBB679:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5489 .loc 1 1142 0
5490 0178 0E24 movs r4, #14
5491 017a 6C44 add r4, r4, sp
5492 017c 0122 movs r2, #1
5493 017e 2100 movs r1, r4
5494 0180 3220 movs r0, #50
5495 0182 FFF7FEFF bl SX1272ReadBuffer
5496 .LVL703:
5497 .LBE679:
5498 .LBE678:
1360:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5499 .loc 1 1360 0
5500 0186 2278 ldrb r2, [r4]
5501 0188 6A4B ldr r3, .L247
5502 018a 5A87 strh r2, [r3, #58]
5503 018c 96E7 b .L229
5504 .L227:
1367:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.
5505 .loc 1 1367 0
5506 018e 694C ldr r4, .L247
5507 0190 A38F ldrh r3, [r4, #60]
5508 0192 6B49 ldr r1, .L247+12
5509 0194 5918 adds r1, r3, r1
5510 0196 D21A subs r2, r2, r3
5511 0198 D2B2 uxtb r2, r2
5512 .LVL704:
5513 .LBB680:
5514 .LBB681:
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5515 .loc 1 1188 0
5516 019a 0020 movs r0, #0
5517 019c FFF7FEFF bl SX1272ReadBuffer
5518 .LVL705:
5519 .LBE681:
5520 .LBE680:
1368:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5521 .loc 1 1368 0
5522 01a0 638F ldrh r3, [r4, #58]
5523 01a2 A387 strh r3, [r4, #60]
5524 .L230:
1371:./Drivers/BSP/Components/sx1272/sx1272.c ****
5525 .loc 1 1371 0
5526 01a4 6448 ldr r0, .L247+4
5527 01a6 FFF7FEFF bl TimerStop
5528 .LVL706:
1373:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5529 .loc 1 1373 0
5530 01aa 624A ldr r2, .L247
5531 01ac 2623 movs r3, #38
5532 01ae D35C ldrb r3, [r2, r3]
5533 01b0 002B cmp r3, #0
5534 01b2 1CD1 bne .L231
1375:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutSyncWord );
5535 .loc 1 1375 0
ARM GAS /tmp/ccwcPdtV.s page 138
5536 01b4 1300 movs r3, r2
5537 01b6 0022 movs r2, #0
5538 01b8 1A71 strb r2, [r3, #4]
1376:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5539 .loc 1 1376 0
5540 01ba 6248 ldr r0, .L247+16
5541 01bc FFF7FEFF bl TimerStop
5542 .LVL707:
5543 .L232:
1385:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5544 .loc 1 1385 0
5545 01c0 5E4B ldr r3, .L247+8
5546 01c2 1B68 ldr r3, [r3]
5547 01c4 002B cmp r3, #0
5548 01c6 09D0 beq .L233
1385:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5549 .loc 1 1385 0 is_stmt 0 discriminator 1
5550 01c8 9C68 ldr r4, [r3, #8]
5551 01ca 002C cmp r4, #0
5552 01cc 06D0 beq .L233
1387:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5553 .loc 1 1387 0 is_stmt 1
5554 01ce 594B ldr r3, .L247
5555 01d0 3222 movs r2, #50
5556 01d2 9A56 ldrsb r2, [r3, r2]
5557 01d4 598F ldrh r1, [r3, #58]
5558 01d6 0023 movs r3, #0
5559 01d8 5948 ldr r0, .L247+12
5560 01da A047 blx r4
5561 .LVL708:
5562 .L233:
1389:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
5563 .loc 1 1389 0
5564 01dc 554B ldr r3, .L247
5565 01de 0022 movs r2, #0
5566 01e0 3021 movs r1, #48
5567 01e2 5A54 strb r2, [r3, r1]
1390:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
5568 .loc 1 1390 0
5569 01e4 0131 adds r1, r1, #1
5570 01e6 5A54 strb r2, [r3, r1]
1391:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = 0;
5571 .loc 1 1391 0
5572 01e8 9A87 strh r2, [r3, #60]
1392:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
5573 .loc 1 1392 0
5574 01ea 5A87 strh r2, [r3, #58]
1393:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
5575 .loc 1 1393 0
5576 01ec 15E7 b .L217
5577 .L231:
5578 .LVL709:
5579 .LBB682:
5580 .LBB683:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5581 .loc 1 1142 0
5582 01ee 0E24 movs r4, #14
ARM GAS /tmp/ccwcPdtV.s page 139
5583 01f0 6C44 add r4, r4, sp
5584 01f2 0122 movs r2, #1
5585 01f4 2100 movs r1, r4
5586 01f6 0D20 movs r0, #13
5587 01f8 FFF7FEFF bl SX1272ReadBuffer
5588 .LVL710:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5589 .loc 1 1143 0
5590 01fc 2378 ldrb r3, [r4]
5591 .LVL711:
5592 .LBE683:
5593 .LBE682:
1381:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutSyncWord );
5594 .loc 1 1381 0
5595 01fe 4022 movs r2, #64
5596 0200 1343 orrs r3, r2
5597 .LVL712:
5598 0202 0A21 movs r1, #10
5599 0204 6944 add r1, r1, sp
5600 0206 0B70 strb r3, [r1]
5601 .LVL713:
5602 .LBB684:
5603 .LBB685:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5604 .loc 1 1136 0
5605 0208 0122 movs r2, #1
5606 020a 0D20 movs r0, #13
5607 020c FFF7FEFF bl SX1272WriteBuffer
5608 .LVL714:
5609 .LBE685:
5610 .LBE684:
1382:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5611 .loc 1 1382 0
5612 0210 4C48 ldr r0, .L247+16
5613 0212 FFF7FEFF bl TimerStart
5614 .LVL715:
5615 0216 D3E7 b .L232
5616 .LVL716:
5617 .L234:
5618 .LBB686:
5619 .LBB652:
5620 .LBB653:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5621 .loc 1 1142 0
5622 0218 0E24 movs r4, #14
5623 021a 6C44 add r4, r4, sp
5624 021c 0122 movs r2, #1
5625 021e 2100 movs r1, r4
5626 0220 1920 movs r0, #25
5627 0222 FFF7FEFF bl SX1272ReadBuffer
5628 .LVL717:
5629 .LBE653:
5630 .LBE652:
1420:./Drivers/BSP/Components/sx1272/sx1272.c **** if( SX1272.Settings.LoRaPacketHandler.SnrValue & 0x80 ) // The SNR sign bit is
5631 .loc 1 1420 0
5632 0226 0023 movs r3, #0
5633 0228 E356 ldrsb r3, [r4, r3]
ARM GAS /tmp/ccwcPdtV.s page 140
5634 022a 4249 ldr r1, .L247
5635 022c 6022 movs r2, #96
5636 022e 8B54 strb r3, [r1, r2]
1421:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5637 .loc 1 1421 0
5638 0230 002B cmp r3, #0
5639 0232 50DB blt .L244
1430:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5640 .loc 1 1430 0
5641 0234 9B10 asrs r3, r3, #2
5642 0236 3F24 movs r4, #63
5643 0238 1C40 ands r4, r3
5644 .LVL718:
5645 .L237:
5646 .LBB654:
5647 .LBB655:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5648 .loc 1 1142 0
5649 023a 0E25 movs r5, #14
5650 023c 6D44 add r5, r5, sp
5651 023e 0122 movs r2, #1
5652 0240 2900 movs r1, r5
5653 0242 1A20 movs r0, #26
5654 0244 FFF7FEFF bl SX1272ReadBuffer
5655 .LVL719:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5656 .loc 1 1143 0
5657 0248 2A78 ldrb r2, [r5]
5658 .LVL720:
5659 .LBE655:
5660 .LBE654:
1433:./Drivers/BSP/Components/sx1272/sx1272.c **** if( snr < 0 )
5661 .loc 1 1433 0
5662 024a 13B2 sxth r3, r2
5663 .LVL721:
1434:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5664 .loc 1 1434 0
5665 024c 002C cmp r4, #0
5666 024e 48DB blt .L245
1441:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5667 .loc 1 1441 0
5668 0250 1B11 asrs r3, r3, #4
5669 .LVL722:
5670 0252 9B18 adds r3, r3, r2
5671 0254 8B3B subs r3, r3, #139
5672 0256 3749 ldr r1, .L247
5673 0258 6222 movs r2, #98
5674 .LVL723:
5675 025a 8B52 strh r3, [r1, r2]
5676 .L239:
5677 .LVL724:
5678 .LBB656:
5679 .LBB657:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5680 .loc 1 1142 0
5681 025c 0E24 movs r4, #14
5682 .LVL725:
ARM GAS /tmp/ccwcPdtV.s page 141
5683 025e 6C44 add r4, r4, sp
5684 0260 0122 movs r2, #1
5685 0262 2100 movs r1, r4
5686 0264 1320 movs r0, #19
5687 0266 FFF7FEFF bl SX1272ReadBuffer
5688 .LVL726:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5689 .loc 1 1143 0
5690 026a 2378 ldrb r3, [r4]
5691 .LVL727:
5692 .LBE657:
5693 .LBE656:
1444:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( REG_LR_FIFOADDRPTR, SX1272Read( REG_LR_FIFORXCURRENTADDR ) );
5694 .loc 1 1444 0
5695 026c 314D ldr r5, .L247
5696 026e 6426 movs r6, #100
5697 0270 AB55 strb r3, [r5, r6]
5698 .LVL728:
5699 .LBB658:
5700 .LBB659:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
5701 .loc 1 1142 0
5702 0272 0122 movs r2, #1
5703 0274 2100 movs r1, r4
5704 0276 1020 movs r0, #16
5705 0278 FFF7FEFF bl SX1272ReadBuffer
5706 .LVL729:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5707 .loc 1 1143 0
5708 027c 2378 ldrb r3, [r4]
5709 .LVL730:
5710 027e 0D21 movs r1, #13
5711 0280 6944 add r1, r1, sp
5712 0282 0B70 strb r3, [r1]
5713 .LVL731:
5714 .LBE659:
5715 .LBE658:
5716 .LBB660:
5717 .LBB661:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5718 .loc 1 1136 0
5719 0284 0122 movs r2, #1
5720 0286 0D20 movs r0, #13
5721 0288 FFF7FEFF bl SX1272WriteBuffer
5722 .LVL732:
5723 .LBE661:
5724 .LBE660:
1446:./Drivers/BSP/Components/sx1272/sx1272.c ****
5725 .loc 1 1446 0
5726 028c AA5D ldrb r2, [r5, r6]
5727 .LVL733:
5728 .LBB662:
5729 .LBB663:
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5730 .loc 1 1188 0
5731 028e 2C49 ldr r1, .L247+12
5732 0290 0020 movs r0, #0
ARM GAS /tmp/ccwcPdtV.s page 142
5733 0292 FFF7FEFF bl SX1272ReadBuffer
5734 .LVL734:
5735 .LBE663:
5736 .LBE662:
1448:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5737 .loc 1 1448 0
5738 0296 5623 movs r3, #86
5739 0298 EB5C ldrb r3, [r5, r3]
5740 029a 002B cmp r3, #0
5741 029c 02D1 bne .L240
1450:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5742 .loc 1 1450 0
5743 029e 254B ldr r3, .L247
5744 02a0 0022 movs r2, #0
5745 02a2 1A71 strb r2, [r3, #4]
5746 .L240:
1452:./Drivers/BSP/Components/sx1272/sx1272.c ****
5747 .loc 1 1452 0
5748 02a4 2448 ldr r0, .L247+4
5749 02a6 FFF7FEFF bl TimerStop
5750 .LVL735:
1454:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5751 .loc 1 1454 0
5752 02aa 244B ldr r3, .L247+8
5753 02ac 1B68 ldr r3, [r3]
5754 02ae 002B cmp r3, #0
5755 02b0 00D1 bne .LCB5723
5756 02b2 B2E6 b .L217 @long jump
5757 .LCB5723:
1454:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5758 .loc 1 1454 0 is_stmt 0 discriminator 1
5759 02b4 9C68 ldr r4, [r3, #8]
5760 02b6 002C cmp r4, #0
5761 02b8 00D1 bne .LCB5726
5762 02ba AEE6 b .L217 @long jump
5763 .LCB5726:
1456:./Drivers/BSP/Components/sx1272/sx1272.c **** PRINTF( "rxDone\n\r" );
5764 .loc 1 1456 0 is_stmt 1
5765 02bc 1D49 ldr r1, .L247
5766 02be 6023 movs r3, #96
5767 02c0 CB56 ldrsb r3, [r1, r3]
5768 02c2 6222 movs r2, #98
5769 02c4 8A5E ldrsh r2, [r1, r2]
5770 02c6 6420 movs r0, #100
5771 02c8 095C ldrb r1, [r1, r0]
5772 02ca 1D48 ldr r0, .L247+12
5773 02cc A047 blx r4
5774 .LVL736:
1457:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5775 .loc 1 1457 0
5776 02ce 1E48 ldr r0, .L247+20
5777 02d0 FFF7FEFF bl vcom_Send
5778 .LVL737:
5779 02d4 A1E6 b .L217
5780 .LVL738:
5781 .L244:
1424:./Drivers/BSP/Components/sx1272/sx1272.c **** snr = -snr;
ARM GAS /tmp/ccwcPdtV.s page 143
5782 .loc 1 1424 0
5783 02d6 5B42 rsbs r3, r3, #0
5784 02d8 9B10 asrs r3, r3, #2
5785 02da 3F24 movs r4, #63
5786 02dc 1C40 ands r4, r3
5787 .LVL739:
1425:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5788 .loc 1 1425 0
5789 02de 6442 rsbs r4, r4, #0
5790 .LVL740:
5791 02e0 ABE7 b .L237
5792 .LVL741:
5793 .L245:
1436:./Drivers/BSP/Components/sx1272/sx1272.c **** snr;
5794 .loc 1 1436 0
5795 02e2 1B11 asrs r3, r3, #4
5796 .LVL742:
5797 02e4 9B18 adds r3, r3, r2
5798 02e6 1B19 adds r3, r3, r4
5799 02e8 8B3B subs r3, r3, #139
5800 02ea 1249 ldr r1, .L247
5801 02ec 6222 movs r2, #98
5802 .LVL743:
5803 02ee 8B52 strh r3, [r1, r2]
5804 02f0 B4E7 b .L239
5805 .LVL744:
5806 .L220:
5807 .LBE686:
1466:./Drivers/BSP/Components/sx1272/sx1272.c **** // TxDone interrupt
5808 .loc 1 1466 0
5809 02f2 1648 ldr r0, .L247+24
5810 02f4 FFF7FEFF bl TimerStop
5811 .LVL745:
1468:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5812 .loc 1 1468 0
5813 02f8 0E4B ldr r3, .L247
5814 02fa 5B79 ldrb r3, [r3, #5]
5815 02fc 012B cmp r3, #1
5816 02fe 10D0 beq .L246
5817 .L241:
1476:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->TxDone != NULL ) )
5818 .loc 1 1476 0
5819 0300 0C4B ldr r3, .L247
5820 0302 0022 movs r2, #0
5821 0304 1A71 strb r2, [r3, #4]
1477:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5822 .loc 1 1477 0
5823 0306 0D4B ldr r3, .L247+8
5824 0308 1B68 ldr r3, [r3]
5825 030a 002B cmp r3, #0
5826 030c 00D1 bne .LCB5797
5827 030e 84E6 b .L217 @long jump
5828 .LCB5797:
1477:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5829 .loc 1 1477 0 is_stmt 0 discriminator 1
5830 0310 1B68 ldr r3, [r3]
5831 0312 002B cmp r3, #0
ARM GAS /tmp/ccwcPdtV.s page 144
5832 0314 00D1 bne .LCB5800
5833 0316 80E6 b .L217 @long jump
5834 .LCB5800:
1479:./Drivers/BSP/Components/sx1272/sx1272.c **** PRINTF( "txDone\n\r" );
5835 .loc 1 1479 0 is_stmt 1
5836 0318 9847 blx r3
5837 .LVL746:
1480:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5838 .loc 1 1480 0
5839 031a 0D48 ldr r0, .L247+28
5840 031c FFF7FEFF bl vcom_Send
5841 .LVL747:
1488:./Drivers/BSP/Components/sx1272/sx1272.c ****
5842 .loc 1 1488 0
5843 0320 7BE6 b .L217
5844 .L246:
5845 .LVL748:
5846 0322 0E21 movs r1, #14
5847 0324 6944 add r1, r1, sp
5848 0326 0733 adds r3, r3, #7
5849 0328 0B70 strb r3, [r1]
5850 .LVL749:
5851 .LBB687:
5852 .LBB688:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5853 .loc 1 1136 0
5854 032a 0122 movs r2, #1
5855 032c 1220 movs r0, #18
5856 032e FFF7FEFF bl SX1272WriteBuffer
5857 .LVL750:
5858 0332 E5E7 b .L241
5859 .L248:
5860 .align 2
5861 .L247:
5862 0334 00000000 .word .LANCHOR0
5863 0338 00000000 .word .LANCHOR2
5864 033c 00000000 .word .LANCHOR5
5865 0340 00000000 .word RxTxBuffer
5866 0344 00000000 .word .LANCHOR4
5867 0348 00000000 .word .LC47
5868 034c 00000000 .word .LANCHOR3
5869 0350 0C000000 .word .LC50
5870 .LBE688:
5871 .LBE687:
5872 .cfi_endproc
5873 .LFE127:
5875 .section .text.SX1272OnDio1Irq,"ax",%progbits
5876 .align 1
5877 .global SX1272OnDio1Irq
5878 .syntax unified
5879 .code 16
5880 .thumb_func
5881 .fpu softvfp
5883 SX1272OnDio1Irq:
5884 .LFB128:
1491:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.State )
5885 .loc 1 1491 0
ARM GAS /tmp/ccwcPdtV.s page 145
5886 .cfi_startproc
5887 @ args = 0, pretend = 0, frame = 8
5888 @ frame_needed = 0, uses_anonymous_args = 0
5889 0000 10B5 push {r4, lr}
5890 .LCFI47:
5891 .cfi_def_cfa_offset 8
5892 .cfi_offset 4, -8
5893 .cfi_offset 14, -4
5894 0002 82B0 sub sp, sp, #8
5895 .LCFI48:
5896 .cfi_def_cfa_offset 16
1492:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5897 .loc 1 1492 0
5898 0004 434B ldr r3, .L261
5899 0006 1B79 ldrb r3, [r3, #4]
5900 0008 012B cmp r3, #1
5901 000a 03D0 beq .L251
5902 000c 022B cmp r3, #2
5903 000e 5ED0 beq .L252
5904 .L249:
1566:./Drivers/BSP/Components/sx1272/sx1272.c ****
5905 .loc 1 1566 0
5906 0010 02B0 add sp, sp, #8
5907 @ sp needed
5908 0012 10BD pop {r4, pc}
5909 .L251:
1495:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5910 .loc 1 1495 0
5911 0014 3F4B ldr r3, .L261
5912 0016 5B79 ldrb r3, [r3, #5]
5913 0018 002B cmp r3, #0
5914 001a 1BD0 beq .L253
5915 001c 012B cmp r3, #1
5916 001e F7D1 bne .L249
1525:./Drivers/BSP/Components/sx1272/sx1272.c **** // Clear Irq
5917 .loc 1 1525 0
5918 0020 3D48 ldr r0, .L261+4
5919 0022 FFF7FEFF bl TimerStop
5920 .LVL751:
5921 0026 6B46 mov r3, sp
5922 0028 D91D adds r1, r3, #7
5923 002a 8023 movs r3, #128
5924 002c 0B70 strb r3, [r1]
5925 .LVL752:
5926 .LBB689:
5927 .LBB690:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5928 .loc 1 1136 0
5929 002e 0122 movs r2, #1
5930 0030 1220 movs r0, #18
5931 0032 FFF7FEFF bl SX1272WriteBuffer
5932 .LVL753:
5933 .LBE690:
5934 .LBE689:
1529:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->RxTimeout != NULL ) )
5935 .loc 1 1529 0
5936 0036 374B ldr r3, .L261
ARM GAS /tmp/ccwcPdtV.s page 146
5937 0038 0022 movs r2, #0
5938 003a 1A71 strb r2, [r3, #4]
1530:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5939 .loc 1 1530 0
5940 003c 374B ldr r3, .L261+8
5941 003e 1B68 ldr r3, [r3]
5942 0040 002B cmp r3, #0
5943 0042 E5D0 beq .L249
1530:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5944 .loc 1 1530 0 is_stmt 0 discriminator 1
5945 0044 DB68 ldr r3, [r3, #12]
5946 0046 002B cmp r3, #0
5947 0048 E2D0 beq .L249
1532:./Drivers/BSP/Components/sx1272/sx1272.c **** PRINTF( "rxTimeOut\n\r" );
5948 .loc 1 1532 0 is_stmt 1
5949 004a 9847 blx r3
5950 .LVL754:
1533:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5951 .loc 1 1533 0
5952 004c 3448 ldr r0, .L261+12
5953 004e FFF7FEFF bl vcom_Send
5954 .LVL755:
5955 0052 DDE7 b .L249
5956 .L253:
1500:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5957 .loc 1 1500 0
5958 0054 2F4B ldr r3, .L261
5959 0056 5B8F ldrh r3, [r3, #58]
5960 0058 002B cmp r3, #0
5961 005a 0ED1 bne .L255
1500:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5962 .loc 1 1500 0 is_stmt 0 discriminator 1
5963 005c 2D4B ldr r3, .L261
5964 005e 9B8F ldrh r3, [r3, #60]
5965 0060 002B cmp r3, #0
5966 0062 0AD1 bne .L255
1502:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5967 .loc 1 1502 0 is_stmt 1
5968 0064 2B4A ldr r2, .L261
5969 0066 2233 adds r3, r3, #34
5970 0068 D35C ldrb r3, [r2, r3]
5971 006a 002B cmp r3, #0
5972 006c 19D1 bne .L256
5973 .LVL756:
5974 .LBB691:
5975 .LBB692:
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** }
5976 .loc 1 1188 0
5977 006e 1100 movs r1, r2
5978 0070 0122 movs r2, #1
5979 0072 3A31 adds r1, r1, #58
5980 0074 0020 movs r0, #0
5981 0076 FFF7FEFF bl SX1272ReadBuffer
5982 .LVL757:
5983 .L255:
5984 .LBE692:
5985 .LBE691:
ARM GAS /tmp/ccwcPdtV.s page 147
1512:./Drivers/BSP/Components/sx1272/sx1272.c **** {
5986 .loc 1 1512 0
5987 007a 264A ldr r2, .L261
5988 007c 538F ldrh r3, [r2, #58]
5989 007e 908F ldrh r0, [r2, #60]
5990 0080 191A subs r1, r3, r0
5991 0082 3E24 movs r4, #62
5992 0084 125D ldrb r2, [r2, r4]
5993 0086 9142 cmp r1, r2
5994 0088 16DD ble .L257
1514:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.Fi
5995 .loc 1 1514 0
5996 008a 2649 ldr r1, .L261+16
5997 008c 4118 adds r1, r0, r1
5998 .LVL758:
5999 .LBB693:
6000 .LBB694:
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6001 .loc 1 1188 0
6002 008e 0020 movs r0, #0
6003 0090 FFF7FEFF bl SX1272ReadBuffer
6004 .LVL759:
6005 .LBE694:
6006 .LBE693:
1515:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6007 .loc 1 1515 0
6008 0094 1F4B ldr r3, .L261
6009 0096 3E22 movs r2, #62
6010 0098 9A5C ldrb r2, [r3, r2]
6011 009a 998F ldrh r1, [r3, #60]
6012 009c 5218 adds r2, r2, r1
6013 009e 9A87 strh r2, [r3, #60]
6014 00a0 B6E7 b .L249
6015 .L256:
6016 .LVL760:
6017 .LBB695:
6018 .LBB696:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
6019 .loc 1 1142 0
6020 00a2 6B46 mov r3, sp
6021 00a4 DC1D adds r4, r3, #7
6022 00a6 0122 movs r2, #1
6023 00a8 2100 movs r1, r4
6024 00aa 3220 movs r0, #50
6025 00ac FFF7FEFF bl SX1272ReadBuffer
6026 .LVL761:
6027 .LBE696:
6028 .LBE695:
1508:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6029 .loc 1 1508 0
6030 00b0 2278 ldrb r2, [r4]
6031 00b2 184B ldr r3, .L261
6032 00b4 5A87 strh r2, [r3, #58]
6033 00b6 E0E7 b .L255
6034 .L257:
1519:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += ( SX1272.Settings.FskPacketHandler.
6035 .loc 1 1519 0
ARM GAS /tmp/ccwcPdtV.s page 148
6036 00b8 1A49 ldr r1, .L261+16
6037 00ba 4118 adds r1, r0, r1
6038 00bc 1A1A subs r2, r3, r0
6039 00be D2B2 uxtb r2, r2
6040 .LVL762:
6041 .LBB697:
6042 .LBB698:
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6043 .loc 1 1188 0
6044 00c0 0020 movs r0, #0
6045 00c2 FFF7FEFF bl SX1272ReadBuffer
6046 .LVL763:
6047 .LBE698:
6048 .LBE697:
1520:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6049 .loc 1 1520 0
6050 00c6 134B ldr r3, .L261
6051 00c8 5A8F ldrh r2, [r3, #58]
6052 00ca 9A87 strh r2, [r3, #60]
6053 00cc A0E7 b .L249
6054 .L252:
1541:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6055 .loc 1 1541 0
6056 00ce 114B ldr r3, .L261
6057 00d0 5B79 ldrb r3, [r3, #5]
6058 00d2 002B cmp r3, #0
6059 00d4 9CD1 bne .L249
1545:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6060 .loc 1 1545 0
6061 00d6 0F4A ldr r2, .L261
6062 00d8 538F ldrh r3, [r2, #58]
6063 00da 908F ldrh r0, [r2, #60]
6064 00dc 191A subs r1, r3, r0
6065 00de 3F24 movs r4, #63
6066 00e0 125D ldrb r2, [r2, r4]
6067 00e2 9142 cmp r1, r2
6068 00e4 0ADC bgt .L260
1553:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.Si
6069 .loc 1 1553 0
6070 00e6 0F49 ldr r1, .L261+16
6071 00e8 4118 adds r1, r0, r1
6072 00ea 1A1A subs r2, r3, r0
6073 00ec D2B2 uxtb r2, r2
6074 .LVL764:
6075 .LBB699:
6076 .LBB700:
1183:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6077 .loc 1 1183 0
6078 00ee 0020 movs r0, #0
6079 00f0 FFF7FEFF bl SX1272WriteBuffer
6080 .LVL765:
6081 .LBE700:
6082 .LBE699:
1554:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6083 .loc 1 1554 0
6084 00f4 074B ldr r3, .L261
6085 00f6 5A8F ldrh r2, [r3, #58]
ARM GAS /tmp/ccwcPdtV.s page 149
6086 00f8 9A87 strh r2, [r3, #60]
1566:./Drivers/BSP/Components/sx1272/sx1272.c ****
6087 .loc 1 1566 0
6088 00fa 89E7 b .L249
6089 .L260:
1547:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes += SX1272.Settings.FskPacketHandler.Ch
6090 .loc 1 1547 0
6091 00fc 0949 ldr r1, .L261+16
6092 00fe 4118 adds r1, r0, r1
6093 .LVL766:
6094 .LBB701:
6095 .LBB702:
1183:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6096 .loc 1 1183 0
6097 0100 0020 movs r0, #0
6098 0102 FFF7FEFF bl SX1272WriteBuffer
6099 .LVL767:
6100 .LBE702:
6101 .LBE701:
1548:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6102 .loc 1 1548 0
6103 0106 034B ldr r3, .L261
6104 0108 3F22 movs r2, #63
6105 010a 9A5C ldrb r2, [r3, r2]
6106 010c 998F ldrh r1, [r3, #60]
6107 010e 5218 adds r2, r2, r1
6108 0110 9A87 strh r2, [r3, #60]
6109 0112 7DE7 b .L249
6110 .L262:
6111 .align 2
6112 .L261:
6113 0114 00000000 .word .LANCHOR0
6114 0118 00000000 .word .LANCHOR2
6115 011c 00000000 .word .LANCHOR5
6116 0120 00000000 .word .LC56
6117 0124 00000000 .word RxTxBuffer
6118 .cfi_endproc
6119 .LFE128:
6121 .section .text.SX1272WriteFifo,"ax",%progbits
6122 .align 1
6123 .global SX1272WriteFifo
6124 .syntax unified
6125 .code 16
6126 .thumb_func
6127 .fpu softvfp
6129 SX1272WriteFifo:
6130 .LFB121:
1182:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272WriteBuffer( 0, buffer, size );
6131 .loc 1 1182 0
6132 .cfi_startproc
6133 @ args = 0, pretend = 0, frame = 0
6134 @ frame_needed = 0, uses_anonymous_args = 0
6135 .LVL768:
6136 0000 10B5 push {r4, lr}
6137 .LCFI49:
6138 .cfi_def_cfa_offset 8
6139 .cfi_offset 4, -8
ARM GAS /tmp/ccwcPdtV.s page 150
6140 .cfi_offset 14, -4
6141 0002 0A00 movs r2, r1
1183:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6142 .loc 1 1183 0
6143 0004 0100 movs r1, r0
6144 .LVL769:
6145 0006 0020 movs r0, #0
6146 .LVL770:
6147 0008 FFF7FEFF bl SX1272WriteBuffer
6148 .LVL771:
1184:./Drivers/BSP/Components/sx1272/sx1272.c ****
6149 .loc 1 1184 0
6150 @ sp needed
6151 000c 10BD pop {r4, pc}
6152 .cfi_endproc
6153 .LFE121:
6155 .section .text.SX1272ReadFifo,"ax",%progbits
6156 .align 1
6157 .global SX1272ReadFifo
6158 .syntax unified
6159 .code 16
6160 .thumb_func
6161 .fpu softvfp
6163 SX1272ReadFifo:
6164 .LFB122:
1187:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272ReadBuffer( 0, buffer, size );
6165 .loc 1 1187 0
6166 .cfi_startproc
6167 @ args = 0, pretend = 0, frame = 0
6168 @ frame_needed = 0, uses_anonymous_args = 0
6169 .LVL772:
6170 0000 10B5 push {r4, lr}
6171 .LCFI50:
6172 .cfi_def_cfa_offset 8
6173 .cfi_offset 4, -8
6174 .cfi_offset 14, -4
6175 0002 0A00 movs r2, r1
1188:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6176 .loc 1 1188 0
6177 0004 0100 movs r1, r0
6178 .LVL773:
6179 0006 0020 movs r0, #0
6180 .LVL774:
6181 0008 FFF7FEFF bl SX1272ReadBuffer
6182 .LVL775:
1189:./Drivers/BSP/Components/sx1272/sx1272.c ****
6183 .loc 1 1189 0
6184 @ sp needed
6185 000c 10BD pop {r4, pc}
6186 .cfi_endproc
6187 .LFE122:
6189 .section .text.SX1272SetMaxPayloadLength,"ax",%progbits
6190 .align 1
6191 .global SX1272SetMaxPayloadLength
6192 .syntax unified
6193 .code 16
6194 .thumb_func
ARM GAS /tmp/ccwcPdtV.s page 151
6195 .fpu softvfp
6197 SX1272SetMaxPayloadLength:
6198 .LFB123:
1192:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( modem );
6199 .loc 1 1192 0
6200 .cfi_startproc
6201 @ args = 0, pretend = 0, frame = 8
6202 @ frame_needed = 0, uses_anonymous_args = 0
6203 .LVL776:
6204 0000 30B5 push {r4, r5, lr}
6205 .LCFI51:
6206 .cfi_def_cfa_offset 12
6207 .cfi_offset 4, -12
6208 .cfi_offset 5, -8
6209 .cfi_offset 14, -4
6210 0002 83B0 sub sp, sp, #12
6211 .LCFI52:
6212 .cfi_def_cfa_offset 24
6213 0004 0400 movs r4, r0
6214 0006 0D00 movs r5, r1
1193:./Drivers/BSP/Components/sx1272/sx1272.c ****
6215 .loc 1 1193 0
6216 0008 FFF7FEFF bl SX1272SetModem
6217 .LVL777:
1195:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6218 .loc 1 1195 0
6219 000c 002C cmp r4, #0
6220 000e 03D0 beq .L267
6221 0010 012C cmp r4, #1
6222 0012 0ED0 beq .L268
6223 .L265:
1207:./Drivers/BSP/Components/sx1272/sx1272.c ****
6224 .loc 1 1207 0
6225 0014 03B0 add sp, sp, #12
6226 @ sp needed
6227 0016 30BD pop {r4, r5, pc}
6228 .L267:
1198:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6229 .loc 1 1198 0
6230 0018 0A4A ldr r2, .L269
6231 001a 2223 movs r3, #34
6232 001c D35C ldrb r3, [r2, r3]
6233 001e 002B cmp r3, #0
6234 0020 F8D1 bne .L265
6235 .LVL778:
6236 0022 6B46 mov r3, sp
6237 0024 991D adds r1, r3, #6
6238 0026 0D70 strb r5, [r1]
6239 .LVL779:
6240 .LBB703:
6241 .LBB704:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6242 .loc 1 1136 0
6243 0028 0122 movs r2, #1
6244 002a 3220 movs r0, #50
6245 002c FFF7FEFF bl SX1272WriteBuffer
6246 .LVL780:
ARM GAS /tmp/ccwcPdtV.s page 152
6247 0030 F0E7 b .L265
6248 .LVL781:
6249 .L268:
6250 0032 6B46 mov r3, sp
6251 0034 D91D adds r1, r3, #7
6252 0036 0D70 strb r5, [r1]
6253 .LVL782:
6254 .LBE704:
6255 .LBE703:
6256 .LBB705:
6257 .LBB706:
6258 0038 0122 movs r2, #1
6259 003a 2320 movs r0, #35
6260 003c FFF7FEFF bl SX1272WriteBuffer
6261 .LVL783:
6262 .LBE706:
6263 .LBE705:
1207:./Drivers/BSP/Components/sx1272/sx1272.c ****
6264 .loc 1 1207 0
6265 0040 E8E7 b .L265
6266 .L270:
6267 0042 C046 .align 2
6268 .L269:
6269 0044 00000000 .word .LANCHOR0
6270 .cfi_endproc
6271 .LFE123:
6273 .section .text.SX1272SetPublicNetwork,"ax",%progbits
6274 .align 1
6275 .global SX1272SetPublicNetwork
6276 .syntax unified
6277 .code 16
6278 .thumb_func
6279 .fpu softvfp
6281 SX1272SetPublicNetwork:
6282 .LFB124:
1210:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272SetModem( MODEM_LORA );
6283 .loc 1 1210 0
6284 .cfi_startproc
6285 @ args = 0, pretend = 0, frame = 8
6286 @ frame_needed = 0, uses_anonymous_args = 0
6287 .LVL784:
6288 0000 10B5 push {r4, lr}
6289 .LCFI53:
6290 .cfi_def_cfa_offset 8
6291 .cfi_offset 4, -8
6292 .cfi_offset 14, -4
6293 0002 82B0 sub sp, sp, #8
6294 .LCFI54:
6295 .cfi_def_cfa_offset 16
6296 0004 0400 movs r4, r0
1211:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.LoRa.PublicNetwork = enable;
6297 .loc 1 1211 0
6298 0006 0120 movs r0, #1
6299 .LVL785:
6300 0008 FFF7FEFF bl SX1272SetModem
6301 .LVL786:
1212:./Drivers/BSP/Components/sx1272/sx1272.c **** if( enable == true )
ARM GAS /tmp/ccwcPdtV.s page 153
6302 .loc 1 1212 0
6303 000c 0B4A ldr r2, .L275
6304 000e 5C23 movs r3, #92
6305 0010 D454 strb r4, [r2, r3]
1213:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6306 .loc 1 1213 0
6307 0012 002C cmp r4, #0
6308 0014 09D1 bne .L274
6309 .LVL787:
6310 0016 6B46 mov r3, sp
6311 0018 D91D adds r1, r3, #7
6312 001a 1223 movs r3, #18
6313 001c 0B70 strb r3, [r1]
6314 .LVL788:
6315 .LBB707:
6316 .LBB708:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6317 .loc 1 1136 0
6318 001e 0122 movs r2, #1
6319 0020 3920 movs r0, #57
6320 0022 FFF7FEFF bl SX1272WriteBuffer
6321 .LVL789:
6322 .L271:
6323 .LBE708:
6324 .LBE707:
1223:./Drivers/BSP/Components/sx1272/sx1272.c ****
6325 .loc 1 1223 0
6326 0026 02B0 add sp, sp, #8
6327 @ sp needed
6328 0028 10BD pop {r4, pc}
6329 .L274:
6330 .LVL790:
6331 002a 6B46 mov r3, sp
6332 002c 991D adds r1, r3, #6
6333 002e 3423 movs r3, #52
6334 0030 0B70 strb r3, [r1]
6335 .LVL791:
6336 .LBB709:
6337 .LBB710:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6338 .loc 1 1136 0
6339 0032 0122 movs r2, #1
6340 0034 3920 movs r0, #57
6341 0036 FFF7FEFF bl SX1272WriteBuffer
6342 .LVL792:
6343 003a F4E7 b .L271
6344 .L276:
6345 .align 2
6346 .L275:
6347 003c 00000000 .word .LANCHOR0
6348 .LBE710:
6349 .LBE709:
6350 .cfi_endproc
6351 .LFE124:
6353 .section .text.SX1272OnTimeoutIrq,"ax",%progbits
6354 .align 1
6355 .global SX1272OnTimeoutIrq
ARM GAS /tmp/ccwcPdtV.s page 154
6356 .syntax unified
6357 .code 16
6358 .thumb_func
6359 .fpu softvfp
6361 SX1272OnTimeoutIrq:
6362 .LFB126:
1231:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.State )
6363 .loc 1 1231 0
6364 .cfi_startproc
6365 @ args = 0, pretend = 0, frame = 8
6366 @ frame_needed = 0, uses_anonymous_args = 0
6367 0000 70B5 push {r4, r5, r6, lr}
6368 .LCFI55:
6369 .cfi_def_cfa_offset 16
6370 .cfi_offset 4, -16
6371 .cfi_offset 5, -12
6372 .cfi_offset 6, -8
6373 .cfi_offset 14, -4
6374 0002 82B0 sub sp, sp, #8
6375 .LCFI56:
6376 .cfi_def_cfa_offset 24
1232:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6377 .loc 1 1232 0
6378 0004 3C4B ldr r3, .L286
6379 0006 1B79 ldrb r3, [r3, #4]
6380 0008 012B cmp r3, #1
6381 000a 03D0 beq .L279
6382 000c 022B cmp r3, #2
6383 000e 44D0 beq .L280
6384 .L277:
1300:./Drivers/BSP/Components/sx1272/sx1272.c ****
6385 .loc 1 1300 0
6386 0010 02B0 add sp, sp, #8
6387 @ sp needed
6388 0012 70BD pop {r4, r5, r6, pc}
6389 .L279:
1235:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6390 .loc 1 1235 0
6391 0014 384B ldr r3, .L286
6392 0016 5B79 ldrb r3, [r3, #5]
6393 0018 002B cmp r3, #0
6394 001a 08D0 beq .L285
6395 .L281:
1260:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6396 .loc 1 1260 0
6397 001c 374B ldr r3, .L286+4
6398 001e 1B68 ldr r3, [r3]
6399 0020 002B cmp r3, #0
6400 0022 F5D0 beq .L277
1260:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6401 .loc 1 1260 0 is_stmt 0 discriminator 1
6402 0024 DB68 ldr r3, [r3, #12]
6403 0026 002B cmp r3, #0
6404 0028 F2D0 beq .L277
1262:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6405 .loc 1 1262 0 is_stmt 1
6406 002a 9847 blx r3
ARM GAS /tmp/ccwcPdtV.s page 155
6407 .LVL793:
6408 002c F0E7 b .L277
6409 .L285:
1237:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.SyncWordDetected = false;
6410 .loc 1 1237 0
6411 002e 324C ldr r4, .L286
6412 0030 3022 movs r2, #48
6413 0032 A354 strb r3, [r4, r2]
1238:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.NbBytes = 0;
6414 .loc 1 1238 0
6415 0034 0132 adds r2, r2, #1
6416 0036 A354 strb r3, [r4, r2]
1239:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272.Settings.FskPacketHandler.Size = 0;
6417 .loc 1 1239 0
6418 0038 A387 strh r3, [r4, #60]
1240:./Drivers/BSP/Components/sx1272/sx1272.c ****
6419 .loc 1 1240 0
6420 003a 6387 strh r3, [r4, #58]
6421 .LVL794:
6422 003c 6B46 mov r3, sp
6423 003e 591D adds r1, r3, #5
6424 0040 0B23 movs r3, #11
6425 0042 0B70 strb r3, [r1]
6426 .LVL795:
6427 .LBB711:
6428 .LBB712:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6429 .loc 1 1136 0
6430 0044 303A subs r2, r2, #48
6431 0046 3E20 movs r0, #62
6432 0048 FFF7FEFF bl SX1272WriteBuffer
6433 .LVL796:
6434 004c 01A9 add r1, sp, #4
6435 004e 1023 movs r3, #16
6436 0050 0B70 strb r3, [r1]
6437 .LVL797:
6438 .LBE712:
6439 .LBE711:
6440 .LBB713:
6441 .LBB714:
6442 0052 0122 movs r2, #1
6443 0054 3F20 movs r0, #63
6444 0056 FFF7FEFF bl SX1272WriteBuffer
6445 .LVL798:
6446 .LBE714:
6447 .LBE713:
1248:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6448 .loc 1 1248 0
6449 005a 2623 movs r3, #38
6450 005c E35C ldrb r3, [r4, r3]
6451 005e 002B cmp r3, #0
6452 0060 14D0 beq .L282
6453 .LVL799:
6454 .LBB715:
6455 .LBB716:
1142:./Drivers/BSP/Components/sx1272/sx1272.c **** return data;
6456 .loc 1 1142 0
ARM GAS /tmp/ccwcPdtV.s page 156
6457 0062 6B46 mov r3, sp
6458 0064 DC1D adds r4, r3, #7
6459 0066 0122 movs r2, #1
6460 0068 2100 movs r1, r4
6461 006a 0D20 movs r0, #13
6462 006c FFF7FEFF bl SX1272ReadBuffer
6463 .LVL800:
1143:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6464 .loc 1 1143 0
6465 0070 2378 ldrb r3, [r4]
6466 .LVL801:
6467 .LBE716:
6468 .LBE715:
1251:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStart( &RxTimeoutSyncWord );
6469 .loc 1 1251 0
6470 0072 4022 movs r2, #64
6471 0074 1343 orrs r3, r2
6472 .LVL802:
6473 0076 6A46 mov r2, sp
6474 0078 911D adds r1, r2, #6
6475 007a 0B70 strb r3, [r1]
6476 .LVL803:
6477 .LBB717:
6478 .LBB718:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6479 .loc 1 1136 0
6480 007c 0122 movs r2, #1
6481 007e 0D20 movs r0, #13
6482 0080 FFF7FEFF bl SX1272WriteBuffer
6483 .LVL804:
6484 .LBE718:
6485 .LBE717:
1252:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6486 .loc 1 1252 0
6487 0084 1E48 ldr r0, .L286+8
6488 0086 FFF7FEFF bl TimerStart
6489 .LVL805:
6490 008a C7E7 b .L281
6491 .L282:
1256:./Drivers/BSP/Components/sx1272/sx1272.c **** TimerStop( &RxTimeoutSyncWord );
6492 .loc 1 1256 0
6493 008c 1A4B ldr r3, .L286
6494 008e 0022 movs r2, #0
6495 0090 1A71 strb r2, [r3, #4]
1257:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6496 .loc 1 1257 0
6497 0092 1B48 ldr r0, .L286+8
6498 0094 FFF7FEFF bl TimerStop
6499 .LVL806:
6500 0098 C0E7 b .L281
6501 .L280:
1275:./Drivers/BSP/Components/sx1272/sx1272.c ****
6502 .loc 1 1275 0
6503 009a FFF7FEFF bl SX1272Reset
6504 .LVL807:
1278:./Drivers/BSP/Components/sx1272/sx1272.c ****
6505 .loc 1 1278 0
ARM GAS /tmp/ccwcPdtV.s page 157
6506 009e 0020 movs r0, #0
6507 00a0 FFF7FEFF bl SX1272SetOpMode
6508 .LVL808:
6509 .LBB719:
1280:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6510 .loc 1 1280 0
6511 00a4 0024 movs r4, #0
6512 00a6 10E0 b .L283
6513 .LVL809:
6514 .L284:
1282:./Drivers/BSP/Components/sx1272/sx1272.c **** SX1272Write( RadioRegsInit[i].Addr, RadioRegsInit[i].Value );
6515 .loc 1 1282 0 discriminator 3
6516 00a8 164D ldr r5, .L286+12
6517 00aa 6600 lsls r6, r4, #1
6518 00ac 3619 adds r6, r6, r4
6519 00ae 705D ldrb r0, [r6, r5]
6520 00b0 FFF7FEFF bl SX1272SetModem
6521 .LVL810:
1283:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6522 .loc 1 1283 0 discriminator 3
6523 00b4 AD19 adds r5, r5, r6
6524 00b6 6878 ldrb r0, [r5, #1]
6525 00b8 AB78 ldrb r3, [r5, #2]
6526 .LVL811:
6527 00ba 6A46 mov r2, sp
6528 00bc D11D adds r1, r2, #7
6529 00be 0B70 strb r3, [r1]
6530 .LVL812:
6531 .LBB720:
6532 .LBB721:
1136:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6533 .loc 1 1136 0 discriminator 3
6534 00c0 0122 movs r2, #1
6535 00c2 FFF7FEFF bl SX1272WriteBuffer
6536 .LVL813:
6537 .LBE721:
6538 .LBE720:
1280:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6539 .loc 1 1280 0 discriminator 3
6540 00c6 0134 adds r4, r4, #1
6541 .LVL814:
6542 00c8 E4B2 uxtb r4, r4
6543 .LVL815:
6544 .L283:
1280:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6545 .loc 1 1280 0 is_stmt 0 discriminator 1
6546 00ca 102C cmp r4, #16
6547 00cc ECD9 bls .L284
6548 .LBE719:
1285:./Drivers/BSP/Components/sx1272/sx1272.c ****
6549 .loc 1 1285 0 is_stmt 1
6550 00ce 0020 movs r0, #0
6551 00d0 FFF7FEFF bl SX1272SetModem
6552 .LVL816:
1288:./Drivers/BSP/Components/sx1272/sx1272.c **** // END WORKAROUND
6553 .loc 1 1288 0
6554 00d4 084C ldr r4, .L286
ARM GAS /tmp/ccwcPdtV.s page 158
6555 .LVL817:
6556 00d6 5C23 movs r3, #92
6557 00d8 E05C ldrb r0, [r4, r3]
6558 00da FFF7FEFF bl SX1272SetPublicNetwork
6559 .LVL818:
1291:./Drivers/BSP/Components/sx1272/sx1272.c **** if( ( RadioEvents != NULL ) && ( RadioEvents->TxTimeout != NULL ) )
6560 .loc 1 1291 0
6561 00de 0023 movs r3, #0
6562 00e0 2371 strb r3, [r4, #4]
1292:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6563 .loc 1 1292 0
6564 00e2 064B ldr r3, .L286+4
6565 00e4 1B68 ldr r3, [r3]
6566 00e6 002B cmp r3, #0
6567 00e8 00D1 bne .LCB6500
6568 00ea 91E7 b .L277 @long jump
6569 .LCB6500:
1292:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6570 .loc 1 1292 0 is_stmt 0 discriminator 1
6571 00ec 5B68 ldr r3, [r3, #4]
6572 00ee 002B cmp r3, #0
6573 00f0 00D1 bne .LCB6503
6574 00f2 8DE7 b .L277 @long jump
6575 .LCB6503:
1294:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6576 .loc 1 1294 0 is_stmt 1
6577 00f4 9847 blx r3
6578 .LVL819:
1300:./Drivers/BSP/Components/sx1272/sx1272.c ****
6579 .loc 1 1300 0
6580 00f6 8BE7 b .L277
6581 .L287:
6582 .align 2
6583 .L286:
6584 00f8 00000000 .word .LANCHOR0
6585 00fc 00000000 .word .LANCHOR5
6586 0100 00000000 .word .LANCHOR4
6587 0104 00000000 .word .LANCHOR7
6588 .cfi_endproc
6589 .LFE126:
6591 .section .text.SX1272GetRadioWakeUpTime,"ax",%progbits
6592 .align 1
6593 .global SX1272GetRadioWakeUpTime
6594 .syntax unified
6595 .code 16
6596 .thumb_func
6597 .fpu softvfp
6599 SX1272GetRadioWakeUpTime:
6600 .LFB125:
1226:./Drivers/BSP/Components/sx1272/sx1272.c **** return ( uint32_t )LoRaBoardCallbacks->SX1272BoardGetWakeTime( ) + RADIO_WAKEUP_TIME;// BOARD_W
6601 .loc 1 1226 0
6602 .cfi_startproc
6603 @ args = 0, pretend = 0, frame = 0
6604 @ frame_needed = 0, uses_anonymous_args = 0
6605 0000 10B5 push {r4, lr}
6606 .LCFI57:
6607 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccwcPdtV.s page 159
6608 .cfi_offset 4, -8
6609 .cfi_offset 14, -4
1227:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6610 .loc 1 1227 0
6611 0002 034B ldr r3, .L289
6612 0004 1B68 ldr r3, [r3]
6613 0006 5B68 ldr r3, [r3, #4]
6614 0008 9847 blx r3
6615 .LVL820:
6616 000a 0230 adds r0, r0, #2
1228:./Drivers/BSP/Components/sx1272/sx1272.c ****
6617 .loc 1 1228 0
6618 @ sp needed
6619 000c 10BD pop {r4, pc}
6620 .L290:
6621 000e C046 .align 2
6622 .L289:
6623 0010 00000000 .word .LANCHOR1
6624 .cfi_endproc
6625 .LFE125:
6627 .section .text.SX1272OnDio5Irq,"ax",%progbits
6628 .align 1
6629 .global SX1272OnDio5Irq
6630 .syntax unified
6631 .code 16
6632 .thumb_func
6633 .fpu softvfp
6635 SX1272OnDio5Irq:
6636 .LFB132:
1690:./Drivers/BSP/Components/sx1272/sx1272.c ****
1691:./Drivers/BSP/Components/sx1272/sx1272.c **** void SX1272OnDio5Irq( void )
1692:./Drivers/BSP/Components/sx1272/sx1272.c **** {
6637 .loc 1 1692 0
6638 .cfi_startproc
6639 @ args = 0, pretend = 0, frame = 0
6640 @ frame_needed = 0, uses_anonymous_args = 0
6641 @ link register save eliminated.
1693:./Drivers/BSP/Components/sx1272/sx1272.c **** switch( SX1272.Settings.Modem )
1694:./Drivers/BSP/Components/sx1272/sx1272.c **** {
1695:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_FSK:
1696:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1697:./Drivers/BSP/Components/sx1272/sx1272.c **** case MODEM_LORA:
1698:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1699:./Drivers/BSP/Components/sx1272/sx1272.c **** default:
1700:./Drivers/BSP/Components/sx1272/sx1272.c **** break;
1701:./Drivers/BSP/Components/sx1272/sx1272.c **** }
1702:./Drivers/BSP/Components/sx1272/sx1272.c **** }
6642 .loc 1 1702 0
6643 @ sp needed
6644 0000 7047 bx lr
6645 .cfi_endproc
6646 .LFE132:
6648 .global RxTimeoutSyncWord
6649 .global RxTimeoutTimer
6650 .global TxTimeoutTimer
6651 .global DioIrq
6652 .global SX1272
ARM GAS /tmp/ccwcPdtV.s page 160
6653 .global FskBandwidths
6654 .global RadioRegsInit
6655 .section .bss.LoRaBoardCallbacks,"aw",%nobits
6656 .align 2
6657 .set .LANCHOR1,. + 0
6660 LoRaBoardCallbacks:
6661 0000 00000000 .space 4
6662 .section .bss.RadioEvents,"aw",%nobits
6663 .align 2
6664 .set .LANCHOR5,. + 0
6667 RadioEvents:
6668 0000 00000000 .space 4
6669 .section .bss.RxTimeoutSyncWord,"aw",%nobits
6670 .align 2
6671 .set .LANCHOR4,. + 0
6674 RxTimeoutSyncWord:
6675 0000 00000000 .space 20
6675 00000000
6675 00000000
6675 00000000
6675 00000000
6676 .section .bss.RxTimeoutTimer,"aw",%nobits
6677 .align 2
6678 .set .LANCHOR2,. + 0
6681 RxTimeoutTimer:
6682 0000 00000000 .space 20
6682 00000000
6682 00000000
6682 00000000
6682 00000000
6683 .section .bss.RxTxBuffer,"aw",%nobits
6684 .align 2
6687 RxTxBuffer:
6688 0000 00000000 .space 256
6688 00000000
6688 00000000
6688 00000000
6688 00000000
6689 .section .bss.SX1272,"aw",%nobits
6690 .align 2
6691 .set .LANCHOR0,. + 0
6694 SX1272:
6695 0000 00000000 .space 104
6695 00000000
6695 00000000
6695 00000000
6695 00000000
6696 .section .bss.TxTimeoutTimer,"aw",%nobits
6697 .align 2
6698 .set .LANCHOR3,. + 0
6701 TxTimeoutTimer:
6702 0000 00000000 .space 20
6702 00000000
6702 00000000
6702 00000000
6702 00000000
6703 .section .data.DioIrq,"aw",%progbits
ARM GAS /tmp/ccwcPdtV.s page 161
6704 .align 2
6705 .set .LANCHOR6,. + 0
6708 DioIrq:
6709 0000 00000000 .word SX1272OnDio0Irq
6710 0004 00000000 .word SX1272OnDio1Irq
6711 0008 00000000 .word SX1272OnDio2Irq
6712 000c 00000000 .word SX1272OnDio3Irq
6713 0010 00000000 .word SX1272OnDio4Irq
6714 0014 00000000 .word 0
6715 .section .rodata.FskBandwidths,"a",%progbits
6716 .align 2
6719 FskBandwidths:
6720 0000 280A0000 .word 2600
6721 0004 17 .byte 23
6722 0005 000000 .space 3
6723 0008 1C0C0000 .word 3100
6724 000c 0F .byte 15
6725 000d 000000 .space 3
6726 0010 3C0F0000 .word 3900
6727 0014 07 .byte 7
6728 0015 000000 .space 3
6729 0018 50140000 .word 5200
6730 001c 16 .byte 22
6731 001d 000000 .space 3
6732 0020 9C180000 .word 6300
6733 0024 0E .byte 14
6734 0025 000000 .space 3
6735 0028 781E0000 .word 7800
6736 002c 06 .byte 6
6737 002d 000000 .space 3
6738 0030 A0280000 .word 10400
6739 0034 15 .byte 21
6740 0035 000000 .space 3
6741 0038 D4300000 .word 12500
6742 003c 0D .byte 13
6743 003d 000000 .space 3
6744 0040 F03C0000 .word 15600
6745 0044 05 .byte 5
6746 0045 000000 .space 3
6747 0048 40510000 .word 20800
6748 004c 14 .byte 20
6749 004d 000000 .space 3
6750 0050 A8610000 .word 25000
6751 0054 0C .byte 12
6752 0055 000000 .space 3
6753 0058 447A0000 .word 31300
6754 005c 04 .byte 4
6755 005d 000000 .space 3
6756 0060 E4A20000 .word 41700
6757 0064 13 .byte 19
6758 0065 000000 .space 3
6759 0068 50C30000 .word 50000
6760 006c 0B .byte 11
6761 006d 000000 .space 3
6762 0070 24F40000 .word 62500
6763 0074 03 .byte 3
6764 0075 000000 .space 3
ARM GAS /tmp/ccwcPdtV.s page 162
6765 0078 85450100 .word 83333
6766 007c 12 .byte 18
6767 007d 000000 .space 3
6768 0080 A0860100 .word 100000
6769 0084 0A .byte 10
6770 0085 000000 .space 3
6771 0088 48E80100 .word 125000
6772 008c 02 .byte 2
6773 008d 000000 .space 3
6774 0090 2C8B0200 .word 166700
6775 0094 11 .byte 17
6776 0095 000000 .space 3
6777 0098 400D0300 .word 200000
6778 009c 09 .byte 9
6779 009d 000000 .space 3
6780 00a0 90D00300 .word 250000
6781 00a4 01 .byte 1
6782 00a5 000000 .space 3
6783 00a8 E0930400 .word 300000
6784 00ac 00 .byte 0
6785 00ad 000000 .space 3
6786 .section .rodata.RadioRegsInit,"a",%progbits
6787 .align 2
6788 .set .LANCHOR7,. + 0
6791 RadioRegsInit:
6792 0000 00 .byte 0
6793 0001 0C .byte 12
6794 0002 23 .byte 35
6795 0003 00 .byte 0
6796 0004 0D .byte 13
6797 0005 1E .byte 30
6798 0006 00 .byte 0
6799 0007 0E .byte 14
6800 0008 D2 .byte -46
6801 0009 00 .byte 0
6802 000a 1A .byte 26
6803 000b 01 .byte 1
6804 000c 00 .byte 0
6805 000d 1F .byte 31
6806 000e AA .byte -86
6807 000f 00 .byte 0
6808 0010 24 .byte 36
6809 0011 07 .byte 7
6810 0012 00 .byte 0
6811 0013 27 .byte 39
6812 0014 12 .byte 18
6813 0015 00 .byte 0
6814 0016 28 .byte 40
6815 0017 C1 .byte -63
6816 0018 00 .byte 0
6817 0019 29 .byte 41
6818 001a 94 .byte -108
6819 001b 00 .byte 0
6820 001c 2A .byte 42
6821 001d C1 .byte -63
6822 001e 00 .byte 0
6823 001f 30 .byte 48
ARM GAS /tmp/ccwcPdtV.s page 163
6824 0020 D8 .byte -40
6825 0021 00 .byte 0
6826 0022 35 .byte 53
6827 0023 8F .byte -113
6828 0024 00 .byte 0
6829 0025 3B .byte 59
6830 0026 02 .byte 2
6831 0027 00 .byte 0
6832 0028 40 .byte 64
6833 0029 00 .byte 0
6834 002a 00 .byte 0
6835 002b 41 .byte 65
6836 002c 30 .byte 48
6837 002d 01 .byte 1
6838 002e 31 .byte 49
6839 002f 43 .byte 67
6840 0030 01 .byte 1
6841 0031 23 .byte 35
6842 0032 40 .byte 64
6843 .section .rodata.SX1272OnDio0Irq.str1.4,"aMS",%progbits,1
6844 .align 2
6845 .LC47:
6846 0000 7278446F .ascii "rxDone\012\015\000"
6846 6E650A0D
6846 00
6847 0009 000000 .space 3
6848 .LC50:
6849 000c 7478446F .ascii "txDone\012\015\000"
6849 6E650A0D
6849 00
6850 .section .rodata.SX1272OnDio1Irq.str1.4,"aMS",%progbits,1
6851 .align 2
6852 .LC56:
6853 0000 72785469 .ascii "rxTimeOut\012\015\000"
6853 6D654F75
6853 740A0D00
6854 .text
6855 .Letext0:
6856 .file 2 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h"
6857 .file 3 "/usr/arm-none-eabi/include/machine/_default_types.h"
6858 .file 4 "/usr/arm-none-eabi/include/sys/lock.h"
6859 .file 5 "/usr/arm-none-eabi/include/sys/_types.h"
6860 .file 6 "/usr/arm-none-eabi/include/sys/reent.h"
6861 .file 7 "/usr/arm-none-eabi/include/math.h"
6862 .file 8 "/usr/arm-none-eabi/include/sys/_stdint.h"
6863 .file 9 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h"
6864 .file 10 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l073xx.h"
6865 .file 11 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio.h"
6866 .file 12 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h"
6867 .file 13 "Middlewares/Third_Party/Lora/Phy/radio.h"
6868 .file 14 "./Drivers/BSP/Components/sx1272/sx1272.h"
6869 .file 15 "Middlewares/Third_Party/Lora/Utilities/timeServer.h"
6870 .file 16 "Inc/vcom.h"
6871 .file 17 "Inc/hw_gpio.h"
6872 .file 18 "Inc/hw_spi.h"
6873 .file 19 "Middlewares/Third_Party/Lora/Utilities/delay.h"
6874 .file 20 "Middlewares/Third_Party/Lora/Utilities/utilities.h"
ARM GAS /tmp/ccwcPdtV.s page 164
6875 .file 21 "<built-in>"
ARM GAS /tmp/ccwcPdtV.s page 165
DEFINED SYMBOLS
*ABS*:0000000000000000 sx1272.c
/tmp/ccwcPdtV.s:16 .text.SX1272OnDio4Irq:0000000000000000 $t
/tmp/ccwcPdtV.s:23 .text.SX1272OnDio4Irq:0000000000000000 SX1272OnDio4Irq
/tmp/ccwcPdtV.s:53 .text.SX1272OnDio4Irq:000000000000001c $d
/tmp/ccwcPdtV.s:58 .text.SX1272BoardInit:0000000000000000 $t
/tmp/ccwcPdtV.s:65 .text.SX1272BoardInit:0000000000000000 SX1272BoardInit
/tmp/ccwcPdtV.s:82 .text.SX1272BoardInit:0000000000000008 $d
/tmp/ccwcPdtV.s:87 .text.SX1272GetStatus:0000000000000000 $t
/tmp/ccwcPdtV.s:94 .text.SX1272GetStatus:0000000000000000 SX1272GetStatus
/tmp/ccwcPdtV.s:110 .text.SX1272GetStatus:0000000000000008 $d
/tmp/ccwcPdtV.s:115 .text.SX1272Reset:0000000000000000 $t
/tmp/ccwcPdtV.s:122 .text.SX1272Reset:0000000000000000 SX1272Reset
/tmp/ccwcPdtV.s:187 .text.SX1272WriteBuffer:0000000000000000 $t
/tmp/ccwcPdtV.s:194 .text.SX1272WriteBuffer:0000000000000000 SX1272WriteBuffer
/tmp/ccwcPdtV.s:259 .text.SX1272WriteBuffer:000000000000003c $d
/tmp/ccwcPdtV.s:264 .text.SX1272Write:0000000000000000 $t
/tmp/ccwcPdtV.s:271 .text.SX1272Write:0000000000000000 SX1272Write
/tmp/ccwcPdtV.s:304 .text.SX1272SetChannel:0000000000000000 $t
/tmp/ccwcPdtV.s:311 .text.SX1272SetChannel:0000000000000000 SX1272SetChannel
/tmp/ccwcPdtV.s:405 .text.SX1272SetChannel:000000000000005c $d
/tmp/ccwcPdtV.s:412 .text.SX1272ReadBuffer:0000000000000000 $t
/tmp/ccwcPdtV.s:419 .text.SX1272ReadBuffer:0000000000000000 SX1272ReadBuffer
/tmp/ccwcPdtV.s:483 .text.SX1272ReadBuffer:000000000000003c $d
/tmp/ccwcPdtV.s:488 .text.SX1272Read:0000000000000000 $t
/tmp/ccwcPdtV.s:495 .text.SX1272Read:0000000000000000 SX1272Read
/tmp/ccwcPdtV.s:534 .text.SX1272GetTimeOnAir:0000000000000000 $t
/tmp/ccwcPdtV.s:541 .text.SX1272GetTimeOnAir:0000000000000000 SX1272GetTimeOnAir
/tmp/ccwcPdtV.s:939 .text.SX1272GetTimeOnAir:0000000000000210 $d
/tmp/ccwcPdtV.s:954 .text.SX1272ReadRssi:0000000000000000 $t
/tmp/ccwcPdtV.s:961 .text.SX1272ReadRssi:0000000000000000 SX1272ReadRssi
/tmp/ccwcPdtV.s:1040 .text.SX1272SetOpMode:0000000000000000 $t
/tmp/ccwcPdtV.s:1047 .text.SX1272SetOpMode:0000000000000000 SX1272SetOpMode
/tmp/ccwcPdtV.s:1130 .text.SX1272SetOpMode:0000000000000050 $d
/tmp/ccwcPdtV.s:1135 .text.SX1272SetSleep:0000000000000000 $t
/tmp/ccwcPdtV.s:1142 .text.SX1272SetSleep:0000000000000000 SX1272SetSleep
/tmp/ccwcPdtV.s:1175 .text.SX1272SetSleep:000000000000001c $d
/tmp/ccwcPdtV.s:1182 .text.SX1272SetStby:0000000000000000 $t
/tmp/ccwcPdtV.s:1189 .text.SX1272SetStby:0000000000000000 SX1272SetStby
/tmp/ccwcPdtV.s:1222 .text.SX1272SetStby:000000000000001c $d
/tmp/ccwcPdtV.s:1229 .text.SX1272SetRx:0000000000000000 $t
/tmp/ccwcPdtV.s:1236 .text.SX1272SetRx:0000000000000000 SX1272SetRx
/tmp/ccwcPdtV.s:1704 .text.SX1272SetRx:0000000000000208 $d
/tmp/ccwcPdtV.s:6687 .bss.RxTxBuffer:0000000000000000 RxTxBuffer
/tmp/ccwcPdtV.s:1712 .text.SX1272SetTx:0000000000000000 $t
/tmp/ccwcPdtV.s:1719 .text.SX1272SetTx:0000000000000000 SX1272SetTx
/tmp/ccwcPdtV.s:1956 .text.SX1272SetTx:0000000000000108 $d
/tmp/ccwcPdtV.s:1964 .text.SX1272StartCad:0000000000000000 $t
/tmp/ccwcPdtV.s:1971 .text.SX1272StartCad:0000000000000000 SX1272StartCad
/tmp/ccwcPdtV.s:2052 .text.SX1272StartCad:000000000000004c $d
/tmp/ccwcPdtV.s:2057 .text.SX1272SetModem:0000000000000000 $t
/tmp/ccwcPdtV.s:2064 .text.SX1272SetModem:0000000000000000 SX1272SetModem
/tmp/ccwcPdtV.s:2250 .text.SX1272SetModem:00000000000000c8 $d
/tmp/ccwcPdtV.s:2257 .text.SX1272Init:0000000000000000 $t
/tmp/ccwcPdtV.s:2264 .text.SX1272Init:0000000000000000 SX1272Init
/tmp/ccwcPdtV.s:2382 .text.SX1272Init:0000000000000084 $d
/tmp/ccwcPdtV.s:6361 .text.SX1272OnTimeoutIrq:0000000000000000 SX1272OnTimeoutIrq
ARM GAS /tmp/ccwcPdtV.s page 166
/tmp/ccwcPdtV.s:2395 .text.SX1272IsChannelFree:0000000000000000 $t
/tmp/ccwcPdtV.s:2402 .text.SX1272IsChannelFree:0000000000000000 SX1272IsChannelFree
/tmp/ccwcPdtV.s:2480 .text.SX1272Random:0000000000000000 $t
/tmp/ccwcPdtV.s:2487 .text.SX1272Random:0000000000000000 SX1272Random
/tmp/ccwcPdtV.s:2581 .text.SX1272SetRxConfig:0000000000000000 $t
/tmp/ccwcPdtV.s:2588 .text.SX1272SetRxConfig:0000000000000000 SX1272SetRxConfig
/tmp/ccwcPdtV.s:3444 .text.SX1272SetRxConfig:0000000000000404 $d
/tmp/ccwcPdtV.s:6719 .rodata.FskBandwidths:0000000000000000 FskBandwidths
/tmp/ccwcPdtV.s:3455 .text.SX1272SetRxConfig:000000000000041c $t
/tmp/ccwcPdtV.s:3508 .text.SX1272SetTxConfig:0000000000000000 $t
/tmp/ccwcPdtV.s:3515 .text.SX1272SetTxConfig:0000000000000000 SX1272SetTxConfig
/tmp/ccwcPdtV.s:4234 .text.SX1272SetTxConfig:000000000000035c $d
/tmp/ccwcPdtV.s:4244 .text.SX1272SetTxContinuousWave:0000000000000000 $t
/tmp/ccwcPdtV.s:4251 .text.SX1272SetTxContinuousWave:0000000000000000 SX1272SetTxContinuousWave
/tmp/ccwcPdtV.s:4382 .text.SX1272SetTxContinuousWave:000000000000009c $d
/tmp/ccwcPdtV.s:4388 .text.SX1272OnDio2Irq:0000000000000000 $t
/tmp/ccwcPdtV.s:4395 .text.SX1272OnDio2Irq:0000000000000000 SX1272OnDio2Irq
/tmp/ccwcPdtV.s:4677 .text.SX1272OnDio2Irq:000000000000013c $d
/tmp/ccwcPdtV.s:4684 .text.SX1272OnDio3Irq:0000000000000000 $t
/tmp/ccwcPdtV.s:4691 .text.SX1272OnDio3Irq:0000000000000000 SX1272OnDio3Irq
/tmp/ccwcPdtV.s:4795 .text.SX1272OnDio3Irq:000000000000006c $d
/tmp/ccwcPdtV.s:4801 .text.SX1272Send:0000000000000000 $t
/tmp/ccwcPdtV.s:4808 .text.SX1272Send:0000000000000000 SX1272Send
/tmp/ccwcPdtV.s:5150 .text.SX1272Send:0000000000000170 $d
/tmp/ccwcPdtV.s:5156 .text.SX1272OnDio0Irq:0000000000000000 $t
/tmp/ccwcPdtV.s:5163 .text.SX1272OnDio0Irq:0000000000000000 SX1272OnDio0Irq
/tmp/ccwcPdtV.s:5862 .text.SX1272OnDio0Irq:0000000000000334 $d
/tmp/ccwcPdtV.s:5876 .text.SX1272OnDio1Irq:0000000000000000 $t
/tmp/ccwcPdtV.s:5883 .text.SX1272OnDio1Irq:0000000000000000 SX1272OnDio1Irq
/tmp/ccwcPdtV.s:6113 .text.SX1272OnDio1Irq:0000000000000114 $d
/tmp/ccwcPdtV.s:6122 .text.SX1272WriteFifo:0000000000000000 $t
/tmp/ccwcPdtV.s:6129 .text.SX1272WriteFifo:0000000000000000 SX1272WriteFifo
/tmp/ccwcPdtV.s:6156 .text.SX1272ReadFifo:0000000000000000 $t
/tmp/ccwcPdtV.s:6163 .text.SX1272ReadFifo:0000000000000000 SX1272ReadFifo
/tmp/ccwcPdtV.s:6190 .text.SX1272SetMaxPayloadLength:0000000000000000 $t
/tmp/ccwcPdtV.s:6197 .text.SX1272SetMaxPayloadLength:0000000000000000 SX1272SetMaxPayloadLength
/tmp/ccwcPdtV.s:6269 .text.SX1272SetMaxPayloadLength:0000000000000044 $d
/tmp/ccwcPdtV.s:6274 .text.SX1272SetPublicNetwork:0000000000000000 $t
/tmp/ccwcPdtV.s:6281 .text.SX1272SetPublicNetwork:0000000000000000 SX1272SetPublicNetwork
/tmp/ccwcPdtV.s:6347 .text.SX1272SetPublicNetwork:000000000000003c $d
/tmp/ccwcPdtV.s:6354 .text.SX1272OnTimeoutIrq:0000000000000000 $t
/tmp/ccwcPdtV.s:6584 .text.SX1272OnTimeoutIrq:00000000000000f8 $d
/tmp/ccwcPdtV.s:6592 .text.SX1272GetRadioWakeUpTime:0000000000000000 $t
/tmp/ccwcPdtV.s:6599 .text.SX1272GetRadioWakeUpTime:0000000000000000 SX1272GetRadioWakeUpTime
/tmp/ccwcPdtV.s:6623 .text.SX1272GetRadioWakeUpTime:0000000000000010 $d
/tmp/ccwcPdtV.s:6628 .text.SX1272OnDio5Irq:0000000000000000 $t
/tmp/ccwcPdtV.s:6635 .text.SX1272OnDio5Irq:0000000000000000 SX1272OnDio5Irq
/tmp/ccwcPdtV.s:6674 .bss.RxTimeoutSyncWord:0000000000000000 RxTimeoutSyncWord
/tmp/ccwcPdtV.s:6681 .bss.RxTimeoutTimer:0000000000000000 RxTimeoutTimer
/tmp/ccwcPdtV.s:6701 .bss.TxTimeoutTimer:0000000000000000 TxTimeoutTimer
/tmp/ccwcPdtV.s:6708 .data.DioIrq:0000000000000000 DioIrq
/tmp/ccwcPdtV.s:6694 .bss.SX1272:0000000000000000 SX1272
/tmp/ccwcPdtV.s:6791 .rodata.RadioRegsInit:0000000000000000 RadioRegsInit
/tmp/ccwcPdtV.s:6656 .bss.LoRaBoardCallbacks:0000000000000000 $d
/tmp/ccwcPdtV.s:6660 .bss.LoRaBoardCallbacks:0000000000000000 LoRaBoardCallbacks
/tmp/ccwcPdtV.s:6663 .bss.RadioEvents:0000000000000000 $d
/tmp/ccwcPdtV.s:6667 .bss.RadioEvents:0000000000000000 RadioEvents
ARM GAS /tmp/ccwcPdtV.s page 167
/tmp/ccwcPdtV.s:6670 .bss.RxTimeoutSyncWord:0000000000000000 $d
/tmp/ccwcPdtV.s:6677 .bss.RxTimeoutTimer:0000000000000000 $d
/tmp/ccwcPdtV.s:6684 .bss.RxTxBuffer:0000000000000000 $d
/tmp/ccwcPdtV.s:6690 .bss.SX1272:0000000000000000 $d
/tmp/ccwcPdtV.s:6697 .bss.TxTimeoutTimer:0000000000000000 $d
/tmp/ccwcPdtV.s:6704 .data.DioIrq:0000000000000000 $d
/tmp/ccwcPdtV.s:6716 .rodata.FskBandwidths:0000000000000000 $d
/tmp/ccwcPdtV.s:6787 .rodata.RadioRegsInit:0000000000000000 $d
/tmp/ccwcPdtV.s:6844 .rodata.SX1272OnDio0Irq.str1.4:0000000000000000 $d
/tmp/ccwcPdtV.s:6851 .rodata.SX1272OnDio1Irq.str1.4:0000000000000000 $d
.debug_frame:0000000000000010 $d
UNDEFINED SYMBOLS
memset
HW_GPIO_Init
HW_GPIO_Write
DelayMs
HW_SPI_InOut
__aeabi_uidiv
__aeabi_uidivmod
__aeabi_i2d
__aeabi_dadd
__aeabi_dmul
__aeabi_ui2d
__aeabi_ddiv
__aeabi_d2uiz
__aeabi_dcmpgt
round
ceil
floor
TimerStop
TimerSetValue
TimerStart
TimerInit
TimerGetCurrentTime
TimerGetElapsedTime
memcpy1
vcom_Send