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/LoRaMac.lst

13841 lines
686 KiB

ARM GAS /tmp/ccrFaSdZ.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 "LoRaMac.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.ResetMacParameters,"ax",%progbits
16 .align 1
17 .syntax unified
18 .code 16
19 .thumb_func
20 .fpu softvfp
22 ResetMacParameters:
23 .LFB104:
24 .file 1 "./Middlewares/Third_Party/Lora/Mac/LoRaMac.c"
1:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*
2:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** / _____) _ | |
3:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( (____ _____ ____ _| |_ _____ ____| |__
4:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** \____ \| ___ | (_ _) ___ |/ ___) _ \
5:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** _____) ) ____| | | || |_| ____( (___| | | |
6:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** (______/|_____)_|_|_| \__)_____)\____)_| |_|
7:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** (C)2013 Semtech
8:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ___ _____ _ ___ _ _____ ___ ___ ___ ___
9:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
10:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
11:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
12:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** embedded.connectivity.solutions===============
13:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
14:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Description: LoRa MAC layer implementation
15:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
16:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** License: Revised BSD License, see LICENSE.TXT file include in the project
17:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
18:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Maintainer: Miguel Luis ( Semtech ), Gregory Cristian ( Semtech ) and Daniel Jaeckle ( STACKFORCE )
19:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
20:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
21:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
22:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include <stdbool.h>
23:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include <string.h>
24:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include <stdint.h>
25:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include "radio.h"
26:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include "timeServer.h"
27:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include "LoRaMac.h"
28:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include "region/Region.h"
29:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include "LoRaMacCrypto.h"
30:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
31:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include "debug.h"
32:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #include "LoRaMacTest.h"
33:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
34:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 2
35:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
36:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
37:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Maximum PHY layer payload size
38:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
39:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #define LORAMAC_PHY_MAXPAYLOAD 255
40:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
41:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
42:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Maximum MAC commands buffer size
43:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
44:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #define LORA_MAC_COMMAND_MAX_LENGTH 128
45:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
46:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
47:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Maximum length of the fOpts field
48:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
49:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #define LORA_MAC_COMMAND_MAX_FOPTS_LENGTH 15
50:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
51:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
52:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac region.
53:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
54:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static LoRaMacRegion_t LoRaMacRegion;
55:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
56:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
57:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac duty cycle for the back-off procedure during the first hour.
58:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
59:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #define BACKOFF_DC_1_HOUR 100
60:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
61:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
62:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac duty cycle for the back-off procedure during the next 10 hours.
63:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
64:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #define BACKOFF_DC_10_HOURS 1000
65:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
66:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
67:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac duty cycle for the back-off procedure during the next 24 hours.
68:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
69:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** #define BACKOFF_DC_24_HOURS 10000
70:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
71:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
72:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Device IEEE EUI
73:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
74:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t *LoRaMacDevEui;
75:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
76:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
77:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Application IEEE EUI
78:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
79:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t *LoRaMacAppEui;
80:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
81:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
82:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * AES encryption/decryption cipher application key
83:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
84:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t *LoRaMacAppKey;
85:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
86:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
87:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * AES encryption/decryption cipher network session key
88:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
89:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t LoRaMacNwkSKey[] =
90:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
91:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
ARM GAS /tmp/ccrFaSdZ.s page 3
92:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
93:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** };
94:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
95:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
96:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * AES encryption/decryption cipher application session key
97:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
98:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t LoRaMacAppSKey[] =
99:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
100:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
101:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
102:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** };
103:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
104:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
105:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Device nonce is a random value extracted by issuing a sequence of RSSI
106:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * measurements
107:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
108:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint16_t LoRaMacDevNonce;
109:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
110:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
111:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Network ID ( 3 bytes )
112:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
113:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint32_t LoRaMacNetID;
114:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
115:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
116:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Mote Address
117:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
118:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint32_t LoRaMacDevAddr;
119:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
120:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
121:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Multicast channels linked list
122:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
123:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static MulticastParams_t *MulticastChannels = NULL;
124:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
125:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
126:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Actual device class
127:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
128:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static DeviceClass_t LoRaMacDeviceClass;
129:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
130:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
131:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Indicates if the node is connected to a private or public network
132:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool PublicNetwork;
134:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
135:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
136:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Indicates if the node supports repeaters
137:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
138:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool RepeaterSupport;
139:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
140:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
141:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Buffer containing the data to be sent or received.
142:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
143:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t LoRaMacBuffer[LORAMAC_PHY_MAXPAYLOAD];
144:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
145:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
146:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Length of packet in LoRaMacBuffer
147:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
148:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint16_t LoRaMacBufferPktLen = 0;
ARM GAS /tmp/ccrFaSdZ.s page 4
149:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
150:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
151:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Length of the payload in LoRaMacBuffer
152:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
153:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t LoRaMacTxPayloadLen = 0;
154:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
155:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
156:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Buffer containing the upper layer data.
157:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
158:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t LoRaMacRxPayload[LORAMAC_PHY_MAXPAYLOAD];
159:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
160:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
161:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMAC frame counter. Each time a packet is sent the counter is incremented.
162:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Only the 16 LSB bits are sent
163:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
164:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint32_t UpLinkCounter = 0;
165:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
166:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
167:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMAC frame counter. Each time a packet is received the counter is incremented.
168:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Only the 16 LSB bits are received
169:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
170:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint32_t DownLinkCounter = 0;
171:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
172:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
173:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * IsPacketCounterFixed enables the MIC field tests by fixing the
174:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * UpLinkCounter value
175:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
176:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool IsUpLinkCounterFixed = false;
177:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
178:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
179:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Used for test purposes. Disables the opening of the reception windows.
180:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
181:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool IsRxWindowsEnabled = true;
182:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
183:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
184:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Indicates if the MAC layer has already joined a network.
185:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
186:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool IsLoRaMacNetworkJoined = false;
187:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
188:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
189:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac ADR control status
190:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
191:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool AdrCtrlOn = false;
192:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
193:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
194:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Counts the number of missed ADR acknowledgements
195:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
196:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint32_t AdrAckCounter = 0;
197:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
198:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
199:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * If the node has sent a FRAME_TYPE_DATA_CONFIRMED_UP this variable indicates
200:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * if the nodes needs to manage the server acknowledgement.
201:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
202:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool NodeAckRequested = false;
203:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
204:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
205:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * If the server has sent a FRAME_TYPE_DATA_CONFIRMED_DOWN this variable indicates
ARM GAS /tmp/ccrFaSdZ.s page 5
206:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * if the ACK bit must be set for the next transmission
207:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
208:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool SrvAckRequested = false;
209:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
210:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
211:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Indicates if the MAC layer wants to send MAC commands
212:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
213:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool MacCommandsInNextTx = false;
214:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
215:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
216:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Contains the current MacCommandsBuffer index
217:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
218:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t MacCommandsBufferIndex = 0;
219:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
220:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
221:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Contains the current MacCommandsBuffer index for MAC commands to repeat
222:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
223:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t MacCommandsBufferToRepeatIndex = 0;
224:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
225:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
226:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Buffer containing the MAC layer commands
227:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
228:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t MacCommandsBuffer[LORA_MAC_COMMAND_MAX_LENGTH];
229:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
230:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
231:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Buffer containing the MAC layer commands which must be repeated
232:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
233:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t MacCommandsBufferToRepeat[LORA_MAC_COMMAND_MAX_LENGTH];
234:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
235:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
236:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac parameters
237:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
238:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams_t LoRaMacParams;
239:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
240:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
241:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac default parameters
242:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
243:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams_t LoRaMacParamsDefaults;
244:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
245:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
246:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Uplink messages repetitions counter
247:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
248:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t ChannelsNbRepCounter = 0;
249:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
250:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
251:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Maximum duty cycle
252:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \remark Possibility to shutdown the device.
253:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
254:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t MaxDCycle = 0;
255:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
256:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
257:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Aggregated duty cycle management
258:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
259:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint16_t AggregatedDCycle;
260:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static TimerTime_t AggregatedLastTxDoneTime;
261:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static TimerTime_t AggregatedTimeOff;
262:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 6
263:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
264:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Enables/Disables duty cycle management (Test only)
265:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
266:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool DutyCycleOn;
267:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
268:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
269:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Current channel index
270:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
271:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t Channel;
272:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
273:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
274:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Current channel index
275:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
276:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t LastTxChannel;
277:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
278:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
279:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Set to true, if the last uplink was a join request
280:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
281:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool LastTxIsJoinRequest;
282:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
283:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
284:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Stores the time at LoRaMac initialization.
285:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
286:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \remark Used for the BACKOFF_DC computation.
287:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
288:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static TimerTime_t LoRaMacInitializationTime = 0;
289:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
290:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
291:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac internal states
292:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
293:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** enum eLoRaMacState
294:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
295:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LORAMAC_IDLE = 0x00000000,
296:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LORAMAC_TX_RUNNING = 0x00000001,
297:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LORAMAC_RX = 0x00000002,
298:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LORAMAC_ACK_REQ = 0x00000004,
299:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LORAMAC_ACK_RETRY = 0x00000008,
300:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LORAMAC_TX_DELAYED = 0x00000010,
301:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LORAMAC_TX_CONFIG = 0x00000020,
302:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LORAMAC_RX_ABORT = 0x00000040,
303:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** };
304:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
305:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
306:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac internal state
307:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
308:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint32_t LoRaMacState = LORAMAC_IDLE;
309:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
310:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
311:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac timer used to check the LoRaMacState (runs every second)
312:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
313:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static TimerEvent_t MacStateCheckTimer;
314:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
315:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
316:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac upper layer event functions
317:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
318:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static LoRaMacPrimitives_t *LoRaMacPrimitives;
319:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 7
320:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
321:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac upper layer callback functions
322:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
323:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static LoRaMacCallback_t *LoRaMacCallbacks;
324:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
325:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
326:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Radio events function pointer
327:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
328:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static RadioEvents_t RadioEvents;
329:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
330:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
331:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac duty cycle delayed Tx timer
332:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
333:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static TimerEvent_t TxDelayedTimer;
334:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
335:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
336:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac reception windows timers
337:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
338:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static TimerEvent_t RxWindowTimer1;
339:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static TimerEvent_t RxWindowTimer2;
340:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
341:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
342:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac reception windows delay
343:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \remark normal frame: RxWindowXDelay = ReceiveDelayX - RADIO_WAKEUP_TIME
344:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * join frame : RxWindowXDelay = JoinAcceptDelayX - RADIO_WAKEUP_TIME
345:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
346:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint32_t RxWindow1Delay;
347:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint32_t RxWindow2Delay;
348:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
349:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
350:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac Rx windows configuration
351:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
352:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static RxConfigParams_t RxWindow1Config;
353:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static RxConfigParams_t RxWindow2Config;
354:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
355:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
356:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Acknowledge timeout timer. Used for packet retransmissions.
357:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
358:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static TimerEvent_t AckTimeoutTimer;
359:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
360:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
361:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Number of trials to get a frame acknowledged
362:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
363:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t AckTimeoutRetries = 1;
364:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
365:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
366:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Number of trials to get a frame acknowledged
367:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
368:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t AckTimeoutRetriesCounter = 1;
369:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
370:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
371:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Indicates if the AckTimeout timer has expired or not
372:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
373:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool AckTimeoutRetry = false;
374:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
375:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
376:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Last transmission time on air
ARM GAS /tmp/ccrFaSdZ.s page 8
377:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
378:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerTime_t TxTimeOnAir = 0;
379:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
380:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
381:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Number of trials for the Join Request
382:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
383:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t JoinRequestTrials;
384:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
385:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
386:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Maximum number of trials for the Join Request
387:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
388:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t MaxJoinRequestTrials;
389:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
390:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
391:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Structure to hold an MCPS indication data.
392:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
393:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static McpsIndication_t McpsIndication;
394:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
395:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
396:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Structure to hold MCPS confirm data.
397:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
398:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static McpsConfirm_t McpsConfirm;
399:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
400:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
401:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Structure to hold MLME confirm data.
402:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
403:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static MlmeConfirm_t MlmeConfirm;
404:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
405:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
406:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * Holds the current rx window slot
407:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
408:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t RxSlot = 0;
409:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
410:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
411:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMac tx/rx operation state
412:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
413:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags_t LoRaMacFlags;
414:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
415:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
416:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function to be executed on Radio Tx Done event
417:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
418:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioTxDone( void );
419:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
420:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
421:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief This function prepares the MAC to abort the execution of function
422:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * OnRadioRxDone in case of a reception error.
423:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
424:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void PrepareRxDoneAbort( void );
425:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
426:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
427:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function to be executed on Radio Rx Done event
428:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
429:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
430:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
431:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
432:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function executed on Radio Tx Timeout event
433:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
ARM GAS /tmp/ccrFaSdZ.s page 9
434:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioTxTimeout( void );
435:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
436:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
437:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function executed on Radio Rx error event
438:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
439:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioRxError( void );
440:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
441:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
442:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function executed on Radio Rx Timeout event
443:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
444:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioRxTimeout( void );
445:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
446:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
447:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function executed on Resend Frame timer event.
448:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
449:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnMacStateCheckTimerEvent( void );
450:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
451:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
452:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function executed on duty cycle delayed Tx timer event
453:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
454:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnTxDelayedTimerEvent( void );
455:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
456:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
457:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function executed on first Rx window timer event
458:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
459:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRxWindow1TimerEvent( void );
460:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
461:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
462:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function executed on second Rx window timer event
463:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
464:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRxWindow2TimerEvent( void );
465:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
466:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
467:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Function executed on AckTimeout timer event
468:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
469:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnAckTimeoutTimerEvent( void );
470:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
471:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
472:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Initializes and opens the reception window
473:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
474:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] rxContinuous Set to true, if the RX is in continuous mode
475:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] maxRxWindow Maximum RX window timeout
476:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
477:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void RxWindowSetup( bool rxContinuous, uint32_t maxRxWindow );
478:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
479:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
480:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Adds a new MAC command to be sent.
481:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
482:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \Remark MAC layer internal function
483:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
484:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [in] cmd MAC command to be added
485:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * [MOTE_MAC_LINK_CHECK_REQ,
486:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * MOTE_MAC_LINK_ADR_ANS,
487:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * MOTE_MAC_DUTY_CYCLE_ANS,
488:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * MOTE_MAC_RX2_PARAM_SET_ANS,
489:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * MOTE_MAC_DEV_STATUS_ANS
490:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * MOTE_MAC_NEW_CHANNEL_ANS]
ARM GAS /tmp/ccrFaSdZ.s page 10
491:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [in] p1 1st parameter ( optional depends on the command )
492:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [in] p2 2nd parameter ( optional depends on the command )
493:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
494:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval status Function status [0: OK, 1: Unknown command, 2: Buffer full]
495:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
496:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static LoRaMacStatus_t AddMacCommand( uint8_t cmd, uint8_t p1, uint8_t p2 );
497:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
498:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
499:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Parses the MAC commands which must be repeated.
500:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
501:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \Remark MAC layer internal function
502:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
503:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] cmdBufIn Buffer which stores the MAC commands to send
504:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] length Length of the input buffer to parse
505:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [OUT] cmdBufOut Buffer which stores the MAC commands which must be
506:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * repeated.
507:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
508:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval Size of the MAC commands to repeat.
509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
510:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t ParseMacCommandsToRepeat( uint8_t* cmdBufIn, uint8_t length, uint8_t* cmdBufOut );
511:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
512:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
513:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Validates if the payload fits into the frame, taking the datarate
514:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * into account.
515:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
516:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \details Refer to chapter 4.3.2 of the LoRaWAN specification, v1.0
517:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
518:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param lenN Length of the application payload. The length depends on the
519:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * datarate and is region specific
520:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
521:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param datarate Current datarate
522:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
523:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param fOptsLen Length of the fOpts field
524:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
525:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval [false: payload does not fit into the frame, true: payload fits into
526:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * the frame]
527:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
528:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool ValidatePayloadLength( uint8_t lenN, int8_t datarate, uint8_t fOptsLen );
529:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
530:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
531:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Decodes MAC commands in the fOpts field and in the payload
532:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
533:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void ProcessMacCommands( uint8_t *payload, uint8_t macIndex, uint8_t commandsSize, uint8_t s
534:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
535:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
536:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief LoRaMAC layer generic send frame
537:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
538:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] macHdr MAC header field
539:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] fPort MAC payload port
540:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] fBuffer MAC data buffer to be sent
541:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] fBufferSize MAC data buffer size
542:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval status Status of the operation.
543:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
544:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t Send( LoRaMacHeader_t *macHdr, uint8_t fPort, void *fBuffer, uint16_t fBufferSize )
545:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
546:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
547:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief LoRaMAC layer frame buffer initialization
ARM GAS /tmp/ccrFaSdZ.s page 11
548:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
549:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] macHdr MAC header field
550:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] fCtrl MAC frame control field
551:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] fOpts MAC commands buffer
552:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] fPort MAC payload port
553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] fBuffer MAC data buffer to be sent
554:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] fBufferSize MAC data buffer size
555:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval status Status of the operation.
556:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
557:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t PrepareFrame( LoRaMacHeader_t *macHdr, LoRaMacFrameCtrl_t *fCtrl, uint8_t fPort, vo
558:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
559:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*
560:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Schedules the frame according to the duty cycle
561:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
562:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval Status of the operation
563:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
564:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static LoRaMacStatus_t ScheduleTx( void );
565:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
566:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*
567:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Calculates the back-off time for the band of a channel.
568:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
569:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] channel The last Tx channel index
570:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
571:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void CalculateBackOff( uint8_t channel );
572:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
573:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
574:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief LoRaMAC layer prepared frame buffer transmission with channel specification
575:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
576:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \remark PrepareFrame must be called at least once before calling this
577:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * function.
578:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
579:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] channel Channel to transmit on
580:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval status Status of the operation.
581:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
582:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t SendFrameOnChannel( uint8_t channel );
583:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
584:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
585:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Sets the radio in continuous transmission mode
586:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
587:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \remark Uses the radio parameters set on the previous transmission.
588:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
589:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] timeout Time in seconds while the radio is kept in continuous wave mode
590:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval status Status of the operation.
591:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
592:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t SetTxContinuousWave( uint16_t timeout );
593:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
594:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
595:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Sets the radio in continuous transmission mode
596:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
597:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \remark Uses the radio parameters set on the previous transmission.
598:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** *
599:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] timeout Time in seconds while the radio is kept in continuous wave mode
600:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] frequency RF frequency to be set.
601:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \param [IN] power RF output power to be set.
602:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \retval status Status of the operation.
603:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
604:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t SetTxContinuousWave1( uint16_t timeout, uint32_t frequency, uint8_t power );
ARM GAS /tmp/ccrFaSdZ.s page 12
605:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
606:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /*!
607:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * \brief Resets MAC specific parameters to default
608:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** */
609:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void ResetMacParameters( void );
610:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
611:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioTxDone( void )
612:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
613:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
614:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
615:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** SetBandTxDoneParams_t txDone;
616:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerTime_t curTime = TimerGetCurrentTime( );
617:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
618:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
619:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
620:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Sleep( );
621:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
622:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
623:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
624:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnRxWindow2TimerEvent( );
625:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
626:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
627:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Setup timers
628:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsRxWindowsEnabled == true )
629:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
630:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &RxWindowTimer1, RxWindow1Delay );
631:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &RxWindowTimer1 );
632:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
633:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
634:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &RxWindowTimer2, RxWindow2Delay );
635:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &RxWindowTimer2 );
636:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
637:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacDeviceClass == CLASS_C ) || ( NodeAckRequested == true ) )
638:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
639:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_ACK_TIMEOUT;
640:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &AckTimeoutTimer, RxWindow2Delay + phyParam.Value );
642:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &AckTimeoutTimer );
643:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
644:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
645:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
646:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
647:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_OK;
648:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT;
649:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
650:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacFlags.Value == 0 )
651:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
652:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsReq = 1;
653:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
654:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
655:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
656:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
657:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Verify if the last uplink was a join request
658:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacFlags.Bits.MlmeReq == 1 ) && ( MlmeConfirm.MlmeRequest == MLME_JOIN ) )
659:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
660:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LastTxIsJoinRequest = true;
661:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
ARM GAS /tmp/ccrFaSdZ.s page 13
662:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
663:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
664:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LastTxIsJoinRequest = false;
665:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
666:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
667:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Store last Tx channel
668:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LastTxChannel = Channel;
669:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update last tx done time for the current channel
670:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txDone.Channel = Channel;
671:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txDone.Joined = IsLoRaMacNetworkJoined;
672:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txDone.LastTxDoneTime = curTime;
673:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionSetBandTxDone( LoRaMacRegion, &txDone );
674:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update Aggregated last tx done time
675:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AggregatedLastTxDoneTime = curTime;
676:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
677:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( NodeAckRequested == false )
678:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
679:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_OK;
680:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelsNbRepCounter++;
681:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
682:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
683:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
684:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void PrepareRxDoneAbort( void )
685:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
686:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState |= LORAMAC_RX_ABORT;
687:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
688:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( NodeAckRequested )
689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
690:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnAckTimeoutTimerEvent( );
691:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
692:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
693:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsInd = 1;
694:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
695:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
696:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Trig OnMacCheckTimerEvent call as soon as possible
697:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &MacStateCheckTimer, 1 );
698:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
699:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
700:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
701:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
702:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
703:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacHeader_t macHdr;
704:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFrameCtrl_t fCtrl;
705:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ApplyCFListParams_t applyCFList;
706:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
707:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
708:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** bool skipIndication = false;
709:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
710:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t pktHeaderLen = 0;
711:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint32_t address = 0;
712:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t appPayloadStartIndex = 0;
713:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t port = 0xFF;
714:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t frameLen = 0;
715:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint32_t mic = 0;
716:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint32_t micRx = 0;
717:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
718:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint16_t sequenceCounter = 0;
ARM GAS /tmp/ccrFaSdZ.s page 14
719:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint16_t sequenceCounterPrev = 0;
720:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint16_t sequenceCounterDiff = 0;
721:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint32_t downLinkCounter = 0;
722:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
723:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MulticastParams_t *curMulticastParams = NULL;
724:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t *nwkSKey = LoRaMacNwkSKey;
725:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t *appSKey = LoRaMacAppSKey;
726:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
727:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t multicast = 0;
728:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
729:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** bool isMicOk = false;
730:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
731:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
732:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Rssi = rssi;
733:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Snr = snr;
734:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.RxSlot = RxSlot;
735:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Port = 0;
736:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Multicast = 0;
737:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.FramePending = 0;
738:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Buffer = NULL;
739:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.BufferSize = 0;
740:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.RxData = false;
741:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.AckReceived = false;
742:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = 0;
743:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.McpsIndication = MCPS_UNCONFIRMED;
744:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
745:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Sleep( );
746:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &RxWindowTimer2 );
747:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
748:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Value = payload[pktHeaderLen++];
749:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
750:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( macHdr.Bits.MType )
751:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
752:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_JOIN_ACCEPT:
753:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsLoRaMacNetworkJoined == true )
754:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
755:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
756:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
757:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
758:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
759:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacJoinDecrypt( payload + 1, size - 1, LoRaMacAppKey, LoRaMacRxPayload + 1 );
760:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
761:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacRxPayload[0] = macHdr.Value;
762:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
763:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacJoinComputeMic( LoRaMacRxPayload, size - LORAMAC_MFR_LEN, LoRaMacAppKey, &mic );
764:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
765:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( uint32_t )LoRaMacRxPayload[size - LORAMAC_MFR_LEN];
766:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )LoRaMacRxPayload[size - LORAMAC_MFR_LEN + 1] << 8 );
767:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )LoRaMacRxPayload[size - LORAMAC_MFR_LEN + 2] << 16 );
768:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )LoRaMacRxPayload[size - LORAMAC_MFR_LEN + 3] << 24 );
769:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
770:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( micRx == mic )
771:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
772:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacJoinComputeSKeys( LoRaMacAppKey, LoRaMacRxPayload + 1, LoRaMacDevNonce, LoRa
773:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
774:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacNetID = ( uint32_t )LoRaMacRxPayload[4];
775:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacNetID |= ( ( uint32_t )LoRaMacRxPayload[5] << 8 );
ARM GAS /tmp/ccrFaSdZ.s page 15
776:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacNetID |= ( ( uint32_t )LoRaMacRxPayload[6] << 16 );
777:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
778:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevAddr = ( uint32_t )LoRaMacRxPayload[7];
779:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevAddr |= ( ( uint32_t )LoRaMacRxPayload[8] << 8 );
780:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevAddr |= ( ( uint32_t )LoRaMacRxPayload[9] << 16 );
781:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevAddr |= ( ( uint32_t )LoRaMacRxPayload[10] << 24 );
782:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
783:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // DLSettings
784:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx1DrOffset = ( LoRaMacRxPayload[11] >> 4 ) & 0x07;
785:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Datarate = LoRaMacRxPayload[11] & 0x0F;
786:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
787:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // RxDelay
788:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay1 = ( LoRaMacRxPayload[12] & 0x0F );
789:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacParams.ReceiveDelay1 == 0 )
790:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
791:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay1 = 1;
792:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
793:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay1 *= 1000;
794:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay2 = LoRaMacParams.ReceiveDelay1 + 1000;
795:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
796:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Apply CF list
797:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** applyCFList.Payload = &LoRaMacRxPayload[13];
798:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Size of the regular payload is 12. Plus 1 byte MHDR and 4 bytes MIC
799:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** applyCFList.Size = size - 17;
800:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
801:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionApplyCFList( LoRaMacRegion, &applyCFList );
802:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
803:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_OK;
804:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** IsLoRaMacNetworkJoined = true;
805:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = LoRaMacParamsDefaults.ChannelsDatarate;
806:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
807:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
808:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
809:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_JOIN_FAIL;
810:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
811:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
812:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_DATA_CONFIRMED_DOWN:
813:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_DATA_UNCONFIRMED_DOWN:
814:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
815:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Check if the received payload size is valid
816:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.UplinkDwellTime = LoRaMacParams.DownlinkDwellTime;
817:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Datarate = McpsIndication.RxDatarate;
818:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_PAYLOAD;
819:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
820:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Get the maximum payload length
821:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RepeaterSupport == true )
822:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
823:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_PAYLOAD_REPEATER;
824:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
825:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
826:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MAX( 0, ( int16_t )( ( int16_t )size - ( int16_t )LORA_MAC_FRMPAYLOAD_OVERHEAD
827:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
828:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
829:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
830:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
831:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
832:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 16
833:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address = payload[pktHeaderLen++];
834:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address |= ( (uint32_t)payload[pktHeaderLen++] << 8 );
835:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address |= ( (uint32_t)payload[pktHeaderLen++] << 16 );
836:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address |= ( (uint32_t)payload[pktHeaderLen++] << 24 );
837:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
838:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( address != LoRaMacDevAddr )
839:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
840:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** curMulticastParams = MulticastChannels;
841:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** while( curMulticastParams != NULL )
842:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
843:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( address == curMulticastParams->Address )
844:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
845:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** multicast = 1;
846:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nwkSKey = curMulticastParams->NwkSKey;
847:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** appSKey = curMulticastParams->AppSKey;
848:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter = curMulticastParams->DownLinkCounter;
849:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
850:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
851:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** curMulticastParams = curMulticastParams->Next;
852:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
853:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( multicast == 0 )
854:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
855:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // We are not the destination of this frame.
856:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_ADDRESS_FAIL;
857:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
858:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
859:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
860:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
861:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
862:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
863:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** multicast = 0;
864:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nwkSKey = LoRaMacNwkSKey;
865:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** appSKey = LoRaMacAppSKey;
866:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter = DownLinkCounter;
867:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
868:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
869:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Value = payload[pktHeaderLen++];
870:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
871:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** sequenceCounter = ( uint16_t )payload[pktHeaderLen++];
872:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** sequenceCounter |= ( uint16_t )payload[pktHeaderLen++] << 8;
873:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
874:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** appPayloadStartIndex = 8 + fCtrl.Bits.FOptsLen;
875:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
876:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( uint32_t )payload[size - LORAMAC_MFR_LEN];
877:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )payload[size - LORAMAC_MFR_LEN + 1] << 8 );
878:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )payload[size - LORAMAC_MFR_LEN + 2] << 16 );
879:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )payload[size - LORAMAC_MFR_LEN + 3] << 24 );
880:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
881:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** sequenceCounterPrev = ( uint16_t )downLinkCounter;
882:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** sequenceCounterDiff = ( sequenceCounter - sequenceCounterPrev );
883:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
884:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( sequenceCounterDiff < ( 1 << 15 ) )
885:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
886:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter += sequenceCounterDiff;
887:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacComputeMic( payload, size - LORAMAC_MFR_LEN, nwkSKey, address, DOWN_LINK
888:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( micRx == mic )
889:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
ARM GAS /tmp/ccrFaSdZ.s page 17
890:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** isMicOk = true;
891:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
892:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
893:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
894:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
895:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // check for sequence roll-over
896:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint32_t downLinkCounterTmp = downLinkCounter + 0x10000 + ( int16_t )sequenceC
897:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacComputeMic( payload, size - LORAMAC_MFR_LEN, nwkSKey, address, DOWN_LINK
898:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( micRx == mic )
899:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
900:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** isMicOk = true;
901:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter = downLinkCounterTmp;
902:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
903:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
904:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
905:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Check for a the maximum allowed counter difference
906:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_FCNT_GAP;
907:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
908:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( sequenceCounterDiff >= phyParam.Value )
909:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
910:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_DOWNLINK_TOO_MANY_FRAMES_LOSS
911:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = downLinkCounter;
912:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
913:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
914:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
915:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
916:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( isMicOk == true )
917:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
918:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_OK;
919:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Multicast = multicast;
920:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.FramePending = fCtrl.Bits.FPending;
921:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Buffer = NULL;
922:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.BufferSize = 0;
923:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = downLinkCounter;
924:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
925:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_OK;
926:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
927:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AdrAckCounter = 0;
928:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferToRepeatIndex = 0;
929:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
930:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update 32 bits downlink counter
931:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( multicast == 1 )
932:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
933:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.McpsIndication = MCPS_MULTICAST;
934:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
935:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( curMulticastParams->DownLinkCounter == downLinkCounter ) &&
936:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( curMulticastParams->DownLinkCounter != 0 ) )
937:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
938:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_DOWNLINK_REPEATED;
939:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = downLinkCounter;
940:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
941:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
942:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
943:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** curMulticastParams->DownLinkCounter = downLinkCounter;
944:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
945:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
946:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
ARM GAS /tmp/ccrFaSdZ.s page 18
947:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( macHdr.Bits.MType == FRAME_TYPE_DATA_CONFIRMED_DOWN )
948:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
949:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** SrvAckRequested = true;
950:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.McpsIndication = MCPS_CONFIRMED;
951:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
952:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( DownLinkCounter == downLinkCounter ) &&
953:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( DownLinkCounter != 0 ) )
954:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
955:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Duplicated confirmed downlink. Skip indication.
956:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // In this case, the MAC layer shall accept the MAC commands
957:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // which are included in the downlink retransmission.
958:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // It should not provide the same frame to the application
959:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // layer again.
960:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** skipIndication = true;
961:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
962:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
963:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
964:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
965:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** SrvAckRequested = false;
966:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.McpsIndication = MCPS_UNCONFIRMED;
967:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
968:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( DownLinkCounter == downLinkCounter ) &&
969:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( DownLinkCounter != 0 ) )
970:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
971:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_DOWNLINK_REPEATED
972:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = downLinkCounter;
973:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
974:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
975:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
976:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
977:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DownLinkCounter = downLinkCounter;
978:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
979:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
980:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // This must be done before parsing the payload and the MAC commands.
981:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // We need to reset the MacCommandsBufferIndex here, since we need
982:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // to take retransmissions and repetitions into account. Error cases
983:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // will be handled in function OnMacStateCheckTimerEvent.
984:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( McpsConfirm.McpsRequest == MCPS_CONFIRMED )
985:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
986:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( fCtrl.Bits.Ack == 1 )
987:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Reset MacCommandsBufferIndex when we have received an ACK.
988:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
989:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
990:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
991:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
992:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Reset the variable if we have received any valid frame.
993:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
994:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
995:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
996:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Process payload and MAC commands
997:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( ( size - 4 ) - appPayloadStartIndex ) > 0 )
998:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
999:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** port = payload[appPayloadStartIndex++];
1000:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** frameLen = ( size - 4 ) - appPayloadStartIndex;
1001:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1002:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Port = port;
1003:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 19
1004:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( port == 0 )
1005:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1006:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Only allow frames which do not have fOpts
1007:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( fCtrl.Bits.FOptsLen == 0 )
1008:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1009:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPayloadDecrypt( payload + appPayloadStartIndex,
1010:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** frameLen,
1011:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nwkSKey,
1012:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address,
1013:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DOWN_LINK,
1014:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter,
1015:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacRxPayload );
1016:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1017:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Decode frame payload MAC commands
1018:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ProcessMacCommands( LoRaMacRxPayload, 0, frameLen, snr );
1019:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1020:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1021:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1022:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** skipIndication = true;
1023:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1024:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1025:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1026:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1027:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( fCtrl.Bits.FOptsLen > 0 )
1028:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1029:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Decode Options field MAC commands. Omit the fPort.
1030:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ProcessMacCommands( payload, 8, appPayloadStartIndex - 1, snr );
1031:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1032:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1033:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPayloadDecrypt( payload + appPayloadStartIndex,
1034:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** frameLen,
1035:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** appSKey,
1036:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address,
1037:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DOWN_LINK,
1038:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter,
1039:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacRxPayload );
1040:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1041:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( skipIndication == false )
1042:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1043:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Buffer = LoRaMacRxPayload;
1044:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.BufferSize = frameLen;
1045:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.RxData = true;
1046:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1047:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1048:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1049:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1050:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1051:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( fCtrl.Bits.FOptsLen > 0 )
1052:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1053:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Decode Options field MAC commands
1054:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ProcessMacCommands( payload, 8, appPayloadStartIndex, snr );
1055:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1056:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1057:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1058:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( skipIndication == false )
1059:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1060:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Check if the frame is an acknowledgement
ARM GAS /tmp/ccrFaSdZ.s page 20
1061:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( fCtrl.Bits.Ack == 1 )
1062:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1063:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = true;
1064:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.AckReceived = true;
1065:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1066:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Stop the AckTimeout timer as no more retransmissions
1067:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // are needed.
1068:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &AckTimeoutTimer );
1069:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1070:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1071:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1072:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
1073:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1074:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( AckTimeoutRetriesCounter > AckTimeoutRetries )
1075:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1076:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Stop the AckTimeout timer as no more retransmissions
1077:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // are needed.
1078:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &AckTimeoutTimer );
1079:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1080:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1081:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1082:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Provide always an indication, skip the callback to the user application,
1083:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // in case of a confirmed downlink retransmission.
1084:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsInd = 1;
1085:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsIndSkip = skipIndication;
1086:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1087:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1088:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1089:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_MIC_FAIL;
1090:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1091:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
1092:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
1093:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1094:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1095:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1096:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_PROPRIETARY:
1097:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1098:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memcpy1( LoRaMacRxPayload, &payload[pktHeaderLen], size );
1099:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1100:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.McpsIndication = MCPS_PROPRIETARY;
1101:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_OK;
1102:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Buffer = LoRaMacRxPayload;
1103:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.BufferSize = size - pktHeaderLen;
1104:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1105:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsInd = 1;
1106:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1107:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1108:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
1109:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
1110:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
1111:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1112:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1113:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
1114:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1115:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Trig OnMacCheckTimerEvent call as soon as possible
1116:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &MacStateCheckTimer, 1 );
1117:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
ARM GAS /tmp/ccrFaSdZ.s page 21
1118:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1119:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1120:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioTxTimeout( void )
1121:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1122:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
1123:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1124:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Sleep( );
1125:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1126:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1127:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1128:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnRxWindow2TimerEvent( );
1129:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1130:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1131:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT;
1132:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT;
1133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
1134:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1135:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1136:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioRxError( void )
1137:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1138:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
1139:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1140:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Sleep( );
1141:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1142:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1143:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1144:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnRxWindow2TimerEvent( );
1145:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1146:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1147:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RxSlot == 0 )
1148:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1149:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( NodeAckRequested == true )
1150:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1151:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX1_ERROR;
1152:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1153:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX1_ERROR;
1154:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1155:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( TimerGetElapsedTime( AggregatedLastTxDoneTime ) >= RxWindow2Delay )
1156:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1157:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
1158:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1159:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1160:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1161:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1162:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( NodeAckRequested == true )
1163:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1164:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX2_ERROR;
1165:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1166:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX2_ERROR;
1167:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
1168:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1169:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1170:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1171:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRadioRxTimeout( void )
1172:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1173:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
1174:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
ARM GAS /tmp/ccrFaSdZ.s page 22
1175:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Sleep( );
1176:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1177:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1178:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1179:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnRxWindow2TimerEvent( );
1180:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1181:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1182:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RxSlot == 0 )
1183:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1184:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( NodeAckRequested == true )
1185:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1186:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX1_TIMEOUT;
1187:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1188:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX1_TIMEOUT;
1189:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1190:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( TimerGetElapsedTime( AggregatedLastTxDoneTime ) >= RxWindow2Delay )
1191:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1192:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
1193:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1194:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1195:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1196:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1197:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( NodeAckRequested == true )
1198:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1199:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT;
1200:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1201:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT;
1202:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1203:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
1204:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1205:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
1206:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1207:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1208:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1209:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1210:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnMacStateCheckTimerEvent( void )
1211:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1212:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
1213:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
1214:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** bool txTimeout = false;
1215:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1216:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &MacStateCheckTimer );
1217:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1218:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacFlags.Bits.MacDone == 1 )
1219:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1220:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_RX_ABORT ) == LORAMAC_RX_ABORT )
1221:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1222:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_RX_ABORT;
1223:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
1224:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1225:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1226:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacFlags.Bits.MlmeReq == 1 ) || ( ( LoRaMacFlags.Bits.McpsReq == 1 ) ) )
1227:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1228:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( McpsConfirm.Status == LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT ) ||
1229:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( MlmeConfirm.Status == LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT ) )
1230:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1231:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Stop transmit cycle due to tx timeout.
ARM GAS /tmp/ccrFaSdZ.s page 23
1232:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
1233:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
1234:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.NbRetries = AckTimeoutRetriesCounter;
1235:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
1236:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.TxTimeOnAir = 0;
1237:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txTimeout = true;
1238:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1239:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1240:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1241:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( NodeAckRequested == false ) && ( txTimeout == false ) )
1242:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1243:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacFlags.Bits.MlmeReq == 1 ) || ( ( LoRaMacFlags.Bits.McpsReq == 1 ) ) )
1244:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1245:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacFlags.Bits.MlmeReq == 1 ) && ( MlmeConfirm.MlmeRequest == MLME_JOIN )
1246:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Procedure for the join request
1247:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.NbRetries = JoinRequestTrials;
1248:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1249:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MlmeConfirm.Status == LORAMAC_EVENT_INFO_STATUS_OK )
1250:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Node joined successfully
1251:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** UpLinkCounter = 0;
1252:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelsNbRepCounter = 0;
1253:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
1254:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1255:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1256:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1257:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( JoinRequestTrials >= MaxJoinRequestTrials )
1258:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1259:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
1260:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1261:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1262:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1263:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 0;
1264:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Sends the same frame again
1265:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnTxDelayedTimerEvent( );
1266:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1267:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1268:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1269:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1270:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Procedure for all other frames
1271:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( ChannelsNbRepCounter >= LoRaMacParams.ChannelsNbRep ) || ( LoRaMacFlags.B
1272:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1273:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacFlags.Bits.McpsInd == 0 )
1274:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** { // Maximum repetitions without downlink. Reset MacCommandsBufferIndex.
1275:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Only process the case when the MAC did not receive a downlink.
1276:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
1277:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AdrAckCounter++;
1278:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1279:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1280:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelsNbRepCounter = 0;
1281:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1282:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsUpLinkCounterFixed == false )
1283:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1284:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** UpLinkCounter++;
1285:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1286:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1287:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
1288:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
ARM GAS /tmp/ccrFaSdZ.s page 24
1289:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1290:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1291:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 0;
1292:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Sends the same frame again
1293:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnTxDelayedTimerEvent( );
1294:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1295:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1296:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1297:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1298:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1299:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacFlags.Bits.McpsInd == 1 )
1300:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Procedure if we received a frame
1301:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( McpsConfirm.AckReceived == true ) || ( AckTimeoutRetriesCounter > AckTimeoutRetri
1302:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1303:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetry = false;
1304:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
1305:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsUpLinkCounterFixed == false )
1306:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1307:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** UpLinkCounter++;
1308:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1309:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.NbRetries = AckTimeoutRetriesCounter;
1310:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1311:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
1312:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1313:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1314:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1315:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( AckTimeoutRetry == true ) && ( ( LoRaMacState & LORAMAC_TX_DELAYED ) == 0 ) )
1316:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Retransmissions procedure for confirmed uplinks
1317:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetry = false;
1318:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( AckTimeoutRetriesCounter < AckTimeoutRetries ) && ( AckTimeoutRetriesCounter <= M
1319:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1320:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetriesCounter++;
1321:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1322:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( AckTimeoutRetriesCounter % 2 ) == 1 )
1323:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1324:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_NEXT_LOWER_TX_DR;
1325:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
1326:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Datarate = LoRaMacParams.ChannelsDatarate;
1327:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
1328:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = phyParam.Value;
1329:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1330:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Try to send the frame again
1331:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ScheduleTx( ) == LORAMAC_STATUS_OK )
1332:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1333:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 0;
1334:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1335:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1336:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1337:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // The DR is not applicable for the payload size
1338:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_TX_DR_PAYLOAD_SIZE_ERROR;
1339:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1340:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
1341:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
1342:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
1343:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
1344:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.NbRetries = AckTimeoutRetriesCounter;
1345:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Datarate = LoRaMacParams.ChannelsDatarate;
ARM GAS /tmp/ccrFaSdZ.s page 25
1346:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsUpLinkCounterFixed == false )
1347:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1348:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** UpLinkCounter++;
1349:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1350:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1351:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1352:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1353:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1354:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionInitDefaults( LoRaMacRegion, INIT_TYPE_RESTORE );
1355:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1356:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
1357:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1358:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
1359:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
1360:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
1361:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.NbRetries = AckTimeoutRetriesCounter;
1362:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsUpLinkCounterFixed == false )
1363:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1364:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** UpLinkCounter++;
1365:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1366:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1367:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1368:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1369:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Handle reception for Class B and Class C
1370:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_RX ) == LORAMAC_RX )
1371:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1372:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_RX;
1373:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1374:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacState == LORAMAC_IDLE )
1375:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1376:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacFlags.Bits.McpsReq == 1 )
1377:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1378:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPrimitives->MacMcpsConfirm( &McpsConfirm );
1379:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsReq = 0;
1380:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1381:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1382:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacFlags.Bits.MlmeReq == 1 )
1383:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1384:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPrimitives->MacMlmeConfirm( &MlmeConfirm );
1385:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 0;
1386:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1387:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1388:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Procedure done. Reset variables.
1389:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 0;
1390:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1391:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1392:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1393:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Operation not finished restart timer
1394:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &MacStateCheckTimer, MAC_STATE_CHECK_TIMEOUT );
1395:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
1396:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1397:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1398:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacFlags.Bits.McpsInd == 1 )
1399:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1400:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass == CLASS_C )
1401:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Activate RX2 window for Class C
1402:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnRxWindow2TimerEvent( );
ARM GAS /tmp/ccrFaSdZ.s page 26
1403:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1404:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacFlags.Bits.McpsIndSkip == 0 )
1405:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1406:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPrimitives->MacMcpsIndication( &McpsIndication );
1407:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1408:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsIndSkip = 0;
1409:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsInd = 0;
1410:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1411:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1412:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1413:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnTxDelayedTimerEvent( void )
1414:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1415:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacHeader_t macHdr;
1416:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFrameCtrl_t fCtrl;
1417:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AlternateDrParams_t altDr;
1418:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1419:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &TxDelayedTimer );
1420:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_DELAYED;
1421:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1422:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacFlags.Bits.MlmeReq == 1 ) && ( MlmeConfirm.MlmeRequest == MLME_JOIN ) )
1423:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1424:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ResetMacParameters( );
1425:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1426:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** altDr.NbTrials = JoinRequestTrials + 1;
1427:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = RegionAlternateDr( LoRaMacRegion, &altDr );
1428:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1429:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Value = 0;
1430:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Bits.MType = FRAME_TYPE_JOIN_REQ;
1431:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1432:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Value = 0;
1433:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Bits.Adr = AdrCtrlOn;
1434:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1435:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** /* In case of join request retransmissions, the stack must prepare
1436:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * the frame again, because the network server keeps track of the random
1437:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** * LoRaMacDevNonce values to prevent reply attacks. */
1438:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareFrame( &macHdr, &fCtrl, 0, NULL, 0 );
1439:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1440:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1441:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ScheduleTx( );
1442:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1443:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1444:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRxWindow1TimerEvent( void )
1445:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1446:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &RxWindowTimer1 );
1447:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxSlot = 0;
1448:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1449:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.Channel = Channel;
1450:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.DrOffset = LoRaMacParams.Rx1DrOffset;
1451:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.DownlinkDwellTime = LoRaMacParams.DownlinkDwellTime;
1452:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.RepeaterSupport = RepeaterSupport;
1453:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.RxContinuous = false;
1454:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.Window = RxSlot;
1455:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1456:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass == CLASS_C )
1457:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1458:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Standby( );
1459:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
ARM GAS /tmp/ccrFaSdZ.s page 27
1460:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1461:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionRxConfig( LoRaMacRegion, &RxWindow1Config, ( int8_t* )&McpsIndication.RxDatarate );
1462:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindowSetup( RxWindow1Config.RxContinuous, LoRaMacParams.MaxRxWindow );
1463:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1464:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1465:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnRxWindow2TimerEvent( void )
1466:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1467:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &RxWindowTimer2 );
1468:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1469:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.Channel = Channel;
1470:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.Frequency = LoRaMacParams.Rx2Channel.Frequency;
1471:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.DownlinkDwellTime = LoRaMacParams.DownlinkDwellTime;
1472:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.RepeaterSupport = RepeaterSupport;
1473:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.Window = 1;
1474:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1475:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
1476:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1477:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.RxContinuous = false;
1478:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1479:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1480:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1481:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.RxContinuous = true;
1482:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1483:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1484:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionRxConfig( LoRaMacRegion, &RxWindow2Config, ( int8_t* )&McpsIndication.RxDatarate ) ==
1485:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1486:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindowSetup( RxWindow2Config.RxContinuous, LoRaMacParams.MaxRxWindow );
1487:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxSlot = RxWindow2Config.Window;
1488:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1489:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1490:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1491:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void OnAckTimeoutTimerEvent( void )
1492:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1493:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &AckTimeoutTimer );
1494:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1495:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( NodeAckRequested == true )
1496:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1497:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetry = true;
1498:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_ACK_REQ;
1499:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1500:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass == CLASS_C )
1501:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1502:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
1503:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1504:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1505:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1506:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void RxWindowSetup( bool rxContinuous, uint32_t maxRxWindow )
1507:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1508:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( rxContinuous == false )
1509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1510:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Rx( maxRxWindow );
1511:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1512:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1513:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1514:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Rx( 0 ); // Continuous mode
1515:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1516:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
ARM GAS /tmp/ccrFaSdZ.s page 28
1517:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1518:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static bool ValidatePayloadLength( uint8_t lenN, int8_t datarate, uint8_t fOptsLen )
1519:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1520:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
1521:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
1522:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint16_t maxN = 0;
1523:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint16_t payloadSize = 0;
1524:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1525:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Setup PHY request
1526:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
1527:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Datarate = datarate;
1528:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_PAYLOAD;
1529:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1530:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Get the maximum payload length
1531:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RepeaterSupport == true )
1532:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1533:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_PAYLOAD_REPEATER;
1534:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1535:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
1536:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** maxN = phyParam.Value;
1537:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1538:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Calculate the resulting payload size
1539:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** payloadSize = ( lenN + fOptsLen );
1540:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1541:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Validation of the application payload size
1542:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( payloadSize <= maxN ) && ( payloadSize <= LORAMAC_PHY_MAXPAYLOAD ) )
1543:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1544:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return true;
1545:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1546:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return false;
1547:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1548:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1549:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static LoRaMacStatus_t AddMacCommand( uint8_t cmd, uint8_t p1, uint8_t p2 )
1550:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1551:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t status = LORAMAC_STATUS_BUSY;
1552:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // The maximum buffer length must take MAC commands to re-send into account.
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t bufLen = LORA_MAC_COMMAND_MAX_LENGTH - MacCommandsBufferToRepeatIndex;
1554:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1555:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( cmd )
1556:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1557:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_LINK_CHECK_REQ:
1558:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < bufLen )
1559:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1560:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
1561:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // No payload for this command
1562:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1563:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1564:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1565:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_LINK_ADR_ANS:
1566:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < ( bufLen - 1 ) )
1567:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1568:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
1569:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Margin
1570:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = p1;
1571:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1572:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1573:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
ARM GAS /tmp/ccrFaSdZ.s page 29
1574:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_DUTY_CYCLE_ANS:
1575:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < bufLen )
1576:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1577:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
1578:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // No payload for this answer
1579:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1580:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1581:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1582:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_RX_PARAM_SETUP_ANS:
1583:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < ( bufLen - 1 ) )
1584:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1585:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
1586:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Status: Datarate ACK, Channel ACK
1587:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = p1;
1588:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1589:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1590:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1591:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_DEV_STATUS_ANS:
1592:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < ( bufLen - 2 ) )
1593:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1594:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
1595:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // 1st byte Battery
1596:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // 2nd byte Margin
1597:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = p1;
1598:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = p2;
1599:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1600:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1601:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1602:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_NEW_CHANNEL_ANS:
1603:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < ( bufLen - 1 ) )
1604:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1605:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
1606:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Status: Datarate range OK, Channel frequency OK
1607:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = p1;
1608:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1609:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1610:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1611:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_RX_TIMING_SETUP_ANS:
1612:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < bufLen )
1613:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1614:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
1615:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // No payload for this answer
1616:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1617:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1618:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1619:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_TX_PARAM_SETUP_ANS:
1620:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < bufLen )
1621:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1622:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
1623:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // No payload for this answer
1624:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1625:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1626:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1627:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_DL_CHANNEL_ANS:
1628:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex < bufLen )
1629:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1630:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = cmd;
ARM GAS /tmp/ccrFaSdZ.s page 30
1631:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Status: Uplink frequency exists, Channel frequency OK
1632:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = p1;
1633:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1634:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1635:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1636:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
1637:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_SERVICE_UNKNOWN;
1638:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1639:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( status == LORAMAC_STATUS_OK )
1640:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsInNextTx = true;
1642:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1643:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return status;
1644:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1645:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1646:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static uint8_t ParseMacCommandsToRepeat( uint8_t* cmdBufIn, uint8_t length, uint8_t* cmdBufOut )
1647:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1648:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t i = 0;
1649:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t cmdCount = 0;
1650:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1651:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( cmdBufIn == NULL ) || ( cmdBufOut == NULL ) )
1652:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1653:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return 0;
1654:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1655:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1656:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** for( i = 0; i < length; i++ )
1657:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1658:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( cmdBufIn[i] )
1659:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1660:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // STICKY
1661:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_DL_CHANNEL_ANS:
1662:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_RX_PARAM_SETUP_ANS:
1663:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** { // 1 byte payload
1664:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cmdBufOut[cmdCount++] = cmdBufIn[i++];
1665:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cmdBufOut[cmdCount++] = cmdBufIn[i];
1666:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1667:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1668:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_RX_TIMING_SETUP_ANS:
1669:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** { // 0 byte payload
1670:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cmdBufOut[cmdCount++] = cmdBufIn[i];
1671:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1672:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1673:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // NON-STICKY
1674:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_DEV_STATUS_ANS:
1675:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** { // 2 bytes payload
1676:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** i += 2;
1677:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1678:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1679:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_LINK_ADR_ANS:
1680:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_NEW_CHANNEL_ANS:
1681:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** { // 1 byte payload
1682:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** i++;
1683:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1684:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1685:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_TX_PARAM_SETUP_ANS:
1686:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_DUTY_CYCLE_ANS:
1687:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MOTE_MAC_LINK_CHECK_REQ:
ARM GAS /tmp/ccrFaSdZ.s page 31
1688:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** { // 0 byte payload
1689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1690:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1691:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
1692:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1693:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1694:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1695:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1696:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return cmdCount;
1697:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1698:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1699:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void ProcessMacCommands( uint8_t *payload, uint8_t macIndex, uint8_t commandsSize, uint8_t s
1700:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1701:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t status = 0;
1702:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1703:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** while( macIndex < commandsSize )
1704:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1705:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Decode Frame MAC commands
1706:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( payload[macIndex++] )
1707:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1708:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_LINK_CHECK_ANS:
1709:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_OK;
1710:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.DemodMargin = payload[macIndex++];
1711:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.NbGateways = payload[macIndex++];
1712:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1713:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_LINK_ADR_REQ:
1714:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1715:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LinkAdrReqParams_t linkAdrReq;
1716:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** int8_t linkAdrDatarate = DR_0;
1717:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** int8_t linkAdrTxPower = TX_POWER_0;
1718:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t linkAdrNbRep = 0;
1719:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t linkAdrNbBytesParsed = 0;
1720:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1721:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Fill parameter structure
1722:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.Payload = &payload[macIndex - 1];
1723:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.PayloadSize = commandsSize - ( macIndex - 1 );
1724:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.AdrEnabled = AdrCtrlOn;
1725:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
1726:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.CurrentDatarate = LoRaMacParams.ChannelsDatarate;
1727:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.CurrentTxPower = LoRaMacParams.ChannelsTxPower;
1728:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.CurrentNbRep = LoRaMacParams.ChannelsNbRep;
1729:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1730:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Process the ADR requests
1731:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = RegionLinkAdrReq( LoRaMacRegion, &linkAdrReq, &linkAdrDatarate,
1732:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** &linkAdrTxPower, &linkAdrNbRep, &linkAdrNbBytesParse
1733:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1734:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( status & 0x07 ) == 0x07 )
1735:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1736:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = linkAdrDatarate;
1737:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsTxPower = linkAdrTxPower;
1738:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsNbRep = linkAdrNbRep;
1739:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1740:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1741:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Add the answers to the buffer
1742:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** for( uint8_t i = 0; i < ( linkAdrNbBytesParsed / 5 ); i++ )
1743:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1744:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_LINK_ADR_ANS, status, 0 );
ARM GAS /tmp/ccrFaSdZ.s page 32
1745:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1746:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update MAC index
1747:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macIndex += linkAdrNbBytesParsed - 1;
1748:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1749:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1750:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_DUTY_CYCLE_REQ:
1751:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MaxDCycle = payload[macIndex++];
1752:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AggregatedDCycle = 1 << MaxDCycle;
1753:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_DUTY_CYCLE_ANS, 0, 0 );
1754:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1755:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_RX_PARAM_SETUP_REQ:
1756:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1757:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxParamSetupReqParams_t rxParamSetupReq;
1758:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = 0x07;
1759:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1760:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.DrOffset = ( payload[macIndex] >> 4 ) & 0x07;
1761:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Datarate = payload[macIndex] & 0x0F;
1762:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macIndex++;
1763:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1764:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Frequency = ( uint32_t )payload[macIndex++];
1765:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Frequency |= ( uint32_t )payload[macIndex++] << 8;
1766:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Frequency |= ( uint32_t )payload[macIndex++] << 16;
1767:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Frequency *= 100;
1768:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1769:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Perform request on region
1770:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = RegionRxParamSetupReq( LoRaMacRegion, &rxParamSetupReq );
1771:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1772:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( status & 0x07 ) == 0x07 )
1773:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1774:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Datarate = rxParamSetupReq.Datarate;
1775:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Frequency = rxParamSetupReq.Frequency;
1776:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx1DrOffset = rxParamSetupReq.DrOffset;
1777:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1778:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_RX_PARAM_SETUP_ANS, status, 0 );
1779:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1780:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1781:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_DEV_STATUS_REQ:
1782:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1783:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t batteryLevel = BAT_LEVEL_NO_MEASURE;
1784:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacCallbacks != NULL ) && ( LoRaMacCallbacks->GetBatteryLevel != NULL
1785:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1786:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** batteryLevel = LoRaMacCallbacks->GetBatteryLevel( );
1787:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1788:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_DEV_STATUS_ANS, batteryLevel, snr );
1789:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1790:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1791:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_NEW_CHANNEL_REQ:
1792:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1793:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NewChannelReqParams_t newChannelReq;
1794:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelParams_t chParam;
1795:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = 0x03;
1796:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1797:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** newChannelReq.ChannelId = payload[macIndex++];
1798:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** newChannelReq.NewChannel = &chParam;
1799:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1800:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Frequency = ( uint32_t )payload[macIndex++];
1801:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Frequency |= ( uint32_t )payload[macIndex++] << 8;
ARM GAS /tmp/ccrFaSdZ.s page 33
1802:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Frequency |= ( uint32_t )payload[macIndex++] << 16;
1803:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Frequency *= 100;
1804:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Rx1Frequency = 0;
1805:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.DrRange.Value = payload[macIndex++];
1806:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1807:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = RegionNewChannelReq( LoRaMacRegion, &newChannelReq );
1808:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1809:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_NEW_CHANNEL_ANS, status, 0 );
1810:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1811:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1812:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_RX_TIMING_SETUP_REQ:
1813:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1814:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t delay = payload[macIndex++] & 0x0F;
1815:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1816:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( delay == 0 )
1817:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1818:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** delay++;
1819:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1820:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay1 = delay * 1000;
1821:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay2 = LoRaMacParams.ReceiveDelay1 + 1000;
1822:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_RX_TIMING_SETUP_ANS, 0, 0 );
1823:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1824:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1825:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_TX_PARAM_SETUP_REQ:
1826:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1827:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TxParamSetupReqParams_t txParamSetupReq;
1828:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t eirpDwellTime = payload[macIndex++];
1829:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1830:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txParamSetupReq.UplinkDwellTime = 0;
1831:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txParamSetupReq.DownlinkDwellTime = 0;
1832:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1833:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( eirpDwellTime & 0x20 ) == 0x20 )
1834:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1835:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txParamSetupReq.DownlinkDwellTime = 1;
1836:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1837:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( eirpDwellTime & 0x10 ) == 0x10 )
1838:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1839:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txParamSetupReq.UplinkDwellTime = 1;
1840:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1841:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txParamSetupReq.MaxEirp = eirpDwellTime & 0x0F;
1842:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1843:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Check the status for correctness
1844:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionTxParamSetupReq( LoRaMacRegion, &txParamSetupReq ) != -1 )
1845:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1846:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Accept command
1847:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.UplinkDwellTime = txParamSetupReq.UplinkDwellTime;
1848:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.DownlinkDwellTime = txParamSetupReq.DownlinkDwellTime;
1849:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MaxEirp = LoRaMacMaxEirpTable[txParamSetupReq.MaxEirp];
1850:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Add command response
1851:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_TX_PARAM_SETUP_ANS, 0, 0 );
1852:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1853:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1854:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1855:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_DL_CHANNEL_REQ:
1856:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1857:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DlChannelReqParams_t dlChannelReq;
1858:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = 0x03;
ARM GAS /tmp/ccrFaSdZ.s page 34
1859:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1860:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.ChannelId = payload[macIndex++];
1861:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.Rx1Frequency = ( uint32_t )payload[macIndex++];
1862:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.Rx1Frequency |= ( uint32_t )payload[macIndex++] << 8;
1863:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.Rx1Frequency |= ( uint32_t )payload[macIndex++] << 16;
1864:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.Rx1Frequency *= 100;
1865:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1866:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = RegionDlChannelReq( LoRaMacRegion, &dlChannelReq );
1867:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1868:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_DL_CHANNEL_ANS, status, 0 );
1869:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1870:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1871:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
1872:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Unknown command. ABORT MAC commands processing
1873:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
1874:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1875:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1876:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1877:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1878:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t Send( LoRaMacHeader_t *macHdr, uint8_t fPort, void *fBuffer, uint16_t fBufferSize )
1879:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1880:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFrameCtrl_t fCtrl;
1881:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t status = LORAMAC_STATUS_PARAMETER_INVALID;
1882:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1883:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Value = 0;
1884:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Bits.FOptsLen = 0;
1885:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Bits.FPending = 0;
1886:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Bits.Ack = false;
1887:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Bits.AdrAckReq = false;
1888:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Bits.Adr = AdrCtrlOn;
1889:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1890:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Prepare the frame
1891:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = PrepareFrame( macHdr, &fCtrl, fPort, fBuffer, fBufferSize );
1892:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1893:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Validate status
1894:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( status != LORAMAC_STATUS_OK )
1895:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1896:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return status;
1897:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1898:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1899:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Reset confirm parameters
1900:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.NbRetries = 0;
1901:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
1902:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.UpLinkCounter = UpLinkCounter;
1903:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1904:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = ScheduleTx( );
1905:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1906:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return status;
1907:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1908:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1909:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static LoRaMacStatus_t ScheduleTx( void )
1910:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1911:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerTime_t dutyCycleTimeOff = 0;
1912:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NextChanParams_t nextChan;
1913:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1914:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Check if the device is off
1915:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MaxDCycle == 255 )
ARM GAS /tmp/ccrFaSdZ.s page 35
1916:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1917:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_DEVICE_OFF;
1918:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1919:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MaxDCycle == 0 )
1920:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1921:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AggregatedTimeOff = 0;
1922:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1923:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1924:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update Backoff
1925:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** CalculateBackOff( LastTxChannel );
1926:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1927:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.AggrTimeOff = AggregatedTimeOff;
1928:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.Datarate = LoRaMacParams.ChannelsDatarate;
1929:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.DutyCycleEnabled = DutyCycleOn;
1930:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.Joined = IsLoRaMacNetworkJoined;
1931:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.LastAggrTx = AggregatedLastTxDoneTime;
1932:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1933:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Select channel
1934:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** while( RegionNextChannel( LoRaMacRegion, &nextChan, &Channel, &dutyCycleTimeOff, &AggregatedTim
1935:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1936:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Set the default datarate
1937:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = LoRaMacParamsDefaults.ChannelsDatarate;
1938:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update datarate in the function parameters
1939:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.Datarate = LoRaMacParams.ChannelsDatarate;
1940:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1941:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1942:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Compute Rx1 windows parameters
1943:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionComputeRxWindowParameters( LoRaMacRegion,
1944:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionApplyDrOffset( LoRaMacRegion, LoRaMacParams.DownlinkDwel
1945:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MinRxSymbols,
1946:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.SystemMaxRxError,
1947:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** &RxWindow1Config );
1948:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Compute Rx2 windows parameters
1949:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionComputeRxWindowParameters( LoRaMacRegion,
1950:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Datarate,
1951:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MinRxSymbols,
1952:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.SystemMaxRxError,
1953:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** &RxWindow2Config );
1954:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1955:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsLoRaMacNetworkJoined == false )
1956:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1957:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Delay = LoRaMacParams.JoinAcceptDelay1 + RxWindow1Config.WindowOffset;
1958:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Delay = LoRaMacParams.JoinAcceptDelay2 + RxWindow2Config.WindowOffset;
1959:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1960:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1961:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1962:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ValidatePayloadLength( LoRaMacTxPayloadLen, LoRaMacParams.ChannelsDatarate, MacCommands
1963:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1964:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_LENGTH_ERROR;
1965:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1966:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Delay = LoRaMacParams.ReceiveDelay1 + RxWindow1Config.WindowOffset;
1967:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Delay = LoRaMacParams.ReceiveDelay2 + RxWindow2Config.WindowOffset;
1968:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1969:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1970:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Schedule transmission of frame
1971:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( dutyCycleTimeOff == 0 )
1972:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
ARM GAS /tmp/ccrFaSdZ.s page 36
1973:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Try to send now
1974:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return SendFrameOnChannel( Channel );
1975:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1976:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
1977:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1978:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Send later - prepare timer
1979:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState |= LORAMAC_TX_DELAYED;
1980:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &TxDelayedTimer, dutyCycleTimeOff );
1981:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &TxDelayedTimer );
1982:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1983:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
1984:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1985:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1986:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1987:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void CalculateBackOff( uint8_t channel )
1988:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1989:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** CalcBackOffParams_t calcBackOff;
1990:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1991:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.Joined = IsLoRaMacNetworkJoined;
1992:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.DutyCycleEnabled = DutyCycleOn;
1993:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.Channel = channel;
1994:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.ElapsedTime = TimerGetElapsedTime( LoRaMacInitializationTime );
1995:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.TxTimeOnAir = TxTimeOnAir;
1996:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.LastTxIsJoinRequest = LastTxIsJoinRequest;
1997:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1998:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update regional back-off
1999:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionCalcBackOff( LoRaMacRegion, &calcBackOff );
2000:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2001:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update aggregated time-off
2002:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AggregatedTimeOff = AggregatedTimeOff + ( TxTimeOnAir * AggregatedDCycle - TxTimeOnAir );
2003:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2004:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2005:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** static void ResetMacParameters( void )
2006:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
25 .loc 1 2006 0
26 .cfi_startproc
27 @ args = 0, pretend = 0, frame = 0
28 @ frame_needed = 0, uses_anonymous_args = 0
29 0000 70B5 push {r4, r5, r6, lr}
30 .LCFI0:
31 .cfi_def_cfa_offset 16
32 .cfi_offset 4, -16
33 .cfi_offset 5, -12
34 .cfi_offset 6, -8
35 .cfi_offset 14, -4
2007:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** IsLoRaMacNetworkJoined = false;
36 .loc 1 2007 0
37 0002 0023 movs r3, #0
38 0004 244A ldr r2, .L4
39 0006 1370 strb r3, [r2]
2008:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2009:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Counters
2010:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** UpLinkCounter = 0;
40 .loc 1 2010 0
41 0008 244A ldr r2, .L4+4
42 000a 1360 str r3, [r2]
2011:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DownLinkCounter = 0;
ARM GAS /tmp/ccrFaSdZ.s page 37
43 .loc 1 2011 0
44 000c 244A ldr r2, .L4+8
45 000e 1360 str r3, [r2]
2012:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AdrAckCounter = 0;
46 .loc 1 2012 0
47 0010 244A ldr r2, .L4+12
48 0012 1360 str r3, [r2]
2013:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2014:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelsNbRepCounter = 0;
49 .loc 1 2014 0
50 0014 244A ldr r2, .L4+16
51 0016 1370 strb r3, [r2]
2015:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2016:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetries = 1;
52 .loc 1 2016 0
53 0018 0122 movs r2, #1
54 001a 2449 ldr r1, .L4+20
55 001c 0A70 strb r2, [r1]
2017:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetriesCounter = 1;
56 .loc 1 2017 0
57 001e 2449 ldr r1, .L4+24
58 0020 0A70 strb r2, [r1]
2018:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetry = false;
59 .loc 1 2018 0
60 0022 2449 ldr r1, .L4+28
61 0024 0B70 strb r3, [r1]
2019:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2020:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MaxDCycle = 0;
62 .loc 1 2020 0
63 0026 2449 ldr r1, .L4+32
64 0028 0B70 strb r3, [r1]
2021:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AggregatedDCycle = 1;
65 .loc 1 2021 0
66 002a 2449 ldr r1, .L4+36
67 002c 0A80 strh r2, [r1]
2022:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2023:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
68 .loc 1 2023 0
69 002e 244A ldr r2, .L4+40
70 0030 1370 strb r3, [r2]
2024:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferToRepeatIndex = 0;
71 .loc 1 2024 0
72 0032 244A ldr r2, .L4+44
73 0034 1370 strb r3, [r2]
2025:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2026:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** IsRxWindowsEnabled = true;
74 .loc 1 2026 0
75 0036 0121 movs r1, #1
76 0038 234A ldr r2, .L4+48
77 003a 1170 strb r1, [r2]
2027:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2028:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsTxPower = LoRaMacParamsDefaults.ChannelsTxPower;
78 .loc 1 2028 0
79 003c 2349 ldr r1, .L4+52
80 003e 0020 movs r0, #0
81 0040 0856 ldrsb r0, [r1, r0]
82 0042 234A ldr r2, .L4+56
ARM GAS /tmp/ccrFaSdZ.s page 38
83 0044 1070 strb r0, [r2]
2029:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = LoRaMacParamsDefaults.ChannelsDatarate;
84 .loc 1 2029 0
85 0046 0120 movs r0, #1
86 0048 0856 ldrsb r0, [r1, r0]
87 004a 5070 strb r0, [r2, #1]
2030:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx1DrOffset = LoRaMacParamsDefaults.Rx1DrOffset;
88 .loc 1 2030 0
89 004c 2120 movs r0, #33
90 004e 0C5C ldrb r4, [r1, r0]
91 0050 1454 strb r4, [r2, r0]
2031:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel = LoRaMacParamsDefaults.Rx2Channel;
92 .loc 1 2031 0
93 0052 1000 movs r0, r2
94 0054 2430 adds r0, r0, #36
95 0056 0C00 movs r4, r1
96 0058 2434 adds r4, r4, #36
97 005a 60CC ldmia r4!, {r5, r6}
98 005c 60C0 stmia r0!, {r5, r6}
2032:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.UplinkDwellTime = LoRaMacParamsDefaults.UplinkDwellTime;
99 .loc 1 2032 0
100 005e 2C20 movs r0, #44
101 0060 0C5C ldrb r4, [r1, r0]
102 0062 1454 strb r4, [r2, r0]
2033:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.DownlinkDwellTime = LoRaMacParamsDefaults.DownlinkDwellTime;
103 .loc 1 2033 0
104 0064 0130 adds r0, r0, #1
105 0066 0C5C ldrb r4, [r1, r0]
106 0068 1454 strb r4, [r2, r0]
2034:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MaxEirp = LoRaMacParamsDefaults.MaxEirp;
107 .loc 1 2034 0
108 006a 086B ldr r0, [r1, #48]
109 006c 1063 str r0, [r2, #48]
2035:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.AntennaGain = LoRaMacParamsDefaults.AntennaGain;
110 .loc 1 2035 0
111 006e 496B ldr r1, [r1, #52]
112 0070 5163 str r1, [r2, #52]
2036:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2037:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
113 .loc 1 2037 0
114 0072 184A ldr r2, .L4+60
115 0074 1370 strb r3, [r2]
2038:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** SrvAckRequested = false;
116 .loc 1 2038 0
117 0076 184A ldr r2, .L4+64
118 0078 1370 strb r3, [r2]
2039:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsInNextTx = false;
119 .loc 1 2039 0
120 007a 184A ldr r2, .L4+68
121 007c 1370 strb r3, [r2]
2040:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2041:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Reset Multicast downlink counters
2042:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MulticastParams_t *cur = MulticastChannels;
122 .loc 1 2042 0
123 007e 184B ldr r3, .L4+72
124 0080 1B68 ldr r3, [r3]
125 .LVL0:
ARM GAS /tmp/ccrFaSdZ.s page 39
2043:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** while( cur != NULL )
126 .loc 1 2043 0
127 0082 02E0 b .L2
128 .L3:
2044:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2045:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cur->DownLinkCounter = 0;
129 .loc 1 2045 0
130 0084 0022 movs r2, #0
131 0086 5A62 str r2, [r3, #36]
2046:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cur = cur->Next;
132 .loc 1 2046 0
133 0088 9B6A ldr r3, [r3, #40]
134 .LVL1:
135 .L2:
2043:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** while( cur != NULL )
136 .loc 1 2043 0
137 008a 002B cmp r3, #0
138 008c FAD1 bne .L3
2047:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2048:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2049:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Initialize channel index.
2050:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Channel = 0;
139 .loc 1 2050 0
140 008e 154A ldr r2, .L4+76
141 0090 1370 strb r3, [r2]
2051:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LastTxChannel = Channel;
142 .loc 1 2051 0
143 0092 154A ldr r2, .L4+80
144 0094 1370 strb r3, [r2]
2052:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
145 .loc 1 2052 0
146 @ sp needed
147 0096 70BD pop {r4, r5, r6, pc}
148 .L5:
149 .align 2
150 .L4:
151 0098 00000000 .word .LANCHOR0
152 009c 00000000 .word .LANCHOR1
153 00a0 00000000 .word .LANCHOR2
154 00a4 00000000 .word .LANCHOR3
155 00a8 00000000 .word .LANCHOR4
156 00ac 00000000 .word .LANCHOR5
157 00b0 00000000 .word .LANCHOR6
158 00b4 00000000 .word .LANCHOR7
159 00b8 00000000 .word .LANCHOR8
160 00bc 00000000 .word .LANCHOR9
161 00c0 00000000 .word .LANCHOR10
162 00c4 00000000 .word .LANCHOR11
163 00c8 00000000 .word .LANCHOR12
164 00cc 00000000 .word .LANCHOR13
165 00d0 00000000 .word .LANCHOR14
166 00d4 00000000 .word .LANCHOR15
167 00d8 00000000 .word .LANCHOR16
168 00dc 00000000 .word .LANCHOR17
169 00e0 00000000 .word .LANCHOR18
170 00e4 00000000 .word .LANCHOR19
171 00e8 00000000 .word .LANCHOR20
ARM GAS /tmp/ccrFaSdZ.s page 40
172 .cfi_endproc
173 .LFE104:
175 .section .text.ValidatePayloadLength,"ax",%progbits
176 .align 1
177 .syntax unified
178 .code 16
179 .thumb_func
180 .fpu softvfp
182 ValidatePayloadLength:
183 .LFB97:
1519:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
184 .loc 1 1519 0
185 .cfi_startproc
186 @ args = 0, pretend = 0, frame = 8
187 @ frame_needed = 0, uses_anonymous_args = 0
188 .LVL2:
189 0000 30B5 push {r4, r5, lr}
190 .LCFI1:
191 .cfi_def_cfa_offset 12
192 .cfi_offset 4, -12
193 .cfi_offset 5, -8
194 .cfi_offset 14, -4
195 0002 83B0 sub sp, sp, #12
196 .LCFI2:
197 .cfi_def_cfa_offset 24
198 0004 0500 movs r5, r0
199 0006 1400 movs r4, r2
200 .LVL3:
1526:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Datarate = datarate;
201 .loc 1 1526 0
202 0008 104A ldr r2, .L11
203 .LVL4:
204 000a 2C23 movs r3, #44
205 000c D25C ldrb r2, [r2, r3]
206 000e 01AB add r3, sp, #4
207 0010 9A70 strb r2, [r3, #2]
1527:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_PAYLOAD;
208 .loc 1 1527 0
209 0012 5970 strb r1, [r3, #1]
1528:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
210 .loc 1 1528 0
211 0014 0922 movs r2, #9
212 0016 1A70 strb r2, [r3]
1531:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
213 .loc 1 1531 0
214 0018 0D4B ldr r3, .L11+4
215 001a 1B78 ldrb r3, [r3]
216 001c 002B cmp r3, #0
217 001e 02D0 beq .L7
1533:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
218 .loc 1 1533 0
219 0020 01AB add r3, sp, #4
220 0022 0132 adds r2, r2, #1
221 0024 1A70 strb r2, [r3]
222 .L7:
1535:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** maxN = phyParam.Value;
223 .loc 1 1535 0
ARM GAS /tmp/ccrFaSdZ.s page 41
224 0026 0B4B ldr r3, .L11+8
225 0028 1878 ldrb r0, [r3]
226 .LVL5:
227 002a 01A9 add r1, sp, #4
228 .LVL6:
229 002c FFF7FEFF bl RegionGetPhyParam
230 .LVL7:
1536:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
231 .loc 1 1536 0
232 0030 80B2 uxth r0, r0
233 .LVL8:
1539:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
234 .loc 1 1539 0
235 0032 6419 adds r4, r4, r5
236 .LVL9:
1542:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
237 .loc 1 1542 0
238 0034 A042 cmp r0, r4
239 0036 03D3 bcc .L9
1542:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
240 .loc 1 1542 0 is_stmt 0 discriminator 1
241 0038 FF2C cmp r4, #255
242 003a 04D9 bls .L10
1546:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
243 .loc 1 1546 0 is_stmt 1
244 003c 0020 movs r0, #0
245 .LVL10:
246 003e 00E0 b .L8
247 .LVL11:
248 .L9:
249 0040 0020 movs r0, #0
250 .LVL12:
251 .L8:
1547:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
252 .loc 1 1547 0
253 0042 03B0 add sp, sp, #12
254 @ sp needed
255 .LVL13:
256 0044 30BD pop {r4, r5, pc}
257 .LVL14:
258 .L10:
1544:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
259 .loc 1 1544 0
260 0046 0120 movs r0, #1
261 .LVL15:
262 0048 FBE7 b .L8
263 .L12:
264 004a C046 .align 2
265 .L11:
266 004c 00000000 .word .LANCHOR14
267 0050 00000000 .word .LANCHOR21
268 0054 00000000 .word .LANCHOR22
269 .cfi_endproc
270 .LFE97:
272 .section .text.OnAckTimeoutTimerEvent,"ax",%progbits
273 .align 1
274 .syntax unified
ARM GAS /tmp/ccrFaSdZ.s page 42
275 .code 16
276 .thumb_func
277 .fpu softvfp
279 OnAckTimeoutTimerEvent:
280 .LFB95:
1492:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &AckTimeoutTimer );
281 .loc 1 1492 0
282 .cfi_startproc
283 @ args = 0, pretend = 0, frame = 0
284 @ frame_needed = 0, uses_anonymous_args = 0
285 0000 10B5 push {r4, lr}
286 .LCFI3:
287 .cfi_def_cfa_offset 8
288 .cfi_offset 4, -8
289 .cfi_offset 14, -4
1493:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
290 .loc 1 1493 0
291 0002 0D48 ldr r0, .L17
292 0004 FFF7FEFF bl TimerStop
293 .LVL16:
1495:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
294 .loc 1 1495 0
295 0008 0C4B ldr r3, .L17+4
296 000a 1B78 ldrb r3, [r3]
297 000c 002B cmp r3, #0
298 000e 07D0 beq .L14
1497:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_ACK_REQ;
299 .loc 1 1497 0
300 0010 0B4B ldr r3, .L17+8
301 0012 0122 movs r2, #1
302 0014 1A70 strb r2, [r3]
1498:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
303 .loc 1 1498 0
304 0016 0B4A ldr r2, .L17+12
305 0018 0423 movs r3, #4
306 001a 1168 ldr r1, [r2]
307 001c 9943 bics r1, r3
308 001e 1160 str r1, [r2]
309 .L14:
1500:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
310 .loc 1 1500 0
311 0020 094B ldr r3, .L17+16
312 0022 1B78 ldrb r3, [r3]
313 0024 022B cmp r3, #2
314 0026 00D0 beq .L16
315 .L13:
1504:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
316 .loc 1 1504 0
317 @ sp needed
318 0028 10BD pop {r4, pc}
319 .L16:
1502:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
320 .loc 1 1502 0
321 002a 084A ldr r2, .L17+20
322 002c 1378 ldrb r3, [r2]
323 002e 1021 movs r1, #16
324 0030 0B43 orrs r3, r1
ARM GAS /tmp/ccrFaSdZ.s page 43
325 0032 1370 strb r3, [r2]
1504:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
326 .loc 1 1504 0
327 0034 F8E7 b .L13
328 .L18:
329 0036 C046 .align 2
330 .L17:
331 0038 00000000 .word .LANCHOR23
332 003c 00000000 .word .LANCHOR15
333 0040 00000000 .word .LANCHOR7
334 0044 00000000 .word .LANCHOR24
335 0048 00000000 .word .LANCHOR25
336 004c 00000000 .word .LANCHOR26
337 .cfi_endproc
338 .LFE95:
340 .section .text.PrepareRxDoneAbort,"ax",%progbits
341 .align 1
342 .syntax unified
343 .code 16
344 .thumb_func
345 .fpu softvfp
347 PrepareRxDoneAbort:
348 .LFB86:
685:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState |= LORAMAC_RX_ABORT;
349 .loc 1 685 0
350 .cfi_startproc
351 @ args = 0, pretend = 0, frame = 0
352 @ frame_needed = 0, uses_anonymous_args = 0
353 0000 10B5 push {r4, lr}
354 .LCFI4:
355 .cfi_def_cfa_offset 8
356 .cfi_offset 4, -8
357 .cfi_offset 14, -4
686:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
358 .loc 1 686 0
359 0002 0E4A ldr r2, .L22
360 0004 4023 movs r3, #64
361 0006 1168 ldr r1, [r2]
362 0008 0B43 orrs r3, r1
363 000a 1360 str r3, [r2]
688:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
364 .loc 1 688 0
365 000c 0C4B ldr r3, .L22+4
366 000e 1B78 ldrb r3, [r3]
367 0010 002B cmp r3, #0
368 0012 0FD1 bne .L21
369 .L20:
693:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
370 .loc 1 693 0
371 0014 0B4A ldr r2, .L22+8
372 0016 1378 ldrb r3, [r2]
694:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
373 .loc 1 694 0
374 0018 0221 movs r1, #2
375 001a 0B43 orrs r3, r1
376 001c 1021 movs r1, #16
377 001e 0B43 orrs r3, r1
ARM GAS /tmp/ccrFaSdZ.s page 44
378 0020 1370 strb r3, [r2]
697:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
379 .loc 1 697 0
380 0022 094C ldr r4, .L22+12
381 0024 0121 movs r1, #1
382 0026 2000 movs r0, r4
383 0028 FFF7FEFF bl TimerSetValue
384 .LVL17:
698:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
385 .loc 1 698 0
386 002c 2000 movs r0, r4
387 002e FFF7FEFF bl TimerStart
388 .LVL18:
699:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
389 .loc 1 699 0
390 @ sp needed
391 0032 10BD pop {r4, pc}
392 .L21:
690:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
393 .loc 1 690 0
394 0034 FFF7FEFF bl OnAckTimeoutTimerEvent
395 .LVL19:
396 0038 ECE7 b .L20
397 .L23:
398 003a C046 .align 2
399 .L22:
400 003c 00000000 .word .LANCHOR24
401 0040 00000000 .word .LANCHOR15
402 0044 00000000 .word .LANCHOR26
403 0048 00000000 .word .LANCHOR27
404 .cfi_endproc
405 .LFE86:
407 .global __aeabi_uidiv
408 .global __aeabi_ui2f
409 .section .text.ProcessMacCommands,"ax",%progbits
410 .align 1
411 .syntax unified
412 .code 16
413 .thumb_func
414 .fpu softvfp
416 ProcessMacCommands:
417 .LFB100:
1700:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t status = 0;
418 .loc 1 1700 0
419 .cfi_startproc
420 @ args = 0, pretend = 0, frame = 32
421 @ frame_needed = 0, uses_anonymous_args = 0
422 .LVL20:
423 0000 F0B5 push {r4, r5, r6, r7, lr}
424 .LCFI5:
425 .cfi_def_cfa_offset 20
426 .cfi_offset 4, -20
427 .cfi_offset 5, -16
428 .cfi_offset 6, -12
429 .cfi_offset 7, -8
430 .cfi_offset 14, -4
431 0002 D646 mov lr, r10
ARM GAS /tmp/ccrFaSdZ.s page 45
432 0004 4F46 mov r7, r9
433 0006 4646 mov r6, r8
434 0008 C0B5 push {r6, r7, lr}
435 .LCFI6:
436 .cfi_def_cfa_offset 32
437 .cfi_offset 8, -32
438 .cfi_offset 9, -28
439 .cfi_offset 10, -24
440 000a 8AB0 sub sp, sp, #40
441 .LCFI7:
442 .cfi_def_cfa_offset 72
443 000c 0700 movs r7, r0
444 000e 0C00 movs r4, r1
445 0010 1500 movs r5, r2
446 0012 0393 str r3, [sp, #12]
447 .LVL21:
448 .L25:
1703:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
449 .loc 1 1703 0
450 0014 AC42 cmp r4, r5
451 0016 00D3 bcc .LCB387
452 0018 09E2 b .L24 @long jump
453 .LCB387:
1706:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
454 .loc 1 1706 0
455 001a 661C adds r6, r4, #1
456 001c F6B2 uxtb r6, r6
457 .LVL22:
458 001e 3B5D ldrb r3, [r7, r4]
459 0020 0A2B cmp r3, #10
460 0022 00D9 bls .LCB393
461 0024 03E2 b .L24 @long jump
462 .LCB393:
463 0026 9B00 lsls r3, r3, #2
464 0028 DA4A ldr r2, .L58
465 002a D358 ldr r3, [r2, r3]
466 002c 9F46 mov pc, r3
467 .section .rodata.ProcessMacCommands,"a",%progbits
468 .align 2
469 .L28:
470 0000 2E040000 .word .L24
471 0004 2E040000 .word .L24
472 0008 2E000000 .word .L27
473 000c 46000000 .word .L29
474 0010 2C010000 .word .L30
475 0014 68010000 .word .L31
476 0018 FA010000 .word .L32
477 001c 50020000 .word .L33
478 0020 C4020000 .word .L34
479 0024 14030000 .word .L35
480 0028 C8030000 .word .L36
481 .section .text.ProcessMacCommands
482 .L27:
1709:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.DemodMargin = payload[macIndex++];
483 .loc 1 1709 0
484 002e DA4B ldr r3, .L58+4
485 0030 0022 movs r2, #0
ARM GAS /tmp/ccrFaSdZ.s page 46
486 0032 5A70 strb r2, [r3, #1]
1710:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.NbGateways = payload[macIndex++];
487 .loc 1 1710 0
488 0034 A21C adds r2, r4, #2
489 0036 D2B2 uxtb r2, r2
490 .LVL23:
491 0038 B95D ldrb r1, [r7, r6]
492 003a 1972 strb r1, [r3, #8]
1711:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
493 .loc 1 1711 0
494 003c 0334 adds r4, r4, #3
495 003e E4B2 uxtb r4, r4
496 .LVL24:
497 0040 BA5C ldrb r2, [r7, r2]
498 0042 5A72 strb r2, [r3, #9]
1712:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_LINK_ADR_REQ:
499 .loc 1 1712 0
500 0044 E6E7 b .L25
501 .LVL25:
502 .L29:
503 .LBB34:
1716:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** int8_t linkAdrTxPower = TX_POWER_0;
504 .loc 1 1716 0
505 0046 0922 movs r2, #9
506 0048 02AB add r3, sp, #8
507 004a 9C46 mov ip, r3
508 004c 6244 add r2, r2, ip
509 004e 0021 movs r1, #0
510 0050 1170 strb r1, [r2]
1717:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t linkAdrNbRep = 0;
511 .loc 1 1717 0
512 0052 0A23 movs r3, #10
513 0054 6046 mov r0, ip
514 0056 6344 add r3, r3, ip
515 0058 9C46 mov ip, r3
516 005a 1970 strb r1, [r3]
1718:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t linkAdrNbBytesParsed = 0;
517 .loc 1 1718 0
518 005c 0B24 movs r4, #11
519 005e 8046 mov r8, r0
520 0060 4444 add r4, r4, r8
521 0062 2170 strb r1, [r4]
1719:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
522 .loc 1 1719 0
523 0064 0173 strb r1, [r0, #12]
1722:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.PayloadSize = commandsSize - ( macIndex - 1 );
524 .loc 1 1722 0
525 0066 701E subs r0, r6, #1
526 0068 3818 adds r0, r7, r0
527 006a 07A9 add r1, sp, #28
528 006c 0790 str r0, [sp, #28]
1723:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.AdrEnabled = AdrCtrlOn;
529 .loc 1 1723 0
530 006e A81B subs r0, r5, r6
531 0070 0130 adds r0, r0, #1
532 0072 0871 strb r0, [r1, #4]
1724:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
ARM GAS /tmp/ccrFaSdZ.s page 47
533 .loc 1 1724 0
534 0074 C948 ldr r0, .L58+8
535 0076 0078 ldrb r0, [r0]
536 0078 8871 strb r0, [r1, #6]
1725:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.CurrentDatarate = LoRaMacParams.ChannelsDatarate;
537 .loc 1 1725 0
538 007a C948 ldr r0, .L58+12
539 007c 2C23 movs r3, #44
540 007e C35C ldrb r3, [r0, r3]
541 0080 4B71 strb r3, [r1, #5]
1726:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.CurrentTxPower = LoRaMacParams.ChannelsTxPower;
542 .loc 1 1726 0
543 0082 0123 movs r3, #1
544 0084 C356 ldrsb r3, [r0, r3]
545 0086 CB71 strb r3, [r1, #7]
1727:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** linkAdrReq.CurrentNbRep = LoRaMacParams.ChannelsNbRep;
546 .loc 1 1727 0
547 0088 0023 movs r3, #0
548 008a C356 ldrsb r3, [r0, r3]
549 008c 0B72 strb r3, [r1, #8]
1728:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
550 .loc 1 1728 0
551 008e 2023 movs r3, #32
552 0090 C05C ldrb r0, [r0, r3]
553 0092 4872 strb r0, [r1, #9]
1731:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** &linkAdrTxPower, &linkAdrNbRep, &linkAdrNbBytesParse
554 .loc 1 1731 0
555 0094 C348 ldr r0, .L58+16
556 0096 0078 ldrb r0, [r0]
557 0098 05AB add r3, sp, #20
558 009a 0193 str r3, [sp, #4]
559 009c 0094 str r4, [sp]
560 009e 6346 mov r3, ip
561 00a0 FFF7FEFF bl RegionLinkAdrReq
562 .LVL26:
563 00a4 0300 movs r3, r0
564 00a6 8246 mov r10, r0
565 .LVL27:
1734:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
566 .loc 1 1734 0
567 00a8 0720 movs r0, #7
568 00aa 1840 ands r0, r3
569 00ac 0728 cmp r0, #7
570 00ae 01D0 beq .L55
571 .LVL28:
572 .L38:
573 .LBE34:
1700:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t status = 0;
574 .loc 1 1700 0 discriminator 1
575 00b0 0024 movs r4, #0
576 00b2 12E0 b .L40
577 .LVL29:
578 .L55:
579 .LBB38:
1736:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsTxPower = linkAdrTxPower;
580 .loc 1 1736 0
581 00b4 BA4B ldr r3, .L58+12
ARM GAS /tmp/ccrFaSdZ.s page 48
582 .LVL30:
583 00b6 0922 movs r2, #9
584 00b8 02A9 add r1, sp, #8
585 00ba 8C46 mov ip, r1
586 00bc 6244 add r2, r2, ip
587 00be 1278 ldrb r2, [r2]
588 00c0 5A70 strb r2, [r3, #1]
1737:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsNbRep = linkAdrNbRep;
589 .loc 1 1737 0
590 00c2 0A22 movs r2, #10
591 00c4 6244 add r2, r2, ip
592 00c6 1278 ldrb r2, [r2]
593 00c8 1A70 strb r2, [r3]
1738:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
594 .loc 1 1738 0
595 00ca 0B22 movs r2, #11
596 00cc 6244 add r2, r2, ip
597 00ce 1178 ldrb r1, [r2]
598 00d0 2022 movs r2, #32
599 00d2 9954 strb r1, [r3, r2]
600 00d4 ECE7 b .L38
601 .LVL31:
602 .L39:
603 .LBB35:
1742:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
604 .loc 1 1742 0
605 00d6 0134 adds r4, r4, #1
606 .LVL32:
607 00d8 E4B2 uxtb r4, r4
608 .LVL33:
609 .L40:
1742:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
610 .loc 1 1742 0 is_stmt 0 discriminator 1
611 00da 05AB add r3, sp, #20
612 00dc 1B78 ldrb r3, [r3]
613 00de 9846 mov r8, r3
614 00e0 0521 movs r1, #5
615 00e2 1800 movs r0, r3
616 00e4 FFF7FEFF bl __aeabi_uidiv
617 .LVL34:
618 00e8 C0B2 uxtb r0, r0
619 00ea A042 cmp r0, r4
620 00ec 18D9 bls .L56
621 .LVL35:
622 .LBB36:
623 .LBB37:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
624 .loc 1 1553 0 is_stmt 1
625 00ee AE4B ldr r3, .L58+20
626 00f0 1A78 ldrb r2, [r3]
627 00f2 8023 movs r3, #128
628 00f4 5B42 rsbs r3, r3, #0
629 00f6 9B1A subs r3, r3, r2
630 00f8 DBB2 uxtb r3, r3
631 .LVL36:
1566:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
632 .loc 1 1566 0
ARM GAS /tmp/ccrFaSdZ.s page 49
633 00fa AC4A ldr r2, .L58+24
634 00fc 1278 ldrb r2, [r2]
635 00fe 013B subs r3, r3, #1
636 .LVL37:
637 0100 9A42 cmp r2, r3
638 0102 E8DA bge .L39
1568:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Margin
639 .loc 1 1568 0
640 0104 531C adds r3, r2, #1
641 .LVL38:
642 0106 DBB2 uxtb r3, r3
643 0108 A949 ldr r1, .L58+28
644 010a 0320 movs r0, #3
645 010c 8854 strb r0, [r1, r2]
1570:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
646 .loc 1 1570 0
647 010e 0232 adds r2, r2, #2
648 0110 A648 ldr r0, .L58+24
649 0112 0270 strb r2, [r0]
650 0114 5246 mov r2, r10
651 0116 CA54 strb r2, [r1, r3]
652 .LVL39:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
653 .loc 1 1641 0
654 0118 A64B ldr r3, .L58+32
655 011a 0122 movs r2, #1
656 011c 1A70 strb r2, [r3]
657 011e DAE7 b .L39
658 .LVL40:
659 .L56:
660 .LBE37:
661 .LBE36:
662 .LBE35:
1747:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
663 .loc 1 1747 0
664 0120 3400 movs r4, r6
665 .LVL41:
666 0122 4444 add r4, r4, r8
667 0124 E4B2 uxtb r4, r4
668 0126 013C subs r4, r4, #1
669 0128 E4B2 uxtb r4, r4
670 .LVL42:
671 .LBE38:
1749:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_DUTY_CYCLE_REQ:
672 .loc 1 1749 0
673 012a 73E7 b .L25
674 .LVL43:
675 .L30:
1751:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AggregatedDCycle = 1 << MaxDCycle;
676 .loc 1 1751 0
677 012c 0234 adds r4, r4, #2
678 012e E4B2 uxtb r4, r4
679 .LVL44:
680 0130 BA5D ldrb r2, [r7, r6]
681 0132 A14B ldr r3, .L58+36
682 0134 1A70 strb r2, [r3]
1752:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_DUTY_CYCLE_ANS, 0, 0 );
ARM GAS /tmp/ccrFaSdZ.s page 50
683 .loc 1 1752 0
684 0136 0123 movs r3, #1
685 0138 9340 lsls r3, r3, r2
686 013a A04A ldr r2, .L58+40
687 013c 1380 strh r3, [r2]
688 .LVL45:
689 .LBB39:
690 .LBB40:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
691 .loc 1 1553 0
692 013e 9A4B ldr r3, .L58+20
693 0140 1A78 ldrb r2, [r3]
694 0142 8023 movs r3, #128
695 0144 5B42 rsbs r3, r3, #0
696 0146 9B1A subs r3, r3, r2
697 0148 DBB2 uxtb r3, r3
698 .LVL46:
1575:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
699 .loc 1 1575 0
700 014a 984A ldr r2, .L58+24
701 014c 1278 ldrb r2, [r2]
702 014e 9342 cmp r3, r2
703 0150 00D8 bhi .LCB629
704 0152 5FE7 b .L25 @long jump
705 .LCB629:
1577:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // No payload for this answer
706 .loc 1 1577 0
707 0154 511C adds r1, r2, #1
708 0156 954B ldr r3, .L58+24
709 .LVL47:
710 0158 1970 strb r1, [r3]
711 015a 954B ldr r3, .L58+28
712 015c 0421 movs r1, #4
713 015e 9954 strb r1, [r3, r2]
714 .LVL48:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
715 .loc 1 1641 0
716 0160 944B ldr r3, .L58+32
717 0162 0122 movs r2, #1
718 0164 1A70 strb r2, [r3]
719 0166 55E7 b .L25
720 .LVL49:
721 .L31:
722 .LBE40:
723 .LBE39:
724 .LBB41:
1760:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Datarate = payload[macIndex] & 0x0F;
725 .loc 1 1760 0
726 0168 BA19 adds r2, r7, r6
727 016a 1378 ldrb r3, [r2]
728 016c 1B09 lsrs r3, r3, #4
729 016e 0726 movs r6, #7
730 .LVL50:
731 0170 3340 ands r3, r6
732 0172 07A9 add r1, sp, #28
733 0174 4B70 strb r3, [r1, #1]
1761:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macIndex++;
ARM GAS /tmp/ccrFaSdZ.s page 51
734 .loc 1 1761 0
735 0176 1278 ldrb r2, [r2]
736 0178 52B2 sxtb r2, r2
737 017a 0F23 movs r3, #15
738 017c 1340 ands r3, r2
739 017e 0B70 strb r3, [r1]
1762:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
740 .loc 1 1762 0
741 0180 A31C adds r3, r4, #2
742 0182 DBB2 uxtb r3, r3
743 .LVL51:
1764:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Frequency |= ( uint32_t )payload[macIndex++] << 8;
744 .loc 1 1764 0
745 0184 E01C adds r0, r4, #3
746 0186 C0B2 uxtb r0, r0
747 .LVL52:
748 0188 FB5C ldrb r3, [r7, r3]
1765:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Frequency |= ( uint32_t )payload[macIndex++] << 16;
749 .loc 1 1765 0
750 018a 221D adds r2, r4, #4
751 018c D2B2 uxtb r2, r2
752 .LVL53:
753 018e 385C ldrb r0, [r7, r0]
754 0190 0002 lsls r0, r0, #8
755 0192 0343 orrs r3, r0
1766:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** rxParamSetupReq.Frequency *= 100;
756 .loc 1 1766 0
757 0194 0534 adds r4, r4, #5
758 0196 E4B2 uxtb r4, r4
759 .LVL54:
760 0198 BA5C ldrb r2, [r7, r2]
761 019a 1204 lsls r2, r2, #16
762 019c 1343 orrs r3, r2
1767:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
763 .loc 1 1767 0
764 019e 6422 movs r2, #100
765 01a0 5343 muls r3, r2
766 01a2 4B60 str r3, [r1, #4]
1770:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
767 .loc 1 1770 0
768 01a4 7F4B ldr r3, .L58+16
769 01a6 1878 ldrb r0, [r3]
770 01a8 FFF7FEFF bl RegionRxParamSetupReq
771 .LVL55:
1772:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
772 .loc 1 1772 0
773 01ac 0640 ands r6, r0
774 01ae 072E cmp r6, #7
775 01b0 18D0 beq .L57
776 .L42:
777 .LVL56:
778 .LBB42:
779 .LBB43:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
780 .loc 1 1553 0
781 01b2 7D4B ldr r3, .L58+20
782 01b4 1A78 ldrb r2, [r3]
ARM GAS /tmp/ccrFaSdZ.s page 52
783 01b6 8023 movs r3, #128
784 01b8 5B42 rsbs r3, r3, #0
785 01ba 9B1A subs r3, r3, r2
786 01bc DBB2 uxtb r3, r3
787 .LVL57:
1583:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
788 .loc 1 1583 0
789 01be 7B4A ldr r2, .L58+24
790 01c0 1278 ldrb r2, [r2]
791 01c2 013B subs r3, r3, #1
792 .LVL58:
793 01c4 9A42 cmp r2, r3
794 01c6 00DB blt .LCB721
795 01c8 24E7 b .L25 @long jump
796 .LCB721:
1585:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Status: Datarate ACK, Channel ACK
797 .loc 1 1585 0
798 01ca 531C adds r3, r2, #1
799 .LVL59:
800 01cc DBB2 uxtb r3, r3
801 01ce 7849 ldr r1, .L58+28
802 01d0 0526 movs r6, #5
803 01d2 8E54 strb r6, [r1, r2]
1587:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
804 .loc 1 1587 0
805 01d4 0232 adds r2, r2, #2
806 01d6 754E ldr r6, .L58+24
807 01d8 3270 strb r2, [r6]
808 01da C854 strb r0, [r1, r3]
809 .LVL60:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
810 .loc 1 1641 0
811 01dc 754B ldr r3, .L58+32
812 01de 0122 movs r2, #1
813 01e0 1A70 strb r2, [r3]
814 .LVL61:
815 .LBE43:
816 .LBE42:
817 .LBE41:
1780:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_DEV_STATUS_REQ:
818 .loc 1 1780 0
819 01e2 17E7 b .L25
820 .LVL62:
821 .L57:
822 .LBB44:
1774:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Frequency = rxParamSetupReq.Frequency;
823 .loc 1 1774 0
824 01e4 07AA add r2, sp, #28
825 01e6 1678 ldrb r6, [r2]
826 01e8 6D4B ldr r3, .L58+12
827 01ea 2821 movs r1, #40
828 01ec 5E54 strb r6, [r3, r1]
1775:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx1DrOffset = rxParamSetupReq.DrOffset;
829 .loc 1 1775 0
830 01ee 0899 ldr r1, [sp, #32]
831 01f0 5962 str r1, [r3, #36]
1776:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
ARM GAS /tmp/ccrFaSdZ.s page 53
832 .loc 1 1776 0
833 01f2 5178 ldrb r1, [r2, #1]
834 01f4 2122 movs r2, #33
835 01f6 9954 strb r1, [r3, r2]
836 01f8 DBE7 b .L42
837 .LVL63:
838 .L32:
839 .LBE44:
840 .LBB45:
1784:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
841 .loc 1 1784 0
842 01fa 714B ldr r3, .L58+44
843 01fc 1B68 ldr r3, [r3]
844 01fe 002B cmp r3, #0
845 0200 22D0 beq .L52
1784:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
846 .loc 1 1784 0 is_stmt 0 discriminator 1
847 0202 1B68 ldr r3, [r3]
848 0204 002B cmp r3, #0
849 0206 21D0 beq .L53
1786:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
850 .loc 1 1786 0 is_stmt 1
851 0208 9847 blx r3
852 .LVL64:
853 .L44:
854 .LBB46:
855 .LBB47:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
856 .loc 1 1553 0
857 020a 674B ldr r3, .L58+20
858 020c 1A78 ldrb r2, [r3]
859 020e 8023 movs r3, #128
860 0210 5B42 rsbs r3, r3, #0
861 0212 9B1A subs r3, r3, r2
862 0214 DBB2 uxtb r3, r3
863 .LVL65:
1592:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
864 .loc 1 1592 0
865 0216 654A ldr r2, .L58+24
866 0218 1278 ldrb r2, [r2]
867 021a 023B subs r3, r3, #2
868 .LVL66:
869 021c 9A42 cmp r2, r3
870 021e 00DB blt .LCB803
871 0220 03E1 b .L54 @long jump
872 .LCB803:
1594:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // 1st byte Battery
873 .loc 1 1594 0
874 0222 541C adds r4, r2, #1
875 0224 E4B2 uxtb r4, r4
876 0226 6249 ldr r1, .L58+28
877 0228 0623 movs r3, #6
878 .LVL67:
879 022a 8B54 strb r3, [r1, r2]
1597:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBuffer[MacCommandsBufferIndex++] = p2;
880 .loc 1 1597 0
881 022c 931C adds r3, r2, #2
ARM GAS /tmp/ccrFaSdZ.s page 54
882 022e DBB2 uxtb r3, r3
883 0230 0855 strb r0, [r1, r4]
1598:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
884 .loc 1 1598 0
885 0232 0332 adds r2, r2, #3
886 0234 5D48 ldr r0, .L58+24
887 .LVL68:
888 0236 0270 strb r2, [r0]
889 0238 6A46 mov r2, sp
890 023a 127B ldrb r2, [r2, #12]
891 023c CA54 strb r2, [r1, r3]
892 .LVL69:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
893 .loc 1 1641 0
894 023e 5D4B ldr r3, .L58+32
895 0240 0122 movs r2, #1
896 0242 1A70 strb r2, [r3]
897 .LBE47:
898 .LBE46:
899 .LBE45:
1706:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
900 .loc 1 1706 0
901 0244 3400 movs r4, r6
902 0246 E5E6 b .L25
903 .LVL70:
904 .L52:
905 .LBB48:
1783:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacCallbacks != NULL ) && ( LoRaMacCallbacks->GetBatteryLevel != NULL
906 .loc 1 1783 0
907 0248 FF20 movs r0, #255
908 024a DEE7 b .L44
909 .L53:
910 024c FF20 movs r0, #255
911 024e DCE7 b .L44
912 .LVL71:
913 .L33:
914 .LBE48:
915 .LBB49:
1797:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** newChannelReq.NewChannel = &chParam;
916 .loc 1 1797 0
917 0250 A31C adds r3, r4, #2
918 0252 DBB2 uxtb r3, r3
919 .LVL72:
920 0254 BA57 ldrsb r2, [r7, r6]
921 0256 05A9 add r1, sp, #20
922 0258 0A71 strb r2, [r1, #4]
1798:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
923 .loc 1 1798 0
924 025a 07AA add r2, sp, #28
925 025c 0592 str r2, [sp, #20]
1800:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Frequency |= ( uint32_t )payload[macIndex++] << 8;
926 .loc 1 1800 0
927 025e E01C adds r0, r4, #3
928 0260 C0B2 uxtb r0, r0
929 .LVL73:
930 0262 FB5C ldrb r3, [r7, r3]
1801:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Frequency |= ( uint32_t )payload[macIndex++] << 16;
ARM GAS /tmp/ccrFaSdZ.s page 55
931 .loc 1 1801 0
932 0264 261D adds r6, r4, #4
933 0266 F6B2 uxtb r6, r6
934 .LVL74:
935 0268 385C ldrb r0, [r7, r0]
936 026a 0002 lsls r0, r0, #8
937 026c 0343 orrs r3, r0
1802:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Frequency *= 100;
938 .loc 1 1802 0
939 026e 601D adds r0, r4, #5
940 0270 C0B2 uxtb r0, r0
941 .LVL75:
942 0272 BE5D ldrb r6, [r7, r6]
943 0274 3604 lsls r6, r6, #16
944 0276 3343 orrs r3, r6
1803:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.Rx1Frequency = 0;
945 .loc 1 1803 0
946 0278 6426 movs r6, #100
947 027a 7343 muls r3, r6
948 027c 0793 str r3, [sp, #28]
1804:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chParam.DrRange.Value = payload[macIndex++];
949 .loc 1 1804 0
950 027e 0023 movs r3, #0
951 0280 0893 str r3, [sp, #32]
1805:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
952 .loc 1 1805 0
953 0282 0634 adds r4, r4, #6
954 0284 E4B2 uxtb r4, r4
955 .LVL76:
956 0286 3B56 ldrsb r3, [r7, r0]
957 0288 1372 strb r3, [r2, #8]
1807:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
958 .loc 1 1807 0
959 028a 464B ldr r3, .L58+16
960 028c 1878 ldrb r0, [r3]
961 028e FFF7FEFF bl RegionNewChannelReq
962 .LVL77:
963 .LBB50:
964 .LBB51:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
965 .loc 1 1553 0
966 0292 454B ldr r3, .L58+20
967 0294 1A78 ldrb r2, [r3]
968 0296 8023 movs r3, #128
969 0298 5B42 rsbs r3, r3, #0
970 029a 9B1A subs r3, r3, r2
971 029c DBB2 uxtb r3, r3
972 .LVL78:
1603:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
973 .loc 1 1603 0
974 029e 434A ldr r2, .L58+24
975 02a0 1278 ldrb r2, [r2]
976 02a2 013B subs r3, r3, #1
977 .LVL79:
978 02a4 9A42 cmp r2, r3
979 02a6 00DB blt .LCB913
980 02a8 B4E6 b .L25 @long jump
ARM GAS /tmp/ccrFaSdZ.s page 56
981 .LCB913:
1605:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Status: Datarate range OK, Channel frequency OK
982 .loc 1 1605 0
983 02aa 531C adds r3, r2, #1
984 .LVL80:
985 02ac DBB2 uxtb r3, r3
986 02ae 4049 ldr r1, .L58+28
987 02b0 5D3E subs r6, r6, #93
988 02b2 8E54 strb r6, [r1, r2]
1607:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
989 .loc 1 1607 0
990 02b4 0232 adds r2, r2, #2
991 02b6 3D4E ldr r6, .L58+24
992 02b8 3270 strb r2, [r6]
993 02ba C854 strb r0, [r1, r3]
994 .LVL81:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
995 .loc 1 1641 0
996 02bc 3D4B ldr r3, .L58+32
997 02be 0122 movs r2, #1
998 02c0 1A70 strb r2, [r3]
999 .LVL82:
1000 .LBE51:
1001 .LBE50:
1002 .LBE49:
1811:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_RX_TIMING_SETUP_REQ:
1003 .loc 1 1811 0
1004 02c2 A7E6 b .L25
1005 .LVL83:
1006 .L34:
1007 .LBB52:
1814:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1008 .loc 1 1814 0
1009 02c4 0234 adds r4, r4, #2
1010 02c6 E4B2 uxtb r4, r4
1011 .LVL84:
1012 02c8 BA5D ldrb r2, [r7, r6]
1013 02ca 0F23 movs r3, #15
1014 02cc 1A40 ands r2, r3
1015 .LVL85:
1816:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1016 .loc 1 1816 0
1017 02ce 00D1 bne .L46
1818:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1018 .loc 1 1818 0
1019 02d0 0132 adds r2, r2, #1
1020 .LVL86:
1021 .L46:
1820:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay2 = LoRaMacParams.ReceiveDelay1 + 1000;
1022 .loc 1 1820 0
1023 02d2 5301 lsls r3, r2, #5
1024 02d4 9B1A subs r3, r3, r2
1025 02d6 9B00 lsls r3, r3, #2
1026 02d8 9B18 adds r3, r3, r2
1027 02da DA00 lsls r2, r3, #3
1028 .LVL87:
1029 02dc 304B ldr r3, .L58+12
ARM GAS /tmp/ccrFaSdZ.s page 57
1030 02de 1A61 str r2, [r3, #16]
1821:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AddMacCommand( MOTE_MAC_RX_TIMING_SETUP_ANS, 0, 0 );
1031 .loc 1 1821 0
1032 02e0 FA21 movs r1, #250
1033 02e2 8900 lsls r1, r1, #2
1034 02e4 8C46 mov ip, r1
1035 02e6 6244 add r2, r2, ip
1036 02e8 5A61 str r2, [r3, #20]
1037 .LVL88:
1038 .LBB53:
1039 .LBB54:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1040 .loc 1 1553 0
1041 02ea 2F4B ldr r3, .L58+20
1042 02ec 1A78 ldrb r2, [r3]
1043 02ee 8023 movs r3, #128
1044 02f0 5B42 rsbs r3, r3, #0
1045 02f2 9B1A subs r3, r3, r2
1046 02f4 DBB2 uxtb r3, r3
1047 .LVL89:
1612:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1048 .loc 1 1612 0
1049 02f6 2D4A ldr r2, .L58+24
1050 02f8 1278 ldrb r2, [r2]
1051 02fa 9342 cmp r3, r2
1052 02fc 00D8 bhi .LCB991
1053 02fe 89E6 b .L25 @long jump
1054 .LCB991:
1614:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // No payload for this answer
1055 .loc 1 1614 0
1056 0300 511C adds r1, r2, #1
1057 0302 2A4B ldr r3, .L58+24
1058 .LVL90:
1059 0304 1970 strb r1, [r3]
1060 0306 2A4B ldr r3, .L58+28
1061 0308 0821 movs r1, #8
1062 030a 9954 strb r1, [r3, r2]
1063 .LVL91:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1064 .loc 1 1641 0
1065 030c 294B ldr r3, .L58+32
1066 030e 0122 movs r2, #1
1067 0310 1A70 strb r2, [r3]
1068 0312 7FE6 b .L25
1069 .LVL92:
1070 .L35:
1071 .LBE54:
1072 .LBE53:
1073 .LBE52:
1074 .LBB55:
1828:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1075 .loc 1 1828 0
1076 0314 0234 adds r4, r4, #2
1077 0316 E4B2 uxtb r4, r4
1078 .LVL93:
1079 0318 BA5D ldrb r2, [r7, r6]
1080 .LVL94:
ARM GAS /tmp/ccrFaSdZ.s page 58
1830:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txParamSetupReq.DownlinkDwellTime = 0;
1081 .loc 1 1830 0
1082 031a 07AB add r3, sp, #28
1083 031c 0021 movs r1, #0
1084 031e 1970 strb r1, [r3]
1831:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1085 .loc 1 1831 0
1086 0320 5970 strb r1, [r3, #1]
1833:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1087 .loc 1 1833 0
1088 0322 9306 lsls r3, r2, #26
1089 0324 02D5 bpl .L47
1835:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1090 .loc 1 1835 0
1091 0326 07AB add r3, sp, #28
1092 0328 0131 adds r1, r1, #1
1093 032a 5970 strb r1, [r3, #1]
1094 .L47:
1837:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1095 .loc 1 1837 0
1096 032c D306 lsls r3, r2, #27
1097 032e 02D5 bpl .L48
1839:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1098 .loc 1 1839 0
1099 0330 07AB add r3, sp, #28
1100 0332 0121 movs r1, #1
1101 0334 1970 strb r1, [r3]
1102 .L48:
1841:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1103 .loc 1 1841 0
1104 0336 0F23 movs r3, #15
1105 0338 1340 ands r3, r2
1106 033a 07A9 add r1, sp, #28
1107 033c 8B70 strb r3, [r1, #2]
1844:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1108 .loc 1 1844 0
1109 033e 194B ldr r3, .L58+16
1110 0340 1878 ldrb r0, [r3]
1111 0342 FFF7FEFF bl RegionTxParamSetupReq
1112 .LVL95:
1113 0346 431C adds r3, r0, #1
1114 0348 00D1 bne .LCB1060
1115 034a 63E6 b .L25 @long jump
1116 .LCB1060:
1847:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.DownlinkDwellTime = txParamSetupReq.DownlinkDwellTime;
1117 .loc 1 1847 0
1118 034c 07AB add r3, sp, #28
1119 034e 1978 ldrb r1, [r3]
1120 0350 134E ldr r6, .L58+12
1121 0352 2C22 movs r2, #44
1122 0354 B154 strb r1, [r6, r2]
1848:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MaxEirp = LoRaMacMaxEirpTable[txParamSetupReq.MaxEirp];
1123 .loc 1 1848 0
1124 0356 5978 ldrb r1, [r3, #1]
1125 0358 0132 adds r2, r2, #1
1126 035a B154 strb r1, [r6, r2]
1849:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Add command response
ARM GAS /tmp/ccrFaSdZ.s page 59
1127 .loc 1 1849 0
1128 035c 9B78 ldrb r3, [r3, #2]
1129 035e 194A ldr r2, .L58+48
1130 0360 D05C ldrb r0, [r2, r3]
1131 0362 FFF7FEFF bl __aeabi_ui2f
1132 .LVL96:
1133 0366 3063 str r0, [r6, #48]
1134 .LVL97:
1135 .LBB56:
1136 .LBB57:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1137 .loc 1 1553 0
1138 0368 0F4B ldr r3, .L58+20
1139 036a 1A78 ldrb r2, [r3]
1140 036c 8023 movs r3, #128
1141 036e 5B42 rsbs r3, r3, #0
1142 0370 9B1A subs r3, r3, r2
1143 0372 DBB2 uxtb r3, r3
1144 .LVL98:
1620:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1145 .loc 1 1620 0
1146 0374 0D4A ldr r2, .L58+24
1147 0376 1278 ldrb r2, [r2]
1148 0378 9342 cmp r3, r2
1149 037a 00D8 bhi .LCB1091
1150 037c 4AE6 b .L25 @long jump
1151 .LCB1091:
1622:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // No payload for this answer
1152 .loc 1 1622 0
1153 037e 511C adds r1, r2, #1
1154 0380 0A4B ldr r3, .L58+24
1155 .LVL99:
1156 0382 1970 strb r1, [r3]
1157 0384 0A4B ldr r3, .L58+28
1158 0386 0921 movs r1, #9
1159 0388 9954 strb r1, [r3, r2]
1160 .LVL100:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1161 .loc 1 1641 0
1162 038a 0A4B ldr r3, .L58+32
1163 038c 0122 movs r2, #1
1164 038e 1A70 strb r2, [r3]
1165 .LBE57:
1166 .LBE56:
1167 .LBE55:
1854:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case SRV_MAC_DL_CHANNEL_REQ:
1168 .loc 1 1854 0
1169 0390 40E6 b .L25
1170 .L59:
1171 0392 C046 .align 2
1172 .L58:
1173 0394 00000000 .word .L28
1174 0398 00000000 .word .LANCHOR28
1175 039c 00000000 .word .LANCHOR29
1176 03a0 00000000 .word .LANCHOR14
1177 03a4 00000000 .word .LANCHOR22
1178 03a8 00000000 .word .LANCHOR11
ARM GAS /tmp/ccrFaSdZ.s page 60
1179 03ac 00000000 .word .LANCHOR10
1180 03b0 00000000 .word MacCommandsBuffer
1181 03b4 00000000 .word .LANCHOR17
1182 03b8 00000000 .word .LANCHOR8
1183 03bc 00000000 .word .LANCHOR9
1184 03c0 00000000 .word .LANCHOR30
1185 03c4 00000000 .word .LANCHOR31
1186 .LVL101:
1187 .L36:
1188 .LBB58:
1860:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.Rx1Frequency = ( uint32_t )payload[macIndex++];
1189 .loc 1 1860 0
1190 03c8 A31C adds r3, r4, #2
1191 03ca DBB2 uxtb r3, r3
1192 .LVL102:
1193 03cc BA5D ldrb r2, [r7, r6]
1194 03ce 07A9 add r1, sp, #28
1195 03d0 0A70 strb r2, [r1]
1861:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.Rx1Frequency |= ( uint32_t )payload[macIndex++] << 8;
1196 .loc 1 1861 0
1197 03d2 E01C adds r0, r4, #3
1198 03d4 C0B2 uxtb r0, r0
1199 .LVL103:
1200 03d6 FB5C ldrb r3, [r7, r3]
1862:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.Rx1Frequency |= ( uint32_t )payload[macIndex++] << 16;
1201 .loc 1 1862 0
1202 03d8 221D adds r2, r4, #4
1203 03da D2B2 uxtb r2, r2
1204 .LVL104:
1205 03dc 385C ldrb r0, [r7, r0]
1206 03de 0002 lsls r0, r0, #8
1207 03e0 0343 orrs r3, r0
1863:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** dlChannelReq.Rx1Frequency *= 100;
1208 .loc 1 1863 0
1209 03e2 0534 adds r4, r4, #5
1210 03e4 E4B2 uxtb r4, r4
1211 .LVL105:
1212 03e6 BA5C ldrb r2, [r7, r2]
1213 03e8 1204 lsls r2, r2, #16
1214 03ea 1343 orrs r3, r2
1864:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1215 .loc 1 1864 0
1216 03ec 6422 movs r2, #100
1217 03ee 5343 muls r3, r2
1218 03f0 4B60 str r3, [r1, #4]
1866:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1219 .loc 1 1866 0
1220 03f2 124B ldr r3, .L60
1221 03f4 1878 ldrb r0, [r3]
1222 03f6 FFF7FEFF bl RegionDlChannelReq
1223 .LVL106:
1224 .LBB59:
1225 .LBB60:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1226 .loc 1 1553 0
1227 03fa 114B ldr r3, .L60+4
1228 03fc 1A78 ldrb r2, [r3]
ARM GAS /tmp/ccrFaSdZ.s page 61
1229 03fe 8023 movs r3, #128
1230 0400 5B42 rsbs r3, r3, #0
1231 0402 9B1A subs r3, r3, r2
1232 0404 DBB2 uxtb r3, r3
1233 .LVL107:
1628:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1234 .loc 1 1628 0
1235 0406 0F4A ldr r2, .L60+8
1236 0408 1278 ldrb r2, [r2]
1237 040a 9342 cmp r3, r2
1238 040c 00D8 bhi .LCB1184
1239 040e 01E6 b .L25 @long jump
1240 .LCB1184:
1630:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Status: Uplink frequency exists, Channel frequency OK
1241 .loc 1 1630 0
1242 0410 531C adds r3, r2, #1
1243 .LVL108:
1244 0412 DBB2 uxtb r3, r3
1245 0414 0C49 ldr r1, .L60+12
1246 0416 0A26 movs r6, #10
1247 0418 8E54 strb r6, [r1, r2]
1632:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_OK;
1248 .loc 1 1632 0
1249 041a 0232 adds r2, r2, #2
1250 041c 094E ldr r6, .L60+8
1251 041e 3270 strb r2, [r6]
1252 0420 C854 strb r0, [r1, r3]
1253 .LVL109:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1254 .loc 1 1641 0
1255 0422 0A4B ldr r3, .L60+16
1256 0424 0122 movs r2, #1
1257 0426 1A70 strb r2, [r3]
1258 .LVL110:
1259 .LBE60:
1260 .LBE59:
1261 .LBE58:
1870:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
1262 .loc 1 1870 0
1263 0428 F4E5 b .L25
1264 .LVL111:
1265 .L54:
1706:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1266 .loc 1 1706 0
1267 042a 3400 movs r4, r6
1268 042c F2E5 b .L25
1269 .LVL112:
1270 .L24:
1876:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1271 .loc 1 1876 0
1272 042e 0AB0 add sp, sp, #40
1273 @ sp needed
1274 .LVL113:
1275 0430 1CBC pop {r2, r3, r4}
1276 0432 9046 mov r8, r2
1277 0434 9946 mov r9, r3
1278 0436 A246 mov r10, r4
ARM GAS /tmp/ccrFaSdZ.s page 62
1279 0438 F0BD pop {r4, r5, r6, r7, pc}
1280 .L61:
1281 043a C046 .align 2
1282 .L60:
1283 043c 00000000 .word .LANCHOR22
1284 0440 00000000 .word .LANCHOR11
1285 0444 00000000 .word .LANCHOR10
1286 0448 00000000 .word MacCommandsBuffer
1287 044c 00000000 .word .LANCHOR17
1288 .cfi_endproc
1289 .LFE100:
1291 .section .text.OnRadioRxDone,"ax",%progbits
1292 .align 1
1293 .syntax unified
1294 .code 16
1295 .thumb_func
1296 .fpu softvfp
1298 OnRadioRxDone:
1299 .LFB87:
702:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacHeader_t macHdr;
1300 .loc 1 702 0
1301 .cfi_startproc
1302 @ args = 0, pretend = 0, frame = 48
1303 @ frame_needed = 0, uses_anonymous_args = 0
1304 .LVL114:
1305 0000 F0B5 push {r4, r5, r6, r7, lr}
1306 .LCFI8:
1307 .cfi_def_cfa_offset 20
1308 .cfi_offset 4, -20
1309 .cfi_offset 5, -16
1310 .cfi_offset 6, -12
1311 .cfi_offset 7, -8
1312 .cfi_offset 14, -4
1313 0002 DE46 mov lr, fp
1314 0004 5746 mov r7, r10
1315 0006 4E46 mov r6, r9
1316 0008 4546 mov r5, r8
1317 000a E0B5 push {r5, r6, r7, lr}
1318 .LCFI9:
1319 .cfi_def_cfa_offset 36
1320 .cfi_offset 8, -36
1321 .cfi_offset 9, -32
1322 .cfi_offset 10, -28
1323 .cfi_offset 11, -24
1324 000c 91B0 sub sp, sp, #68
1325 .LCFI10:
1326 .cfi_def_cfa_offset 104
1327 000e 0400 movs r4, r0
1328 0010 0E00 movs r6, r1
1329 .LVL115:
715:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint32_t micRx = 0;
1330 .loc 1 715 0
1331 0012 0020 movs r0, #0
1332 .LVL116:
1333 0014 0C90 str r0, [sp, #48]
1334 .LVL117:
731:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Rssi = rssi;
ARM GAS /tmp/ccrFaSdZ.s page 63
1335 .loc 1 731 0
1336 0016 9049 ldr r1, .L126
1337 .LVL118:
1338 0018 0871 strb r0, [r1, #4]
732:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Snr = snr;
1339 .loc 1 732 0
1340 001a 9049 ldr r1, .L126+4
1341 001c CA81 strh r2, [r1, #14]
733:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.RxSlot = RxSlot;
1342 .loc 1 733 0
1343 001e DDB2 uxtb r5, r3
1344 0020 0D74 strb r5, [r1, #16]
734:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Port = 0;
1345 .loc 1 734 0
1346 0022 8F4B ldr r3, .L126+8
1347 .LVL119:
1348 0024 1B78 ldrb r3, [r3]
1349 0026 4B74 strb r3, [r1, #17]
735:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Multicast = 0;
1350 .loc 1 735 0
1351 0028 C870 strb r0, [r1, #3]
736:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.FramePending = 0;
1352 .loc 1 736 0
1353 002a 8870 strb r0, [r1, #2]
737:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Buffer = NULL;
1354 .loc 1 737 0
1355 002c 4871 strb r0, [r1, #5]
738:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.BufferSize = 0;
1356 .loc 1 738 0
1357 002e 8860 str r0, [r1, #8]
739:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.RxData = false;
1358 .loc 1 739 0
1359 0030 0873 strb r0, [r1, #12]
740:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.AckReceived = false;
1360 .loc 1 740 0
1361 0032 4873 strb r0, [r1, #13]
741:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = 0;
1362 .loc 1 741 0
1363 0034 8874 strb r0, [r1, #18]
742:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.McpsIndication = MCPS_UNCONFIRMED;
1364 .loc 1 742 0
1365 0036 4861 str r0, [r1, #20]
743:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1366 .loc 1 743 0
1367 0038 0870 strb r0, [r1]
745:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &RxWindowTimer2 );
1368 .loc 1 745 0
1369 003a 8A4B ldr r3, .L126+12
1370 003c 5B6B ldr r3, [r3, #52]
1371 003e 9847 blx r3
1372 .LVL120:
746:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1373 .loc 1 746 0
1374 0040 8948 ldr r0, .L126+16
1375 0042 FFF7FEFF bl TimerStop
1376 .LVL121:
748:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 64
1377 .loc 1 748 0
1378 0046 2378 ldrb r3, [r4]
1379 0048 9846 mov r8, r3
750:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1380 .loc 1 750 0
1381 004a 5B09 lsrs r3, r3, #5
1382 004c 032B cmp r3, #3
1383 004e 00D1 bne .LCB1344
1384 0050 B3E0 b .L64 @long jump
1385 .LCB1344:
1386 0052 2CD9 bls .L107
1387 0054 052B cmp r3, #5
1388 0056 00D1 bne .LCB1348
1389 0058 AFE0 b .L64 @long jump
1390 .LCB1348:
1391 005a 072B cmp r3, #7
1392 005c 00D0 beq .LCB1350
1393 005e ABE2 b .L63 @long jump
1394 .LCB1350:
1098:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1395 .loc 1 1098 0
1396 0060 611C adds r1, r4, #1
1397 0062 824C ldr r4, .L126+20
1398 .LVL122:
1399 0064 3200 movs r2, r6
1400 0066 2000 movs r0, r4
1401 0068 FFF7FEFF bl memcpy1
1402 .LVL123:
1100:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Status = LORAMAC_EVENT_INFO_STATUS_OK;
1403 .loc 1 1100 0
1404 006c 7B4B ldr r3, .L126+4
1405 006e 0322 movs r2, #3
1406 0070 1A70 strb r2, [r3]
1101:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Buffer = LoRaMacRxPayload;
1407 .loc 1 1101 0
1408 0072 0022 movs r2, #0
1409 0074 5A70 strb r2, [r3, #1]
1102:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.BufferSize = size - pktHeaderLen;
1410 .loc 1 1102 0
1411 0076 9C60 str r4, [r3, #8]
1103:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1412 .loc 1 1103 0
1413 0078 013E subs r6, r6, #1
1414 007a 1E73 strb r6, [r3, #12]
1105:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1415 .loc 1 1105 0
1416 007c 7C4A ldr r2, .L126+24
1417 007e 1378 ldrb r3, [r2]
1418 0080 0221 movs r1, #2
1419 0082 0B43 orrs r3, r1
1420 0084 1370 strb r3, [r2]
1421 .LVL124:
1422 .L72:
1113:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1423 .loc 1 1113 0 discriminator 1
1424 0086 7A4A ldr r2, .L126+24
1425 0088 1378 ldrb r3, [r2]
ARM GAS /tmp/ccrFaSdZ.s page 65
1426 008a 1021 movs r1, #16
1427 008c 0B43 orrs r3, r1
1428 008e 1370 strb r3, [r2]
1116:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
1429 .loc 1 1116 0 discriminator 1
1430 0090 784C ldr r4, .L126+28
1431 0092 0121 movs r1, #1
1432 0094 2000 movs r0, r4
1433 0096 FFF7FEFF bl TimerSetValue
1434 .LVL125:
1117:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1435 .loc 1 1117 0 discriminator 1
1436 009a 2000 movs r0, r4
1437 009c FFF7FEFF bl TimerStart
1438 .LVL126:
1439 .L62:
1118:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1440 .loc 1 1118 0
1441 00a0 11B0 add sp, sp, #68
1442 @ sp needed
1443 00a2 3CBC pop {r2, r3, r4, r5}
1444 00a4 9046 mov r8, r2
1445 00a6 9946 mov r9, r3
1446 00a8 A246 mov r10, r4
1447 00aa AB46 mov fp, r5
1448 00ac F0BD pop {r4, r5, r6, r7, pc}
1449 .LVL127:
1450 .L107:
750:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1451 .loc 1 750 0
1452 00ae 012B cmp r3, #1
1453 00b0 00D0 beq .LCB1441
1454 00b2 81E2 b .L63 @long jump
1455 .LCB1441:
753:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1456 .loc 1 753 0
1457 00b4 704B ldr r3, .L126+32
1458 00b6 1B78 ldrb r3, [r3]
1459 00b8 002B cmp r3, #0
1460 00ba 05D0 beq .L68
755:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
1461 .loc 1 755 0
1462 00bc 674B ldr r3, .L126+4
1463 00be 0122 movs r2, #1
1464 00c0 5A70 strb r2, [r3, #1]
756:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
1465 .loc 1 756 0
1466 00c2 FFF7FEFF bl PrepareRxDoneAbort
1467 .LVL128:
757:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1468 .loc 1 757 0
1469 00c6 EBE7 b .L62
1470 .L68:
759:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1471 .loc 1 759 0
1472 00c8 601C adds r0, r4, #1
1473 00ca 6C4C ldr r4, .L126+36
ARM GAS /tmp/ccrFaSdZ.s page 66
1474 .LVL129:
1475 00cc 6C4F ldr r7, .L126+40
1476 00ce 751E subs r5, r6, #1
1477 00d0 A9B2 uxth r1, r5
1478 00d2 2300 movs r3, r4
1479 00d4 3A68 ldr r2, [r7]
1480 00d6 FFF7FEFF bl LoRaMacJoinDecrypt
1481 .LVL130:
761:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1482 .loc 1 761 0
1483 00da 013C subs r4, r4, #1
1484 00dc 4346 mov r3, r8
1485 00de 2370 strb r3, [r4]
763:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1486 .loc 1 763 0
1487 00e0 3A68 ldr r2, [r7]
1488 00e2 371F subs r7, r6, #4
1489 00e4 B9B2 uxth r1, r7
1490 00e6 0CAB add r3, sp, #48
1491 00e8 2000 movs r0, r4
1492 00ea FFF7FEFF bl LoRaMacJoinComputeMic
1493 .LVL131:
765:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )LoRaMacRxPayload[size - LORAMAC_MFR_LEN + 1] << 8 );
1494 .loc 1 765 0
1495 00ee E25D ldrb r2, [r4, r7]
1496 .LVL132:
766:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )LoRaMacRxPayload[size - LORAMAC_MFR_LEN + 2] << 16 );
1497 .loc 1 766 0
1498 00f0 F31E subs r3, r6, #3
1499 00f2 E35C ldrb r3, [r4, r3]
1500 00f4 1B02 lsls r3, r3, #8
1501 00f6 1A43 orrs r2, r3
1502 .LVL133:
767:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )LoRaMacRxPayload[size - LORAMAC_MFR_LEN + 3] << 24 );
1503 .loc 1 767 0
1504 00f8 B31E subs r3, r6, #2
1505 00fa E35C ldrb r3, [r4, r3]
1506 00fc 1B04 lsls r3, r3, #16
1507 00fe 1A43 orrs r2, r3
1508 .LVL134:
768:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1509 .loc 1 768 0
1510 0100 635D ldrb r3, [r4, r5]
1511 0102 1B06 lsls r3, r3, #24
1512 0104 1343 orrs r3, r2
1513 .LVL135:
770:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1514 .loc 1 770 0
1515 0106 0C9A ldr r2, [sp, #48]
1516 0108 9A42 cmp r2, r3
1517 010a 03D0 beq .L108
809:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1518 .loc 1 809 0
1519 010c 5D4B ldr r3, .L126+44
1520 .LVL136:
1521 010e 0722 movs r2, #7
1522 0110 5A70 strb r2, [r3, #1]
ARM GAS /tmp/ccrFaSdZ.s page 67
1523 0112 B8E7 b .L72
1524 .LVL137:
1525 .L108:
772:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1526 .loc 1 772 0
1527 0114 5C4B ldr r3, .L126+48
1528 .LVL138:
1529 0116 1A88 ldrh r2, [r3]
1530 0118 584C ldr r4, .L126+36
1531 .LVL139:
1532 011a 594B ldr r3, .L126+40
1533 011c 1868 ldr r0, [r3]
1534 011e 5B4B ldr r3, .L126+52
1535 0120 0093 str r3, [sp]
1536 0122 5B4B ldr r3, .L126+56
1537 0124 2100 movs r1, r4
1538 0126 FFF7FEFF bl LoRaMacJoinComputeSKeys
1539 .LVL140:
774:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacNetID |= ( ( uint32_t )LoRaMacRxPayload[5] << 8 );
1540 .loc 1 774 0
1541 012a 611E subs r1, r4, #1
1542 012c E378 ldrb r3, [r4, #3]
775:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacNetID |= ( ( uint32_t )LoRaMacRxPayload[6] << 16 );
1543 .loc 1 775 0
1544 012e 2279 ldrb r2, [r4, #4]
1545 0130 1202 lsls r2, r2, #8
1546 0132 1343 orrs r3, r2
776:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1547 .loc 1 776 0
1548 0134 6279 ldrb r2, [r4, #5]
1549 0136 1204 lsls r2, r2, #16
1550 0138 1343 orrs r3, r2
1551 013a 564A ldr r2, .L126+60
1552 013c 1360 str r3, [r2]
778:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevAddr |= ( ( uint32_t )LoRaMacRxPayload[8] << 8 );
1553 .loc 1 778 0
1554 013e A379 ldrb r3, [r4, #6]
779:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevAddr |= ( ( uint32_t )LoRaMacRxPayload[9] << 16 );
1555 .loc 1 779 0
1556 0140 E279 ldrb r2, [r4, #7]
1557 0142 1202 lsls r2, r2, #8
1558 0144 1343 orrs r3, r2
780:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevAddr |= ( ( uint32_t )LoRaMacRxPayload[10] << 24 );
1559 .loc 1 780 0
1560 0146 227A ldrb r2, [r4, #8]
1561 0148 1204 lsls r2, r2, #16
1562 014a 1343 orrs r3, r2
781:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1563 .loc 1 781 0
1564 014c 627A ldrb r2, [r4, #9]
1565 014e 1206 lsls r2, r2, #24
1566 0150 1343 orrs r3, r2
1567 0152 514A ldr r2, .L126+64
1568 0154 1360 str r3, [r2]
784:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Datarate = LoRaMacRxPayload[11] & 0x0F;
1569 .loc 1 784 0
1570 0156 A27A ldrb r2, [r4, #10]
ARM GAS /tmp/ccrFaSdZ.s page 68
1571 0158 1009 lsrs r0, r2, #4
1572 015a 0723 movs r3, #7
1573 015c 0340 ands r3, r0
1574 015e 4F48 ldr r0, .L126+68
1575 0160 2124 movs r4, #33
1576 0162 0355 strb r3, [r0, r4]
785:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1577 .loc 1 785 0
1578 0164 0F23 movs r3, #15
1579 0166 1A40 ands r2, r3
1580 0168 0734 adds r4, r4, #7
1581 016a 0255 strb r2, [r0, r4]
788:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacParams.ReceiveDelay1 == 0 )
1582 .loc 1 788 0
1583 016c 0A7B ldrb r2, [r1, #12]
1584 016e 1340 ands r3, r2
1585 0170 0361 str r3, [r0, #16]
789:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1586 .loc 1 789 0
1587 0172 01D1 bne .L71
791:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1588 .loc 1 791 0
1589 0174 0122 movs r2, #1
1590 0176 0261 str r2, [r0, #16]
1591 .L71:
793:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay2 = LoRaMacParams.ReceiveDelay1 + 1000;
1592 .loc 1 793 0
1593 0178 484C ldr r4, .L126+68
1594 017a 2269 ldr r2, [r4, #16]
1595 017c 5301 lsls r3, r2, #5
1596 017e 9B1A subs r3, r3, r2
1597 0180 9B00 lsls r3, r3, #2
1598 0182 9B18 adds r3, r3, r2
1599 0184 DB00 lsls r3, r3, #3
1600 0186 2361 str r3, [r4, #16]
794:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1601 .loc 1 794 0
1602 0188 FA22 movs r2, #250
1603 018a 9200 lsls r2, r2, #2
1604 018c 9446 mov ip, r2
1605 018e 6344 add r3, r3, ip
1606 0190 6361 str r3, [r4, #20]
797:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Size of the regular payload is 12. Plus 1 byte MHDR and 4 bytes MIC
1607 .loc 1 797 0
1608 0192 0EA9 add r1, sp, #56
1609 0194 424B ldr r3, .L126+72
1610 0196 0E93 str r3, [sp, #56]
799:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1611 .loc 1 799 0
1612 0198 113E subs r6, r6, #17
1613 019a 0E71 strb r6, [r1, #4]
801:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1614 .loc 1 801 0
1615 019c 414B ldr r3, .L126+76
1616 019e 1878 ldrb r0, [r3]
1617 01a0 FFF7FEFF bl RegionApplyCFList
1618 .LVL141:
ARM GAS /tmp/ccrFaSdZ.s page 69
803:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** IsLoRaMacNetworkJoined = true;
1619 .loc 1 803 0
1620 01a4 374B ldr r3, .L126+44
1621 01a6 0022 movs r2, #0
1622 01a8 5A70 strb r2, [r3, #1]
804:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = LoRaMacParamsDefaults.ChannelsDatarate;
1623 .loc 1 804 0
1624 01aa 334B ldr r3, .L126+32
1625 01ac 0132 adds r2, r2, #1
1626 01ae 1A70 strb r2, [r3]
805:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1627 .loc 1 805 0
1628 01b0 3D4B ldr r3, .L126+80
1629 01b2 5B78 ldrb r3, [r3, #1]
1630 01b4 5BB2 sxtb r3, r3
1631 01b6 6370 strb r3, [r4, #1]
1632 01b8 65E7 b .L72
1633 .LVL142:
1634 .L64:
816:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Datarate = McpsIndication.RxDatarate;
1635 .loc 1 816 0
1636 01ba 384A ldr r2, .L126+68
1637 01bc 2D23 movs r3, #45
1638 01be D25C ldrb r2, [r2, r3]
1639 01c0 0DAB add r3, sp, #52
1640 01c2 9A70 strb r2, [r3, #2]
817:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_PAYLOAD;
1641 .loc 1 817 0
1642 01c4 254A ldr r2, .L126+4
1643 01c6 1279 ldrb r2, [r2, #4]
1644 01c8 52B2 sxtb r2, r2
1645 01ca 5A70 strb r2, [r3, #1]
818:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1646 .loc 1 818 0
1647 01cc 0922 movs r2, #9
1648 01ce 1A70 strb r2, [r3]
821:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1649 .loc 1 821 0
1650 01d0 364B ldr r3, .L126+84
1651 01d2 1B78 ldrb r3, [r3]
1652 01d4 002B cmp r3, #0
1653 01d6 02D0 beq .L73
823:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1654 .loc 1 823 0
1655 01d8 0DAB add r3, sp, #52
1656 01da 0132 adds r2, r2, #1
1657 01dc 1A70 strb r2, [r3]
1658 .L73:
825:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MAX( 0, ( int16_t )( ( int16_t )size - ( int16_t )LORA_MAC_FRMPAYLOAD_OVERHEAD
1659 .loc 1 825 0
1660 01de 314B ldr r3, .L126+76
1661 01e0 1878 ldrb r0, [r3]
1662 01e2 0DA9 add r1, sp, #52
1663 01e4 FFF7FEFF bl RegionGetPhyParam
1664 .LVL143:
826:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1665 .loc 1 826 0
ARM GAS /tmp/ccrFaSdZ.s page 70
1666 01e8 3300 movs r3, r6
1667 01ea 0D3B subs r3, r3, #13
1668 01ec 1BB2 sxth r3, r3
1669 01ee 1A1C adds r2, r3, #0
1670 01f0 002B cmp r3, #0
1671 01f2 1CDB blt .L109
1672 .L74:
1673 01f4 12B2 sxth r2, r2
1674 .LVL144:
1675 01f6 8242 cmp r2, r0
1676 01f8 1BD8 bhi .L110
1677 .LVL145:
833:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address |= ( (uint32_t)payload[pktHeaderLen++] << 8 );
1678 .loc 1 833 0
1679 01fa 6378 ldrb r3, [r4, #1]
1680 .LVL146:
834:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address |= ( (uint32_t)payload[pktHeaderLen++] << 16 );
1681 .loc 1 834 0
1682 01fc A278 ldrb r2, [r4, #2]
1683 01fe 1202 lsls r2, r2, #8
1684 0200 1343 orrs r3, r2
1685 .LVL147:
835:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** address |= ( (uint32_t)payload[pktHeaderLen++] << 24 );
1686 .loc 1 835 0
1687 0202 E278 ldrb r2, [r4, #3]
1688 0204 1204 lsls r2, r2, #16
1689 0206 1343 orrs r3, r2
1690 .LVL148:
836:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1691 .loc 1 836 0
1692 0208 2279 ldrb r2, [r4, #4]
1693 020a 1206 lsls r2, r2, #24
1694 020c 1343 orrs r3, r2
1695 .LVL149:
1696 020e 9946 mov r9, r3
1697 .LVL150:
838:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1698 .loc 1 838 0
1699 0210 214B ldr r3, .L126+64
1700 .LVL151:
1701 0212 1B68 ldr r3, [r3]
1702 0214 4B45 cmp r3, r9
1703 0216 00D1 bne .LCB1669
1704 0218 02E1 b .L76 @long jump
1705 .LCB1669:
840:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** while( curMulticastParams != NULL )
1706 .loc 1 840 0
1707 021a 254B ldr r3, .L126+88
1708 021c 1F68 ldr r7, [r3]
1709 .LVL152:
1710 021e 4B46 mov r3, r9
1711 .L77:
841:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1712 .loc 1 841 0
1713 0220 002F cmp r7, #0
1714 0222 47D0 beq .L111
843:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
ARM GAS /tmp/ccrFaSdZ.s page 71
1715 .loc 1 843 0
1716 0224 3A68 ldr r2, [r7]
1717 0226 9A42 cmp r2, r3
1718 0228 09D0 beq .L112
851:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1719 .loc 1 851 0
1720 022a BF6A ldr r7, [r7, #40]
1721 .LVL153:
1722 022c F8E7 b .L77
1723 .LVL154:
1724 .L109:
826:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1725 .loc 1 826 0
1726 022e 0022 movs r2, #0
1727 0230 E0E7 b .L74
1728 .LVL155:
1729 .L110:
828:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
1730 .loc 1 828 0
1731 0232 0A4B ldr r3, .L126+4
1732 0234 0122 movs r2, #1
1733 0236 5A70 strb r2, [r3, #1]
829:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
1734 .loc 1 829 0
1735 0238 FFF7FEFF bl PrepareRxDoneAbort
1736 .LVL156:
830:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1737 .loc 1 830 0
1738 023c 30E7 b .L62
1739 .LVL157:
1740 .L112:
1741 023e 9946 mov r9, r3
1742 .LVL158:
846:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** appSKey = curMulticastParams->AppSKey;
1743 .loc 1 846 0
1744 0240 3B1D adds r3, r7, #4
1745 .LVL159:
1746 0242 0693 str r3, [sp, #24]
1747 .LVL160:
847:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter = curMulticastParams->DownLinkCounter;
1748 .loc 1 847 0
1749 0244 1423 movs r3, #20
1750 .LVL161:
1751 0246 9C46 mov ip, r3
1752 0248 BC44 add ip, ip, r7
1753 024a 6346 mov r3, ip
1754 024c 0A93 str r3, [sp, #40]
1755 .LVL162:
848:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
1756 .loc 1 848 0
1757 024e 7B6A ldr r3, [r7, #36]
1758 .LVL163:
1759 0250 0493 str r3, [sp, #16]
1760 .LVL164:
845:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nwkSKey = curMulticastParams->NwkSKey;
1761 .loc 1 845 0
1762 0252 0123 movs r3, #1
ARM GAS /tmp/ccrFaSdZ.s page 72
1763 .LVL165:
1764 0254 0593 str r3, [sp, #20]
849:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1765 .loc 1 849 0
1766 0256 36E0 b .L79
1767 .L127:
1768 .align 2
1769 .L126:
1770 0258 00000000 .word .LANCHOR34
1771 025c 00000000 .word .LANCHOR35
1772 0260 00000000 .word .LANCHOR36
1773 0264 00000000 .word Radio
1774 0268 00000000 .word .LANCHOR37
1775 026c 00000000 .word LoRaMacRxPayload
1776 0270 00000000 .word .LANCHOR26
1777 0274 00000000 .word .LANCHOR27
1778 0278 00000000 .word .LANCHOR0
1779 027c 01000000 .word LoRaMacRxPayload+1
1780 0280 00000000 .word .LANCHOR38
1781 0284 00000000 .word .LANCHOR28
1782 0288 00000000 .word .LANCHOR39
1783 028c 00000000 .word .LANCHOR32
1784 0290 00000000 .word .LANCHOR33
1785 0294 00000000 .word .LANCHOR40
1786 0298 00000000 .word .LANCHOR41
1787 029c 00000000 .word .LANCHOR14
1788 02a0 0D000000 .word LoRaMacRxPayload+13
1789 02a4 00000000 .word .LANCHOR22
1790 02a8 00000000 .word .LANCHOR13
1791 02ac 00000000 .word .LANCHOR21
1792 02b0 00000000 .word .LANCHOR18
1793 .LVL166:
1794 .L111:
1795 02b4 9946 mov r9, r3
727:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1796 .loc 1 727 0
1797 02b6 0023 movs r3, #0
1798 .LVL167:
1799 02b8 0593 str r3, [sp, #20]
725:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1800 .loc 1 725 0
1801 02ba C24B ldr r3, .L128
1802 02bc 0A93 str r3, [sp, #40]
724:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t *appSKey = LoRaMacAppSKey;
1803 .loc 1 724 0
1804 02be C24B ldr r3, .L128+4
1805 02c0 0693 str r3, [sp, #24]
721:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1806 .loc 1 721 0
1807 02c2 0023 movs r3, #0
1808 02c4 0493 str r3, [sp, #16]
1809 .LVL168:
1810 .L79:
853:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1811 .loc 1 853 0
1812 02c6 059B ldr r3, [sp, #20]
1813 02c8 002B cmp r3, #0
ARM GAS /tmp/ccrFaSdZ.s page 73
1814 02ca 00D1 bne .LCB1799
1815 02cc A2E0 b .L113 @long jump
1816 .LCB1799:
1817 .LVL169:
1818 .L81:
869:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1819 .loc 1 869 0
1820 02ce 6379 ldrb r3, [r4, #5]
1821 02d0 9B46 mov fp, r3
1822 .LVL170:
871:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** sequenceCounter |= ( uint16_t )payload[pktHeaderLen++] << 8;
1823 .loc 1 871 0
1824 02d2 A279 ldrb r2, [r4, #6]
1825 .LVL171:
872:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1826 .loc 1 872 0
1827 02d4 E379 ldrb r3, [r4, #7]
1828 02d6 1B02 lsls r3, r3, #8
1829 02d8 1A43 orrs r2, r3
1830 .LVL172:
874:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1831 .loc 1 874 0
1832 02da 5B46 mov r3, fp
1833 02dc 1807 lsls r0, r3, #28
1834 .LVL173:
1835 02de 030F lsrs r3, r0, #28
1836 02e0 0B93 str r3, [sp, #44]
1837 02e2 0833 adds r3, r3, #8
1838 02e4 0993 str r3, [sp, #36]
1839 .LVL174:
876:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )payload[size - LORAMAC_MFR_LEN + 1] << 8 );
1840 .loc 1 876 0
1841 02e6 A319 adds r3, r4, r6
1842 02e8 191F subs r1, r3, #4
1843 02ea 0878 ldrb r0, [r1]
1844 .LVL175:
877:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )payload[size - LORAMAC_MFR_LEN + 2] << 16 );
1845 .loc 1 877 0
1846 02ec D91E subs r1, r3, #3
1847 02ee 0978 ldrb r1, [r1]
1848 02f0 0902 lsls r1, r1, #8
1849 02f2 0843 orrs r0, r1
1850 .LVL176:
878:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** micRx |= ( ( uint32_t )payload[size - LORAMAC_MFR_LEN + 3] << 24 );
1851 .loc 1 878 0
1852 02f4 991E subs r1, r3, #2
1853 02f6 0978 ldrb r1, [r1]
1854 02f8 0904 lsls r1, r1, #16
1855 02fa 0143 orrs r1, r0
1856 .LVL177:
879:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1857 .loc 1 879 0
1858 02fc 013B subs r3, r3, #1
1859 02fe 1B78 ldrb r3, [r3]
1860 0300 1B06 lsls r3, r3, #24
1861 0302 0B43 orrs r3, r1
1862 0304 0893 str r3, [sp, #32]
ARM GAS /tmp/ccrFaSdZ.s page 74
1863 .LVL178:
881:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** sequenceCounterDiff = ( sequenceCounter - sequenceCounterPrev );
1864 .loc 1 881 0
1865 0306 0499 ldr r1, [sp, #16]
1866 0308 8BB2 uxth r3, r1
1867 .LVL179:
882:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1868 .loc 1 882 0
1869 030a D31A subs r3, r2, r3
1870 .LVL180:
1871 030c 9AB2 uxth r2, r3
1872 .LVL181:
1873 030e 0792 str r2, [sp, #28]
1874 .LVL182:
884:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1875 .loc 1 884 0
1876 0310 13B2 sxth r3, r2
1877 0312 002B cmp r3, #0
1878 0314 00DA bge .LCB1868
1879 0316 8EE0 b .L82 @long jump
1880 .LCB1868:
886:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacComputeMic( payload, size - LORAMAC_MFR_LEN, nwkSKey, address, DOWN_LINK
1881 .loc 1 886 0
1882 0318 9446 mov ip, r2
1883 031a 6144 add r1, r1, ip
1884 .LVL183:
1885 031c 8A46 mov r10, r1
1886 .LVL184:
887:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( micRx == mic )
1887 .loc 1 887 0
1888 031e 311F subs r1, r6, #4
1889 .LVL185:
1890 0320 89B2 uxth r1, r1
1891 0322 0CAB add r3, sp, #48
1892 0324 0293 str r3, [sp, #8]
1893 .LVL186:
1894 0326 5246 mov r2, r10
1895 .LVL187:
1896 0328 0192 str r2, [sp, #4]
1897 032a 0123 movs r3, #1
1898 032c 0093 str r3, [sp]
1899 032e 4B46 mov r3, r9
1900 0330 069A ldr r2, [sp, #24]
1901 0332 2000 movs r0, r4
1902 0334 FFF7FEFF bl LoRaMacComputeMic
1903 .LVL188:
888:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1904 .loc 1 888 0
1905 0338 0C9A ldr r2, [sp, #48]
1906 033a 089B ldr r3, [sp, #32]
1907 033c 9A42 cmp r2, r3
1908 033e 00D1 bne .LCB1895
1909 0340 96E0 b .L100 @long jump
1910 .LCB1895:
729:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1911 .loc 1 729 0
1912 0342 0023 movs r3, #0
ARM GAS /tmp/ccrFaSdZ.s page 75
1913 0344 0493 str r3, [sp, #16]
1914 .LVL189:
1915 .L83:
906:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
1916 .loc 1 906 0
1917 0346 0DA9 add r1, sp, #52
1918 0348 1123 movs r3, #17
1919 034a 0B70 strb r3, [r1]
907:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( sequenceCounterDiff >= phyParam.Value )
1920 .loc 1 907 0
1921 034c 9F4B ldr r3, .L128+8
1922 034e 1878 ldrb r0, [r3]
1923 0350 FFF7FEFF bl RegionGetPhyParam
1924 .LVL190:
908:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1925 .loc 1 908 0
1926 0354 079B ldr r3, [sp, #28]
1927 .LVL191:
1928 0356 8342 cmp r3, r0
1929 0358 00D3 bcc .LCB1915
1930 035a 8FE0 b .L114 @long jump
1931 .LCB1915:
916:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1932 .loc 1 916 0
1933 035c 049B ldr r3, [sp, #16]
1934 035e 002B cmp r3, #0
1935 0360 00D1 bne .LCB1918
1936 0362 23E1 b .L85 @long jump
1937 .LCB1918:
918:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Multicast = multicast;
1938 .loc 1 918 0
1939 0364 9A4A ldr r2, .L128+12
1940 0366 0023 movs r3, #0
1941 0368 5370 strb r3, [r2, #1]
919:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.FramePending = fCtrl.Bits.FPending;
1942 .loc 1 919 0
1943 036a 0598 ldr r0, [sp, #20]
1944 .LVL192:
1945 036c 9070 strb r0, [r2, #2]
920:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.Buffer = NULL;
1946 .loc 1 920 0
1947 036e 5946 mov r1, fp
1948 0370 C906 lsls r1, r1, #27
1949 0372 C90F lsrs r1, r1, #31
1950 0374 5171 strb r1, [r2, #5]
921:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.BufferSize = 0;
1951 .loc 1 921 0
1952 0376 9360 str r3, [r2, #8]
922:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = downLinkCounter;
1953 .loc 1 922 0
1954 0378 1373 strb r3, [r2, #12]
923:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1955 .loc 1 923 0
1956 037a 5146 mov r1, r10
1957 037c 5161 str r1, [r2, #20]
925:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1958 .loc 1 925 0
ARM GAS /tmp/ccrFaSdZ.s page 76
1959 037e 954A ldr r2, .L128+16
1960 0380 5370 strb r3, [r2, #1]
927:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferToRepeatIndex = 0;
1961 .loc 1 927 0
1962 0382 954A ldr r2, .L128+20
1963 0384 1360 str r3, [r2]
928:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1964 .loc 1 928 0
1965 0386 954A ldr r2, .L128+24
1966 0388 1370 strb r3, [r2]
931:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1967 .loc 1 931 0
1968 038a 0128 cmp r0, #1
1969 038c 7ED0 beq .L115
947:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
1970 .loc 1 947 0
1971 038e 1F23 movs r3, #31
1972 0390 4246 mov r2, r8
1973 0392 9A43 bics r2, r3
1974 0394 1300 movs r3, r2
1975 0396 A02A cmp r2, #160
1976 0398 00D1 bne .LCB1947
1977 039a 89E0 b .L116 @long jump
1978 .LCB1947:
965:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.McpsIndication = MCPS_UNCONFIRMED;
1979 .loc 1 965 0
1980 039c 0023 movs r3, #0
1981 039e 904A ldr r2, .L128+28
1982 03a0 1370 strb r3, [r2]
966:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1983 .loc 1 966 0
1984 03a2 8B4A ldr r2, .L128+12
1985 03a4 1370 strb r3, [r2]
968:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( DownLinkCounter != 0 ) )
1986 .loc 1 968 0
1987 03a6 8F4B ldr r3, .L128+32
1988 03a8 1B68 ldr r3, [r3]
1989 03aa 5345 cmp r3, r10
1990 03ac 00D1 bne .LCB1956
1991 03ae 8EE0 b .L117 @long jump
1992 .LCB1956:
708:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
1993 .loc 1 708 0
1994 03b0 0027 movs r7, #0
1995 .LVL193:
1996 .L90:
977:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
1997 .loc 1 977 0
1998 03b2 8C4B ldr r3, .L128+32
1999 03b4 5246 mov r2, r10
2000 03b6 1A60 str r2, [r3]
2001 .LVL194:
2002 .L88:
984:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2003 .loc 1 984 0
2004 03b8 864B ldr r3, .L128+16
2005 03ba 1B78 ldrb r3, [r3]
ARM GAS /tmp/ccrFaSdZ.s page 77
2006 03bc 012B cmp r3, #1
2007 03be 00D1 bne .LCB1973
2008 03c0 91E0 b .L118 @long jump
2009 .LCB1973:
993:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2010 .loc 1 993 0
2011 03c2 894B ldr r3, .L128+36
2012 03c4 0022 movs r2, #0
2013 03c6 1A70 strb r2, [r3]
2014 .L92:
997:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2015 .loc 1 997 0
2016 03c8 331F subs r3, r6, #4
2017 03ca 099A ldr r2, [sp, #36]
2018 03cc 9B1A subs r3, r3, r2
2019 03ce 002B cmp r3, #0
2020 03d0 00DC bgt .LCB1983
2021 03d2 C4E0 b .L93 @long jump
2022 .LCB1983:
999:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** frameLen = ( size - 4 ) - appPayloadStartIndex;
2023 .loc 1 999 0
2024 03d4 0B9B ldr r3, [sp, #44]
2025 03d6 0921 movs r1, #9
2026 .LVL195:
2027 03d8 8C46 mov ip, r1
2028 03da 6344 add r3, r3, ip
2029 03dc 9846 mov r8, r3
2030 .LVL196:
2031 03de A35C ldrb r3, [r4, r2]
2032 .LVL197:
1000:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2033 .loc 1 1000 0
2034 03e0 4246 mov r2, r8
2035 03e2 B61A subs r6, r6, r2
2036 03e4 F6B2 uxtb r6, r6
2037 03e6 043E subs r6, r6, #4
2038 03e8 F6B2 uxtb r6, r6
2039 .LVL198:
1002:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2040 .loc 1 1002 0
2041 03ea 794A ldr r2, .L128+12
2042 03ec D370 strb r3, [r2, #3]
1004:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2043 .loc 1 1004 0
2044 03ee 002B cmp r3, #0
2045 03f0 00D0 beq .LCB2004
2046 03f2 94E0 b .L94 @long jump
2047 .LCB2004:
1007:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2048 .loc 1 1007 0
2049 03f4 5B46 mov r3, fp
2050 .LVL199:
2051 03f6 1B07 lsls r3, r3, #28
2052 03f8 7DD0 beq .L119
1022:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2053 .loc 1 1022 0
2054 03fa 049F ldr r7, [sp, #16]
ARM GAS /tmp/ccrFaSdZ.s page 78
2055 .LVL200:
2056 .L95:
1084:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsIndSkip = skipIndication;
2057 .loc 1 1084 0
2058 03fc 7B49 ldr r1, .L128+40
2059 03fe 0B78 ldrb r3, [r1]
1085:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2060 .loc 1 1085 0
2061 0400 0122 movs r2, #1
2062 0402 3A40 ands r2, r7
2063 0404 9200 lsls r2, r2, #2
2064 0406 0227 movs r7, #2
2065 0408 1F43 orrs r7, r3
2066 040a 0423 movs r3, #4
2067 040c 9F43 bics r7, r3
2068 040e 1743 orrs r7, r2
2069 0410 0F70 strb r7, [r1]
1095:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_PROPRIETARY:
2070 .loc 1 1095 0
2071 0412 38E6 b .L72
2072 .LVL201:
2073 .L113:
856:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
2074 .loc 1 856 0
2075 0414 6E4B ldr r3, .L128+12
2076 0416 0B22 movs r2, #11
2077 0418 5A70 strb r2, [r3, #1]
857:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
2078 .loc 1 857 0
2079 041a FFF7FEFF bl PrepareRxDoneAbort
2080 .LVL202:
858:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2081 .loc 1 858 0
2082 041e 3FE6 b .L62
2083 .LVL203:
2084 .L76:
866:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2085 .loc 1 866 0
2086 0420 704B ldr r3, .L128+32
2087 0422 1B68 ldr r3, [r3]
2088 0424 0493 str r3, [sp, #16]
2089 .LVL204:
863:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nwkSKey = LoRaMacNwkSKey;
2090 .loc 1 863 0
2091 0426 0023 movs r3, #0
2092 .LVL205:
2093 0428 0593 str r3, [sp, #20]
865:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter = DownLinkCounter;
2094 .loc 1 865 0
2095 042a 664B ldr r3, .L128
2096 042c 0A93 str r3, [sp, #40]
864:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** appSKey = LoRaMacAppSKey;
2097 .loc 1 864 0
2098 042e 664B ldr r3, .L128+4
2099 0430 0693 str r3, [sp, #24]
723:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t *nwkSKey = LoRaMacNwkSKey;
2100 .loc 1 723 0
ARM GAS /tmp/ccrFaSdZ.s page 79
2101 0432 0027 movs r7, #0
2102 0434 4BE7 b .L81
2103 .LVL206:
2104 .L82:
2105 .LBB61:
896:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacComputeMic( payload, size - LORAMAC_MFR_LEN, nwkSKey, address, DOWN_LINK
2106 .loc 1 896 0
2107 0436 049A ldr r2, [sp, #16]
2108 .LVL207:
2109 0438 9446 mov ip, r2
2110 043a 6344 add r3, r3, ip
2111 .LVL208:
2112 043c 8021 movs r1, #128
2113 .LVL209:
2114 043e 4902 lsls r1, r1, #9
2115 0440 8A46 mov r10, r1
2116 0442 9A44 add r10, r10, r3
2117 .LVL210:
897:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( micRx == mic )
2118 .loc 1 897 0
2119 0444 311F subs r1, r6, #4
2120 0446 89B2 uxth r1, r1
2121 0448 0CAB add r3, sp, #48
2122 044a 0293 str r3, [sp, #8]
2123 .LVL211:
2124 044c 5346 mov r3, r10
2125 044e 0193 str r3, [sp, #4]
2126 0450 0123 movs r3, #1
2127 0452 0093 str r3, [sp]
2128 0454 4B46 mov r3, r9
2129 0456 069A ldr r2, [sp, #24]
2130 0458 2000 movs r0, r4
2131 045a FFF7FEFF bl LoRaMacComputeMic
2132 .LVL212:
898:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2133 .loc 1 898 0
2134 045e 0C9B ldr r3, [sp, #48]
2135 0460 0899 ldr r1, [sp, #32]
2136 0462 8B42 cmp r3, r1
2137 0464 07D0 beq .L101
2138 0466 049A ldr r2, [sp, #16]
2139 0468 9246 mov r10, r2
2140 .LVL213:
2141 .LBE61:
729:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2142 .loc 1 729 0
2143 046a 0023 movs r3, #0
2144 046c 0493 str r3, [sp, #16]
2145 .LVL214:
2146 046e 6AE7 b .L83
2147 .LVL215:
2148 .L100:
890:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2149 .loc 1 890 0
2150 0470 0123 movs r3, #1
2151 0472 0493 str r3, [sp, #16]
2152 .LVL216:
ARM GAS /tmp/ccrFaSdZ.s page 80
2153 0474 67E7 b .L83
2154 .LVL217:
2155 .L101:
2156 .LBB62:
900:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** downLinkCounter = downLinkCounterTmp;
2157 .loc 1 900 0
2158 0476 0123 movs r3, #1
2159 0478 0493 str r3, [sp, #16]
2160 .LVL218:
2161 047a 64E7 b .L83
2162 .LVL219:
2163 .L114:
2164 .LBE62:
910:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = downLinkCounter;
2165 .loc 1 910 0
2166 047c 544B ldr r3, .L128+12
2167 047e 0A22 movs r2, #10
2168 0480 5A70 strb r2, [r3, #1]
911:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
2169 .loc 1 911 0
2170 0482 5246 mov r2, r10
2171 0484 5A61 str r2, [r3, #20]
912:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
2172 .loc 1 912 0
2173 0486 FFF7FEFF bl PrepareRxDoneAbort
2174 .LVL220:
913:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2175 .loc 1 913 0
2176 048a 09E6 b .L62
2177 .LVL221:
2178 .L115:
933:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2179 .loc 1 933 0
2180 048c 504B ldr r3, .L128+12
2181 048e 0222 movs r2, #2
2182 0490 1A70 strb r2, [r3]
935:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( curMulticastParams->DownLinkCounter != 0 ) )
2183 .loc 1 935 0
2184 0492 7B6A ldr r3, [r7, #36]
2185 0494 5345 cmp r3, r10
2186 0496 03D0 beq .L120
2187 .L87:
943:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2188 .loc 1 943 0
2189 0498 5346 mov r3, r10
2190 049a 7B62 str r3, [r7, #36]
708:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2191 .loc 1 708 0
2192 049c 0027 movs r7, #0
2193 .LVL222:
2194 049e 8BE7 b .L88
2195 .LVL223:
2196 .L120:
935:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( curMulticastParams->DownLinkCounter != 0 ) )
2197 .loc 1 935 0 discriminator 1
2198 04a0 002B cmp r3, #0
2199 04a2 F9D0 beq .L87
ARM GAS /tmp/ccrFaSdZ.s page 81
938:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = downLinkCounter;
2200 .loc 1 938 0
2201 04a4 4A4B ldr r3, .L128+12
2202 04a6 0632 adds r2, r2, #6
2203 04a8 5A70 strb r2, [r3, #1]
940:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
2204 .loc 1 940 0
2205 04aa FFF7FEFF bl PrepareRxDoneAbort
2206 .LVL224:
941:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2207 .loc 1 941 0
2208 04ae F7E5 b .L62
2209 .LVL225:
2210 .L116:
949:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.McpsIndication = MCPS_CONFIRMED;
2211 .loc 1 949 0
2212 04b0 9F3B subs r3, r3, #159
2213 04b2 4B4A ldr r2, .L128+28
2214 04b4 1370 strb r3, [r2]
950:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2215 .loc 1 950 0
2216 04b6 464A ldr r2, .L128+12
2217 04b8 1370 strb r3, [r2]
952:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( DownLinkCounter != 0 ) )
2218 .loc 1 952 0
2219 04ba 4A4B ldr r3, .L128+32
2220 04bc 1B68 ldr r3, [r3]
2221 04be 5345 cmp r3, r10
2222 04c0 01D0 beq .L121
708:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2223 .loc 1 708 0
2224 04c2 0027 movs r7, #0
2225 .LVL226:
2226 04c4 75E7 b .L90
2227 .LVL227:
2228 .L121:
952:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( DownLinkCounter != 0 ) )
2229 .loc 1 952 0 discriminator 1
2230 04c6 002B cmp r3, #0
2231 04c8 0BD1 bne .L103
708:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2232 .loc 1 708 0
2233 04ca 0027 movs r7, #0
2234 .LVL228:
2235 04cc 71E7 b .L90
2236 .LVL229:
2237 .L117:
968:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( DownLinkCounter != 0 ) )
2238 .loc 1 968 0 discriminator 1
2239 04ce 002B cmp r3, #0
2240 04d0 01D1 bne .L122
708:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2241 .loc 1 708 0
2242 04d2 0027 movs r7, #0
2243 .LVL230:
2244 04d4 6DE7 b .L90
2245 .LVL231:
ARM GAS /tmp/ccrFaSdZ.s page 82
2246 .L122:
971:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.DownLinkCounter = downLinkCounter;
2247 .loc 1 971 0
2248 04d6 1300 movs r3, r2
2249 04d8 0822 movs r2, #8
2250 04da 5A70 strb r2, [r3, #1]
973:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
2251 .loc 1 973 0
2252 04dc FFF7FEFF bl PrepareRxDoneAbort
2253 .LVL232:
974:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2254 .loc 1 974 0
2255 04e0 DEE5 b .L62
2256 .LVL233:
2257 .L103:
960:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2258 .loc 1 960 0
2259 04e2 049F ldr r7, [sp, #16]
2260 .LVL234:
2261 04e4 65E7 b .L90
2262 .LVL235:
2263 .L118:
986:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Reset MacCommandsBufferIndex when we have received an ACK.
2264 .loc 1 986 0
2265 04e6 5B46 mov r3, fp
2266 04e8 9B06 lsls r3, r3, #26
2267 04ea 00D4 bmi .LCB2283
2268 04ec 6CE7 b .L92 @long jump
2269 .LCB2283:
988:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2270 .loc 1 988 0
2271 04ee 3E4B ldr r3, .L128+36
2272 04f0 0022 movs r2, #0
2273 04f2 1A70 strb r2, [r3]
2274 04f4 68E7 b .L92
2275 .LVL236:
2276 .L119:
1009:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** frameLen,
2277 .loc 1 1009 0
2278 04f6 2000 movs r0, r4
2279 04f8 4044 add r0, r0, r8
2280 04fa B1B2 uxth r1, r6
2281 04fc 3C4C ldr r4, .L128+44
2282 .LVL237:
2283 04fe 0294 str r4, [sp, #8]
2284 0500 5346 mov r3, r10
2285 0502 0193 str r3, [sp, #4]
2286 0504 0123 movs r3, #1
2287 0506 0093 str r3, [sp]
2288 0508 4B46 mov r3, r9
2289 050a 069A ldr r2, [sp, #24]
2290 050c FFF7FEFF bl LoRaMacPayloadDecrypt
2291 .LVL238:
1018:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2292 .loc 1 1018 0
2293 0510 2B00 movs r3, r5
2294 0512 3200 movs r2, r6
ARM GAS /tmp/ccrFaSdZ.s page 83
2295 0514 0021 movs r1, #0
2296 0516 2000 movs r0, r4
2297 0518 FFF7FEFF bl ProcessMacCommands
2298 .LVL239:
2299 051c 22E0 b .L96
2300 .LVL240:
2301 .L94:
1027:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2302 .loc 1 1027 0
2303 051e 5B46 mov r3, fp
2304 .LVL241:
2305 0520 1B07 lsls r3, r3, #28
2306 0522 15D1 bne .L123
2307 .LVL242:
2308 .L97:
1033:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** frameLen,
2309 .loc 1 1033 0
2310 0524 2000 movs r0, r4
2311 0526 4044 add r0, r0, r8
2312 0528 B1B2 uxth r1, r6
2313 052a 314B ldr r3, .L128+44
2314 052c 0293 str r3, [sp, #8]
2315 052e 5346 mov r3, r10
2316 0530 0193 str r3, [sp, #4]
2317 0532 0123 movs r3, #1
2318 0534 0093 str r3, [sp]
2319 0536 4B46 mov r3, r9
2320 0538 0A9A ldr r2, [sp, #40]
2321 053a FFF7FEFF bl LoRaMacPayloadDecrypt
2322 .LVL243:
1041:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2323 .loc 1 1041 0
2324 053e 002F cmp r7, #0
2325 0540 10D1 bne .L96
1043:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.BufferSize = frameLen;
2326 .loc 1 1043 0
2327 0542 234B ldr r3, .L128+12
2328 0544 2A4A ldr r2, .L128+44
2329 0546 9A60 str r2, [r3, #8]
1044:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.RxData = true;
2330 .loc 1 1044 0
2331 0548 1E73 strb r6, [r3, #12]
1045:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2332 .loc 1 1045 0
2333 054a 0122 movs r2, #1
2334 054c 5A73 strb r2, [r3, #13]
2335 054e 09E0 b .L96
2336 .LVL244:
2337 .L123:
1030:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2338 .loc 1 1030 0
2339 0550 2B00 movs r3, r5
2340 0552 099A ldr r2, [sp, #36]
2341 0554 0821 movs r1, #8
2342 0556 2000 movs r0, r4
2343 0558 FFF7FEFF bl ProcessMacCommands
2344 .LVL245:
ARM GAS /tmp/ccrFaSdZ.s page 84
2345 055c E2E7 b .L97
2346 .LVL246:
2347 .L93:
1051:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2348 .loc 1 1051 0
2349 055e 5B46 mov r3, fp
2350 0560 1B07 lsls r3, r3, #28
2351 0562 13D1 bne .L124
2352 .LVL247:
2353 .L96:
1058:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2354 .loc 1 1058 0
2355 0564 002F cmp r7, #0
2356 0566 00D0 beq .LCB2397
2357 0568 48E7 b .L95 @long jump
2358 .LCB2397:
1061:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2359 .loc 1 1061 0
2360 056a 5B46 mov r3, fp
2361 056c 9B06 lsls r3, r3, #26
2362 056e 14D4 bmi .L125
1072:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2363 .loc 1 1072 0
2364 0570 184B ldr r3, .L128+16
2365 0572 0022 movs r2, #0
2366 0574 1A71 strb r2, [r3, #4]
1074:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2367 .loc 1 1074 0
2368 0576 1F4B ldr r3, .L128+48
2369 0578 1A78 ldrb r2, [r3]
2370 057a 1F4B ldr r3, .L128+52
2371 057c 1B78 ldrb r3, [r3]
2372 057e 9A42 cmp r2, r3
2373 0580 00D8 bhi .LCB2412
2374 0582 3BE7 b .L95 @long jump
2375 .LCB2412:
1078:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2376 .loc 1 1078 0
2377 0584 1D48 ldr r0, .L128+56
2378 0586 FFF7FEFF bl TimerStop
2379 .LVL248:
2380 058a 37E7 b .L95
2381 .LVL249:
2382 .L124:
1054:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2383 .loc 1 1054 0
2384 058c 2B00 movs r3, r5
2385 058e 099A ldr r2, [sp, #36]
2386 0590 0821 movs r1, #8
2387 .LVL250:
2388 0592 2000 movs r0, r4
2389 0594 FFF7FEFF bl ProcessMacCommands
2390 .LVL251:
2391 0598 E4E7 b .L96
2392 .LVL252:
2393 .L125:
1063:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsIndication.AckReceived = true;
ARM GAS /tmp/ccrFaSdZ.s page 85
2394 .loc 1 1063 0
2395 059a 0123 movs r3, #1
2396 059c 0D4A ldr r2, .L128+16
2397 059e 1371 strb r3, [r2, #4]
1064:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2398 .loc 1 1064 0
2399 05a0 0B4A ldr r2, .L128+12
2400 05a2 9374 strb r3, [r2, #18]
1068:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2401 .loc 1 1068 0
2402 05a4 1548 ldr r0, .L128+56
2403 05a6 FFF7FEFF bl TimerStop
2404 .LVL253:
2405 05aa 27E7 b .L95
2406 .LVL254:
2407 .L85:
1089:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2408 .loc 1 1089 0
2409 05ac 084B ldr r3, .L128+12
2410 05ae 0C22 movs r2, #12
2411 05b0 5A70 strb r2, [r3, #1]
1091:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return;
2412 .loc 1 1091 0
2413 05b2 FFF7FEFF bl PrepareRxDoneAbort
2414 .LVL255:
1092:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2415 .loc 1 1092 0
2416 05b6 73E5 b .L62
2417 .LVL256:
2418 .L63:
1109:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PrepareRxDoneAbort( );
2419 .loc 1 1109 0
2420 05b8 054B ldr r3, .L128+12
2421 05ba 0122 movs r2, #1
2422 05bc 5A70 strb r2, [r3, #1]
1110:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2423 .loc 1 1110 0
2424 05be FFF7FEFF bl PrepareRxDoneAbort
2425 .LVL257:
1111:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2426 .loc 1 1111 0
2427 05c2 60E5 b .L72
2428 .L129:
2429 .align 2
2430 .L128:
2431 05c4 00000000 .word .LANCHOR32
2432 05c8 00000000 .word .LANCHOR33
2433 05cc 00000000 .word .LANCHOR22
2434 05d0 00000000 .word .LANCHOR35
2435 05d4 00000000 .word .LANCHOR34
2436 05d8 00000000 .word .LANCHOR3
2437 05dc 00000000 .word .LANCHOR11
2438 05e0 00000000 .word .LANCHOR16
2439 05e4 00000000 .word .LANCHOR2
2440 05e8 00000000 .word .LANCHOR10
2441 05ec 00000000 .word .LANCHOR26
2442 05f0 00000000 .word LoRaMacRxPayload
ARM GAS /tmp/ccrFaSdZ.s page 86
2443 05f4 00000000 .word .LANCHOR6
2444 05f8 00000000 .word .LANCHOR5
2445 05fc 00000000 .word .LANCHOR23
2446 .cfi_endproc
2447 .LFE87:
2449 .section .text.OnRxWindow2TimerEvent,"ax",%progbits
2450 .align 1
2451 .syntax unified
2452 .code 16
2453 .thumb_func
2454 .fpu softvfp
2456 OnRxWindow2TimerEvent:
2457 .LFB94:
1466:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &RxWindowTimer2 );
2458 .loc 1 1466 0
2459 .cfi_startproc
2460 @ args = 0, pretend = 0, frame = 0
2461 @ frame_needed = 0, uses_anonymous_args = 0
2462 0000 10B5 push {r4, lr}
2463 .LCFI11:
2464 .cfi_def_cfa_offset 8
2465 .cfi_offset 4, -8
2466 .cfi_offset 14, -4
1467:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2467 .loc 1 1467 0
2468 0002 1C48 ldr r0, .L136
2469 0004 FFF7FEFF bl TimerStop
2470 .LVL258:
1469:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.Frequency = LoRaMacParams.Rx2Channel.Frequency;
2471 .loc 1 1469 0
2472 0008 1B4B ldr r3, .L136+4
2473 000a 1C4A ldr r2, .L136+8
2474 000c 1278 ldrb r2, [r2]
2475 000e 1A70 strb r2, [r3]
1470:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.DownlinkDwellTime = LoRaMacParams.DownlinkDwellTime;
2476 .loc 1 1470 0
2477 0010 1B4A ldr r2, .L136+12
2478 0012 516A ldr r1, [r2, #36]
2479 0014 5960 str r1, [r3, #4]
1471:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.RepeaterSupport = RepeaterSupport;
2480 .loc 1 1471 0
2481 0016 2D21 movs r1, #45
2482 0018 525C ldrb r2, [r2, r1]
2483 001a 1A74 strb r2, [r3, #16]
1472:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.Window = 1;
2484 .loc 1 1472 0
2485 001c 194A ldr r2, .L136+16
2486 001e 1278 ldrb r2, [r2]
2487 0020 5A74 strb r2, [r3, #17]
1473:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2488 .loc 1 1473 0
2489 0022 0122 movs r2, #1
2490 0024 DA74 strb r2, [r3, #19]
1475:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2491 .loc 1 1475 0
2492 0026 184B ldr r3, .L136+20
2493 0028 1B78 ldrb r3, [r3]
ARM GAS /tmp/ccrFaSdZ.s page 87
2494 002a 022B cmp r3, #2
2495 002c 19D0 beq .L131
1477:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2496 .loc 1 1477 0
2497 002e 124B ldr r3, .L136+4
2498 0030 0022 movs r2, #0
2499 0032 9A74 strb r2, [r3, #18]
2500 .L132:
1484:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2501 .loc 1 1484 0
2502 0034 154A ldr r2, .L136+24
2503 0036 164B ldr r3, .L136+28
2504 0038 1878 ldrb r0, [r3]
2505 003a 0432 adds r2, r2, #4
2506 003c 0E49 ldr r1, .L136+4
2507 003e FFF7FEFF bl RegionRxConfig
2508 .LVL259:
2509 0042 0028 cmp r0, #0
2510 0044 0CD0 beq .L130
1486:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxSlot = RxWindow2Config.Window;
2511 .loc 1 1486 0
2512 0046 0C4B ldr r3, .L136+4
2513 0048 9B7C ldrb r3, [r3, #18]
2514 004a 0D4A ldr r2, .L136+12
2515 004c D068 ldr r0, [r2, #12]
2516 .LVL260:
2517 .LBB63:
2518 .LBB64:
1508:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2519 .loc 1 1508 0
2520 004e 002B cmp r3, #0
2521 0050 0BD1 bne .L134
1510:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2522 .loc 1 1510 0
2523 0052 104B ldr r3, .L136+32
2524 .LVL261:
2525 0054 DB6B ldr r3, [r3, #60]
2526 0056 9847 blx r3
2527 .LVL262:
2528 .L135:
2529 .LBE64:
2530 .LBE63:
1487:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2531 .loc 1 1487 0
2532 0058 074B ldr r3, .L136+4
2533 005a DA7C ldrb r2, [r3, #19]
2534 005c 0E4B ldr r3, .L136+36
2535 005e 1A70 strb r2, [r3]
2536 .L130:
1489:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2537 .loc 1 1489 0
2538 @ sp needed
2539 0060 10BD pop {r4, pc}
2540 .L131:
1481:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2541 .loc 1 1481 0
2542 0062 054B ldr r3, .L136+4
ARM GAS /tmp/ccrFaSdZ.s page 88
2543 0064 0122 movs r2, #1
2544 0066 9A74 strb r2, [r3, #18]
2545 0068 E4E7 b .L132
2546 .LVL263:
2547 .L134:
2548 .LBB66:
2549 .LBB65:
1514:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2550 .loc 1 1514 0
2551 006a 0A4B ldr r3, .L136+32
2552 .LVL264:
2553 006c DB6B ldr r3, [r3, #60]
2554 006e 0020 movs r0, #0
2555 .LVL265:
2556 0070 9847 blx r3
2557 .LVL266:
2558 0072 F1E7 b .L135
2559 .L137:
2560 .align 2
2561 .L136:
2562 0074 00000000 .word .LANCHOR37
2563 0078 00000000 .word .LANCHOR42
2564 007c 00000000 .word .LANCHOR19
2565 0080 00000000 .word .LANCHOR14
2566 0084 00000000 .word .LANCHOR21
2567 0088 00000000 .word .LANCHOR25
2568 008c 00000000 .word .LANCHOR35
2569 0090 00000000 .word .LANCHOR22
2570 0094 00000000 .word Radio
2571 0098 00000000 .word .LANCHOR36
2572 .LBE65:
2573 .LBE66:
2574 .cfi_endproc
2575 .LFE94:
2577 .section .text.OnRadioRxTimeout,"ax",%progbits
2578 .align 1
2579 .syntax unified
2580 .code 16
2581 .thumb_func
2582 .fpu softvfp
2584 OnRadioRxTimeout:
2585 .LFB90:
1172:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
2586 .loc 1 1172 0
2587 .cfi_startproc
2588 @ args = 0, pretend = 0, frame = 0
2589 @ frame_needed = 0, uses_anonymous_args = 0
2590 0000 10B5 push {r4, lr}
2591 .LCFI12:
2592 .cfi_def_cfa_offset 8
2593 .cfi_offset 4, -8
2594 .cfi_offset 14, -4
1173:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2595 .loc 1 1173 0
2596 0002 1D4B ldr r3, .L145
2597 0004 1B78 ldrb r3, [r3]
2598 0006 022B cmp r3, #2
ARM GAS /tmp/ccrFaSdZ.s page 89
2599 0008 1ED0 beq .L139
1175:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2600 .loc 1 1175 0
2601 000a 1C4B ldr r3, .L145+4
2602 000c 5B6B ldr r3, [r3, #52]
2603 000e 9847 blx r3
2604 .LVL267:
2605 .L140:
1182:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2606 .loc 1 1182 0
2607 0010 1B4B ldr r3, .L145+8
2608 0012 1B78 ldrb r3, [r3]
2609 0014 002B cmp r3, #0
2610 0016 1AD1 bne .L141
1184:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2611 .loc 1 1184 0
2612 0018 1A4B ldr r3, .L145+12
2613 001a 1B78 ldrb r3, [r3]
2614 001c 002B cmp r3, #0
2615 001e 02D0 beq .L142
1186:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2616 .loc 1 1186 0
2617 0020 194B ldr r3, .L145+16
2618 0022 0322 movs r2, #3
2619 0024 5A70 strb r2, [r3, #1]
2620 .L142:
1188:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2621 .loc 1 1188 0
2622 0026 194B ldr r3, .L145+20
2623 0028 0322 movs r2, #3
2624 002a 5A70 strb r2, [r3, #1]
1190:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2625 .loc 1 1190 0
2626 002c 184B ldr r3, .L145+24
2627 002e 1868 ldr r0, [r3]
2628 0030 FFF7FEFF bl TimerGetElapsedTime
2629 .LVL268:
2630 0034 174B ldr r3, .L145+28
2631 0036 1B68 ldr r3, [r3]
2632 0038 9842 cmp r0, r3
2633 003a 1BD3 bcc .L138
1192:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2634 .loc 1 1192 0
2635 003c 164A ldr r2, .L145+32
2636 003e 1378 ldrb r3, [r2]
2637 0040 1021 movs r1, #16
2638 0042 0B43 orrs r3, r1
2639 0044 1370 strb r3, [r2]
2640 0046 15E0 b .L138
2641 .L139:
1179:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2642 .loc 1 1179 0
2643 0048 FFF7FEFF bl OnRxWindow2TimerEvent
2644 .LVL269:
2645 004c E0E7 b .L140
2646 .L141:
1197:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
ARM GAS /tmp/ccrFaSdZ.s page 90
2647 .loc 1 1197 0
2648 004e 0D4B ldr r3, .L145+12
2649 0050 1B78 ldrb r3, [r3]
2650 0052 002B cmp r3, #0
2651 0054 02D0 beq .L144
1199:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2652 .loc 1 1199 0
2653 0056 0C4B ldr r3, .L145+16
2654 0058 0422 movs r2, #4
2655 005a 5A70 strb r2, [r3, #1]
2656 .L144:
1201:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2657 .loc 1 1201 0
2658 005c 0B4B ldr r3, .L145+20
2659 005e 0422 movs r2, #4
2660 0060 5A70 strb r2, [r3, #1]
1203:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2661 .loc 1 1203 0
2662 0062 054B ldr r3, .L145
2663 0064 1B78 ldrb r3, [r3]
2664 0066 022B cmp r3, #2
2665 0068 04D0 beq .L138
1205:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2666 .loc 1 1205 0
2667 006a 0B4A ldr r2, .L145+32
2668 006c 1378 ldrb r3, [r2]
2669 006e 1021 movs r1, #16
2670 0070 0B43 orrs r3, r1
2671 0072 1370 strb r3, [r2]
2672 .L138:
1208:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2673 .loc 1 1208 0
2674 @ sp needed
2675 0074 10BD pop {r4, pc}
2676 .L146:
2677 0076 C046 .align 2
2678 .L145:
2679 0078 00000000 .word .LANCHOR25
2680 007c 00000000 .word Radio
2681 0080 00000000 .word .LANCHOR36
2682 0084 00000000 .word .LANCHOR15
2683 0088 00000000 .word .LANCHOR34
2684 008c 00000000 .word .LANCHOR28
2685 0090 00000000 .word .LANCHOR43
2686 0094 00000000 .word .LANCHOR44
2687 0098 00000000 .word .LANCHOR26
2688 .cfi_endproc
2689 .LFE90:
2691 .section .text.OnRadioTxTimeout,"ax",%progbits
2692 .align 1
2693 .syntax unified
2694 .code 16
2695 .thumb_func
2696 .fpu softvfp
2698 OnRadioTxTimeout:
2699 .LFB88:
1121:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
ARM GAS /tmp/ccrFaSdZ.s page 91
2700 .loc 1 1121 0
2701 .cfi_startproc
2702 @ args = 0, pretend = 0, frame = 0
2703 @ frame_needed = 0, uses_anonymous_args = 0
2704 0000 10B5 push {r4, lr}
2705 .LCFI13:
2706 .cfi_def_cfa_offset 8
2707 .cfi_offset 4, -8
2708 .cfi_offset 14, -4
1122:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2709 .loc 1 1122 0
2710 0002 0A4B ldr r3, .L150
2711 0004 1B78 ldrb r3, [r3]
2712 0006 022B cmp r3, #2
2713 0008 0DD0 beq .L148
1124:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2714 .loc 1 1124 0
2715 000a 094B ldr r3, .L150+4
2716 000c 5B6B ldr r3, [r3, #52]
2717 000e 9847 blx r3
2718 .LVL270:
2719 .L149:
1131:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT;
2720 .loc 1 1131 0
2721 0010 0223 movs r3, #2
2722 0012 084A ldr r2, .L150+8
2723 0014 5370 strb r3, [r2, #1]
1132:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
2724 .loc 1 1132 0
2725 0016 084A ldr r2, .L150+12
2726 0018 5370 strb r3, [r2, #1]
1133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2727 .loc 1 1133 0
2728 001a 084A ldr r2, .L150+16
2729 001c 1378 ldrb r3, [r2]
2730 001e 1021 movs r1, #16
2731 0020 0B43 orrs r3, r1
2732 0022 1370 strb r3, [r2]
1134:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2733 .loc 1 1134 0
2734 @ sp needed
2735 0024 10BD pop {r4, pc}
2736 .L148:
1128:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2737 .loc 1 1128 0
2738 0026 FFF7FEFF bl OnRxWindow2TimerEvent
2739 .LVL271:
2740 002a F1E7 b .L149
2741 .L151:
2742 .align 2
2743 .L150:
2744 002c 00000000 .word .LANCHOR25
2745 0030 00000000 .word Radio
2746 0034 00000000 .word .LANCHOR34
2747 0038 00000000 .word .LANCHOR28
2748 003c 00000000 .word .LANCHOR26
2749 .cfi_endproc
ARM GAS /tmp/ccrFaSdZ.s page 92
2750 .LFE88:
2752 .section .text.OnRadioRxError,"ax",%progbits
2753 .align 1
2754 .syntax unified
2755 .code 16
2756 .thumb_func
2757 .fpu softvfp
2759 OnRadioRxError:
2760 .LFB89:
1137:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
2761 .loc 1 1137 0
2762 .cfi_startproc
2763 @ args = 0, pretend = 0, frame = 0
2764 @ frame_needed = 0, uses_anonymous_args = 0
2765 0000 10B5 push {r4, lr}
2766 .LCFI14:
2767 .cfi_def_cfa_offset 8
2768 .cfi_offset 4, -8
2769 .cfi_offset 14, -4
1138:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2770 .loc 1 1138 0
2771 0002 1B4B ldr r3, .L159
2772 0004 1B78 ldrb r3, [r3]
2773 0006 022B cmp r3, #2
2774 0008 1ED0 beq .L153
1140:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2775 .loc 1 1140 0
2776 000a 1A4B ldr r3, .L159+4
2777 000c 5B6B ldr r3, [r3, #52]
2778 000e 9847 blx r3
2779 .LVL272:
2780 .L154:
1147:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2781 .loc 1 1147 0
2782 0010 194B ldr r3, .L159+8
2783 0012 1B78 ldrb r3, [r3]
2784 0014 002B cmp r3, #0
2785 0016 1AD1 bne .L155
1149:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2786 .loc 1 1149 0
2787 0018 184B ldr r3, .L159+12
2788 001a 1B78 ldrb r3, [r3]
2789 001c 002B cmp r3, #0
2790 001e 02D0 beq .L156
1151:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2791 .loc 1 1151 0
2792 0020 174B ldr r3, .L159+16
2793 0022 0522 movs r2, #5
2794 0024 5A70 strb r2, [r3, #1]
2795 .L156:
1153:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2796 .loc 1 1153 0
2797 0026 174B ldr r3, .L159+20
2798 0028 0522 movs r2, #5
2799 002a 5A70 strb r2, [r3, #1]
1155:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2800 .loc 1 1155 0
ARM GAS /tmp/ccrFaSdZ.s page 93
2801 002c 164B ldr r3, .L159+24
2802 002e 1868 ldr r0, [r3]
2803 0030 FFF7FEFF bl TimerGetElapsedTime
2804 .LVL273:
2805 0034 154B ldr r3, .L159+28
2806 0036 1B68 ldr r3, [r3]
2807 0038 9842 cmp r0, r3
2808 003a 17D3 bcc .L152
1157:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2809 .loc 1 1157 0
2810 003c 144A ldr r2, .L159+32
2811 003e 1378 ldrb r3, [r2]
2812 0040 1021 movs r1, #16
2813 0042 0B43 orrs r3, r1
2814 0044 1370 strb r3, [r2]
2815 0046 11E0 b .L152
2816 .L153:
1144:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2817 .loc 1 1144 0
2818 0048 FFF7FEFF bl OnRxWindow2TimerEvent
2819 .LVL274:
2820 004c E0E7 b .L154
2821 .L155:
1162:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2822 .loc 1 1162 0
2823 004e 0B4B ldr r3, .L159+12
2824 0050 1B78 ldrb r3, [r3]
2825 0052 002B cmp r3, #0
2826 0054 02D0 beq .L158
1164:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2827 .loc 1 1164 0
2828 0056 0A4B ldr r3, .L159+16
2829 0058 0622 movs r2, #6
2830 005a 5A70 strb r2, [r3, #1]
2831 .L158:
1166:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MacDone = 1;
2832 .loc 1 1166 0
2833 005c 094B ldr r3, .L159+20
2834 005e 0622 movs r2, #6
2835 0060 5A70 strb r2, [r3, #1]
1167:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2836 .loc 1 1167 0
2837 0062 0B4A ldr r2, .L159+32
2838 0064 1378 ldrb r3, [r2]
2839 0066 1021 movs r1, #16
2840 0068 0B43 orrs r3, r1
2841 006a 1370 strb r3, [r2]
2842 .L152:
1169:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2843 .loc 1 1169 0
2844 @ sp needed
2845 006c 10BD pop {r4, pc}
2846 .L160:
2847 006e C046 .align 2
2848 .L159:
2849 0070 00000000 .word .LANCHOR25
2850 0074 00000000 .word Radio
ARM GAS /tmp/ccrFaSdZ.s page 94
2851 0078 00000000 .word .LANCHOR36
2852 007c 00000000 .word .LANCHOR15
2853 0080 00000000 .word .LANCHOR34
2854 0084 00000000 .word .LANCHOR28
2855 0088 00000000 .word .LANCHOR43
2856 008c 00000000 .word .LANCHOR44
2857 0090 00000000 .word .LANCHOR26
2858 .cfi_endproc
2859 .LFE89:
2861 .section .text.OnRadioTxDone,"ax",%progbits
2862 .align 1
2863 .syntax unified
2864 .code 16
2865 .thumb_func
2866 .fpu softvfp
2868 OnRadioTxDone:
2869 .LFB85:
612:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
2870 .loc 1 612 0
2871 .cfi_startproc
2872 @ args = 0, pretend = 0, frame = 16
2873 @ frame_needed = 0, uses_anonymous_args = 0
2874 0000 30B5 push {r4, r5, lr}
2875 .LCFI15:
2876 .cfi_def_cfa_offset 12
2877 .cfi_offset 4, -12
2878 .cfi_offset 5, -8
2879 .cfi_offset 14, -4
2880 0002 85B0 sub sp, sp, #20
2881 .LCFI16:
2882 .cfi_def_cfa_offset 32
616:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2883 .loc 1 616 0
2884 0004 FFF7FEFF bl TimerGetCurrentTime
2885 .LVL275:
2886 0008 0400 movs r4, r0
2887 .LVL276:
618:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2888 .loc 1 618 0
2889 000a 3F4B ldr r3, .L174
2890 000c 1B78 ldrb r3, [r3]
2891 000e 022B cmp r3, #2
2892 0010 25D0 beq .L162
620:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2893 .loc 1 620 0
2894 0012 3E4B ldr r3, .L174+4
2895 0014 5B6B ldr r3, [r3, #52]
2896 0016 9847 blx r3
2897 .LVL277:
2898 .L163:
628:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2899 .loc 1 628 0
2900 0018 3D4B ldr r3, .L174+8
2901 001a 1B78 ldrb r3, [r3]
2902 001c 002B cmp r3, #0
2903 001e 21D1 bne .L172
647:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT;
ARM GAS /tmp/ccrFaSdZ.s page 95
2904 .loc 1 647 0
2905 0020 3C4B ldr r3, .L174+12
2906 0022 0022 movs r2, #0
2907 0024 5A70 strb r2, [r3, #1]
648:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2908 .loc 1 648 0
2909 0026 3C4B ldr r3, .L174+16
2910 0028 0432 adds r2, r2, #4
2911 002a 5A70 strb r2, [r3, #1]
650:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2912 .loc 1 650 0
2913 002c 3B4B ldr r3, .L174+20
2914 002e 1B78 ldrb r3, [r3]
2915 0030 002B cmp r3, #0
2916 0032 03D1 bne .L168
652:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2917 .loc 1 652 0
2918 0034 394A ldr r2, .L174+20
2919 0036 0121 movs r1, #1
2920 0038 0B43 orrs r3, r1
2921 003a 1370 strb r3, [r2]
2922 .L168:
654:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2923 .loc 1 654 0
2924 003c 374A ldr r2, .L174+20
2925 003e 1378 ldrb r3, [r2]
2926 0040 1021 movs r1, #16
2927 0042 0B43 orrs r3, r1
2928 0044 1370 strb r3, [r2]
2929 .L167:
658:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2930 .loc 1 658 0
2931 0046 354B ldr r3, .L174+20
2932 0048 1B78 ldrb r3, [r3]
2933 004a 1B07 lsls r3, r3, #28
2934 004c 3BD5 bpl .L169
658:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2935 .loc 1 658 0 is_stmt 0 discriminator 1
2936 004e 324B ldr r3, .L174+16
2937 0050 1B78 ldrb r3, [r3]
2938 0052 002B cmp r3, #0
2939 0054 37D1 bne .L169
660:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2940 .loc 1 660 0 is_stmt 1
2941 0056 324B ldr r3, .L174+24
2942 0058 0122 movs r2, #1
2943 005a 1A70 strb r2, [r3]
2944 005c 36E0 b .L170
2945 .LVL278:
2946 .L162:
624:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2947 .loc 1 624 0
2948 005e FFF7FEFF bl OnRxWindow2TimerEvent
2949 .LVL279:
2950 0062 D9E7 b .L163
2951 .L172:
630:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &RxWindowTimer1 );
ARM GAS /tmp/ccrFaSdZ.s page 96
2952 .loc 1 630 0
2953 0064 2F4B ldr r3, .L174+28
2954 0066 1968 ldr r1, [r3]
2955 0068 2F4D ldr r5, .L174+32
2956 006a 2800 movs r0, r5
2957 006c FFF7FEFF bl TimerSetValue
2958 .LVL280:
631:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( LoRaMacDeviceClass != CLASS_C )
2959 .loc 1 631 0
2960 0070 2800 movs r0, r5
2961 0072 FFF7FEFF bl TimerStart
2962 .LVL281:
632:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2963 .loc 1 632 0
2964 0076 244B ldr r3, .L174
2965 0078 1B78 ldrb r3, [r3]
2966 007a 022B cmp r3, #2
2967 007c 19D1 bne .L173
2968 .L165:
637:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2969 .loc 1 637 0
2970 007e 224B ldr r3, .L174
2971 0080 1B78 ldrb r3, [r3]
2972 0082 022B cmp r3, #2
2973 0084 03D0 beq .L166
637:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2974 .loc 1 637 0 is_stmt 0 discriminator 1
2975 0086 294B ldr r3, .L174+36
2976 0088 1B78 ldrb r3, [r3]
2977 008a 002B cmp r3, #0
2978 008c DBD0 beq .L167
2979 .L166:
639:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
2980 .loc 1 639 0 is_stmt 1
2981 008e 03A9 add r1, sp, #12
2982 0090 1223 movs r3, #18
2983 0092 0B70 strb r3, [r1]
640:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &AckTimeoutTimer, RxWindow2Delay + phyParam.Value );
2984 .loc 1 640 0
2985 0094 264B ldr r3, .L174+40
2986 0096 1878 ldrb r0, [r3]
2987 0098 FFF7FEFF bl RegionGetPhyParam
2988 .LVL282:
641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &AckTimeoutTimer );
2989 .loc 1 641 0
2990 009c 254B ldr r3, .L174+44
2991 009e 1968 ldr r1, [r3]
2992 .LVL283:
2993 00a0 4118 adds r1, r0, r1
2994 00a2 254D ldr r5, .L174+48
2995 00a4 2800 movs r0, r5
2996 .LVL284:
2997 00a6 FFF7FEFF bl TimerSetValue
2998 .LVL285:
642:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2999 .loc 1 642 0
3000 00aa 2800 movs r0, r5
ARM GAS /tmp/ccrFaSdZ.s page 97
3001 00ac FFF7FEFF bl TimerStart
3002 .LVL286:
3003 00b0 C9E7 b .L167
3004 .L173:
634:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &RxWindowTimer2 );
3005 .loc 1 634 0
3006 00b2 204B ldr r3, .L174+44
3007 00b4 1968 ldr r1, [r3]
3008 00b6 214D ldr r5, .L174+52
3009 00b8 2800 movs r0, r5
3010 00ba FFF7FEFF bl TimerSetValue
3011 .LVL287:
635:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3012 .loc 1 635 0
3013 00be 2800 movs r0, r5
3014 00c0 FFF7FEFF bl TimerStart
3015 .LVL288:
3016 00c4 DBE7 b .L165
3017 .L169:
664:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3018 .loc 1 664 0
3019 00c6 164B ldr r3, .L174+24
3020 00c8 0022 movs r2, #0
3021 00ca 1A70 strb r2, [r3]
3022 .L170:
668:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update last tx done time for the current channel
3023 .loc 1 668 0
3024 00cc 1C4B ldr r3, .L174+56
3025 00ce 1B78 ldrb r3, [r3]
3026 00d0 1C4A ldr r2, .L174+60
3027 00d2 1370 strb r3, [r2]
670:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txDone.Joined = IsLoRaMacNetworkJoined;
3028 .loc 1 670 0
3029 00d4 01A9 add r1, sp, #4
3030 00d6 0B70 strb r3, [r1]
671:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txDone.LastTxDoneTime = curTime;
3031 .loc 1 671 0
3032 00d8 1B4B ldr r3, .L174+64
3033 00da 1B78 ldrb r3, [r3]
3034 00dc 4B70 strb r3, [r1, #1]
672:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionSetBandTxDone( LoRaMacRegion, &txDone );
3035 .loc 1 672 0
3036 00de 4C60 str r4, [r1, #4]
673:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update Aggregated last tx done time
3037 .loc 1 673 0
3038 00e0 134B ldr r3, .L174+40
3039 00e2 1878 ldrb r0, [r3]
3040 00e4 FFF7FEFF bl RegionSetBandTxDone
3041 .LVL289:
675:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3042 .loc 1 675 0
3043 00e8 184B ldr r3, .L174+68
3044 00ea 1C60 str r4, [r3]
677:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3045 .loc 1 677 0
3046 00ec 0F4B ldr r3, .L174+36
3047 00ee 1B78 ldrb r3, [r3]
ARM GAS /tmp/ccrFaSdZ.s page 98
3048 00f0 002B cmp r3, #0
3049 00f2 06D1 bne .L161
679:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelsNbRepCounter++;
3050 .loc 1 679 0
3051 00f4 074B ldr r3, .L174+12
3052 00f6 0022 movs r2, #0
3053 00f8 5A70 strb r2, [r3, #1]
680:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3054 .loc 1 680 0
3055 00fa 154A ldr r2, .L174+72
3056 00fc 1378 ldrb r3, [r2]
3057 00fe 0133 adds r3, r3, #1
3058 0100 1370 strb r3, [r2]
3059 .L161:
682:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3060 .loc 1 682 0
3061 0102 05B0 add sp, sp, #20
3062 @ sp needed
3063 .LVL290:
3064 0104 30BD pop {r4, r5, pc}
3065 .L175:
3066 0106 C046 .align 2
3067 .L174:
3068 0108 00000000 .word .LANCHOR25
3069 010c 00000000 .word Radio
3070 0110 00000000 .word .LANCHOR12
3071 0114 00000000 .word .LANCHOR34
3072 0118 00000000 .word .LANCHOR28
3073 011c 00000000 .word .LANCHOR26
3074 0120 00000000 .word .LANCHOR47
3075 0124 00000000 .word .LANCHOR45
3076 0128 00000000 .word .LANCHOR46
3077 012c 00000000 .word .LANCHOR15
3078 0130 00000000 .word .LANCHOR22
3079 0134 00000000 .word .LANCHOR44
3080 0138 00000000 .word .LANCHOR23
3081 013c 00000000 .word .LANCHOR37
3082 0140 00000000 .word .LANCHOR19
3083 0144 00000000 .word .LANCHOR20
3084 0148 00000000 .word .LANCHOR0
3085 014c 00000000 .word .LANCHOR43
3086 0150 00000000 .word .LANCHOR4
3087 .cfi_endproc
3088 .LFE85:
3090 .section .text.OnRxWindow1TimerEvent,"ax",%progbits
3091 .align 1
3092 .syntax unified
3093 .code 16
3094 .thumb_func
3095 .fpu softvfp
3097 OnRxWindow1TimerEvent:
3098 .LFB93:
1445:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStop( &RxWindowTimer1 );
3099 .loc 1 1445 0
3100 .cfi_startproc
3101 @ args = 0, pretend = 0, frame = 0
3102 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccrFaSdZ.s page 99
3103 0000 10B5 push {r4, lr}
3104 .LCFI17:
3105 .cfi_def_cfa_offset 8
3106 .cfi_offset 4, -8
3107 .cfi_offset 14, -4
1446:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxSlot = 0;
3108 .loc 1 1446 0
3109 0002 1948 ldr r0, .L181
3110 0004 FFF7FEFF bl TimerStop
3111 .LVL291:
1447:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3112 .loc 1 1447 0
3113 0008 0022 movs r2, #0
3114 000a 184B ldr r3, .L181+4
3115 000c 1A70 strb r2, [r3]
1449:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.DrOffset = LoRaMacParams.Rx1DrOffset;
3116 .loc 1 1449 0
3117 000e 184B ldr r3, .L181+8
3118 0010 1849 ldr r1, .L181+12
3119 0012 0978 ldrb r1, [r1]
3120 0014 1970 strb r1, [r3]
1450:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.DownlinkDwellTime = LoRaMacParams.DownlinkDwellTime;
3121 .loc 1 1450 0
3122 0016 1849 ldr r1, .L181+16
3123 0018 2120 movs r0, #33
3124 001a 0856 ldrsb r0, [r1, r0]
3125 001c D870 strb r0, [r3, #3]
1451:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.RepeaterSupport = RepeaterSupport;
3126 .loc 1 1451 0
3127 001e 2D20 movs r0, #45
3128 0020 095C ldrb r1, [r1, r0]
3129 0022 1974 strb r1, [r3, #16]
1452:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.RxContinuous = false;
3130 .loc 1 1452 0
3131 0024 1549 ldr r1, .L181+20
3132 0026 0978 ldrb r1, [r1]
3133 0028 5974 strb r1, [r3, #17]
1453:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow1Config.Window = RxSlot;
3134 .loc 1 1453 0
3135 002a 9A74 strb r2, [r3, #18]
1454:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3136 .loc 1 1454 0
3137 002c DA74 strb r2, [r3, #19]
1456:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3138 .loc 1 1456 0
3139 002e 144B ldr r3, .L181+24
3140 0030 1B78 ldrb r3, [r3]
3141 0032 022B cmp r3, #2
3142 0034 02D1 bne .L177
1458:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3143 .loc 1 1458 0
3144 0036 134B ldr r3, .L181+28
3145 0038 9B6B ldr r3, [r3, #56]
3146 003a 9847 blx r3
3147 .LVL292:
3148 .L177:
1461:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindowSetup( RxWindow1Config.RxContinuous, LoRaMacParams.MaxRxWindow );
ARM GAS /tmp/ccrFaSdZ.s page 100
3149 .loc 1 1461 0
3150 003c 124A ldr r2, .L181+32
3151 003e 0C4C ldr r4, .L181+8
3152 0040 124B ldr r3, .L181+36
3153 0042 1878 ldrb r0, [r3]
3154 0044 0432 adds r2, r2, #4
3155 0046 2100 movs r1, r4
3156 0048 FFF7FEFF bl RegionRxConfig
3157 .LVL293:
1462:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3158 .loc 1 1462 0
3159 004c A37C ldrb r3, [r4, #18]
3160 004e 0A4A ldr r2, .L181+16
3161 0050 D068 ldr r0, [r2, #12]
3162 .LVL294:
3163 .LBB67:
3164 .LBB68:
1508:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3165 .loc 1 1508 0
3166 0052 002B cmp r3, #0
3167 0054 04D0 beq .L180
1514:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3168 .loc 1 1514 0
3169 0056 0B4B ldr r3, .L181+28
3170 .LVL295:
3171 0058 DB6B ldr r3, [r3, #60]
3172 005a 0020 movs r0, #0
3173 .LVL296:
3174 005c 9847 blx r3
3175 .LVL297:
3176 .L176:
3177 .LBE68:
3178 .LBE67:
1463:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3179 .loc 1 1463 0
3180 @ sp needed
3181 005e 10BD pop {r4, pc}
3182 .LVL298:
3183 .L180:
3184 .LBB70:
3185 .LBB69:
1510:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3186 .loc 1 1510 0
3187 0060 084B ldr r3, .L181+28
3188 .LVL299:
3189 0062 DB6B ldr r3, [r3, #60]
3190 0064 9847 blx r3
3191 .LVL300:
3192 0066 FAE7 b .L176
3193 .L182:
3194 .align 2
3195 .L181:
3196 0068 00000000 .word .LANCHOR46
3197 006c 00000000 .word .LANCHOR36
3198 0070 00000000 .word .LANCHOR48
3199 0074 00000000 .word .LANCHOR19
3200 0078 00000000 .word .LANCHOR14
ARM GAS /tmp/ccrFaSdZ.s page 101
3201 007c 00000000 .word .LANCHOR21
3202 0080 00000000 .word .LANCHOR25
3203 0084 00000000 .word Radio
3204 0088 00000000 .word .LANCHOR35
3205 008c 00000000 .word .LANCHOR22
3206 .LBE69:
3207 .LBE70:
3208 .cfi_endproc
3209 .LFE93:
3211 .section .text.PrepareFrame,"ax",%progbits
3212 .align 1
3213 .global PrepareFrame
3214 .syntax unified
3215 .code 16
3216 .thumb_func
3217 .fpu softvfp
3219 PrepareFrame:
3220 .LFB105:
2053:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2054:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t PrepareFrame( LoRaMacHeader_t *macHdr, LoRaMacFrameCtrl_t *fCtrl, uint8_t fPort, vo
2055:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3221 .loc 1 2055 0
3222 .cfi_startproc
3223 @ args = 4, pretend = 0, frame = 24
3224 @ frame_needed = 0, uses_anonymous_args = 0
3225 .LVL301:
3226 0000 F0B5 push {r4, r5, r6, r7, lr}
3227 .LCFI18:
3228 .cfi_def_cfa_offset 20
3229 .cfi_offset 4, -20
3230 .cfi_offset 5, -16
3231 .cfi_offset 6, -12
3232 .cfi_offset 7, -8
3233 .cfi_offset 14, -4
3234 0002 CE46 mov lr, r9
3235 0004 00B5 push {lr}
3236 .LCFI19:
3237 .cfi_def_cfa_offset 24
3238 .cfi_offset 9, -24
3239 0006 8AB0 sub sp, sp, #40
3240 .LCFI20:
3241 .cfi_def_cfa_offset 64
3242 0008 0E00 movs r6, r1
3243 000a 0592 str r2, [sp, #20]
3244 000c 1D00 movs r5, r3
3245 000e 10AB add r3, sp, #64
3246 .LVL302:
3247 0010 1A88 ldrh r2, [r3]
3248 .LVL303:
2056:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AdrNextParams_t adrNext;
2057:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint16_t i;
2058:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t pktHeaderLen = 0;
2059:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint32_t mic = 0;
3249 .loc 1 2059 0
3250 0012 0023 movs r3, #0
3251 .LVL304:
3252 0014 0693 str r3, [sp, #24]
ARM GAS /tmp/ccrFaSdZ.s page 102
3253 .LVL305:
2060:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** const void* payload = fBuffer;
2061:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t framePort = fPort;
2062:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2063:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen = 0;
3254 .loc 1 2063 0
3255 0016 C949 ldr r1, .L220
3256 .LVL306:
3257 0018 0B80 strh r3, [r1]
2064:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2065:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
3258 .loc 1 2065 0
3259 001a 0021 movs r1, #0
3260 001c C84B ldr r3, .L220+4
3261 001e 1970 strb r1, [r3]
2066:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2067:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( fBuffer == NULL )
3262 .loc 1 2067 0
3263 0020 002D cmp r5, #0
3264 0022 17D0 beq .L216
3265 .L184:
3266 .LVL307:
2068:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2069:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBufferSize = 0;
2070:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2071:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2072:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacTxPayloadLen = fBufferSize;
3267 .loc 1 2072 0
3268 0024 D2B2 uxtb r2, r2
3269 .LVL308:
3270 0026 C74B ldr r3, .L220+8
3271 0028 1A70 strb r2, [r3]
3272 .LVL309:
2073:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2074:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = macHdr->Value;
3273 .loc 1 2074 0
3274 002a 0178 ldrb r1, [r0]
3275 002c C64B ldr r3, .L220+12
3276 002e 1970 strb r1, [r3]
2075:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2076:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( macHdr->Bits.MType )
3277 .loc 1 2076 0
3278 0030 0378 ldrb r3, [r0]
3279 0032 5B09 lsrs r3, r3, #5
3280 0034 022B cmp r3, #2
3281 0036 57D0 beq .L186
3282 0038 0ED9 bls .L217
3283 003a 042B cmp r3, #4
3284 003c 51D0 beq .L189
3285 003e 072B cmp r3, #7
3286 0040 00D0 beq .LCB3268
3287 0042 75E1 b .L209 @long jump
3288 .LCB3268:
2077:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2078:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_JOIN_REQ:
2079:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen = pktHeaderLen;
2080:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 103
2081:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memcpyr( LoRaMacBuffer + LoRaMacBufferPktLen, LoRaMacAppEui, 8 );
2082:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen += 8;
2083:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memcpyr( LoRaMacBuffer + LoRaMacBufferPktLen, LoRaMacDevEui, 8 );
2084:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen += 8;
2085:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2086:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevNonce = Radio.Random( );
2087:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2088:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = LoRaMacDevNonce & 0xFF;
2089:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = ( LoRaMacDevNonce >> 8 ) & 0xFF;
2090:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2091:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacJoinComputeMic( LoRaMacBuffer, LoRaMacBufferPktLen & 0xFF, LoRaMacAppKey, &mic )
2092:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2093:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = mic & 0xFF;
2094:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = ( mic >> 8 ) & 0xFF;
2095:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = ( mic >> 16 ) & 0xFF;
2096:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = ( mic >> 24 ) & 0xFF;
2097:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2098:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2099:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_DATA_CONFIRMED_UP:
2100:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = true;
2101:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** //Intentional fallthrough
2102:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_DATA_UNCONFIRMED_UP:
2103:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsLoRaMacNetworkJoined == false )
2104:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2105:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_NO_NETWORK_JOINED; // No network has been joined yet
2106:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2107:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2108:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Adr next request
2109:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.UpdateChanMask = true;
2110:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.AdrEnabled = fCtrl->Bits.Adr;
2111:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.AdrAckCounter = AdrAckCounter;
2112:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.Datarate = LoRaMacParams.ChannelsDatarate;
2113:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.TxPower = LoRaMacParams.ChannelsTxPower;
2114:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
2115:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2116:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl->Bits.AdrAckReq = RegionAdrNext( LoRaMacRegion, &adrNext,
2117:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** &LoRaMacParams.ChannelsDatarate, &LoRaMacParams.
2118:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2119:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( SrvAckRequested == true )
2120:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2121:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** SrvAckRequested = false;
2122:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl->Bits.Ack = 1;
2123:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2124:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2125:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr ) & 0xFF;
2126:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr >> 8 ) & 0xFF;
2127:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr >> 16 ) & 0xFF;
2128:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr >> 24 ) & 0xFF;
2129:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2130:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = fCtrl->Value;
2131:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2132:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = UpLinkCounter & 0xFF;
2133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( UpLinkCounter >> 8 ) & 0xFF;
2134:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2135:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Copy the MAC commands which must be re-send into the MAC command buffer
2136:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memcpy1( &MacCommandsBuffer[MacCommandsBufferIndex], MacCommandsBufferToRepeat, MacComm
2137:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex += MacCommandsBufferToRepeatIndex;
ARM GAS /tmp/ccrFaSdZ.s page 104
2138:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2139:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( payload != NULL ) && ( LoRaMacTxPayloadLen > 0 ) )
2140:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2141:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsInNextTx == true )
2142:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2143:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferIndex <= LORA_MAC_COMMAND_MAX_FOPTS_LENGTH )
2144:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2145:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl->Bits.FOptsLen += MacCommandsBufferIndex;
2146:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2147:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update FCtrl field with new value of OptionsLength
2148:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[0x05] = fCtrl->Value;
2149:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** for( i = 0; i < MacCommandsBufferIndex; i++ )
2150:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2151:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = MacCommandsBuffer[i];
2152:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2153:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2154:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2155:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2156:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacTxPayloadLen = MacCommandsBufferIndex;
2157:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** payload = MacCommandsBuffer;
2158:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** framePort = 0;
2159:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2160:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2161:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2162:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2163:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2164:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( MacCommandsBufferIndex > 0 ) && ( MacCommandsInNextTx == true ) )
2165:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2166:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacTxPayloadLen = MacCommandsBufferIndex;
2167:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** payload = MacCommandsBuffer;
2168:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** framePort = 0;
2169:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2170:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2171:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsInNextTx = false;
2172:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Store MAC commands which must be re-send in case the device does not receive a downl
2173:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferToRepeatIndex = ParseMacCommandsToRepeat( MacCommandsBuffer, MacComman
2174:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferToRepeatIndex > 0 )
2175:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2176:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsInNextTx = true;
2177:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2178:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2179:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( payload != NULL ) && ( LoRaMacTxPayloadLen > 0 ) )
2180:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2181:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = framePort;
2182:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2183:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( framePort == 0 )
2184:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2185:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Reset buffer index as the mac commands are being sent on port 0
2186:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
2187:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPayloadEncrypt( (uint8_t* ) payload, LoRaMacTxPayloadLen, LoRaMacNwkSKey
2188:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2189:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2190:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2191:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPayloadEncrypt( (uint8_t* ) payload, LoRaMacTxPayloadLen, LoRaMacAppSKey
2192:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2193:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2194:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen = pktHeaderLen + LoRaMacTxPayloadLen;
ARM GAS /tmp/ccrFaSdZ.s page 105
2195:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2196:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacComputeMic( LoRaMacBuffer, LoRaMacBufferPktLen, LoRaMacNwkSKey, LoRaMacDevAddr,
2197:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2198:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen + 0] = mic & 0xFF;
2199:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen + 1] = ( mic >> 8 ) & 0xFF;
2200:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen + 2] = ( mic >> 16 ) & 0xFF;
2201:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen + 3] = ( mic >> 24 ) & 0xFF;
2202:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2203:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen += LORAMAC_MFR_LEN;
2204:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2205:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2206:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_PROPRIETARY:
2207:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( fBuffer != NULL ) && ( LoRaMacTxPayloadLen > 0 ) )
3289 .loc 1 2207 0
3290 0044 002D cmp r5, #0
3291 0046 00D1 bne .LCB3270
3292 0048 76E1 b .L214 @long jump
3293 .LCB3270:
3294 .loc 1 2207 0 is_stmt 0 discriminator 1
3295 004a 002A cmp r2, #0
3296 004c 00D0 beq .LCB3272
3297 004e 63E1 b .L218 @long jump
3298 .LCB3272:
2208:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2209:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memcpy1( LoRaMacBuffer + pktHeaderLen, ( uint8_t* ) fBuffer, LoRaMacTxPayloadLen );
2210:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen = pktHeaderLen + LoRaMacTxPayloadLen;
2211:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2212:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2213:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
2214:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_SERVICE_UNKNOWN;
2215:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2216:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2217:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
3299 .loc 1 2217 0 is_stmt 1
3300 0050 0020 movs r0, #0
3301 .LVL310:
3302 0052 4CE1 b .L185
3303 .LVL311:
3304 .L216:
2069:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3305 .loc 1 2069 0
3306 0054 0022 movs r2, #0
3307 0056 E5E7 b .L184
3308 .LVL312:
3309 .L217:
2076:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3310 .loc 1 2076 0
3311 0058 002B cmp r3, #0
3312 005a 00D0 beq .LCB3291
3313 005c 68E1 b .L209 @long jump
3314 .LCB3291:
2079:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3315 .loc 1 2079 0
3316 005e B74D ldr r5, .L220
3317 .LVL313:
3318 0060 0123 movs r3, #1
3319 0062 2B80 strh r3, [r5]
ARM GAS /tmp/ccrFaSdZ.s page 106
2081:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen += 8;
3320 .loc 1 2081 0
3321 0064 B94B ldr r3, .L220+16
3322 0066 1968 ldr r1, [r3]
3323 0068 B94C ldr r4, .L220+20
3324 006a 0822 movs r2, #8
3325 006c 2000 movs r0, r4
3326 .LVL314:
3327 006e FFF7FEFF bl memcpyr
3328 .LVL315:
2082:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memcpyr( LoRaMacBuffer + LoRaMacBufferPktLen, LoRaMacDevEui, 8 );
3329 .loc 1 2082 0
3330 0072 2888 ldrh r0, [r5]
3331 0074 0830 adds r0, r0, #8
3332 0076 80B2 uxth r0, r0
3333 0078 2880 strh r0, [r5]
2083:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen += 8;
3334 .loc 1 2083 0
3335 007a B64B ldr r3, .L220+24
3336 007c 1968 ldr r1, [r3]
3337 007e 013C subs r4, r4, #1
3338 0080 0019 adds r0, r0, r4
3339 0082 0822 movs r2, #8
3340 0084 FFF7FEFF bl memcpyr
3341 .LVL316:
2084:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3342 .loc 1 2084 0
3343 0088 2B88 ldrh r3, [r5]
3344 008a 0833 adds r3, r3, #8
3345 008c 2B80 strh r3, [r5]
2086:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3346 .loc 1 2086 0
3347 008e B24B ldr r3, .L220+28
3348 0090 DB69 ldr r3, [r3, #28]
3349 0092 9847 blx r3
3350 .LVL317:
3351 0094 80B2 uxth r0, r0
3352 0096 B14B ldr r3, .L220+32
3353 0098 1880 strh r0, [r3]
2088:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = ( LoRaMacDevNonce >> 8 ) & 0xFF;
3354 .loc 1 2088 0
3355 009a 2A88 ldrh r2, [r5]
3356 009c 531C adds r3, r2, #1
3357 009e 9BB2 uxth r3, r3
3358 00a0 A054 strb r0, [r4, r2]
2089:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3359 .loc 1 2089 0
3360 00a2 591C adds r1, r3, #1
3361 00a4 89B2 uxth r1, r1
3362 00a6 2980 strh r1, [r5]
3363 00a8 000A lsrs r0, r0, #8
3364 00aa E054 strb r0, [r4, r3]
2091:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3365 .loc 1 2091 0
3366 00ac AC4B ldr r3, .L220+36
3367 00ae 1A68 ldr r2, [r3]
3368 00b0 FF23 movs r3, #255
ARM GAS /tmp/ccrFaSdZ.s page 107
3369 00b2 1940 ands r1, r3
3370 00b4 06AB add r3, sp, #24
3371 00b6 2000 movs r0, r4
3372 00b8 FFF7FEFF bl LoRaMacJoinComputeMic
3373 .LVL318:
2093:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = ( mic >> 8 ) & 0xFF;
3374 .loc 1 2093 0
3375 00bc 069B ldr r3, [sp, #24]
3376 00be 2988 ldrh r1, [r5]
3377 00c0 4A1C adds r2, r1, #1
3378 00c2 92B2 uxth r2, r2
3379 00c4 6354 strb r3, [r4, r1]
2094:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = ( mic >> 16 ) & 0xFF;
3380 .loc 1 2094 0
3381 00c6 180A lsrs r0, r3, #8
3382 00c8 511C adds r1, r2, #1
3383 00ca 89B2 uxth r1, r1
3384 00cc A054 strb r0, [r4, r2]
2095:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen++] = ( mic >> 24 ) & 0xFF;
3385 .loc 1 2095 0
3386 00ce 180C lsrs r0, r3, #16
3387 00d0 4A1C adds r2, r1, #1
3388 00d2 92B2 uxth r2, r2
3389 00d4 6054 strb r0, [r4, r1]
2096:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3390 .loc 1 2096 0
3391 00d6 1B0E lsrs r3, r3, #24
3392 00d8 511C adds r1, r2, #1
3393 00da 2980 strh r1, [r5]
3394 00dc A354 strb r3, [r4, r2]
3395 .loc 1 2217 0
3396 00de 0020 movs r0, #0
2098:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case FRAME_TYPE_DATA_CONFIRMED_UP:
3397 .loc 1 2098 0
3398 00e0 05E1 b .L185
3399 .LVL319:
3400 .L189:
2100:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** //Intentional fallthrough
3401 .loc 1 2100 0
3402 00e2 974B ldr r3, .L220+4
3403 00e4 0122 movs r2, #1
3404 00e6 1A70 strb r2, [r3]
3405 .L186:
2103:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3406 .loc 1 2103 0
3407 00e8 9E4B ldr r3, .L220+40
3408 00ea 1B78 ldrb r3, [r3]
3409 00ec 002B cmp r3, #0
3410 00ee 00D1 bne .LCB3377
3411 00f0 20E1 b .L210 @long jump
3412 .LCB3377:
2109:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.AdrEnabled = fCtrl->Bits.Adr;
3413 .loc 1 2109 0
3414 00f2 07A9 add r1, sp, #28
3415 00f4 0123 movs r3, #1
3416 00f6 0B70 strb r3, [r1]
2110:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.AdrAckCounter = AdrAckCounter;
ARM GAS /tmp/ccrFaSdZ.s page 108
3417 .loc 1 2110 0
3418 00f8 3378 ldrb r3, [r6]
3419 00fa DB09 lsrs r3, r3, #7
3420 00fc 4B70 strb r3, [r1, #1]
2111:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.Datarate = LoRaMacParams.ChannelsDatarate;
3421 .loc 1 2111 0
3422 00fe 9A4F ldr r7, .L220+44
3423 0100 3B68 ldr r3, [r7]
3424 0102 4B60 str r3, [r1, #4]
2112:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.TxPower = LoRaMacParams.ChannelsTxPower;
3425 .loc 1 2112 0
3426 0104 994B ldr r3, .L220+48
3427 0106 0122 movs r2, #1
3428 0108 9A56 ldrsb r2, [r3, r2]
3429 010a 0A72 strb r2, [r1, #8]
2113:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
3430 .loc 1 2113 0
3431 010c 0022 movs r2, #0
3432 010e 9A56 ldrsb r2, [r3, r2]
3433 0110 4A72 strb r2, [r1, #9]
2114:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3434 .loc 1 2114 0
3435 0112 2C22 movs r2, #44
3436 0114 9A5C ldrb r2, [r3, r2]
3437 0116 8A72 strb r2, [r1, #10]
2116:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** &LoRaMacParams.ChannelsDatarate, &LoRaMacParams.
3438 .loc 1 2116 0
3439 0118 5A1C adds r2, r3, #1
3440 011a 9548 ldr r0, .L220+52
3441 .LVL320:
3442 011c 0078 ldrb r0, [r0]
3443 011e 0097 str r7, [sp]
3444 0120 FFF7FEFF bl RegionAdrNext
3445 .LVL321:
3446 0124 0123 movs r3, #1
3447 0126 0340 ands r3, r0
3448 0128 9B01 lsls r3, r3, #6
3449 012a 3078 ldrb r0, [r6]
3450 012c 4022 movs r2, #64
3451 012e 9043 bics r0, r2
3452 0130 1843 orrs r0, r3
3453 0132 3070 strb r0, [r6]
2119:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3454 .loc 1 2119 0
3455 0134 8F4B ldr r3, .L220+56
3456 0136 1B78 ldrb r3, [r3]
3457 0138 002B cmp r3, #0
3458 013a 06D0 beq .L191
2121:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl->Bits.Ack = 1;
3459 .loc 1 2121 0
3460 013c 8D4B ldr r3, .L220+56
3461 013e 0022 movs r2, #0
3462 0140 1A70 strb r2, [r3]
2122:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3463 .loc 1 2122 0
3464 0142 C3B2 uxtb r3, r0
3465 0144 2022 movs r2, #32
ARM GAS /tmp/ccrFaSdZ.s page 109
3466 0146 1343 orrs r3, r2
3467 0148 3370 strb r3, [r6]
3468 .L191:
2125:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr >> 8 ) & 0xFF;
3469 .loc 1 2125 0
3470 014a 8B4B ldr r3, .L220+60
3471 014c 1A68 ldr r2, [r3]
3472 .LVL322:
3473 014e 7E4B ldr r3, .L220+12
3474 0150 5A70 strb r2, [r3, #1]
2126:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr >> 16 ) & 0xFF;
3475 .loc 1 2126 0
3476 0152 110A lsrs r1, r2, #8
3477 .LVL323:
3478 0154 9970 strb r1, [r3, #2]
2127:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( LoRaMacDevAddr >> 24 ) & 0xFF;
3479 .loc 1 2127 0
3480 0156 110C lsrs r1, r2, #16
3481 .LVL324:
3482 0158 D970 strb r1, [r3, #3]
2128:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3483 .loc 1 2128 0
3484 015a 120E lsrs r2, r2, #24
3485 .LVL325:
3486 015c 1A71 strb r2, [r3, #4]
3487 .LVL326:
2130:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3488 .loc 1 2130 0
3489 015e 3278 ldrb r2, [r6]
3490 0160 5A71 strb r2, [r3, #5]
2132:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[pktHeaderLen++] = ( UpLinkCounter >> 8 ) & 0xFF;
3491 .loc 1 2132 0
3492 0162 864A ldr r2, .L220+64
3493 0164 1268 ldr r2, [r2]
3494 .LVL327:
3495 0166 9A71 strb r2, [r3, #6]
2133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3496 .loc 1 2133 0
3497 0168 120A lsrs r2, r2, #8
3498 .LVL328:
3499 016a DA71 strb r2, [r3, #7]
2136:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex += MacCommandsBufferToRepeatIndex;
3500 .loc 1 2136 0
3501 016c 844C ldr r4, .L220+68
3502 016e 2078 ldrb r0, [r4]
3503 0170 844B ldr r3, .L220+72
3504 0172 9946 mov r9, r3
3505 0174 1A78 ldrb r2, [r3]
3506 0176 844B ldr r3, .L220+76
3507 0178 C018 adds r0, r0, r3
3508 017a 8449 ldr r1, .L220+80
3509 017c FFF7FEFF bl memcpy1
3510 .LVL329:
2137:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3511 .loc 1 2137 0
3512 0180 2778 ldrb r7, [r4]
3513 0182 4B46 mov r3, r9
ARM GAS /tmp/ccrFaSdZ.s page 110
3514 0184 1B78 ldrb r3, [r3]
3515 0186 FF18 adds r7, r7, r3
3516 0188 FFB2 uxtb r7, r7
3517 018a 2770 strb r7, [r4]
2139:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3518 .loc 1 2139 0
3519 018c 002D cmp r5, #0
3520 018e 2AD0 beq .L192
2139:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3521 .loc 1 2139 0 is_stmt 0 discriminator 1
3522 0190 6C4B ldr r3, .L220+8
3523 0192 1B78 ldrb r3, [r3]
3524 0194 002B cmp r3, #0
3525 0196 26D0 beq .L192
2141:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3526 .loc 1 2141 0 is_stmt 1
3527 0198 7D4B ldr r3, .L220+84
3528 019a 1B78 ldrb r3, [r3]
3529 019c 002B cmp r3, #0
3530 019e 2FD0 beq .L211
2143:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3531 .loc 1 2143 0
3532 01a0 0F2F cmp r7, #15
3533 01a2 19D8 bhi .L194
2145:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3534 .loc 1 2145 0
3535 01a4 3278 ldrb r2, [r6]
3536 01a6 1307 lsls r3, r2, #28
3537 01a8 1B0F lsrs r3, r3, #28
3538 01aa FB18 adds r3, r7, r3
3539 01ac 0F21 movs r1, #15
3540 01ae 0B40 ands r3, r1
3541 01b0 8A43 bics r2, r1
3542 01b2 1343 orrs r3, r2
3543 01b4 3370 strb r3, [r6]
2148:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** for( i = 0; i < MacCommandsBufferIndex; i++ )
3544 .loc 1 2148 0
3545 01b6 644A ldr r2, .L220+12
3546 01b8 5371 strb r3, [r2, #5]
3547 .LVL330:
2133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3548 .loc 1 2133 0
3549 01ba 0824 movs r4, #8
2149:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3550 .loc 1 2149 0
3551 01bc 0023 movs r3, #0
3552 01be 07E0 b .L195
3553 .LVL331:
3554 .L196:
2151:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3555 .loc 1 2151 0 discriminator 3
3556 01c0 621C adds r2, r4, #1
3557 .LVL332:
3558 01c2 7149 ldr r1, .L220+76
3559 01c4 C85C ldrb r0, [r1, r3]
3560 01c6 6049 ldr r1, .L220+12
3561 01c8 0855 strb r0, [r1, r4]
ARM GAS /tmp/ccrFaSdZ.s page 111
2149:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3562 .loc 1 2149 0 discriminator 3
3563 01ca 0133 adds r3, r3, #1
3564 .LVL333:
3565 01cc 9BB2 uxth r3, r3
3566 .LVL334:
2151:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3567 .loc 1 2151 0 discriminator 3
3568 01ce D4B2 uxtb r4, r2
3569 .LVL335:
3570 .L195:
2149:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3571 .loc 1 2149 0 discriminator 1
3572 01d0 BAB2 uxth r2, r7
3573 01d2 9A42 cmp r2, r3
3574 01d4 F4D8 bhi .L196
3575 01d6 16E0 b .L193
3576 .LVL336:
3577 .L194:
2156:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** payload = MacCommandsBuffer;
3578 .loc 1 2156 0
3579 01d8 5A4B ldr r3, .L220+8
3580 01da 1F70 strb r7, [r3]
3581 .LVL337:
2158:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3582 .loc 1 2158 0
3583 01dc 0023 movs r3, #0
3584 01de 0593 str r3, [sp, #20]
2157:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** framePort = 0;
3585 .loc 1 2157 0
3586 01e0 694D ldr r5, .L220+76
3587 .LVL338:
2133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3588 .loc 1 2133 0
3589 01e2 0824 movs r4, #8
3590 01e4 0FE0 b .L193
3591 .LVL339:
3592 .L192:
2164:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3593 .loc 1 2164 0
3594 01e6 002F cmp r7, #0
3595 01e8 0CD0 beq .L212
2164:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3596 .loc 1 2164 0 is_stmt 0 discriminator 1
3597 01ea 694B ldr r3, .L220+84
3598 01ec 1B78 ldrb r3, [r3]
3599 01ee 002B cmp r3, #0
3600 01f0 0FD0 beq .L213
2166:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** payload = MacCommandsBuffer;
3601 .loc 1 2166 0 is_stmt 1
3602 01f2 544B ldr r3, .L220+8
3603 01f4 1F70 strb r7, [r3]
3604 .LVL340:
2168:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3605 .loc 1 2168 0
3606 01f6 0023 movs r3, #0
3607 01f8 0593 str r3, [sp, #20]
ARM GAS /tmp/ccrFaSdZ.s page 112
2167:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** framePort = 0;
3608 .loc 1 2167 0
3609 01fa 634D ldr r5, .L220+76
3610 .LVL341:
2133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3611 .loc 1 2133 0
3612 01fc 0824 movs r4, #8
3613 01fe 02E0 b .L193
3614 .LVL342:
3615 .L211:
3616 0200 0824 movs r4, #8
3617 0202 00E0 b .L193
3618 .L212:
3619 0204 0824 movs r4, #8
3620 .LVL343:
3621 .L193:
2171:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Store MAC commands which must be re-send in case the device does not receive a downl
3622 .loc 1 2171 0
3623 0206 624B ldr r3, .L220+84
3624 0208 0022 movs r2, #0
3625 020a 1A70 strb r2, [r3]
3626 .LVL344:
3627 .LBB73:
3628 .LBB74:
1649:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3629 .loc 1 1649 0
3630 020c 0026 movs r6, #0
3631 .LVL345:
1656:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3632 .loc 1 1656 0
3633 020e 0023 movs r3, #0
3634 0210 0EE0 b .L197
3635 .LVL346:
3636 .L213:
3637 .LBE74:
3638 .LBE73:
2133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3639 .loc 1 2133 0
3640 0212 0824 movs r4, #8
3641 0214 F7E7 b .L193
3642 .LVL347:
3643 .L201:
3644 .LBB76:
3645 .LBB75:
1664:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cmdBufOut[cmdCount++] = cmdBufIn[i];
3646 .loc 1 1664 0
3647 0216 0133 adds r3, r3, #1
3648 .LVL348:
3649 0218 DBB2 uxtb r3, r3
3650 .LVL349:
3651 021a 721C adds r2, r6, #1
3652 021c D2B2 uxtb r2, r2
3653 .LVL350:
3654 021e 5B49 ldr r1, .L220+80
3655 0220 8855 strb r0, [r1, r6]
1665:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3656 .loc 1 1665 0
ARM GAS /tmp/ccrFaSdZ.s page 113
3657 0222 0236 adds r6, r6, #2
3658 0224 F6B2 uxtb r6, r6
3659 .LVL351:
3660 0226 5848 ldr r0, .L220+76
3661 0228 C05C ldrb r0, [r0, r3]
3662 022a 8854 strb r0, [r1, r2]
3663 .LVL352:
3664 .L198:
1656:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3665 .loc 1 1656 0
3666 022c 0133 adds r3, r3, #1
3667 .LVL353:
3668 022e DBB2 uxtb r3, r3
3669 .LVL354:
3670 .L197:
3671 0230 9F42 cmp r7, r3
3672 0232 14D9 bls .L219
1658:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3673 .loc 1 1658 0
3674 0234 544A ldr r2, .L220+76
3675 0236 D05C ldrb r0, [r2, r3]
3676 0238 C21E subs r2, r0, #3
3677 023a D1B2 uxtb r1, r2
3678 023c 0729 cmp r1, #7
3679 023e F5D8 bhi .L198
3680 0240 8A00 lsls r2, r1, #2
3681 0242 5449 ldr r1, .L220+88
3682 0244 8A58 ldr r2, [r1, r2]
3683 0246 9746 mov pc, r2
3684 .section .rodata.PrepareFrame,"a",%progbits
3685 .align 2
3686 .L200:
3687 0000 58020000 .word .L199
3688 0004 2C020000 .word .L198
3689 0008 16020000 .word .L201
3690 000c 52020000 .word .L202
3691 0010 58020000 .word .L199
3692 0014 48020000 .word .L203
3693 0018 2C020000 .word .L198
3694 001c 16020000 .word .L201
3695 .section .text.PrepareFrame
3696 .L203:
1670:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3697 .loc 1 1670 0
3698 0248 721C adds r2, r6, #1
3699 .LVL355:
3700 024a 5049 ldr r1, .L220+80
3701 024c 8855 strb r0, [r1, r6]
3702 024e D6B2 uxtb r6, r2
3703 0250 ECE7 b .L198
3704 .LVL356:
3705 .L202:
1676:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3706 .loc 1 1676 0
3707 0252 0233 adds r3, r3, #2
3708 .LVL357:
3709 0254 DBB2 uxtb r3, r3
ARM GAS /tmp/ccrFaSdZ.s page 114
3710 .LVL358:
3711 0256 E9E7 b .L198
3712 .L199:
1682:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3713 .loc 1 1682 0
3714 0258 0133 adds r3, r3, #1
3715 .LVL359:
3716 025a DBB2 uxtb r3, r3
3717 .LVL360:
3718 025c E6E7 b .L198
3719 .L219:
3720 .LVL361:
3721 .LBE75:
3722 .LBE76:
2173:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MacCommandsBufferToRepeatIndex > 0 )
3723 .loc 1 2173 0
3724 025e 494B ldr r3, .L220+72
3725 0260 1E70 strb r6, [r3]
2174:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3726 .loc 1 2174 0
3727 0262 002E cmp r6, #0
3728 0264 02D0 beq .L205
2176:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3729 .loc 1 2176 0
3730 0266 4A4B ldr r3, .L220+84
3731 0268 0122 movs r2, #1
3732 026a 1A70 strb r2, [r3]
3733 .L205:
2179:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3734 .loc 1 2179 0
3735 026c 002D cmp r5, #0
3736 026e 1CD0 beq .L206
2179:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3737 .loc 1 2179 0 is_stmt 0 discriminator 1
3738 0270 344B ldr r3, .L220+8
3739 0272 1978 ldrb r1, [r3]
3740 0274 0029 cmp r1, #0
3741 0276 18D0 beq .L206
2181:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3742 .loc 1 2181 0 is_stmt 1
3743 0278 661C adds r6, r4, #1
3744 027a F6B2 uxtb r6, r6
3745 .LVL362:
3746 027c 324B ldr r3, .L220+12
3747 027e 059A ldr r2, [sp, #20]
3748 0280 1A55 strb r2, [r3, r4]
2183:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3749 .loc 1 2183 0
3750 0282 002A cmp r2, #0
3751 0284 37D1 bne .L207
2186:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPayloadEncrypt( (uint8_t* ) payload, LoRaMacTxPayloadLen, LoRaMacNwkSKey
3752 .loc 1 2186 0
3753 0286 0020 movs r0, #0
3754 0288 3D4B ldr r3, .L220+68
3755 028a 1870 strb r0, [r3]
2187:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3756 .loc 1 2187 0
ARM GAS /tmp/ccrFaSdZ.s page 115
3757 028c 3A4B ldr r3, .L220+60
3758 028e 1B68 ldr r3, [r3]
3759 0290 89B2 uxth r1, r1
3760 0292 2D4A ldr r2, .L220+12
3761 0294 B218 adds r2, r6, r2
3762 0296 0292 str r2, [sp, #8]
3763 0298 384A ldr r2, .L220+64
3764 029a 1268 ldr r2, [r2]
3765 029c 0192 str r2, [sp, #4]
3766 029e 0090 str r0, [sp]
3767 02a0 3D4A ldr r2, .L220+92
3768 02a2 2800 movs r0, r5
3769 02a4 FFF7FEFF bl LoRaMacPayloadEncrypt
3770 .LVL363:
2181:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3771 .loc 1 2181 0
3772 02a8 3400 movs r4, r6
3773 .LVL364:
3774 .L206:
2194:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3775 .loc 1 2194 0
3776 02aa 264B ldr r3, .L220+8
3777 02ac 1978 ldrb r1, [r3]
3778 02ae 0919 adds r1, r1, r4
3779 02b0 224D ldr r5, .L220
3780 .LVL365:
3781 02b2 2980 strh r1, [r5]
2196:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3782 .loc 1 2196 0
3783 02b4 304B ldr r3, .L220+60
3784 02b6 1B68 ldr r3, [r3]
3785 02b8 234C ldr r4, .L220+12
3786 .LVL366:
3787 02ba 06AA add r2, sp, #24
3788 02bc 0292 str r2, [sp, #8]
3789 02be 2F4A ldr r2, .L220+64
3790 02c0 1268 ldr r2, [r2]
3791 02c2 0192 str r2, [sp, #4]
3792 02c4 0022 movs r2, #0
3793 02c6 0092 str r2, [sp]
3794 02c8 334A ldr r2, .L220+92
3795 02ca 2000 movs r0, r4
3796 02cc FFF7FEFF bl LoRaMacComputeMic
3797 .LVL367:
2198:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen + 1] = ( mic >> 8 ) & 0xFF;
3798 .loc 1 2198 0
3799 02d0 069A ldr r2, [sp, #24]
3800 02d2 2B88 ldrh r3, [r5]
3801 02d4 E254 strb r2, [r4, r3]
2199:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen + 2] = ( mic >> 16 ) & 0xFF;
3802 .loc 1 2199 0
3803 02d6 100A lsrs r0, r2, #8
3804 02d8 591C adds r1, r3, #1
3805 02da 6054 strb r0, [r4, r1]
2200:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBuffer[LoRaMacBufferPktLen + 3] = ( mic >> 24 ) & 0xFF;
3806 .loc 1 2200 0
3807 02dc 100C lsrs r0, r2, #16
ARM GAS /tmp/ccrFaSdZ.s page 116
3808 02de 991C adds r1, r3, #2
3809 02e0 6054 strb r0, [r4, r1]
2201:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3810 .loc 1 2201 0
3811 02e2 120E lsrs r2, r2, #24
3812 02e4 D91C adds r1, r3, #3
3813 02e6 6254 strb r2, [r4, r1]
2203:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3814 .loc 1 2203 0
3815 02e8 0433 adds r3, r3, #4
3816 02ea 2B80 strh r3, [r5]
3817 .loc 1 2217 0
3818 02ec 0020 movs r0, #0
3819 .L185:
2218:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3820 .loc 1 2218 0
3821 02ee 0AB0 add sp, sp, #40
3822 @ sp needed
3823 02f0 04BC pop {r2}
3824 02f2 9146 mov r9, r2
3825 02f4 F0BD pop {r4, r5, r6, r7, pc}
3826 .LVL368:
3827 .L207:
2191:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3828 .loc 1 2191 0
3829 02f6 204B ldr r3, .L220+60
3830 02f8 1B68 ldr r3, [r3]
3831 02fa 89B2 uxth r1, r1
3832 02fc 124A ldr r2, .L220+12
3833 02fe B218 adds r2, r6, r2
3834 0300 0292 str r2, [sp, #8]
3835 0302 1E4A ldr r2, .L220+64
3836 0304 1268 ldr r2, [r2]
3837 0306 0192 str r2, [sp, #4]
3838 0308 0022 movs r2, #0
3839 030a 0092 str r2, [sp]
3840 030c 234A ldr r2, .L220+96
3841 030e 2800 movs r0, r5
3842 0310 FFF7FEFF bl LoRaMacPayloadEncrypt
3843 .LVL369:
2181:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3844 .loc 1 2181 0
3845 0314 3400 movs r4, r6
3846 0316 C8E7 b .L206
3847 .LVL370:
3848 .L218:
2209:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacBufferPktLen = pktHeaderLen + LoRaMacTxPayloadLen;
3849 .loc 1 2209 0
3850 0318 92B2 uxth r2, r2
3851 031a 2900 movs r1, r5
3852 031c 0C48 ldr r0, .L220+20
3853 .LVL371:
3854 031e FFF7FEFF bl memcpy1
3855 .LVL372:
2210:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3856 .loc 1 2210 0
3857 0322 084B ldr r3, .L220+8
ARM GAS /tmp/ccrFaSdZ.s page 117
3858 0324 1B78 ldrb r3, [r3]
3859 0326 0133 adds r3, r3, #1
3860 0328 044A ldr r2, .L220
3861 032a 1380 strh r3, [r2]
2217:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3862 .loc 1 2217 0
3863 032c 0020 movs r0, #0
3864 032e DEE7 b .L185
3865 .LVL373:
3866 .L209:
2214:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3867 .loc 1 2214 0
3868 0330 0220 movs r0, #2
3869 .LVL374:
3870 0332 DCE7 b .L185
3871 .LVL375:
3872 .L210:
2105:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3873 .loc 1 2105 0
3874 0334 0720 movs r0, #7
3875 .LVL376:
3876 0336 DAE7 b .L185
3877 .LVL377:
3878 .L214:
2217:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3879 .loc 1 2217 0
3880 0338 0020 movs r0, #0
3881 .LVL378:
3882 033a D8E7 b .L185
3883 .L221:
3884 .align 2
3885 .L220:
3886 033c 00000000 .word .LANCHOR49
3887 0340 00000000 .word .LANCHOR15
3888 0344 00000000 .word .LANCHOR50
3889 0348 00000000 .word LoRaMacBuffer
3890 034c 00000000 .word .LANCHOR51
3891 0350 01000000 .word LoRaMacBuffer+1
3892 0354 00000000 .word .LANCHOR52
3893 0358 00000000 .word Radio
3894 035c 00000000 .word .LANCHOR39
3895 0360 00000000 .word .LANCHOR38
3896 0364 00000000 .word .LANCHOR0
3897 0368 00000000 .word .LANCHOR3
3898 036c 00000000 .word .LANCHOR14
3899 0370 00000000 .word .LANCHOR22
3900 0374 00000000 .word .LANCHOR16
3901 0378 00000000 .word .LANCHOR41
3902 037c 00000000 .word .LANCHOR1
3903 0380 00000000 .word .LANCHOR10
3904 0384 00000000 .word .LANCHOR11
3905 0388 00000000 .word MacCommandsBuffer
3906 038c 00000000 .word MacCommandsBufferToRepeat
3907 0390 00000000 .word .LANCHOR17
3908 0394 00000000 .word .L200
3909 0398 00000000 .word .LANCHOR33
3910 039c 00000000 .word .LANCHOR32
ARM GAS /tmp/ccrFaSdZ.s page 118
3911 .cfi_endproc
3912 .LFE105:
3914 .section .text.SendFrameOnChannel,"ax",%progbits
3915 .align 1
3916 .global SendFrameOnChannel
3917 .syntax unified
3918 .code 16
3919 .thumb_func
3920 .fpu softvfp
3922 SendFrameOnChannel:
3923 .LFB106:
2219:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2220:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t SendFrameOnChannel( uint8_t channel )
2221:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3924 .loc 1 2221 0
3925 .cfi_startproc
3926 @ args = 0, pretend = 0, frame = 24
3927 @ frame_needed = 0, uses_anonymous_args = 0
3928 .LVL379:
3929 0000 70B5 push {r4, r5, r6, lr}
3930 .LCFI21:
3931 .cfi_def_cfa_offset 16
3932 .cfi_offset 4, -16
3933 .cfi_offset 5, -12
3934 .cfi_offset 6, -8
3935 .cfi_offset 14, -4
3936 0002 86B0 sub sp, sp, #24
3937 .LCFI22:
3938 .cfi_def_cfa_offset 40
2222:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TxConfigParams_t txConfig;
2223:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** int8_t txPower = 0;
3939 .loc 1 2223 0
3940 0004 6B46 mov r3, sp
3941 0006 DD1D adds r5, r3, #7
3942 0008 0023 movs r3, #0
3943 000a 2B70 strb r3, [r5]
2224:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2225:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txConfig.Channel = channel;
3944 .loc 1 2225 0
3945 000c 02A9 add r1, sp, #8
3946 000e 0870 strb r0, [r1]
2226:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txConfig.Datarate = LoRaMacParams.ChannelsDatarate;
3947 .loc 1 2226 0
3948 0010 1F4C ldr r4, .L224
3949 0012 0123 movs r3, #1
3950 0014 E356 ldrsb r3, [r4, r3]
3951 0016 4B70 strb r3, [r1, #1]
2227:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txConfig.TxPower = LoRaMacParams.ChannelsTxPower;
3952 .loc 1 2227 0
3953 0018 0023 movs r3, #0
3954 001a E356 ldrsb r3, [r4, r3]
3955 001c 8B70 strb r3, [r1, #2]
2228:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txConfig.MaxEirp = LoRaMacParams.MaxEirp;
3956 .loc 1 2228 0
3957 001e 236B ldr r3, [r4, #48]
3958 0020 4B60 str r3, [r1, #4]
2229:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txConfig.AntennaGain = LoRaMacParams.AntennaGain;
ARM GAS /tmp/ccrFaSdZ.s page 119
3959 .loc 1 2229 0
3960 0022 636B ldr r3, [r4, #52]
3961 0024 8B60 str r3, [r1, #8]
2230:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txConfig.PktLen = LoRaMacBufferPktLen;
3962 .loc 1 2230 0
3963 0026 1B4B ldr r3, .L224+4
3964 0028 1B88 ldrh r3, [r3]
3965 002a 8B81 strh r3, [r1, #12]
2231:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2232:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DBG_PRINTF( "\n\r*** seqTx= %d *****\n\r", UpLinkCounter );
2233:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2234:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionTxConfig( LoRaMacRegion, &txConfig, &txPower, &TxTimeOnAir );
3966 .loc 1 2234 0
3967 002c 1A4E ldr r6, .L224+8
3968 002e 1B4B ldr r3, .L224+12
3969 0030 1878 ldrb r0, [r3]
3970 .LVL380:
3971 0032 3300 movs r3, r6
3972 0034 2A00 movs r2, r5
3973 0036 FFF7FEFF bl RegionTxConfig
3974 .LVL381:
2235:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2236:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
3975 .loc 1 2236 0
3976 003a 194A ldr r2, .L224+16
3977 003c 0121 movs r1, #1
3978 003e 5170 strb r1, [r2, #1]
2237:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
3979 .loc 1 2237 0
3980 0040 184B ldr r3, .L224+20
3981 0042 5970 strb r1, [r3, #1]
2238:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Datarate = LoRaMacParams.ChannelsDatarate;
3982 .loc 1 2238 0
3983 0044 6178 ldrb r1, [r4, #1]
3984 0046 9970 strb r1, [r3, #2]
2239:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.TxPower = txPower;
3985 .loc 1 2239 0
3986 0048 2978 ldrb r1, [r5]
3987 004a D970 strb r1, [r3, #3]
2240:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2241:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Store the time on air
2242:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.TxTimeOnAir = TxTimeOnAir;
3988 .loc 1 2242 0
3989 004c 3168 ldr r1, [r6]
3990 004e 9960 str r1, [r3, #8]
2243:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.TxTimeOnAir = TxTimeOnAir;
3991 .loc 1 2243 0
3992 0050 5160 str r1, [r2, #4]
2244:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2245:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Starts the MAC layer status check timer
2246:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &MacStateCheckTimer, MAC_STATE_CHECK_TIMEOUT );
3993 .loc 1 2246 0
3994 0052 FA21 movs r1, #250
3995 0054 144C ldr r4, .L224+24
3996 0056 8900 lsls r1, r1, #2
3997 0058 2000 movs r0, r4
3998 005a FFF7FEFF bl TimerSetValue
ARM GAS /tmp/ccrFaSdZ.s page 120
3999 .LVL382:
2247:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
4000 .loc 1 2247 0
4001 005e 2000 movs r0, r4
4002 0060 FFF7FEFF bl TimerStart
4003 .LVL383:
2248:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2249:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsLoRaMacNetworkJoined == false )
4004 .loc 1 2249 0
4005 0064 114B ldr r3, .L224+28
4006 0066 1B78 ldrb r3, [r3]
4007 0068 002B cmp r3, #0
4008 006a 03D1 bne .L223
2250:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2251:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** JoinRequestTrials++;
4009 .loc 1 2251 0
4010 006c 104A ldr r2, .L224+32
4011 006e 1378 ldrb r3, [r2]
4012 0070 0133 adds r3, r3, #1
4013 0072 1370 strb r3, [r2]
4014 .L223:
2252:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2253:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2254:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Send now
2255:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Send( LoRaMacBuffer, LoRaMacBufferPktLen );
4015 .loc 1 2255 0
4016 0074 0F4B ldr r3, .L224+36
4017 0076 1B6B ldr r3, [r3, #48]
4018 0078 064A ldr r2, .L224+4
4019 007a 1178 ldrb r1, [r2]
4020 007c 0E48 ldr r0, .L224+40
4021 007e 9847 blx r3
4022 .LVL384:
2256:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2257:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState |= LORAMAC_TX_RUNNING;
4023 .loc 1 2257 0
4024 0080 0E4A ldr r2, .L224+44
4025 0082 0123 movs r3, #1
4026 0084 1168 ldr r1, [r2]
4027 0086 0B43 orrs r3, r1
4028 0088 1360 str r3, [r2]
2258:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2259:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
2260:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4029 .loc 1 2260 0
4030 008a 0020 movs r0, #0
4031 008c 06B0 add sp, sp, #24
4032 @ sp needed
4033 008e 70BD pop {r4, r5, r6, pc}
4034 .L225:
4035 .align 2
4036 .L224:
4037 0090 00000000 .word .LANCHOR14
4038 0094 00000000 .word .LANCHOR49
4039 0098 00000000 .word .LANCHOR53
4040 009c 00000000 .word .LANCHOR22
4041 00a0 00000000 .word .LANCHOR28
ARM GAS /tmp/ccrFaSdZ.s page 121
4042 00a4 00000000 .word .LANCHOR34
4043 00a8 00000000 .word .LANCHOR27
4044 00ac 00000000 .word .LANCHOR0
4045 00b0 00000000 .word .LANCHOR54
4046 00b4 00000000 .word Radio
4047 00b8 00000000 .word LoRaMacBuffer
4048 00bc 00000000 .word .LANCHOR24
4049 .cfi_endproc
4050 .LFE106:
4052 .section .text.ScheduleTx,"ax",%progbits
4053 .align 1
4054 .syntax unified
4055 .code 16
4056 .thumb_func
4057 .fpu softvfp
4059 ScheduleTx:
4060 .LFB102:
1910:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerTime_t dutyCycleTimeOff = 0;
4061 .loc 1 1910 0
4062 .cfi_startproc
4063 @ args = 0, pretend = 0, frame = 32
4064 @ frame_needed = 0, uses_anonymous_args = 0
4065 0000 F0B5 push {r4, r5, r6, r7, lr}
4066 .LCFI23:
4067 .cfi_def_cfa_offset 20
4068 .cfi_offset 4, -20
4069 .cfi_offset 5, -16
4070 .cfi_offset 6, -12
4071 .cfi_offset 7, -8
4072 .cfi_offset 14, -4
4073 0002 8BB0 sub sp, sp, #44
4074 .LCFI24:
4075 .cfi_def_cfa_offset 64
1911:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NextChanParams_t nextChan;
4076 .loc 1 1911 0
4077 0004 0023 movs r3, #0
4078 0006 0993 str r3, [sp, #36]
1915:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4079 .loc 1 1915 0
4080 0008 584B ldr r3, .L237
4081 000a 1B78 ldrb r3, [r3]
4082 000c FF2B cmp r3, #255
4083 000e 00D1 bne .LCB4064
4084 0010 A8E0 b .L234 @long jump
4085 .LCB4064:
1919:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4086 .loc 1 1919 0
4087 0012 002B cmp r3, #0
4088 0014 02D1 bne .L228
1921:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4089 .loc 1 1921 0
4090 0016 564B ldr r3, .L237+4
4091 0018 0022 movs r2, #0
4092 001a 1A60 str r2, [r3]
4093 .L228:
1925:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4094 .loc 1 1925 0
ARM GAS /tmp/ccrFaSdZ.s page 122
4095 001c 554B ldr r3, .L237+8
4096 001e 1B78 ldrb r3, [r3]
4097 .LVL385:
4098 .LBB79:
4099 .LBB80:
1991:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.DutyCycleEnabled = DutyCycleOn;
4100 .loc 1 1991 0
4101 0020 03AC add r4, sp, #12
4102 0022 554D ldr r5, .L237+12
4103 0024 2A78 ldrb r2, [r5]
4104 0026 2270 strb r2, [r4]
1992:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.Channel = channel;
4105 .loc 1 1992 0
4106 0028 544E ldr r6, .L237+16
4107 002a 3278 ldrb r2, [r6]
4108 002c A270 strb r2, [r4, #2]
1993:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.ElapsedTime = TimerGetElapsedTime( LoRaMacInitializationTime );
4109 .loc 1 1993 0
4110 002e E370 strb r3, [r4, #3]
1994:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.TxTimeOnAir = TxTimeOnAir;
4111 .loc 1 1994 0
4112 0030 534B ldr r3, .L237+20
4113 .LVL386:
4114 0032 1868 ldr r0, [r3]
4115 0034 FFF7FEFF bl TimerGetElapsedTime
4116 .LVL387:
4117 0038 6060 str r0, [r4, #4]
1995:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** calcBackOff.LastTxIsJoinRequest = LastTxIsJoinRequest;
4118 .loc 1 1995 0
4119 003a 524F ldr r7, .L237+24
4120 003c 3B68 ldr r3, [r7]
4121 003e A360 str r3, [r4, #8]
1996:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4122 .loc 1 1996 0
4123 0040 514B ldr r3, .L237+28
4124 0042 1B78 ldrb r3, [r3]
4125 0044 6370 strb r3, [r4, #1]
1999:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4126 .loc 1 1999 0
4127 0046 514B ldr r3, .L237+32
4128 0048 1878 ldrb r0, [r3]
4129 004a 2100 movs r1, r4
4130 004c FFF7FEFF bl RegionCalcBackOff
4131 .LVL388:
2002:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4132 .loc 1 2002 0
4133 0050 4F4B ldr r3, .L237+36
4134 0052 1A88 ldrh r2, [r3]
4135 0054 013A subs r2, r2, #1
4136 0056 3B68 ldr r3, [r7]
4137 0058 5343 muls r3, r2
4138 005a 454A ldr r2, .L237+4
4139 005c 1168 ldr r1, [r2]
4140 005e 8C46 mov ip, r1
4141 0060 6344 add r3, r3, ip
4142 0062 1360 str r3, [r2]
4143 .LBE80:
ARM GAS /tmp/ccrFaSdZ.s page 123
4144 .LBE79:
1927:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.Datarate = LoRaMacParams.ChannelsDatarate;
4145 .loc 1 1927 0
4146 0064 06AA add r2, sp, #24
4147 0066 0693 str r3, [sp, #24]
1928:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.DutyCycleEnabled = DutyCycleOn;
4148 .loc 1 1928 0
4149 0068 4A4B ldr r3, .L237+40
4150 006a 5B78 ldrb r3, [r3, #1]
4151 006c 5BB2 sxtb r3, r3
4152 006e 1372 strb r3, [r2, #8]
1929:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.Joined = IsLoRaMacNetworkJoined;
4153 .loc 1 1929 0
4154 0070 3378 ldrb r3, [r6]
4155 0072 9372 strb r3, [r2, #10]
1930:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** nextChan.LastAggrTx = AggregatedLastTxDoneTime;
4156 .loc 1 1930 0
4157 0074 2B78 ldrb r3, [r5]
4158 0076 5372 strb r3, [r2, #9]
1931:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4159 .loc 1 1931 0
4160 0078 474B ldr r3, .L237+44
4161 007a 1B68 ldr r3, [r3]
4162 007c 0793 str r3, [sp, #28]
1934:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4163 .loc 1 1934 0
4164 007e 06E0 b .L229
4165 .L230:
1937:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Update datarate in the function parameters
4166 .loc 1 1937 0
4167 0080 464B ldr r3, .L237+48
4168 0082 5B78 ldrb r3, [r3, #1]
4169 0084 5BB2 sxtb r3, r3
4170 0086 434A ldr r2, .L237+40
4171 0088 5370 strb r3, [r2, #1]
1939:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4172 .loc 1 1939 0
4173 008a 06AA add r2, sp, #24
4174 008c 1372 strb r3, [r2, #8]
4175 .L229:
1934:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4176 .loc 1 1934 0
4177 008e 3F4B ldr r3, .L237+32
4178 0090 1878 ldrb r0, [r3]
4179 0092 374B ldr r3, .L237+4
4180 0094 0093 str r3, [sp]
4181 0096 09AB add r3, sp, #36
4182 0098 414A ldr r2, .L237+52
4183 009a 06A9 add r1, sp, #24
4184 009c FFF7FEFF bl RegionNextChannel
4185 .LVL389:
4186 00a0 0028 cmp r0, #0
4187 00a2 EDD0 beq .L230
1943:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionApplyDrOffset( LoRaMacRegion, LoRaMacParams.DownlinkDwel
4188 .loc 1 1943 0
4189 00a4 394E ldr r6, .L237+32
4190 00a6 3578 ldrb r5, [r6]
ARM GAS /tmp/ccrFaSdZ.s page 124
1944:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MinRxSymbols,
4191 .loc 1 1944 0
4192 00a8 3A4C ldr r4, .L237+40
4193 00aa 2123 movs r3, #33
4194 00ac E356 ldrsb r3, [r4, r3]
4195 00ae 0122 movs r2, #1
4196 00b0 A256 ldrsb r2, [r4, r2]
4197 00b2 2D21 movs r1, #45
4198 00b4 615C ldrb r1, [r4, r1]
4199 00b6 2800 movs r0, r5
4200 00b8 FFF7FEFF bl RegionApplyDrOffset
4201 .LVL390:
1943:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionApplyDrOffset( LoRaMacRegion, LoRaMacParams.DownlinkDwel
4202 .loc 1 1943 0
4203 00bc 6368 ldr r3, [r4, #4]
4204 00be 227A ldrb r2, [r4, #8]
4205 00c0 41B2 sxtb r1, r0
4206 00c2 3848 ldr r0, .L237+56
4207 00c4 0090 str r0, [sp]
4208 00c6 2800 movs r0, r5
4209 00c8 FFF7FEFF bl RegionComputeRxWindowParameters
4210 .LVL391:
1949:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Datarate,
4211 .loc 1 1949 0
4212 00cc 6368 ldr r3, [r4, #4]
4213 00ce 227A ldrb r2, [r4, #8]
4214 00d0 2821 movs r1, #40
4215 00d2 6156 ldrsb r1, [r4, r1]
4216 00d4 3078 ldrb r0, [r6]
4217 00d6 344C ldr r4, .L237+60
4218 00d8 0094 str r4, [sp]
4219 00da FFF7FEFF bl RegionComputeRxWindowParameters
4220 .LVL392:
1955:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4221 .loc 1 1955 0
4222 00de 264B ldr r3, .L237+12
4223 00e0 1B78 ldrb r3, [r3]
4224 00e2 002B cmp r3, #0
4225 00e4 1FD1 bne .L231
1957:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Delay = LoRaMacParams.JoinAcceptDelay2 + RxWindow2Config.WindowOffset;
4226 .loc 1 1957 0
4227 00e6 2B4A ldr r2, .L237+40
4228 00e8 2E4B ldr r3, .L237+56
4229 00ea DB68 ldr r3, [r3, #12]
4230 00ec 9169 ldr r1, [r2, #24]
4231 00ee 8C46 mov ip, r1
4232 00f0 6344 add r3, r3, ip
4233 00f2 2E49 ldr r1, .L237+64
4234 00f4 0B60 str r3, [r1]
1958:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4235 .loc 1 1958 0
4236 00f6 D369 ldr r3, [r2, #28]
4237 00f8 2B4A ldr r2, .L237+60
4238 00fa D268 ldr r2, [r2, #12]
4239 00fc 9B18 adds r3, r3, r2
4240 00fe 2C4A ldr r2, .L237+68
4241 0100 1360 str r3, [r2]
ARM GAS /tmp/ccrFaSdZ.s page 125
4242 .L232:
1971:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4243 .loc 1 1971 0
4244 0102 0999 ldr r1, [sp, #36]
4245 0104 0029 cmp r1, #0
4246 0106 28D0 beq .L236
1979:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &TxDelayedTimer, dutyCycleTimeOff );
4247 .loc 1 1979 0
4248 0108 2A4A ldr r2, .L237+72
4249 010a 1023 movs r3, #16
4250 010c 1068 ldr r0, [r2]
4251 010e 0343 orrs r3, r0
4252 0110 1360 str r3, [r2]
1980:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &TxDelayedTimer );
4253 .loc 1 1980 0
4254 0112 294C ldr r4, .L237+76
4255 0114 2000 movs r0, r4
4256 0116 FFF7FEFF bl TimerSetValue
4257 .LVL393:
1981:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4258 .loc 1 1981 0
4259 011a 2000 movs r0, r4
4260 011c FFF7FEFF bl TimerStart
4261 .LVL394:
1983:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4262 .loc 1 1983 0
4263 0120 0020 movs r0, #0
4264 .L227:
1985:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4265 .loc 1 1985 0
4266 0122 0BB0 add sp, sp, #44
4267 @ sp needed
4268 0124 F0BD pop {r4, r5, r6, r7, pc}
4269 .L231:
1962:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4270 .loc 1 1962 0
4271 0126 254B ldr r3, .L237+80
4272 0128 1A78 ldrb r2, [r3]
4273 012a 1A4B ldr r3, .L237+40
4274 012c 0121 movs r1, #1
4275 012e 5956 ldrsb r1, [r3, r1]
4276 0130 234B ldr r3, .L237+84
4277 0132 1878 ldrb r0, [r3]
4278 0134 FFF7FEFF bl ValidatePayloadLength
4279 .LVL395:
4280 0138 0028 cmp r0, #0
4281 013a 15D0 beq .L235
1966:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Delay = LoRaMacParams.ReceiveDelay2 + RxWindow2Config.WindowOffset;
4282 .loc 1 1966 0
4283 013c 154A ldr r2, .L237+40
4284 013e 194B ldr r3, .L237+56
4285 0140 DB68 ldr r3, [r3, #12]
4286 0142 1169 ldr r1, [r2, #16]
4287 0144 8C46 mov ip, r1
4288 0146 6344 add r3, r3, ip
4289 0148 1849 ldr r1, .L237+64
4290 014a 0B60 str r3, [r1]
ARM GAS /tmp/ccrFaSdZ.s page 126
1967:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4291 .loc 1 1967 0
4292 014c 5369 ldr r3, [r2, #20]
4293 014e 164A ldr r2, .L237+60
4294 0150 D268 ldr r2, [r2, #12]
4295 0152 9B18 adds r3, r3, r2
4296 0154 164A ldr r2, .L237+68
4297 0156 1360 str r3, [r2]
4298 0158 D3E7 b .L232
4299 .L236:
1974:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4300 .loc 1 1974 0
4301 015a 114B ldr r3, .L237+52
4302 015c 1878 ldrb r0, [r3]
4303 015e FFF7FEFF bl SendFrameOnChannel
4304 .LVL396:
4305 0162 DEE7 b .L227
4306 .L234:
1917:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4307 .loc 1 1917 0
4308 0164 0920 movs r0, #9
4309 0166 DCE7 b .L227
4310 .L235:
1964:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4311 .loc 1 1964 0
4312 0168 0820 movs r0, #8
4313 016a DAE7 b .L227
4314 .L238:
4315 .align 2
4316 .L237:
4317 016c 00000000 .word .LANCHOR8
4318 0170 00000000 .word .LANCHOR55
4319 0174 00000000 .word .LANCHOR20
4320 0178 00000000 .word .LANCHOR0
4321 017c 00000000 .word .LANCHOR56
4322 0180 00000000 .word .LANCHOR57
4323 0184 00000000 .word .LANCHOR53
4324 0188 00000000 .word .LANCHOR47
4325 018c 00000000 .word .LANCHOR22
4326 0190 00000000 .word .LANCHOR9
4327 0194 00000000 .word .LANCHOR14
4328 0198 00000000 .word .LANCHOR43
4329 019c 00000000 .word .LANCHOR13
4330 01a0 00000000 .word .LANCHOR19
4331 01a4 00000000 .word .LANCHOR48
4332 01a8 00000000 .word .LANCHOR42
4333 01ac 00000000 .word .LANCHOR45
4334 01b0 00000000 .word .LANCHOR44
4335 01b4 00000000 .word .LANCHOR24
4336 01b8 00000000 .word .LANCHOR58
4337 01bc 00000000 .word .LANCHOR10
4338 01c0 00000000 .word .LANCHOR50
4339 .cfi_endproc
4340 .LFE102:
4342 .section .text.Send,"ax",%progbits
4343 .align 1
4344 .global Send
ARM GAS /tmp/ccrFaSdZ.s page 127
4345 .syntax unified
4346 .code 16
4347 .thumb_func
4348 .fpu softvfp
4350 Send:
4351 .LFB101:
1879:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFrameCtrl_t fCtrl;
4352 .loc 1 1879 0
4353 .cfi_startproc
4354 @ args = 0, pretend = 0, frame = 8
4355 @ frame_needed = 0, uses_anonymous_args = 0
4356 .LVL397:
4357 0000 30B5 push {r4, r5, lr}
4358 .LCFI25:
4359 .cfi_def_cfa_offset 12
4360 .cfi_offset 4, -12
4361 .cfi_offset 5, -8
4362 .cfi_offset 14, -4
4363 0002 85B0 sub sp, sp, #20
4364 .LCFI26:
4365 .cfi_def_cfa_offset 32
4366 0004 0D00 movs r5, r1
4367 .LVL398:
1883:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Bits.FOptsLen = 0;
4368 .loc 1 1883 0
4369 0006 03A9 add r1, sp, #12
4370 .LVL399:
1888:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4371 .loc 1 1888 0
4372 0008 0B4C ldr r4, .L242
4373 000a 2478 ldrb r4, [r4]
4374 000c E401 lsls r4, r4, #7
4375 000e 0C70 strb r4, [r1]
1891:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4376 .loc 1 1891 0
4377 0010 0093 str r3, [sp]
4378 0012 1300 movs r3, r2
4379 .LVL400:
4380 0014 2A00 movs r2, r5
4381 .LVL401:
4382 0016 FFF7FEFF bl PrepareFrame
4383 .LVL402:
1894:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4384 .loc 1 1894 0
4385 001a 0028 cmp r0, #0
4386 001c 01D0 beq .L241
4387 .LVL403:
4388 .L240:
1907:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4389 .loc 1 1907 0
4390 001e 05B0 add sp, sp, #20
4391 @ sp needed
4392 0020 30BD pop {r4, r5, pc}
4393 .LVL404:
4394 .L241:
1900:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
4395 .loc 1 1900 0
ARM GAS /tmp/ccrFaSdZ.s page 128
4396 0022 064B ldr r3, .L242+4
4397 0024 0022 movs r2, #0
4398 0026 5A71 strb r2, [r3, #5]
1901:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.UpLinkCounter = UpLinkCounter;
4399 .loc 1 1901 0
4400 0028 1A71 strb r2, [r3, #4]
1902:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4401 .loc 1 1902 0
4402 002a 054A ldr r2, .L242+8
4403 002c 1268 ldr r2, [r2]
4404 002e DA60 str r2, [r3, #12]
1904:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4405 .loc 1 1904 0
4406 0030 FFF7FEFF bl ScheduleTx
4407 .LVL405:
1906:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4408 .loc 1 1906 0
4409 0034 F3E7 b .L240
4410 .L243:
4411 0036 C046 .align 2
4412 .L242:
4413 0038 00000000 .word .LANCHOR29
4414 003c 00000000 .word .LANCHOR34
4415 0040 00000000 .word .LANCHOR1
4416 .cfi_endproc
4417 .LFE101:
4419 .section .text.OnTxDelayedTimerEvent,"ax",%progbits
4420 .align 1
4421 .syntax unified
4422 .code 16
4423 .thumb_func
4424 .fpu softvfp
4426 OnTxDelayedTimerEvent:
4427 .LFB92:
1414:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacHeader_t macHdr;
4428 .loc 1 1414 0
4429 .cfi_startproc
4430 @ args = 0, pretend = 0, frame = 16
4431 @ frame_needed = 0, uses_anonymous_args = 0
4432 0000 00B5 push {lr}
4433 .LCFI27:
4434 .cfi_def_cfa_offset 4
4435 .cfi_offset 14, -4
4436 0002 87B0 sub sp, sp, #28
4437 .LCFI28:
4438 .cfi_def_cfa_offset 32
1419:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_DELAYED;
4439 .loc 1 1419 0
4440 0004 1748 ldr r0, .L247
4441 0006 FFF7FEFF bl TimerStop
4442 .LVL406:
1420:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4443 .loc 1 1420 0
4444 000a 174A ldr r2, .L247+4
4445 000c 1023 movs r3, #16
4446 000e 1168 ldr r1, [r2]
4447 0010 9943 bics r1, r3
ARM GAS /tmp/ccrFaSdZ.s page 129
4448 0012 1160 str r1, [r2]
1422:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4449 .loc 1 1422 0
4450 0014 154B ldr r3, .L247+8
4451 0016 1B78 ldrb r3, [r3]
4452 0018 1B07 lsls r3, r3, #28
4453 001a 03D5 bpl .L245
1422:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4454 .loc 1 1422 0 is_stmt 0 discriminator 1
4455 001c 144B ldr r3, .L247+12
4456 001e 1B78 ldrb r3, [r3]
4457 0020 002B cmp r3, #0
4458 0022 03D0 beq .L246
4459 .L245:
1441:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4460 .loc 1 1441 0 is_stmt 1
4461 0024 FFF7FEFF bl ScheduleTx
4462 .LVL407:
1442:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4463 .loc 1 1442 0
4464 0028 07B0 add sp, sp, #28
4465 @ sp needed
4466 002a 00BD pop {pc}
4467 .L246:
1424:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4468 .loc 1 1424 0
4469 002c FFF7FEFF bl ResetMacParameters
4470 .LVL408:
1426:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = RegionAlternateDr( LoRaMacRegion, &altDr );
4471 .loc 1 1426 0
4472 0030 104B ldr r3, .L247+16
4473 0032 1B78 ldrb r3, [r3]
4474 0034 0133 adds r3, r3, #1
4475 0036 03A9 add r1, sp, #12
4476 0038 0B80 strh r3, [r1]
1427:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4477 .loc 1 1427 0
4478 003a 0F4B ldr r3, .L247+20
4479 003c 1878 ldrb r0, [r3]
4480 003e FFF7FEFF bl RegionAlternateDr
4481 .LVL409:
4482 0042 0E4B ldr r3, .L247+24
4483 0044 5870 strb r0, [r3, #1]
1429:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Bits.MType = FRAME_TYPE_JOIN_REQ;
4484 .loc 1 1429 0
4485 0046 05A8 add r0, sp, #20
1430:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4486 .loc 1 1430 0
4487 0048 0023 movs r3, #0
4488 004a 0370 strb r3, [r0]
1432:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fCtrl.Bits.Adr = AdrCtrlOn;
4489 .loc 1 1432 0
4490 004c 04A9 add r1, sp, #16
1433:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4491 .loc 1 1433 0
4492 004e 0C4B ldr r3, .L247+28
4493 0050 1B78 ldrb r3, [r3]
ARM GAS /tmp/ccrFaSdZ.s page 130
4494 0052 DB01 lsls r3, r3, #7
4495 0054 0B70 strb r3, [r1]
1438:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4496 .loc 1 1438 0
4497 0056 0023 movs r3, #0
4498 0058 0093 str r3, [sp]
4499 005a 0022 movs r2, #0
4500 005c FFF7FEFF bl PrepareFrame
4501 .LVL410:
4502 0060 E0E7 b .L245
4503 .L248:
4504 0062 C046 .align 2
4505 .L247:
4506 0064 00000000 .word .LANCHOR58
4507 0068 00000000 .word .LANCHOR24
4508 006c 00000000 .word .LANCHOR26
4509 0070 00000000 .word .LANCHOR28
4510 0074 00000000 .word .LANCHOR54
4511 0078 00000000 .word .LANCHOR22
4512 007c 00000000 .word .LANCHOR14
4513 0080 00000000 .word .LANCHOR29
4514 .cfi_endproc
4515 .LFE92:
4517 .section .text.OnMacStateCheckTimerEvent,"ax",%progbits
4518 .align 1
4519 .syntax unified
4520 .code 16
4521 .thumb_func
4522 .fpu softvfp
4524 OnMacStateCheckTimerEvent:
4525 .LFB91:
1211:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
4526 .loc 1 1211 0
4527 .cfi_startproc
4528 @ args = 0, pretend = 0, frame = 8
4529 @ frame_needed = 0, uses_anonymous_args = 0
4530 0000 10B5 push {r4, lr}
4531 .LCFI29:
4532 .cfi_def_cfa_offset 8
4533 .cfi_offset 4, -8
4534 .cfi_offset 14, -4
4535 0002 82B0 sub sp, sp, #8
4536 .LCFI30:
4537 .cfi_def_cfa_offset 16
4538 .LVL411:
1216:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4539 .loc 1 1216 0
4540 0004 B748 ldr r0, .L280
4541 0006 FFF7FEFF bl TimerStop
4542 .LVL412:
1218:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4543 .loc 1 1218 0
4544 000a B74B ldr r3, .L280+4
4545 000c 1B78 ldrb r3, [r3]
4546 000e DA06 lsls r2, r3, #27
4547 0010 00D4 bmi .LCB4513
4548 0012 12E1 b .L250 @long jump
ARM GAS /tmp/ccrFaSdZ.s page 131
4549 .LCB4513:
1220:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4550 .loc 1 1220 0
4551 0014 B54A ldr r2, .L280+8
4552 0016 1268 ldr r2, [r2]
4553 0018 5106 lsls r1, r2, #25
4554 001a 05D5 bpl .L251
1222:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
4555 .loc 1 1222 0
4556 001c 4021 movs r1, #64
4557 001e 8A43 bics r2, r1
1223:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4558 .loc 1 1223 0
4559 0020 3F39 subs r1, r1, #63
4560 0022 8A43 bics r2, r1
4561 0024 B149 ldr r1, .L280+8
4562 0026 0A60 str r2, [r1]
4563 .L251:
1226:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4564 .loc 1 1226 0
4565 0028 0922 movs r2, #9
4566 002a 1A40 ands r2, r3
4567 002c 19D0 beq .L276
1228:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( MlmeConfirm.Status == LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT ) )
4568 .loc 1 1228 0
4569 002e B049 ldr r1, .L280+12
4570 0030 4978 ldrb r1, [r1, #1]
4571 0032 0229 cmp r1, #2
4572 0034 05D0 beq .L253
1229:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4573 .loc 1 1229 0 discriminator 1
4574 0036 AF49 ldr r1, .L280+16
4575 0038 4978 ldrb r1, [r1, #1]
1228:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( MlmeConfirm.Status == LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT ) )
4576 .loc 1 1228 0 discriminator 1
4577 003a 0229 cmp r1, #2
4578 003c 01D0 beq .L253
1214:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4579 .loc 1 1214 0
4580 003e 0020 movs r0, #0
4581 0040 10E0 b .L252
4582 .L253:
1232:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
4583 .loc 1 1232 0
4584 0042 AA48 ldr r0, .L280+8
4585 0044 0121 movs r1, #1
4586 0046 0468 ldr r4, [r0]
4587 0048 8C43 bics r4, r1
4588 004a 0460 str r4, [r0]
1233:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.NbRetries = AckTimeoutRetriesCounter;
4589 .loc 1 1233 0
4590 004c 0020 movs r0, #0
4591 004e AA49 ldr r1, .L280+20
4592 0050 0870 strb r0, [r1]
1234:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
4593 .loc 1 1234 0
4594 0052 A749 ldr r1, .L280+12
ARM GAS /tmp/ccrFaSdZ.s page 132
4595 0054 A94C ldr r4, .L280+24
4596 0056 2478 ldrb r4, [r4]
4597 0058 4C71 strb r4, [r1, #5]
1235:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.TxTimeOnAir = 0;
4598 .loc 1 1235 0
4599 005a 0871 strb r0, [r1, #4]
1236:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txTimeout = true;
4600 .loc 1 1236 0
4601 005c 8860 str r0, [r1, #8]
4602 .LVL413:
1237:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4603 .loc 1 1237 0
4604 005e 0130 adds r0, r0, #1
4605 0060 00E0 b .L252
4606 .LVL414:
4607 .L276:
1214:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4608 .loc 1 1214 0
4609 0062 0020 movs r0, #0
4610 .LVL415:
4611 .L252:
1241:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4612 .loc 1 1241 0
4613 0064 A649 ldr r1, .L280+28
4614 0066 0978 ldrb r1, [r1]
4615 0068 0029 cmp r1, #0
4616 006a 4ED1 bne .L254
1241:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4617 .loc 1 1241 0 is_stmt 0 discriminator 1
4618 006c 0028 cmp r0, #0
4619 006e 4CD1 bne .L254
1243:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4620 .loc 1 1243 0 is_stmt 1
4621 0070 002A cmp r2, #0
4622 0072 4AD0 beq .L254
1245:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Procedure for the join request
4623 .loc 1 1245 0
4624 0074 1A07 lsls r2, r3, #28
4625 0076 26D5 bpl .L255
1245:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Procedure for the join request
4626 .loc 1 1245 0 is_stmt 0 discriminator 1
4627 0078 9E4A ldr r2, .L280+16
4628 007a 1278 ldrb r2, [r2]
4629 007c 002A cmp r2, #0
4630 007e 22D1 bne .L255
1247:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4631 .loc 1 1247 0 is_stmt 1
4632 0080 A04B ldr r3, .L280+32
4633 0082 1A78 ldrb r2, [r3]
4634 0084 9B4B ldr r3, .L280+16
4635 0086 9A72 strb r2, [r3, #10]
1249:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Node joined successfully
4636 .loc 1 1249 0
4637 0088 5B78 ldrb r3, [r3, #1]
4638 008a 002B cmp r3, #0
4639 008c 09D1 bne .L256
1251:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelsNbRepCounter = 0;
ARM GAS /tmp/ccrFaSdZ.s page 133
4640 .loc 1 1251 0
4641 008e 9E4A ldr r2, .L280+36
4642 0090 1360 str r3, [r2]
1252:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
4643 .loc 1 1252 0
4644 0092 9E4A ldr r2, .L280+40
4645 0094 1370 strb r3, [r2]
1253:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4646 .loc 1 1253 0
4647 0096 954A ldr r2, .L280+8
4648 0098 0133 adds r3, r3, #1
4649 009a 1168 ldr r1, [r2]
4650 009c 9943 bics r1, r3
4651 009e 1160 str r1, [r2]
4652 00a0 33E0 b .L254
4653 .L256:
1257:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4654 .loc 1 1257 0
4655 00a2 9B4B ldr r3, .L280+44
4656 00a4 1B78 ldrb r3, [r3]
4657 00a6 9A42 cmp r2, r3
4658 00a8 05D3 bcc .L257
1259:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4659 .loc 1 1259 0
4660 00aa 904A ldr r2, .L280+8
4661 00ac 0123 movs r3, #1
4662 00ae 1168 ldr r1, [r2]
4663 00b0 9943 bics r1, r3
4664 00b2 1160 str r1, [r2]
4665 00b4 29E0 b .L254
4666 .L257:
1263:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Sends the same frame again
4667 .loc 1 1263 0
4668 00b6 8C4A ldr r2, .L280+4
4669 00b8 1378 ldrb r3, [r2]
4670 00ba 1021 movs r1, #16
4671 00bc 8B43 bics r3, r1
4672 00be 1370 strb r3, [r2]
1265:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4673 .loc 1 1265 0
4674 00c0 FFF7FEFF bl OnTxDelayedTimerEvent
4675 .LVL416:
4676 00c4 21E0 b .L254
4677 .LVL417:
4678 .L255:
1271:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4679 .loc 1 1271 0
4680 00c6 9349 ldr r1, .L280+48
4681 00c8 2022 movs r2, #32
4682 00ca 895C ldrb r1, [r1, r2]
4683 00cc 8F4A ldr r2, .L280+40
4684 00ce 1278 ldrb r2, [r2]
4685 00d0 9142 cmp r1, r2
4686 00d2 01D9 bls .L258
1271:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4687 .loc 1 1271 0 is_stmt 0 discriminator 1
4688 00d4 9A07 lsls r2, r3, #30
ARM GAS /tmp/ccrFaSdZ.s page 134
4689 00d6 5FD5 bpl .L259
4690 .L258:
1273:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** { // Maximum repetitions without downlink. Reset MacCommandsBufferIndex.
4691 .loc 1 1273 0 is_stmt 1
4692 00d8 9B07 lsls r3, r3, #30
4693 00da 06D4 bmi .L260
1276:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AdrAckCounter++;
4694 .loc 1 1276 0
4695 00dc 864B ldr r3, .L280+20
4696 00de 0022 movs r2, #0
4697 00e0 1A70 strb r2, [r3]
1277:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4698 .loc 1 1277 0
4699 00e2 8D4A ldr r2, .L280+52
4700 00e4 1368 ldr r3, [r2]
4701 00e6 0133 adds r3, r3, #1
4702 00e8 1360 str r3, [r2]
4703 .L260:
1280:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4704 .loc 1 1280 0
4705 00ea 884B ldr r3, .L280+40
4706 00ec 0022 movs r2, #0
4707 00ee 1A70 strb r2, [r3]
1282:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4708 .loc 1 1282 0
4709 00f0 8A4B ldr r3, .L280+56
4710 00f2 1B78 ldrb r3, [r3]
4711 00f4 002B cmp r3, #0
4712 00f6 03D1 bne .L261
1284:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4713 .loc 1 1284 0
4714 00f8 834A ldr r2, .L280+36
4715 00fa 1368 ldr r3, [r2]
4716 00fc 0133 adds r3, r3, #1
4717 00fe 1360 str r3, [r2]
4718 .L261:
1287:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4719 .loc 1 1287 0
4720 0100 7A4A ldr r2, .L280+8
4721 0102 0123 movs r3, #1
4722 0104 1168 ldr r1, [r2]
4723 0106 9943 bics r1, r3
4724 0108 1160 str r1, [r2]
4725 .LVL418:
4726 .L254:
1299:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Procedure if we received a frame
4727 .loc 1 1299 0
4728 010a 774B ldr r3, .L280+4
4729 010c 1B78 ldrb r3, [r3]
4730 010e 9B07 lsls r3, r3, #30
4731 0110 1FD5 bpl .L262
1301:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4732 .loc 1 1301 0
4733 0112 774B ldr r3, .L280+12
4734 0114 1B79 ldrb r3, [r3, #4]
4735 0116 002B cmp r3, #0
4736 0118 05D1 bne .L263
ARM GAS /tmp/ccrFaSdZ.s page 135
1301:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4737 .loc 1 1301 0 is_stmt 0 discriminator 1
4738 011a 784B ldr r3, .L280+24
4739 011c 1A78 ldrb r2, [r3]
4740 011e 804B ldr r3, .L280+60
4741 0120 1B78 ldrb r3, [r3]
4742 0122 9A42 cmp r2, r3
4743 0124 15D9 bls .L262
4744 .L263:
1303:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
4745 .loc 1 1303 0 is_stmt 1
4746 0126 0023 movs r3, #0
4747 0128 7E4A ldr r2, .L280+64
4748 012a 1370 strb r3, [r2]
1304:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsUpLinkCounterFixed == false )
4749 .loc 1 1304 0
4750 012c 744A ldr r2, .L280+28
4751 012e 1370 strb r3, [r2]
1305:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4752 .loc 1 1305 0
4753 0130 7A4B ldr r3, .L280+56
4754 0132 1B78 ldrb r3, [r3]
4755 0134 002B cmp r3, #0
4756 0136 03D1 bne .L264
1307:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4757 .loc 1 1307 0
4758 0138 734A ldr r2, .L280+36
4759 013a 1368 ldr r3, [r2]
4760 013c 0133 adds r3, r3, #1
4761 013e 1360 str r3, [r2]
4762 .L264:
1309:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4763 .loc 1 1309 0
4764 0140 6E4B ldr r3, .L280+24
4765 0142 1A78 ldrb r2, [r3]
4766 0144 6A4B ldr r3, .L280+12
4767 0146 5A71 strb r2, [r3, #5]
1311:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4768 .loc 1 1311 0
4769 0148 684A ldr r2, .L280+8
4770 014a 0123 movs r3, #1
4771 014c 1168 ldr r1, [r2]
4772 014e 9943 bics r1, r3
4773 0150 1160 str r1, [r2]
4774 .L262:
1315:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Retransmissions procedure for confirmed uplinks
4775 .loc 1 1315 0
4776 0152 744B ldr r3, .L280+64
4777 0154 1B78 ldrb r3, [r3]
4778 0156 002B cmp r3, #0
4779 0158 6FD0 beq .L250
1315:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Retransmissions procedure for confirmed uplinks
4780 .loc 1 1315 0 is_stmt 0 discriminator 1
4781 015a 644B ldr r3, .L280+8
4782 015c 1B68 ldr r3, [r3]
4783 015e DB06 lsls r3, r3, #27
4784 0160 6BD4 bmi .L250
ARM GAS /tmp/ccrFaSdZ.s page 136
1317:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( AckTimeoutRetriesCounter < AckTimeoutRetries ) && ( AckTimeoutRetriesCounter <= M
4785 .loc 1 1317 0 is_stmt 1
4786 0162 704B ldr r3, .L280+64
4787 0164 0022 movs r2, #0
4788 0166 1A70 strb r2, [r3]
1318:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4789 .loc 1 1318 0
4790 0168 644B ldr r3, .L280+24
4791 016a 1B78 ldrb r3, [r3]
4792 016c 6C4A ldr r2, .L280+60
4793 016e 1278 ldrb r2, [r2]
4794 0170 9342 cmp r3, r2
4795 0172 46D2 bcs .L265
1318:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4796 .loc 1 1318 0 is_stmt 0 discriminator 1
4797 0174 082B cmp r3, #8
4798 0176 44D8 bhi .L265
1320:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4799 .loc 1 1320 0 is_stmt 1
4800 0178 0133 adds r3, r3, #1
4801 017a DBB2 uxtb r3, r3
4802 017c 5F4A ldr r2, .L280+24
4803 017e 1370 strb r3, [r2]
1322:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4804 .loc 1 1322 0
4805 0180 DB07 lsls r3, r3, #31
4806 0182 11D4 bmi .L278
4807 .LVL419:
4808 .L266:
1331:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4809 .loc 1 1331 0
4810 0184 FFF7FEFF bl ScheduleTx
4811 .LVL420:
4812 0188 0028 cmp r0, #0
4813 018a 1DD1 bne .L267
1333:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4814 .loc 1 1333 0
4815 018c 564A ldr r2, .L280+4
4816 018e 1378 ldrb r3, [r2]
4817 0190 1021 movs r1, #16
4818 0192 8B43 bics r3, r1
4819 0194 1370 strb r3, [r2]
4820 0196 50E0 b .L250
4821 .LVL421:
4822 .L259:
1291:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Sends the same frame again
4823 .loc 1 1291 0
4824 0198 534A ldr r2, .L280+4
4825 019a 1378 ldrb r3, [r2]
4826 019c 1021 movs r1, #16
4827 019e 8B43 bics r3, r1
4828 01a0 1370 strb r3, [r2]
1293:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4829 .loc 1 1293 0
4830 01a2 FFF7FEFF bl OnTxDelayedTimerEvent
4831 .LVL422:
4832 01a6 B0E7 b .L254
ARM GAS /tmp/ccrFaSdZ.s page 137
4833 .L278:
1324:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
4834 .loc 1 1324 0
4835 01a8 01A9 add r1, sp, #4
4836 01aa 2023 movs r3, #32
4837 01ac 0B70 strb r3, [r1]
1325:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Datarate = LoRaMacParams.ChannelsDatarate;
4838 .loc 1 1325 0
4839 01ae 594C ldr r4, .L280+48
4840 01b0 0C33 adds r3, r3, #12
4841 01b2 E35C ldrb r3, [r4, r3]
4842 01b4 8B70 strb r3, [r1, #2]
1326:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
4843 .loc 1 1326 0
4844 01b6 0123 movs r3, #1
4845 01b8 E356 ldrsb r3, [r4, r3]
4846 01ba 4B70 strb r3, [r1, #1]
1327:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = phyParam.Value;
4847 .loc 1 1327 0
4848 01bc 5A4B ldr r3, .L280+68
4849 01be 1878 ldrb r0, [r3]
4850 01c0 FFF7FEFF bl RegionGetPhyParam
4851 .LVL423:
1328:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4852 .loc 1 1328 0
4853 01c4 6070 strb r0, [r4, #1]
4854 01c6 DDE7 b .L266
4855 .L267:
1338:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4856 .loc 1 1338 0
4857 01c8 494B ldr r3, .L280+12
4858 01ca 0922 movs r2, #9
4859 01cc 5A70 strb r2, [r3, #1]
1340:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState &= ~LORAMAC_TX_RUNNING;
4860 .loc 1 1340 0
4861 01ce 0022 movs r2, #0
4862 01d0 4949 ldr r1, .L280+20
4863 01d2 0A70 strb r2, [r1]
1341:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
4864 .loc 1 1341 0
4865 01d4 4548 ldr r0, .L280+8
4866 01d6 0121 movs r1, #1
4867 01d8 0468 ldr r4, [r0]
4868 01da 8C43 bics r4, r1
4869 01dc 0460 str r4, [r0]
1342:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
4870 .loc 1 1342 0
4871 01de 4849 ldr r1, .L280+28
4872 01e0 0A70 strb r2, [r1]
1343:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.NbRetries = AckTimeoutRetriesCounter;
4873 .loc 1 1343 0
4874 01e2 1A71 strb r2, [r3, #4]
1344:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Datarate = LoRaMacParams.ChannelsDatarate;
4875 .loc 1 1344 0
4876 01e4 454A ldr r2, .L280+24
4877 01e6 1278 ldrb r2, [r2]
4878 01e8 5A71 strb r2, [r3, #5]
ARM GAS /tmp/ccrFaSdZ.s page 138
1345:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsUpLinkCounterFixed == false )
4879 .loc 1 1345 0
4880 01ea 4A4A ldr r2, .L280+48
4881 01ec 5278 ldrb r2, [r2, #1]
4882 01ee 9A70 strb r2, [r3, #2]
1346:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4883 .loc 1 1346 0
4884 01f0 4A4B ldr r3, .L280+56
4885 01f2 1B78 ldrb r3, [r3]
4886 01f4 002B cmp r3, #0
4887 01f6 20D1 bne .L250
1348:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4888 .loc 1 1348 0
4889 01f8 434A ldr r2, .L280+36
4890 01fa 1368 ldr r3, [r2]
4891 01fc 0133 adds r3, r3, #1
4892 01fe 1360 str r3, [r2]
4893 0200 1BE0 b .L250
4894 .L265:
1354:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4895 .loc 1 1354 0
4896 0202 494B ldr r3, .L280+68
4897 0204 1878 ldrb r0, [r3]
4898 0206 0121 movs r1, #1
4899 0208 FFF7FEFF bl RegionInitDefaults
4900 .LVL424:
1356:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
4901 .loc 1 1356 0
4902 020c 374A ldr r2, .L280+8
4903 020e 0123 movs r3, #1
4904 0210 1168 ldr r1, [r2]
4905 0212 9943 bics r1, r3
4906 0214 1160 str r1, [r2]
1358:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
4907 .loc 1 1358 0
4908 0216 0023 movs r3, #0
4909 0218 374A ldr r2, .L280+20
4910 021a 1370 strb r3, [r2]
1359:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.AckReceived = false;
4911 .loc 1 1359 0
4912 021c 384A ldr r2, .L280+28
4913 021e 1370 strb r3, [r2]
1360:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.NbRetries = AckTimeoutRetriesCounter;
4914 .loc 1 1360 0
4915 0220 334A ldr r2, .L280+12
4916 0222 1371 strb r3, [r2, #4]
1361:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( IsUpLinkCounterFixed == false )
4917 .loc 1 1361 0
4918 0224 354B ldr r3, .L280+24
4919 0226 1B78 ldrb r3, [r3]
4920 0228 5371 strb r3, [r2, #5]
1362:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4921 .loc 1 1362 0
4922 022a 3C4B ldr r3, .L280+56
4923 022c 1B78 ldrb r3, [r3]
4924 022e 002B cmp r3, #0
4925 0230 03D1 bne .L250
ARM GAS /tmp/ccrFaSdZ.s page 139
1364:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4926 .loc 1 1364 0
4927 0232 354A ldr r2, .L280+36
4928 0234 1368 ldr r3, [r2]
4929 0236 0133 adds r3, r3, #1
4930 0238 1360 str r3, [r2]
4931 .L250:
1370:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4932 .loc 1 1370 0
4933 023a 2C4B ldr r3, .L280+8
4934 023c 1B68 ldr r3, [r3]
4935 023e 9A07 lsls r2, r3, #30
4936 0240 03D5 bpl .L268
1372:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4937 .loc 1 1372 0
4938 0242 0222 movs r2, #2
4939 0244 9343 bics r3, r2
4940 0246 294A ldr r2, .L280+8
4941 0248 1360 str r3, [r2]
4942 .L268:
1374:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4943 .loc 1 1374 0
4944 024a 284B ldr r3, .L280+8
4945 024c 1B68 ldr r3, [r3]
4946 024e 002B cmp r3, #0
4947 0250 3AD1 bne .L269
1376:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4948 .loc 1 1376 0
4949 0252 254B ldr r3, .L280+4
4950 0254 1B78 ldrb r3, [r3]
4951 0256 DB07 lsls r3, r3, #31
4952 0258 09D5 bpl .L270
1378:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsReq = 0;
4953 .loc 1 1378 0
4954 025a 344B ldr r3, .L280+72
4955 025c 1B68 ldr r3, [r3]
4956 025e 1B68 ldr r3, [r3]
4957 0260 2348 ldr r0, .L280+12
4958 0262 9847 blx r3
4959 .LVL425:
1379:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4960 .loc 1 1379 0
4961 0264 204A ldr r2, .L280+4
4962 0266 1378 ldrb r3, [r2]
4963 0268 0121 movs r1, #1
4964 026a 8B43 bics r3, r1
4965 026c 1370 strb r3, [r2]
4966 .L270:
1382:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4967 .loc 1 1382 0
4968 026e 1E4B ldr r3, .L280+4
4969 0270 1B78 ldrb r3, [r3]
4970 0272 1B07 lsls r3, r3, #28
4971 0274 09D5 bpl .L271
1384:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 0;
4972 .loc 1 1384 0
4973 0276 2D4B ldr r3, .L280+72
ARM GAS /tmp/ccrFaSdZ.s page 140
4974 0278 1B68 ldr r3, [r3]
4975 027a 9B68 ldr r3, [r3, #8]
4976 027c 1D48 ldr r0, .L280+16
4977 027e 9847 blx r3
4978 .LVL426:
1385:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4979 .loc 1 1385 0
4980 0280 194A ldr r2, .L280+4
4981 0282 1378 ldrb r3, [r2]
4982 0284 0821 movs r1, #8
4983 0286 8B43 bics r3, r1
4984 0288 1370 strb r3, [r2]
4985 .L271:
1389:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
4986 .loc 1 1389 0
4987 028a 174A ldr r2, .L280+4
4988 028c 1378 ldrb r3, [r2]
4989 028e 1021 movs r1, #16
4990 0290 8B43 bics r3, r1
4991 0292 1370 strb r3, [r2]
4992 .L272:
1398:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
4993 .loc 1 1398 0
4994 0294 144B ldr r3, .L280+4
4995 0296 1B78 ldrb r3, [r3]
4996 0298 9B07 lsls r3, r3, #30
4997 029a 13D5 bpl .L249
1400:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {// Activate RX2 window for Class C
4998 .loc 1 1400 0
4999 029c 244B ldr r3, .L280+76
5000 029e 1B78 ldrb r3, [r3]
5001 02a0 022B cmp r3, #2
5002 02a2 1BD0 beq .L279
5003 .L274:
1404:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
5004 .loc 1 1404 0
5005 02a4 104B ldr r3, .L280+4
5006 02a6 1B78 ldrb r3, [r3]
5007 02a8 5B07 lsls r3, r3, #29
5008 02aa 04D4 bmi .L275
1406:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5009 .loc 1 1406 0
5010 02ac 1F4B ldr r3, .L280+72
5011 02ae 1B68 ldr r3, [r3]
5012 02b0 5B68 ldr r3, [r3, #4]
5013 02b2 2048 ldr r0, .L280+80
5014 02b4 9847 blx r3
5015 .LVL427:
5016 .L275:
1408:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsInd = 0;
5017 .loc 1 1408 0
5018 02b6 0C4A ldr r2, .L280+4
5019 02b8 1378 ldrb r3, [r2]
1409:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5020 .loc 1 1409 0
5021 02ba 0421 movs r1, #4
5022 02bc 8B43 bics r3, r1
ARM GAS /tmp/ccrFaSdZ.s page 141
5023 02be 0239 subs r1, r1, #2
5024 02c0 8B43 bics r3, r1
5025 02c2 1370 strb r3, [r2]
5026 .L249:
1411:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
5027 .loc 1 1411 0
5028 02c4 02B0 add sp, sp, #8
5029 @ sp needed
5030 02c6 10BD pop {r4, pc}
5031 .L269:
1394:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
5032 .loc 1 1394 0
5033 02c8 FA21 movs r1, #250
5034 02ca 064C ldr r4, .L280
5035 02cc 8900 lsls r1, r1, #2
5036 02ce 2000 movs r0, r4
5037 02d0 FFF7FEFF bl TimerSetValue
5038 .LVL428:
1395:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5039 .loc 1 1395 0
5040 02d4 2000 movs r0, r4
5041 02d6 FFF7FEFF bl TimerStart
5042 .LVL429:
5043 02da DBE7 b .L272
5044 .L279:
1402:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5045 .loc 1 1402 0
5046 02dc FFF7FEFF bl OnRxWindow2TimerEvent
5047 .LVL430:
5048 02e0 E0E7 b .L274
5049 .L281:
5050 02e2 C046 .align 2
5051 .L280:
5052 02e4 00000000 .word .LANCHOR27
5053 02e8 00000000 .word .LANCHOR26
5054 02ec 00000000 .word .LANCHOR24
5055 02f0 00000000 .word .LANCHOR34
5056 02f4 00000000 .word .LANCHOR28
5057 02f8 00000000 .word .LANCHOR10
5058 02fc 00000000 .word .LANCHOR6
5059 0300 00000000 .word .LANCHOR15
5060 0304 00000000 .word .LANCHOR54
5061 0308 00000000 .word .LANCHOR1
5062 030c 00000000 .word .LANCHOR4
5063 0310 00000000 .word .LANCHOR59
5064 0314 00000000 .word .LANCHOR14
5065 0318 00000000 .word .LANCHOR3
5066 031c 00000000 .word .LANCHOR60
5067 0320 00000000 .word .LANCHOR5
5068 0324 00000000 .word .LANCHOR7
5069 0328 00000000 .word .LANCHOR22
5070 032c 00000000 .word .LANCHOR61
5071 0330 00000000 .word .LANCHOR25
5072 0334 00000000 .word .LANCHOR35
5073 .cfi_endproc
5074 .LFE91:
5076 .section .text.SetTxContinuousWave,"ax",%progbits
ARM GAS /tmp/ccrFaSdZ.s page 142
5077 .align 1
5078 .global SetTxContinuousWave
5079 .syntax unified
5080 .code 16
5081 .thumb_func
5082 .fpu softvfp
5084 SetTxContinuousWave:
5085 .LFB107:
2261:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2262:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t SetTxContinuousWave( uint16_t timeout )
2263:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
5086 .loc 1 2263 0
5087 .cfi_startproc
5088 @ args = 0, pretend = 0, frame = 24
5089 @ frame_needed = 0, uses_anonymous_args = 0
5090 .LVL431:
5091 0000 10B5 push {r4, lr}
5092 .LCFI31:
5093 .cfi_def_cfa_offset 8
5094 .cfi_offset 4, -8
5095 .cfi_offset 14, -4
5096 0002 86B0 sub sp, sp, #24
5097 .LCFI32:
5098 .cfi_def_cfa_offset 32
2264:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ContinuousWaveParams_t continuousWave;
2265:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2266:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** continuousWave.Channel = Channel;
5099 .loc 1 2266 0
5100 0004 134B ldr r3, .L283
5101 0006 1B78 ldrb r3, [r3]
5102 0008 02AA add r2, sp, #8
5103 000a 1370 strb r3, [r2]
2267:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** continuousWave.Datarate = LoRaMacParams.ChannelsDatarate;
5104 .loc 1 2267 0
5105 000c 124B ldr r3, .L283+4
5106 000e 0122 movs r2, #1
5107 0010 9A56 ldrsb r2, [r3, r2]
5108 0012 02A9 add r1, sp, #8
5109 0014 4A70 strb r2, [r1, #1]
2268:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** continuousWave.TxPower = LoRaMacParams.ChannelsTxPower;
5110 .loc 1 2268 0
5111 0016 0022 movs r2, #0
5112 0018 9A56 ldrsb r2, [r3, r2]
5113 001a 8A70 strb r2, [r1, #2]
2269:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** continuousWave.MaxEirp = LoRaMacParams.MaxEirp;
5114 .loc 1 2269 0
5115 001c 1A6B ldr r2, [r3, #48]
5116 001e 0392 str r2, [sp, #12]
2270:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** continuousWave.AntennaGain = LoRaMacParams.AntennaGain;
5117 .loc 1 2270 0
5118 0020 5B6B ldr r3, [r3, #52]
5119 0022 0193 str r3, [sp, #4]
5120 0024 0493 str r3, [sp, #16]
2271:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** continuousWave.Timeout = timeout;
5121 .loc 1 2271 0
5122 0026 8881 strh r0, [r1, #12]
2272:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 143
2273:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionSetContinuousWave( LoRaMacRegion, &continuousWave );
5123 .loc 1 2273 0
5124 0028 0C4B ldr r3, .L283+8
5125 002a 1878 ldrb r0, [r3]
5126 .LVL432:
5127 002c FFF7FEFF bl RegionSetContinuousWave
5128 .LVL433:
2274:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2275:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Starts the MAC layer status check timer
2276:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &MacStateCheckTimer, MAC_STATE_CHECK_TIMEOUT );
5129 .loc 1 2276 0
5130 0030 FA21 movs r1, #250
5131 0032 0B4C ldr r4, .L283+12
5132 0034 8900 lsls r1, r1, #2
5133 0036 2000 movs r0, r4
5134 0038 FFF7FEFF bl TimerSetValue
5135 .LVL434:
2277:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
5136 .loc 1 2277 0
5137 003c 2000 movs r0, r4
5138 003e FFF7FEFF bl TimerStart
5139 .LVL435:
2278:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2279:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState |= LORAMAC_TX_RUNNING;
5140 .loc 1 2279 0
5141 0042 084A ldr r2, .L283+16
5142 0044 0123 movs r3, #1
5143 0046 1168 ldr r1, [r2]
5144 0048 0B43 orrs r3, r1
5145 004a 1360 str r3, [r2]
2280:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2281:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
2282:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5146 .loc 1 2282 0
5147 004c 0020 movs r0, #0
5148 004e 06B0 add sp, sp, #24
5149 @ sp needed
5150 0050 10BD pop {r4, pc}
5151 .L284:
5152 0052 C046 .align 2
5153 .L283:
5154 0054 00000000 .word .LANCHOR19
5155 0058 00000000 .word .LANCHOR14
5156 005c 00000000 .word .LANCHOR22
5157 0060 00000000 .word .LANCHOR27
5158 0064 00000000 .word .LANCHOR24
5159 .cfi_endproc
5160 .LFE107:
5162 .section .text.SetTxContinuousWave1,"ax",%progbits
5163 .align 1
5164 .global SetTxContinuousWave1
5165 .syntax unified
5166 .code 16
5167 .thumb_func
5168 .fpu softvfp
5170 SetTxContinuousWave1:
5171 .LFB108:
ARM GAS /tmp/ccrFaSdZ.s page 144
2283:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2284:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t SetTxContinuousWave1( uint16_t timeout, uint32_t frequency, uint8_t power )
2285:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
5172 .loc 1 2285 0
5173 .cfi_startproc
5174 @ args = 0, pretend = 0, frame = 0
5175 @ frame_needed = 0, uses_anonymous_args = 0
5176 .LVL436:
5177 0000 10B5 push {r4, lr}
5178 .LCFI33:
5179 .cfi_def_cfa_offset 8
5180 .cfi_offset 4, -8
5181 .cfi_offset 14, -4
5182 0002 0400 movs r4, r0
5183 0004 0800 movs r0, r1
5184 .LVL437:
2286:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.SetTxContinuousWave( frequency, power, timeout );
5185 .loc 1 2286 0
5186 0006 0A4B ldr r3, .L286
5187 0008 5B6C ldr r3, [r3, #68]
5188 000a 51B2 sxtb r1, r2
5189 .LVL438:
5190 000c 2200 movs r2, r4
5191 .LVL439:
5192 000e 9847 blx r3
5193 .LVL440:
2287:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2288:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Starts the MAC layer status check timer
2289:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &MacStateCheckTimer, MAC_STATE_CHECK_TIMEOUT );
5194 .loc 1 2289 0
5195 0010 FA21 movs r1, #250
5196 0012 084C ldr r4, .L286+4
5197 0014 8900 lsls r1, r1, #2
5198 0016 2000 movs r0, r4
5199 0018 FFF7FEFF bl TimerSetValue
5200 .LVL441:
2290:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerStart( &MacStateCheckTimer );
5201 .loc 1 2290 0
5202 001c 2000 movs r0, r4
5203 001e FFF7FEFF bl TimerStart
5204 .LVL442:
2291:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2292:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState |= LORAMAC_TX_RUNNING;
5205 .loc 1 2292 0
5206 0022 054A ldr r2, .L286+8
5207 0024 0123 movs r3, #1
5208 0026 1168 ldr r1, [r2]
5209 0028 0B43 orrs r3, r1
5210 002a 1360 str r3, [r2]
2293:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2294:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
2295:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5211 .loc 1 2295 0
5212 002c 0020 movs r0, #0
5213 @ sp needed
5214 002e 10BD pop {r4, pc}
5215 .L287:
ARM GAS /tmp/ccrFaSdZ.s page 145
5216 .align 2
5217 .L286:
5218 0030 00000000 .word Radio
5219 0034 00000000 .word .LANCHOR27
5220 0038 00000000 .word .LANCHOR24
5221 .cfi_endproc
5222 .LFE108:
5224 .section .text.LoRaMacInitialization,"ax",%progbits
5225 .align 1
5226 .global LoRaMacInitialization
5227 .syntax unified
5228 .code 16
5229 .thumb_func
5230 .fpu softvfp
5232 LoRaMacInitialization:
5233 .LFB109:
2296:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2297:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacInitialization( LoRaMacPrimitives_t *primitives, LoRaMacCallback_t *callback
2298:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
5234 .loc 1 2298 0
5235 .cfi_startproc
5236 @ args = 0, pretend = 0, frame = 8
5237 @ frame_needed = 0, uses_anonymous_args = 0
5238 .LVL443:
5239 0000 F0B5 push {r4, r5, r6, r7, lr}
5240 .LCFI34:
5241 .cfi_def_cfa_offset 20
5242 .cfi_offset 4, -20
5243 .cfi_offset 5, -16
5244 .cfi_offset 6, -12
5245 .cfi_offset 7, -8
5246 .cfi_offset 14, -4
5247 0002 83B0 sub sp, sp, #12
5248 .LCFI35:
5249 .cfi_def_cfa_offset 32
5250 0004 0400 movs r4, r0
5251 0006 0E00 movs r6, r1
5252 0008 1500 movs r5, r2
2299:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
2300:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
2301:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2302:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( primitives == NULL )
5253 .loc 1 2302 0
5254 000a 0028 cmp r0, #0
5255 000c 00D1 bne .LCB5188
5256 000e EFE0 b .L290 @long jump
5257 .LCB5188:
2303:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2304:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
2305:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2306:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2307:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( primitives->MacMcpsConfirm == NULL ) ||
5258 .loc 1 2307 0
5259 0010 0368 ldr r3, [r0]
5260 0012 002B cmp r3, #0
5261 0014 00D1 bne .LCB5192
5262 0016 EDE0 b .L291 @long jump
ARM GAS /tmp/ccrFaSdZ.s page 146
5263 .LCB5192:
5264 .loc 1 2307 0 is_stmt 0 discriminator 1
5265 0018 4368 ldr r3, [r0, #4]
5266 001a 002B cmp r3, #0
5267 001c 00D1 bne .LCB5196
5268 001e EBE0 b .L292 @long jump
5269 .LCB5196:
2308:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( primitives->MacMcpsIndication == NULL ) ||
5270 .loc 1 2308 0 is_stmt 1
5271 0020 8368 ldr r3, [r0, #8]
5272 0022 002B cmp r3, #0
5273 0024 00D1 bne .LCB5200
5274 0026 E9E0 b .L293 @long jump
5275 .LCB5200:
2309:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( primitives->MacMlmeConfirm == NULL ) )
2310:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2311:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
2312:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2313:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Verify if the region is supported
2314:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionIsActive( region ) == false )
5276 .loc 1 2314 0
5277 0028 1000 movs r0, r2
5278 .LVL444:
5279 002a FFF7FEFF bl RegionIsActive
5280 .LVL445:
5281 002e 0028 cmp r0, #0
5282 0030 00D1 bne .LCB5208
5283 0032 E5E0 b .L294 @long jump
5284 .LCB5208:
2315:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2316:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_REGION_NOT_SUPPORTED;
2317:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2318:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2319:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacPrimitives = primitives;
5285 .loc 1 2319 0
5286 0034 734B ldr r3, .L295
5287 0036 1C60 str r4, [r3]
2320:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacCallbacks = callbacks;
5288 .loc 1 2320 0
5289 0038 734B ldr r3, .L295+4
5290 003a 1E60 str r6, [r3]
2321:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacRegion = region;
5291 .loc 1 2321 0
5292 003c 734E ldr r6, .L295+8
5293 .LVL446:
5294 003e 3570 strb r5, [r6]
2322:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2323:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Value = 0;
5295 .loc 1 2323 0
5296 0040 0023 movs r3, #0
5297 0042 734A ldr r2, .L295+12
5298 0044 1370 strb r3, [r2]
2324:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2325:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDeviceClass = CLASS_A;
5299 .loc 1 2325 0
5300 0046 734A ldr r2, .L295+16
5301 0048 1370 strb r3, [r2]
ARM GAS /tmp/ccrFaSdZ.s page 147
2326:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacState = LORAMAC_IDLE;
5302 .loc 1 2326 0
5303 004a 734A ldr r2, .L295+20
5304 004c 1360 str r3, [r2]
2327:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2328:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** JoinRequestTrials = 0;
5305 .loc 1 2328 0
5306 004e 734A ldr r2, .L295+24
5307 0050 1370 strb r3, [r2]
2329:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MaxJoinRequestTrials = 1;
5308 .loc 1 2329 0
5309 0052 0127 movs r7, #1
5310 0054 724A ldr r2, .L295+28
5311 0056 1770 strb r7, [r2]
2330:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RepeaterSupport = false;
5312 .loc 1 2330 0
5313 0058 724A ldr r2, .L295+32
5314 005a 1370 strb r3, [r2]
2331:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2332:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Reset duty cycle times
2333:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AggregatedLastTxDoneTime = 0;
5315 .loc 1 2333 0
5316 005c 724A ldr r2, .L295+36
5317 005e 1360 str r3, [r2]
2334:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AggregatedTimeOff = 0;
5318 .loc 1 2334 0
5319 0060 724A ldr r2, .L295+40
5320 0062 1360 str r3, [r2]
2335:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2336:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Reset to defaults
2337:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DUTY_CYCLE;
5321 .loc 1 2337 0
5322 0064 01AC add r4, sp, #4
5323 .LVL447:
5324 0066 0B33 adds r3, r3, #11
5325 0068 2370 strb r3, [r4]
2338:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5326 .loc 1 2338 0
5327 006a 2100 movs r1, r4
5328 006c 2800 movs r0, r5
5329 006e FFF7FEFF bl RegionGetPhyParam
5330 .LVL448:
2339:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DutyCycleOn = ( bool ) phyParam.Value;
5331 .loc 1 2339 0
5332 0072 431E subs r3, r0, #1
5333 0074 9841 sbcs r0, r0, r3
5334 .LVL449:
5335 0076 6E4B ldr r3, .L295+44
5336 0078 1870 strb r0, [r3]
2340:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2341:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_TX_POWER;
5337 .loc 1 2341 0
5338 007a 0823 movs r3, #8
5339 007c 2370 strb r3, [r4]
2342:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5340 .loc 1 2342 0
5341 007e 3078 ldrb r0, [r6]
ARM GAS /tmp/ccrFaSdZ.s page 148
5342 0080 2100 movs r1, r4
5343 0082 FFF7FEFF bl RegionGetPhyParam
5344 .LVL450:
2343:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.ChannelsTxPower = phyParam.Value;
5345 .loc 1 2343 0
5346 0086 6B4D ldr r5, .L295+48
5347 0088 2870 strb r0, [r5]
2344:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2345:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_TX_DR;
5348 .loc 1 2345 0
5349 008a 0523 movs r3, #5
5350 008c 2370 strb r3, [r4]
2346:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5351 .loc 1 2346 0
5352 008e 3078 ldrb r0, [r6]
5353 0090 2100 movs r1, r4
5354 0092 FFF7FEFF bl RegionGetPhyParam
5355 .LVL451:
2347:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.ChannelsDatarate = phyParam.Value;
5356 .loc 1 2347 0
5357 0096 6870 strb r0, [r5, #1]
2348:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2349:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_RX_WINDOW;
5358 .loc 1 2349 0
5359 0098 0C23 movs r3, #12
5360 009a 2370 strb r3, [r4]
2350:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5361 .loc 1 2350 0
5362 009c 3078 ldrb r0, [r6]
5363 009e 2100 movs r1, r4
5364 00a0 FFF7FEFF bl RegionGetPhyParam
5365 .LVL452:
2351:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.MaxRxWindow = phyParam.Value;
5366 .loc 1 2351 0
5367 00a4 E860 str r0, [r5, #12]
2352:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2353:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_RECEIVE_DELAY1;
5368 .loc 1 2353 0
5369 00a6 0D23 movs r3, #13
5370 00a8 2370 strb r3, [r4]
2354:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5371 .loc 1 2354 0
5372 00aa 3078 ldrb r0, [r6]
5373 .LVL453:
5374 00ac 2100 movs r1, r4
5375 00ae FFF7FEFF bl RegionGetPhyParam
5376 .LVL454:
2355:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.ReceiveDelay1 = phyParam.Value;
5377 .loc 1 2355 0
5378 00b2 2861 str r0, [r5, #16]
2356:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2357:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_RECEIVE_DELAY2;
5379 .loc 1 2357 0
5380 00b4 0E23 movs r3, #14
5381 00b6 2370 strb r3, [r4]
2358:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5382 .loc 1 2358 0
ARM GAS /tmp/ccrFaSdZ.s page 149
5383 00b8 3078 ldrb r0, [r6]
5384 .LVL455:
5385 00ba 2100 movs r1, r4
5386 00bc FFF7FEFF bl RegionGetPhyParam
5387 .LVL456:
2359:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.ReceiveDelay2 = phyParam.Value;
5388 .loc 1 2359 0
5389 00c0 6861 str r0, [r5, #20]
2360:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2361:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_JOIN_ACCEPT_DELAY1;
5390 .loc 1 2361 0
5391 00c2 0F23 movs r3, #15
5392 00c4 2370 strb r3, [r4]
2362:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5393 .loc 1 2362 0
5394 00c6 3078 ldrb r0, [r6]
5395 .LVL457:
5396 00c8 2100 movs r1, r4
5397 00ca FFF7FEFF bl RegionGetPhyParam
5398 .LVL458:
2363:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.JoinAcceptDelay1 = phyParam.Value;
5399 .loc 1 2363 0
5400 00ce A861 str r0, [r5, #24]
2364:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2365:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_JOIN_ACCEPT_DELAY2;
5401 .loc 1 2365 0
5402 00d0 1023 movs r3, #16
5403 00d2 2370 strb r3, [r4]
2366:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5404 .loc 1 2366 0
5405 00d4 3078 ldrb r0, [r6]
5406 .LVL459:
5407 00d6 2100 movs r1, r4
5408 00d8 FFF7FEFF bl RegionGetPhyParam
5409 .LVL460:
2367:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.JoinAcceptDelay2 = phyParam.Value;
5410 .loc 1 2367 0
5411 00dc E861 str r0, [r5, #28]
2368:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2369:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_DR1_OFFSET;
5412 .loc 1 2369 0
5413 00de 1323 movs r3, #19
5414 00e0 2370 strb r3, [r4]
2370:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5415 .loc 1 2370 0
5416 00e2 3078 ldrb r0, [r6]
5417 .LVL461:
5418 00e4 2100 movs r1, r4
5419 00e6 FFF7FEFF bl RegionGetPhyParam
5420 .LVL462:
2371:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.Rx1DrOffset = phyParam.Value;
5421 .loc 1 2371 0
5422 00ea 2123 movs r3, #33
5423 00ec E854 strb r0, [r5, r3]
2372:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2373:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_RX2_FREQUENCY;
5424 .loc 1 2373 0
ARM GAS /tmp/ccrFaSdZ.s page 150
5425 00ee 0D3B subs r3, r3, #13
5426 00f0 2370 strb r3, [r4]
2374:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5427 .loc 1 2374 0
5428 00f2 3078 ldrb r0, [r6]
5429 00f4 2100 movs r1, r4
5430 00f6 FFF7FEFF bl RegionGetPhyParam
5431 .LVL463:
2375:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.Rx2Channel.Frequency = phyParam.Value;
5432 .loc 1 2375 0
5433 00fa 6862 str r0, [r5, #36]
2376:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2377:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_RX2_DR;
5434 .loc 1 2377 0
5435 00fc 1523 movs r3, #21
5436 00fe 2370 strb r3, [r4]
2378:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5437 .loc 1 2378 0
5438 0100 3078 ldrb r0, [r6]
5439 .LVL464:
5440 0102 2100 movs r1, r4
5441 0104 FFF7FEFF bl RegionGetPhyParam
5442 .LVL465:
2379:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.Rx2Channel.Datarate = phyParam.Value;
5443 .loc 1 2379 0
5444 0108 2823 movs r3, #40
5445 010a E854 strb r0, [r5, r3]
2380:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2381:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_UPLINK_DWELL_TIME;
5446 .loc 1 2381 0
5447 010c 0E3B subs r3, r3, #14
5448 010e 2370 strb r3, [r4]
2382:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5449 .loc 1 2382 0
5450 0110 3078 ldrb r0, [r6]
5451 0112 2100 movs r1, r4
5452 0114 FFF7FEFF bl RegionGetPhyParam
5453 .LVL466:
2383:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.UplinkDwellTime = phyParam.Value;
5454 .loc 1 2383 0
5455 0118 2C23 movs r3, #44
5456 011a E854 strb r0, [r5, r3]
2384:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2385:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_DOWNLINK_DWELL_TIME;
5457 .loc 1 2385 0
5458 011c 113B subs r3, r3, #17
5459 011e 2370 strb r3, [r4]
2386:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5460 .loc 1 2386 0
5461 0120 3078 ldrb r0, [r6]
5462 0122 2100 movs r1, r4
5463 0124 FFF7FEFF bl RegionGetPhyParam
5464 .LVL467:
2387:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.DownlinkDwellTime = phyParam.Value;
5465 .loc 1 2387 0
5466 0128 2D23 movs r3, #45
5467 012a E854 strb r0, [r5, r3]
ARM GAS /tmp/ccrFaSdZ.s page 151
2388:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2389:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_MAX_EIRP;
5468 .loc 1 2389 0
5469 012c 113B subs r3, r3, #17
5470 012e 2370 strb r3, [r4]
2390:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5471 .loc 1 2390 0
5472 0130 3078 ldrb r0, [r6]
5473 0132 2100 movs r1, r4
5474 0134 FFF7FEFF bl RegionGetPhyParam
5475 .LVL468:
2391:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.MaxEirp = phyParam.fValue;
5476 .loc 1 2391 0
5477 0138 2863 str r0, [r5, #48]
2392:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2393:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_ANTENNA_GAIN;
5478 .loc 1 2393 0
5479 013a 1D23 movs r3, #29
5480 013c 2370 strb r3, [r4]
2394:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5481 .loc 1 2394 0
5482 013e 3078 ldrb r0, [r6]
5483 0140 2100 movs r1, r4
5484 0142 FFF7FEFF bl RegionGetPhyParam
5485 .LVL469:
2395:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.AntennaGain = phyParam.fValue;
5486 .loc 1 2395 0
5487 0146 6863 str r0, [r5, #52]
2396:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2397:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionInitDefaults( LoRaMacRegion, INIT_TYPE_INIT );
5488 .loc 1 2397 0
5489 0148 3078 ldrb r0, [r6]
5490 014a 0021 movs r1, #0
5491 014c FFF7FEFF bl RegionInitDefaults
5492 .LVL470:
2398:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2399:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Init parameters which are not set in function ResetMacParameters
2400:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.ChannelsNbRep = 1;
5493 .loc 1 2400 0
5494 0150 2022 movs r2, #32
5495 0152 AF54 strb r7, [r5, r2]
2401:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.SystemMaxRxError = 10;
5496 .loc 1 2401 0
5497 0154 0A20 movs r0, #10
5498 0156 6860 str r0, [r5, #4]
2402:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.MinRxSymbols = 6;
5499 .loc 1 2402 0
5500 0158 0621 movs r1, #6
5501 015a 2972 strb r1, [r5, #8]
2403:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2404:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.SystemMaxRxError = LoRaMacParamsDefaults.SystemMaxRxError;
5502 .loc 1 2404 0
5503 015c 364B ldr r3, .L295+52
5504 015e 5860 str r0, [r3, #4]
2405:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MinRxSymbols = LoRaMacParamsDefaults.MinRxSymbols;
5505 .loc 1 2405 0
5506 0160 1972 strb r1, [r3, #8]
ARM GAS /tmp/ccrFaSdZ.s page 152
2406:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MaxRxWindow = LoRaMacParamsDefaults.MaxRxWindow;
5507 .loc 1 2406 0
5508 0162 E968 ldr r1, [r5, #12]
5509 0164 D960 str r1, [r3, #12]
2407:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay1 = LoRaMacParamsDefaults.ReceiveDelay1;
5510 .loc 1 2407 0
5511 0166 2969 ldr r1, [r5, #16]
5512 0168 1961 str r1, [r3, #16]
2408:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay2 = LoRaMacParamsDefaults.ReceiveDelay2;
5513 .loc 1 2408 0
5514 016a 6969 ldr r1, [r5, #20]
5515 016c 5961 str r1, [r3, #20]
2409:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.JoinAcceptDelay1 = LoRaMacParamsDefaults.JoinAcceptDelay1;
5516 .loc 1 2409 0
5517 016e A969 ldr r1, [r5, #24]
5518 0170 9961 str r1, [r3, #24]
2410:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.JoinAcceptDelay2 = LoRaMacParamsDefaults.JoinAcceptDelay2;
5519 .loc 1 2410 0
5520 0172 E969 ldr r1, [r5, #28]
5521 0174 D961 str r1, [r3, #28]
2411:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsNbRep = LoRaMacParamsDefaults.ChannelsNbRep;
5522 .loc 1 2411 0
5523 0176 9F54 strb r7, [r3, r2]
2412:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2413:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ResetMacParameters( );
5524 .loc 1 2413 0
5525 0178 FFF7FEFF bl ResetMacParameters
5526 .LVL471:
2414:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2415:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Initialize timers
2416:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerInit( &MacStateCheckTimer, OnMacStateCheckTimerEvent );
5527 .loc 1 2416 0
5528 017c 2F4C ldr r4, .L295+56
5529 017e 3049 ldr r1, .L295+60
5530 0180 2000 movs r0, r4
5531 0182 FFF7FEFF bl TimerInit
5532 .LVL472:
2417:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerSetValue( &MacStateCheckTimer, MAC_STATE_CHECK_TIMEOUT );
5533 .loc 1 2417 0
5534 0186 FA21 movs r1, #250
5535 0188 8900 lsls r1, r1, #2
5536 018a 2000 movs r0, r4
5537 018c FFF7FEFF bl TimerSetValue
5538 .LVL473:
2418:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2419:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerInit( &TxDelayedTimer, OnTxDelayedTimerEvent );
5539 .loc 1 2419 0
5540 0190 2C49 ldr r1, .L295+64
5541 0192 2D48 ldr r0, .L295+68
5542 0194 FFF7FEFF bl TimerInit
5543 .LVL474:
2420:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerInit( &RxWindowTimer1, OnRxWindow1TimerEvent );
5544 .loc 1 2420 0
5545 0198 2C49 ldr r1, .L295+72
5546 019a 2D48 ldr r0, .L295+76
5547 019c FFF7FEFF bl TimerInit
5548 .LVL475:
ARM GAS /tmp/ccrFaSdZ.s page 153
2421:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerInit( &RxWindowTimer2, OnRxWindow2TimerEvent );
5549 .loc 1 2421 0
5550 01a0 2C49 ldr r1, .L295+80
5551 01a2 2D48 ldr r0, .L295+84
5552 01a4 FFF7FEFF bl TimerInit
5553 .LVL476:
2422:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** TimerInit( &AckTimeoutTimer, OnAckTimeoutTimerEvent );
5554 .loc 1 2422 0
5555 01a8 2C49 ldr r1, .L295+88
5556 01aa 2D48 ldr r0, .L295+92
5557 01ac FFF7FEFF bl TimerInit
5558 .LVL477:
2423:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2424:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Store the current initialization time
2425:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacInitializationTime = TimerGetCurrentTime( );
5559 .loc 1 2425 0
5560 01b0 FFF7FEFF bl TimerGetCurrentTime
5561 .LVL478:
5562 01b4 2B4B ldr r3, .L295+96
5563 01b6 1860 str r0, [r3]
2426:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2427:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Initialize Radio driver
2428:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RadioEvents.TxDone = OnRadioTxDone;
5564 .loc 1 2428 0
5565 01b8 2B48 ldr r0, .L295+100
5566 01ba 2C4B ldr r3, .L295+104
5567 01bc 0360 str r3, [r0]
2429:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RadioEvents.RxDone = OnRadioRxDone;
5568 .loc 1 2429 0
5569 01be 2C4B ldr r3, .L295+108
5570 01c0 8360 str r3, [r0, #8]
2430:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RadioEvents.RxError = OnRadioRxError;
5571 .loc 1 2430 0
5572 01c2 2C4B ldr r3, .L295+112
5573 01c4 0361 str r3, [r0, #16]
2431:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RadioEvents.TxTimeout = OnRadioTxTimeout;
5574 .loc 1 2431 0
5575 01c6 2C4B ldr r3, .L295+116
5576 01c8 4360 str r3, [r0, #4]
2432:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RadioEvents.RxTimeout = OnRadioRxTimeout;
5577 .loc 1 2432 0
5578 01ca 2C4B ldr r3, .L295+120
5579 01cc C360 str r3, [r0, #12]
2433:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Init( &RadioEvents );
5580 .loc 1 2433 0
5581 01ce 2C4C ldr r4, .L295+124
5582 01d0 A368 ldr r3, [r4, #8]
5583 01d2 9847 blx r3
5584 .LVL479:
2434:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2435:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Random seed initialization
2436:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** srand1( Radio.Random( ) );
5585 .loc 1 2436 0
5586 01d4 E369 ldr r3, [r4, #28]
5587 01d6 9847 blx r3
5588 .LVL480:
5589 01d8 FFF7FEFF bl srand1
ARM GAS /tmp/ccrFaSdZ.s page 154
5590 .LVL481:
2437:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2438:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PublicNetwork = true;
5591 .loc 1 2438 0
5592 01dc 294B ldr r3, .L295+128
5593 01de 1F70 strb r7, [r3]
2439:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.SetPublicNetwork( PublicNetwork );
5594 .loc 1 2439 0
5595 01e0 0120 movs r0, #1
5596 01e2 236E ldr r3, [r4, #96]
5597 01e4 9847 blx r3
5598 .LVL482:
2440:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Sleep( );
5599 .loc 1 2440 0
5600 01e6 636B ldr r3, [r4, #52]
5601 01e8 9847 blx r3
5602 .LVL483:
2441:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2442:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
5603 .loc 1 2442 0
5604 01ea 0020 movs r0, #0
5605 .L289:
2443:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5606 .loc 1 2443 0
5607 01ec 03B0 add sp, sp, #12
5608 @ sp needed
5609 01ee F0BD pop {r4, r5, r6, r7, pc}
5610 .LVL484:
5611 .L290:
2304:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5612 .loc 1 2304 0
5613 01f0 0320 movs r0, #3
5614 .LVL485:
5615 01f2 FBE7 b .L289
5616 .LVL486:
5617 .L291:
2311:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5618 .loc 1 2311 0
5619 01f4 0320 movs r0, #3
5620 .LVL487:
5621 01f6 F9E7 b .L289
5622 .LVL488:
5623 .L292:
5624 01f8 0320 movs r0, #3
5625 .LVL489:
5626 01fa F7E7 b .L289
5627 .LVL490:
5628 .L293:
5629 01fc 0320 movs r0, #3
5630 .LVL491:
5631 01fe F5E7 b .L289
5632 .LVL492:
5633 .L294:
2316:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5634 .loc 1 2316 0
5635 0200 0A20 movs r0, #10
5636 0202 F3E7 b .L289
ARM GAS /tmp/ccrFaSdZ.s page 155
5637 .L296:
5638 .align 2
5639 .L295:
5640 0204 00000000 .word .LANCHOR61
5641 0208 00000000 .word .LANCHOR30
5642 020c 00000000 .word .LANCHOR22
5643 0210 00000000 .word .LANCHOR26
5644 0214 00000000 .word .LANCHOR25
5645 0218 00000000 .word .LANCHOR24
5646 021c 00000000 .word .LANCHOR54
5647 0220 00000000 .word .LANCHOR59
5648 0224 00000000 .word .LANCHOR21
5649 0228 00000000 .word .LANCHOR43
5650 022c 00000000 .word .LANCHOR55
5651 0230 00000000 .word .LANCHOR56
5652 0234 00000000 .word .LANCHOR13
5653 0238 00000000 .word .LANCHOR14
5654 023c 00000000 .word .LANCHOR27
5655 0240 00000000 .word OnMacStateCheckTimerEvent
5656 0244 00000000 .word OnTxDelayedTimerEvent
5657 0248 00000000 .word .LANCHOR58
5658 024c 00000000 .word OnRxWindow1TimerEvent
5659 0250 00000000 .word .LANCHOR46
5660 0254 00000000 .word OnRxWindow2TimerEvent
5661 0258 00000000 .word .LANCHOR37
5662 025c 00000000 .word OnAckTimeoutTimerEvent
5663 0260 00000000 .word .LANCHOR23
5664 0264 00000000 .word .LANCHOR57
5665 0268 00000000 .word .LANCHOR62
5666 026c 00000000 .word OnRadioTxDone
5667 0270 00000000 .word OnRadioRxDone
5668 0274 00000000 .word OnRadioRxError
5669 0278 00000000 .word OnRadioTxTimeout
5670 027c 00000000 .word OnRadioRxTimeout
5671 0280 00000000 .word Radio
5672 0284 00000000 .word .LANCHOR63
5673 .cfi_endproc
5674 .LFE109:
5676 .section .text.LoRaMacQueryTxPossible,"ax",%progbits
5677 .align 1
5678 .global LoRaMacQueryTxPossible
5679 .syntax unified
5680 .code 16
5681 .thumb_func
5682 .fpu softvfp
5684 LoRaMacQueryTxPossible:
5685 .LFB110:
2444:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2445:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacQueryTxPossible( uint8_t size, LoRaMacTxInfo_t* txInfo )
2446:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
5686 .loc 1 2446 0
5687 .cfi_startproc
5688 @ args = 0, pretend = 0, frame = 32
5689 @ frame_needed = 0, uses_anonymous_args = 0
5690 .LVL493:
5691 0000 F0B5 push {r4, r5, r6, r7, lr}
5692 .LCFI36:
ARM GAS /tmp/ccrFaSdZ.s page 156
5693 .cfi_def_cfa_offset 20
5694 .cfi_offset 4, -20
5695 .cfi_offset 5, -16
5696 .cfi_offset 6, -12
5697 .cfi_offset 7, -8
5698 .cfi_offset 14, -4
5699 0002 CE46 mov lr, r9
5700 0004 00B5 push {lr}
5701 .LCFI37:
5702 .cfi_def_cfa_offset 24
5703 .cfi_offset 9, -24
5704 0006 8AB0 sub sp, sp, #40
5705 .LCFI38:
5706 .cfi_def_cfa_offset 64
5707 0008 0390 str r0, [sp, #12]
5708 000a 0E00 movs r6, r1
2447:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AdrNextParams_t adrNext;
2448:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
2449:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
2450:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** int8_t datarate = LoRaMacParamsDefaults.ChannelsDatarate;
5709 .loc 1 2450 0
5710 000c 344B ldr r3, .L305
5711 000e 0121 movs r1, #1
5712 .LVL494:
5713 0010 5956 ldrsb r1, [r3, r1]
5714 0012 0F22 movs r2, #15
5715 0014 02A8 add r0, sp, #8
5716 .LVL495:
5717 0016 8446 mov ip, r0
5718 0018 6244 add r2, r2, ip
5719 001a 1170 strb r1, [r2]
2451:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** int8_t txPower = LoRaMacParamsDefaults.ChannelsTxPower;
5720 .loc 1 2451 0
5721 001c 0022 movs r2, #0
5722 001e 9A56 ldrsb r2, [r3, r2]
5723 0020 0E23 movs r3, #14
5724 0022 6344 add r3, r3, ip
5725 0024 1A70 strb r2, [r3]
2452:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t fOptLen = MacCommandsBufferIndex + MacCommandsBufferToRepeatIndex;
5726 .loc 1 2452 0
5727 0026 2F4B ldr r3, .L305+4
5728 0028 1C78 ldrb r4, [r3]
5729 002a 2F4B ldr r3, .L305+8
5730 002c 1B78 ldrb r3, [r3]
5731 002e E418 adds r4, r4, r3
5732 0030 E4B2 uxtb r4, r4
5733 .LVL496:
2453:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2454:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( txInfo == NULL )
5734 .loc 1 2454 0
5735 0032 002E cmp r6, #0
5736 0034 52D0 beq .L302
2455:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2456:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
2457:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2458:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2459:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Setup ADR request
ARM GAS /tmp/ccrFaSdZ.s page 157
2460:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.UpdateChanMask = false;
5737 .loc 1 2460 0
5738 0036 07A9 add r1, sp, #28
5739 0038 0023 movs r3, #0
5740 003a 0B70 strb r3, [r1]
2461:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.AdrEnabled = AdrCtrlOn;
5741 .loc 1 2461 0
5742 003c 2B4B ldr r3, .L305+12
5743 003e 1B78 ldrb r3, [r3]
5744 0040 4B70 strb r3, [r1, #1]
2462:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.AdrAckCounter = AdrAckCounter;
5745 .loc 1 2462 0
5746 0042 2B4B ldr r3, .L305+16
5747 0044 1A68 ldr r2, [r3]
5748 0046 4A60 str r2, [r1, #4]
2463:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.Datarate = LoRaMacParams.ChannelsDatarate;
5749 .loc 1 2463 0
5750 0048 2A4F ldr r7, .L305+20
5751 004a 0122 movs r2, #1
5752 004c BA56 ldrsb r2, [r7, r2]
5753 004e 0A72 strb r2, [r1, #8]
2464:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.TxPower = LoRaMacParams.ChannelsTxPower;
5754 .loc 1 2464 0
5755 0050 0022 movs r2, #0
5756 0052 BA56 ldrsb r2, [r7, r2]
5757 0054 4A72 strb r2, [r1, #9]
2465:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** adrNext.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
5758 .loc 1 2465 0
5759 0056 2C22 movs r2, #44
5760 0058 9146 mov r9, r2
5761 005a BA5C ldrb r2, [r7, r2]
5762 005c 8A72 strb r2, [r1, #10]
2466:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2467:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // We call the function for information purposes only. We don't want to
2468:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // apply the datarate, the tx power and the ADR ack counter.
2469:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionAdrNext( LoRaMacRegion, &adrNext, &datarate, &txPower, &AdrAckCounter );
5763 .loc 1 2469 0
5764 005e 0F25 movs r5, #15
5765 0060 6544 add r5, r5, ip
5766 0062 254A ldr r2, .L305+24
5767 0064 1078 ldrb r0, [r2]
5768 0066 0093 str r3, [sp]
5769 0068 0E23 movs r3, #14
5770 006a 6344 add r3, r3, ip
5771 006c 2A00 movs r2, r5
5772 006e FFF7FEFF bl RegionAdrNext
5773 .LVL497:
2470:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2471:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Setup PHY request
2472:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
5774 .loc 1 2472 0
5775 0072 4B46 mov r3, r9
5776 0074 FA5C ldrb r2, [r7, r3]
5777 0076 06AB add r3, sp, #24
5778 0078 9A70 strb r2, [r3, #2]
2473:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Datarate = datarate;
5779 .loc 1 2473 0
ARM GAS /tmp/ccrFaSdZ.s page 158
5780 007a 2A78 ldrb r2, [r5]
5781 007c 5A70 strb r2, [r3, #1]
2474:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_PAYLOAD;
5782 .loc 1 2474 0
5783 007e 0922 movs r2, #9
5784 0080 1A70 strb r2, [r3]
2475:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2476:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Change request in case repeater is supported
2477:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RepeaterSupport == true )
5785 .loc 1 2477 0
5786 0082 1E4B ldr r3, .L305+28
5787 0084 1B78 ldrb r3, [r3]
5788 0086 002B cmp r3, #0
5789 0088 02D0 beq .L299
2478:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2479:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MAX_PAYLOAD_REPEATER;
5790 .loc 1 2479 0
5791 008a 06AB add r3, sp, #24
5792 008c 0132 adds r2, r2, #1
5793 008e 1A70 strb r2, [r3]
5794 .L299:
2480:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2481:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
5795 .loc 1 2481 0
5796 0090 194B ldr r3, .L305+24
5797 0092 1878 ldrb r0, [r3]
5798 0094 06A9 add r1, sp, #24
5799 0096 FFF7FEFF bl RegionGetPhyParam
5800 .LVL498:
2482:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txInfo->CurrentPayloadSize = phyParam.Value;
5801 .loc 1 2482 0
5802 009a C0B2 uxtb r0, r0
5803 009c 7070 strb r0, [r6, #1]
2483:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2484:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Verify if the fOpts fit into the maximum payload
2485:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( txInfo->CurrentPayloadSize >= fOptLen )
5804 .loc 1 2485 0
5805 009e A042 cmp r0, r4
5806 00a0 12D3 bcc .L300
2486:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2487:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txInfo->MaxPossiblePayload = txInfo->CurrentPayloadSize - fOptLen;
5807 .loc 1 2487 0
5808 00a2 001B subs r0, r0, r4
5809 00a4 3070 strb r0, [r6]
5810 .LVL499:
5811 .L301:
2488:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2489:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2490:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2491:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** txInfo->MaxPossiblePayload = txInfo->CurrentPayloadSize;
2492:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // The fOpts don't fit into the maximum payload. Omit the MAC commands to
2493:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // ensure that another uplink is possible.
2494:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fOptLen = 0;
2495:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
2496:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferToRepeatIndex = 0;
2497:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2498:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 159
2499:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Verify if the fOpts and the payload fit into the maximum payload
2500:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ValidatePayloadLength( size, datarate, fOptLen ) == false )
5812 .loc 1 2500 0
5813 00a6 0F23 movs r3, #15
5814 00a8 02AA add r2, sp, #8
5815 00aa 9446 mov ip, r2
5816 00ac 6344 add r3, r3, ip
5817 00ae 0021 movs r1, #0
5818 00b0 5956 ldrsb r1, [r3, r1]
5819 00b2 2200 movs r2, r4
5820 00b4 0398 ldr r0, [sp, #12]
5821 00b6 FFF7FEFF bl ValidatePayloadLength
5822 .LVL500:
5823 00ba 0028 cmp r0, #0
5824 00bc 0CD0 beq .L304
2501:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2502:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_LENGTH_ERROR;
2503:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2504:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
5825 .loc 1 2504 0
5826 00be 0020 movs r0, #0
5827 .L298:
2505:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5828 .loc 1 2505 0
5829 00c0 0AB0 add sp, sp, #40
5830 @ sp needed
5831 .LVL501:
5832 .LVL502:
5833 00c2 04BC pop {r2}
5834 00c4 9146 mov r9, r2
5835 00c6 F0BD pop {r4, r5, r6, r7, pc}
5836 .LVL503:
5837 .L300:
2491:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // The fOpts don't fit into the maximum payload. Omit the MAC commands to
5838 .loc 1 2491 0
5839 00c8 3070 strb r0, [r6]
5840 .LVL504:
2495:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferToRepeatIndex = 0;
5841 .loc 1 2495 0
5842 00ca 0023 movs r3, #0
5843 00cc 054A ldr r2, .L305+4
5844 00ce 1370 strb r3, [r2]
2496:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5845 .loc 1 2496 0
5846 00d0 054A ldr r2, .L305+8
5847 00d2 1370 strb r3, [r2]
2494:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MacCommandsBufferIndex = 0;
5848 .loc 1 2494 0
5849 00d4 0024 movs r4, #0
5850 00d6 E6E7 b .L301
5851 .LVL505:
5852 .L304:
2502:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5853 .loc 1 2502 0
5854 00d8 0830 adds r0, r0, #8
5855 00da F1E7 b .L298
5856 .L302:
ARM GAS /tmp/ccrFaSdZ.s page 160
2456:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
5857 .loc 1 2456 0
5858 00dc 0320 movs r0, #3
5859 00de EFE7 b .L298
5860 .L306:
5861 .align 2
5862 .L305:
5863 00e0 00000000 .word .LANCHOR13
5864 00e4 00000000 .word .LANCHOR10
5865 00e8 00000000 .word .LANCHOR11
5866 00ec 00000000 .word .LANCHOR29
5867 00f0 00000000 .word .LANCHOR3
5868 00f4 00000000 .word .LANCHOR14
5869 00f8 00000000 .word .LANCHOR22
5870 00fc 00000000 .word .LANCHOR21
5871 .cfi_endproc
5872 .LFE110:
5874 .section .text.LoRaMacMibGetRequestConfirm,"ax",%progbits
5875 .align 1
5876 .global LoRaMacMibGetRequestConfirm
5877 .syntax unified
5878 .code 16
5879 .thumb_func
5880 .fpu softvfp
5882 LoRaMacMibGetRequestConfirm:
5883 .LFB111:
2506:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2507:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacMibGetRequestConfirm( MibRequestConfirm_t *mibGet )
2508:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
5884 .loc 1 2508 0
5885 .cfi_startproc
5886 @ args = 0, pretend = 0, frame = 8
5887 @ frame_needed = 0, uses_anonymous_args = 0
5888 .LVL506:
5889 0000 10B5 push {r4, lr}
5890 .LCFI39:
5891 .cfi_def_cfa_offset 8
5892 .cfi_offset 4, -8
5893 .cfi_offset 14, -4
5894 0002 82B0 sub sp, sp, #8
5895 .LCFI40:
5896 .cfi_def_cfa_offset 16
5897 0004 041E subs r4, r0, #0
5898 .LVL507:
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t status = LORAMAC_STATUS_OK;
2510:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
2511:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
2512:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2513:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( mibGet == NULL )
5899 .loc 1 2513 0
5900 0006 00D1 bne .LCB5764
5901 0008 B3E0 b .L340 @long jump
5902 .LCB5764:
2514:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2515:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
2516:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2517:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 161
2518:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( mibGet->Type )
5903 .loc 1 2518 0
5904 000a 0378 ldrb r3, [r0]
5905 000c 1D2B cmp r3, #29
5906 000e 00D9 bls .LCB5767
5907 0010 B2E0 b .L341 @long jump
5908 .LCB5767:
5909 0012 9B00 lsls r3, r3, #2
5910 0014 594A ldr r2, .L342
5911 0016 D358 ldr r3, [r2, r3]
5912 0018 9F46 mov pc, r3
5913 .section .rodata.LoRaMacMibGetRequestConfirm,"a",%progbits
5914 .align 2
5915 .L310:
5916 0000 1A000000 .word .L309
5917 0004 24000000 .word .L311
5918 0008 2E000000 .word .L312
5919 000c 38000000 .word .L313
5920 0010 42000000 .word .L314
5921 0014 4C000000 .word .L315
5922 0018 54000000 .word .L316
5923 001c 5C000000 .word .L317
5924 0020 66000000 .word .L318
5925 0024 70000000 .word .L319
5926 0028 84000000 .word .L320
5927 002c 92000000 .word .L321
5928 0030 B4000000 .word .L322
5929 0034 A0000000 .word .L323
5930 0038 C8000000 .word .L324
5931 003c D4000000 .word .L325
5932 0040 DE000000 .word .L326
5933 0044 E8000000 .word .L327
5934 0048 F2000000 .word .L328
5935 004c FC000000 .word .L329
5936 0050 06010000 .word .L330
5937 0054 12010000 .word .L331
5938 0058 2A010000 .word .L332
5939 005c 1E010000 .word .L333
5940 0060 36010000 .word .L334
5941 0064 40010000 .word .L335
5942 0068 4A010000 .word .L336
5943 006c 54010000 .word .L337
5944 0070 5E010000 .word .L338
5945 0074 68010000 .word .L339
5946 .section .text.LoRaMacMibGetRequestConfirm
5947 .L309:
2519:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2520:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_DEVICE_CLASS:
2521:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2522:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.Class = LoRaMacDeviceClass;
5948 .loc 1 2522 0
5949 001a 594B ldr r3, .L342+4
5950 001c 1B78 ldrb r3, [r3]
5951 001e 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
5952 .loc 1 2509 0
5953 0020 0020 movs r0, #0
ARM GAS /tmp/ccrFaSdZ.s page 162
5954 .LVL508:
2523:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
5955 .loc 1 2523 0
5956 0022 A7E0 b .L308
5957 .LVL509:
5958 .L311:
2524:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2525:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_NETWORK_JOINED:
2526:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2527:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.IsNetworkJoined = IsLoRaMacNetworkJoined;
5959 .loc 1 2527 0
5960 0024 574B ldr r3, .L342+8
5961 0026 1B78 ldrb r3, [r3]
5962 0028 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
5963 .loc 1 2509 0
5964 002a 0020 movs r0, #0
5965 .LVL510:
2528:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
5966 .loc 1 2528 0
5967 002c A2E0 b .L308
5968 .LVL511:
5969 .L312:
2529:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2530:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_ADR:
2531:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2532:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.AdrEnable = AdrCtrlOn;
5970 .loc 1 2532 0
5971 002e 564B ldr r3, .L342+12
5972 0030 1B78 ldrb r3, [r3]
5973 0032 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
5974 .loc 1 2509 0
5975 0034 0020 movs r0, #0
5976 .LVL512:
2533:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
5977 .loc 1 2533 0
5978 0036 9DE0 b .L308
5979 .LVL513:
5980 .L313:
2534:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2535:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_NET_ID:
2536:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2537:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.NetID = LoRaMacNetID;
5981 .loc 1 2537 0
5982 0038 544B ldr r3, .L342+16
5983 003a 1B68 ldr r3, [r3]
5984 003c 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
5985 .loc 1 2509 0
5986 003e 0020 movs r0, #0
5987 .LVL514:
2538:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
5988 .loc 1 2538 0
5989 0040 98E0 b .L308
5990 .LVL515:
5991 .L314:
ARM GAS /tmp/ccrFaSdZ.s page 163
2539:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2540:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_DEV_ADDR:
2541:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2542:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.DevAddr = LoRaMacDevAddr;
5992 .loc 1 2542 0
5993 0042 534B ldr r3, .L342+20
5994 0044 1B68 ldr r3, [r3]
5995 0046 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
5996 .loc 1 2509 0
5997 0048 0020 movs r0, #0
5998 .LVL516:
2543:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
5999 .loc 1 2543 0
6000 004a 93E0 b .L308
6001 .LVL517:
6002 .L315:
2544:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2545:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_NWK_SKEY:
2546:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2547:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.NwkSKey = LoRaMacNwkSKey;
6003 .loc 1 2547 0
6004 004c 514B ldr r3, .L342+24
6005 004e 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6006 .loc 1 2509 0
6007 0050 0020 movs r0, #0
6008 .LVL518:
2548:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6009 .loc 1 2548 0
6010 0052 8FE0 b .L308
6011 .LVL519:
6012 .L316:
2549:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2550:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_APP_SKEY:
2551:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2552:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.AppSKey = LoRaMacAppSKey;
6013 .loc 1 2552 0
6014 0054 504B ldr r3, .L342+28
6015 0056 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6016 .loc 1 2509 0
6017 0058 0020 movs r0, #0
6018 .LVL520:
2553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6019 .loc 1 2553 0
6020 005a 8BE0 b .L308
6021 .LVL521:
6022 .L317:
2554:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2555:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_PUBLIC_NETWORK:
2556:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2557:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.EnablePublicNetwork = PublicNetwork;
6023 .loc 1 2557 0
6024 005c 4F4B ldr r3, .L342+32
6025 005e 1B78 ldrb r3, [r3]
6026 0060 0371 strb r3, [r0, #4]
ARM GAS /tmp/ccrFaSdZ.s page 164
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6027 .loc 1 2509 0
6028 0062 0020 movs r0, #0
6029 .LVL522:
2558:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6030 .loc 1 2558 0
6031 0064 86E0 b .L308
6032 .LVL523:
6033 .L318:
2559:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2560:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_REPEATER_SUPPORT:
2561:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2562:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.EnableRepeaterSupport = RepeaterSupport;
6034 .loc 1 2562 0
6035 0066 4E4B ldr r3, .L342+36
6036 0068 1B78 ldrb r3, [r3]
6037 006a 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6038 .loc 1 2509 0
6039 006c 0020 movs r0, #0
6040 .LVL524:
2563:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6041 .loc 1 2563 0
6042 006e 81E0 b .L308
6043 .LVL525:
6044 .L319:
2564:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2565:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS:
2566:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2567:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_CHANNELS;
6045 .loc 1 2567 0
6046 0070 01A9 add r1, sp, #4
6047 0072 1923 movs r3, #25
6048 0074 0B70 strb r3, [r1]
2568:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
6049 .loc 1 2568 0
6050 0076 4B4B ldr r3, .L342+40
6051 0078 1878 ldrb r0, [r3]
6052 .LVL526:
6053 007a FFF7FEFF bl RegionGetPhyParam
6054 .LVL527:
2569:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2570:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ChannelList = phyParam.Channels;
6055 .loc 1 2570 0
6056 007e 6060 str r0, [r4, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6057 .loc 1 2509 0
6058 0080 0020 movs r0, #0
6059 .LVL528:
2571:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6060 .loc 1 2571 0
6061 0082 77E0 b .L308
6062 .LVL529:
6063 .L320:
2572:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2573:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_RX2_CHANNEL:
2574:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
ARM GAS /tmp/ccrFaSdZ.s page 165
2575:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.Rx2Channel = LoRaMacParams.Rx2Channel;
6064 .loc 1 2575 0
6065 0084 0434 adds r4, r4, #4
6066 0086 484B ldr r3, .L342+44
6067 0088 2433 adds r3, r3, #36
6068 008a 06CB ldmia r3!, {r1, r2}
6069 008c 06C4 stmia r4!, {r1, r2}
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6070 .loc 1 2509 0
6071 008e 0020 movs r0, #0
6072 .LVL530:
2576:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6073 .loc 1 2576 0
6074 0090 70E0 b .L308
6075 .LVL531:
6076 .L321:
2577:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2578:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_RX2_DEFAULT_CHANNEL:
2579:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2580:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.Rx2Channel = LoRaMacParamsDefaults.Rx2Channel;
6077 .loc 1 2580 0
6078 0092 0434 adds r4, r4, #4
6079 0094 454B ldr r3, .L342+48
6080 0096 2433 adds r3, r3, #36
6081 0098 06CB ldmia r3!, {r1, r2}
6082 009a 06C4 stmia r4!, {r1, r2}
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6083 .loc 1 2509 0
6084 009c 0020 movs r0, #0
6085 .LVL532:
2581:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6086 .loc 1 2581 0
6087 009e 69E0 b .L308
6088 .LVL533:
6089 .L323:
2582:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2583:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_DEFAULT_MASK:
2584:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2585:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_CHANNELS_DEFAULT_MASK;
6090 .loc 1 2585 0
6091 00a0 01A9 add r1, sp, #4
6092 00a2 1723 movs r3, #23
6093 00a4 0B70 strb r3, [r1]
2586:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
6094 .loc 1 2586 0
6095 00a6 3F4B ldr r3, .L342+40
6096 00a8 1878 ldrb r0, [r3]
6097 .LVL534:
6098 00aa FFF7FEFF bl RegionGetPhyParam
6099 .LVL535:
2587:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2588:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ChannelsDefaultMask = phyParam.ChannelsMask;
6100 .loc 1 2588 0
6101 00ae 6060 str r0, [r4, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6102 .loc 1 2509 0
6103 00b0 0020 movs r0, #0
ARM GAS /tmp/ccrFaSdZ.s page 166
6104 .LVL536:
2589:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6105 .loc 1 2589 0
6106 00b2 5FE0 b .L308
6107 .LVL537:
6108 .L322:
2590:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2591:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_MASK:
2592:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2593:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_CHANNELS_MASK;
6109 .loc 1 2593 0
6110 00b4 01A9 add r1, sp, #4
6111 00b6 1623 movs r3, #22
6112 00b8 0B70 strb r3, [r1]
2594:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
6113 .loc 1 2594 0
6114 00ba 3A4B ldr r3, .L342+40
6115 00bc 1878 ldrb r0, [r3]
6116 .LVL538:
6117 00be FFF7FEFF bl RegionGetPhyParam
6118 .LVL539:
2595:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2596:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ChannelsMask = phyParam.ChannelsMask;
6119 .loc 1 2596 0
6120 00c2 6060 str r0, [r4, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6121 .loc 1 2509 0
6122 00c4 0020 movs r0, #0
6123 .LVL540:
2597:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6124 .loc 1 2597 0
6125 00c6 55E0 b .L308
6126 .LVL541:
6127 .L324:
2598:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2599:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_NB_REP:
2600:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2601:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ChannelNbRep = LoRaMacParams.ChannelsNbRep;
6128 .loc 1 2601 0
6129 00c8 374A ldr r2, .L342+44
6130 00ca 2023 movs r3, #32
6131 00cc D35C ldrb r3, [r2, r3]
6132 00ce 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6133 .loc 1 2509 0
6134 00d0 0020 movs r0, #0
6135 .LVL542:
2602:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6136 .loc 1 2602 0
6137 00d2 4FE0 b .L308
6138 .LVL543:
6139 .L325:
2603:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2604:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_MAX_RX_WINDOW_DURATION:
2605:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2606:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.MaxRxWindow = LoRaMacParams.MaxRxWindow;
6140 .loc 1 2606 0
ARM GAS /tmp/ccrFaSdZ.s page 167
6141 00d4 344B ldr r3, .L342+44
6142 00d6 DB68 ldr r3, [r3, #12]
6143 00d8 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6144 .loc 1 2509 0
6145 00da 0020 movs r0, #0
6146 .LVL544:
2607:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6147 .loc 1 2607 0
6148 00dc 4AE0 b .L308
6149 .LVL545:
6150 .L326:
2608:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2609:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_RECEIVE_DELAY_1:
2610:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2611:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ReceiveDelay1 = LoRaMacParams.ReceiveDelay1;
6151 .loc 1 2611 0
6152 00de 324B ldr r3, .L342+44
6153 00e0 1B69 ldr r3, [r3, #16]
6154 00e2 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6155 .loc 1 2509 0
6156 00e4 0020 movs r0, #0
6157 .LVL546:
2612:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6158 .loc 1 2612 0
6159 00e6 45E0 b .L308
6160 .LVL547:
6161 .L327:
2613:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2614:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_RECEIVE_DELAY_2:
2615:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2616:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ReceiveDelay2 = LoRaMacParams.ReceiveDelay2;
6162 .loc 1 2616 0
6163 00e8 2F4B ldr r3, .L342+44
6164 00ea 5B69 ldr r3, [r3, #20]
6165 00ec 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6166 .loc 1 2509 0
6167 00ee 0020 movs r0, #0
6168 .LVL548:
2617:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6169 .loc 1 2617 0
6170 00f0 40E0 b .L308
6171 .LVL549:
6172 .L328:
2618:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2619:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_JOIN_ACCEPT_DELAY_1:
2620:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2621:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.JoinAcceptDelay1 = LoRaMacParams.JoinAcceptDelay1;
6173 .loc 1 2621 0
6174 00f2 2D4B ldr r3, .L342+44
6175 00f4 9B69 ldr r3, [r3, #24]
6176 00f6 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6177 .loc 1 2509 0
6178 00f8 0020 movs r0, #0
ARM GAS /tmp/ccrFaSdZ.s page 168
6179 .LVL550:
2622:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6180 .loc 1 2622 0
6181 00fa 3BE0 b .L308
6182 .LVL551:
6183 .L329:
2623:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2624:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_JOIN_ACCEPT_DELAY_2:
2625:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2626:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.JoinAcceptDelay2 = LoRaMacParams.JoinAcceptDelay2;
6184 .loc 1 2626 0
6185 00fc 2A4B ldr r3, .L342+44
6186 00fe DB69 ldr r3, [r3, #28]
6187 0100 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6188 .loc 1 2509 0
6189 0102 0020 movs r0, #0
6190 .LVL552:
2627:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6191 .loc 1 2627 0
6192 0104 36E0 b .L308
6193 .LVL553:
6194 .L330:
2628:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2629:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_DEFAULT_DATARATE:
2630:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2631:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ChannelsDefaultDatarate = LoRaMacParamsDefaults.ChannelsDatarate;
6195 .loc 1 2631 0
6196 0106 294B ldr r3, .L342+48
6197 0108 5B78 ldrb r3, [r3, #1]
6198 010a 5BB2 sxtb r3, r3
6199 010c 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6200 .loc 1 2509 0
6201 010e 0020 movs r0, #0
6202 .LVL554:
2632:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6203 .loc 1 2632 0
6204 0110 30E0 b .L308
6205 .LVL555:
6206 .L331:
2633:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2634:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_DATARATE:
2635:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2636:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ChannelsDatarate = LoRaMacParams.ChannelsDatarate;
6207 .loc 1 2636 0
6208 0112 254B ldr r3, .L342+44
6209 0114 5B78 ldrb r3, [r3, #1]
6210 0116 5BB2 sxtb r3, r3
6211 0118 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6212 .loc 1 2509 0
6213 011a 0020 movs r0, #0
6214 .LVL556:
2637:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6215 .loc 1 2637 0
6216 011c 2AE0 b .L308
ARM GAS /tmp/ccrFaSdZ.s page 169
6217 .LVL557:
6218 .L333:
2638:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2639:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_DEFAULT_TX_POWER:
2640:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ChannelsDefaultTxPower = LoRaMacParamsDefaults.ChannelsTxPower;
6219 .loc 1 2641 0
6220 011e 234B ldr r3, .L342+48
6221 0120 1B78 ldrb r3, [r3]
6222 0122 5BB2 sxtb r3, r3
6223 0124 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6224 .loc 1 2509 0
6225 0126 0020 movs r0, #0
6226 .LVL558:
2642:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6227 .loc 1 2642 0
6228 0128 24E0 b .L308
6229 .LVL559:
6230 .L332:
2643:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2644:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_TX_POWER:
2645:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2646:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.ChannelsTxPower = LoRaMacParams.ChannelsTxPower;
6231 .loc 1 2646 0
6232 012a 1F4B ldr r3, .L342+44
6233 012c 1B78 ldrb r3, [r3]
6234 012e 5BB2 sxtb r3, r3
6235 0130 0371 strb r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6236 .loc 1 2509 0
6237 0132 0020 movs r0, #0
6238 .LVL560:
2647:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6239 .loc 1 2647 0
6240 0134 1EE0 b .L308
6241 .LVL561:
6242 .L334:
2648:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2649:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_UPLINK_COUNTER:
2650:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2651:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.UpLinkCounter = UpLinkCounter;
6243 .loc 1 2651 0
6244 0136 1E4B ldr r3, .L342+52
6245 0138 1B68 ldr r3, [r3]
6246 013a 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6247 .loc 1 2509 0
6248 013c 0020 movs r0, #0
6249 .LVL562:
2652:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6250 .loc 1 2652 0
6251 013e 19E0 b .L308
6252 .LVL563:
6253 .L335:
2653:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2654:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_DOWNLINK_COUNTER:
ARM GAS /tmp/ccrFaSdZ.s page 170
2655:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2656:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.DownLinkCounter = DownLinkCounter;
6254 .loc 1 2656 0
6255 0140 1C4B ldr r3, .L342+56
6256 0142 1B68 ldr r3, [r3]
6257 0144 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6258 .loc 1 2509 0
6259 0146 0020 movs r0, #0
6260 .LVL564:
2657:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6261 .loc 1 2657 0
6262 0148 14E0 b .L308
6263 .LVL565:
6264 .L336:
2658:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2659:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_MULTICAST_CHANNEL:
2660:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2661:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.MulticastList = MulticastChannels;
6265 .loc 1 2661 0
6266 014a 1B4B ldr r3, .L342+60
6267 014c 1B68 ldr r3, [r3]
6268 014e 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6269 .loc 1 2509 0
6270 0150 0020 movs r0, #0
6271 .LVL566:
2662:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6272 .loc 1 2662 0
6273 0152 0FE0 b .L308
6274 .LVL567:
6275 .L337:
2663:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2664:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_SYSTEM_MAX_RX_ERROR:
2665:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2666:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.SystemMaxRxError = LoRaMacParams.SystemMaxRxError;
6276 .loc 1 2666 0
6277 0154 144B ldr r3, .L342+44
6278 0156 5B68 ldr r3, [r3, #4]
6279 0158 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6280 .loc 1 2509 0
6281 015a 0020 movs r0, #0
6282 .LVL568:
2667:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6283 .loc 1 2667 0
6284 015c 0AE0 b .L308
6285 .LVL569:
6286 .L338:
2668:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2669:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_MIN_RX_SYMBOLS:
2670:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2671:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.MinRxSymbols = LoRaMacParams.MinRxSymbols;
6287 .loc 1 2671 0
6288 015e 124B ldr r3, .L342+44
6289 0160 1B7A ldrb r3, [r3, #8]
6290 0162 0371 strb r3, [r0, #4]
ARM GAS /tmp/ccrFaSdZ.s page 171
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6291 .loc 1 2509 0
6292 0164 0020 movs r0, #0
6293 .LVL570:
2672:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6294 .loc 1 2672 0
6295 0166 05E0 b .L308
6296 .LVL571:
6297 .L339:
2673:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2674:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_ANTENNA_GAIN:
2675:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2676:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mibGet->Param.AntennaGain = LoRaMacParams.AntennaGain;
6298 .loc 1 2676 0
6299 0168 0F4B ldr r3, .L342+44
6300 016a 5B6B ldr r3, [r3, #52]
6301 016c 4360 str r3, [r0, #4]
2509:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
6302 .loc 1 2509 0
6303 016e 0020 movs r0, #0
6304 .LVL572:
2677:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6305 .loc 1 2677 0
6306 0170 00E0 b .L308
6307 .LVL573:
6308 .L340:
2515:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
6309 .loc 1 2515 0
6310 0172 0320 movs r0, #3
6311 .LVL574:
6312 .L308:
2678:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2679:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
2680:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_SERVICE_UNKNOWN;
2681:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2682:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2683:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2684:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return status;
2685:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
6313 .loc 1 2685 0
6314 0174 02B0 add sp, sp, #8
6315 @ sp needed
6316 0176 10BD pop {r4, pc}
6317 .LVL575:
6318 .L341:
2680:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6319 .loc 1 2680 0
6320 0178 0220 movs r0, #2
6321 .LVL576:
6322 017a FBE7 b .L308
6323 .L343:
6324 .align 2
6325 .L342:
6326 017c 00000000 .word .L310
6327 0180 00000000 .word .LANCHOR25
6328 0184 00000000 .word .LANCHOR0
6329 0188 00000000 .word .LANCHOR29
ARM GAS /tmp/ccrFaSdZ.s page 172
6330 018c 00000000 .word .LANCHOR40
6331 0190 00000000 .word .LANCHOR41
6332 0194 00000000 .word .LANCHOR33
6333 0198 00000000 .word .LANCHOR32
6334 019c 00000000 .word .LANCHOR63
6335 01a0 00000000 .word .LANCHOR21
6336 01a4 00000000 .word .LANCHOR22
6337 01a8 00000000 .word .LANCHOR14
6338 01ac 00000000 .word .LANCHOR13
6339 01b0 00000000 .word .LANCHOR1
6340 01b4 00000000 .word .LANCHOR2
6341 01b8 00000000 .word .LANCHOR18
6342 .cfi_endproc
6343 .LFE111:
6345 .section .text.LoRaMacMibSetRequestConfirm,"ax",%progbits
6346 .align 1
6347 .global LoRaMacMibSetRequestConfirm
6348 .syntax unified
6349 .code 16
6350 .thumb_func
6351 .fpu softvfp
6353 LoRaMacMibSetRequestConfirm:
6354 .LFB112:
2686:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2687:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacMibSetRequestConfirm( MibRequestConfirm_t *mibSet )
2688:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
6355 .loc 1 2688 0
6356 .cfi_startproc
6357 @ args = 0, pretend = 0, frame = 16
6358 @ frame_needed = 0, uses_anonymous_args = 0
6359 .LVL577:
6360 0000 70B5 push {r4, r5, r6, lr}
6361 .LCFI41:
6362 .cfi_def_cfa_offset 16
6363 .cfi_offset 4, -16
6364 .cfi_offset 5, -12
6365 .cfi_offset 6, -8
6366 .cfi_offset 14, -4
6367 0002 86B0 sub sp, sp, #24
6368 .LCFI42:
6369 .cfi_def_cfa_offset 40
6370 0004 041E subs r4, r0, #0
6371 .LVL578:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t status = LORAMAC_STATUS_OK;
2690:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
2691:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** VerifyParams_t verify;
2692:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2693:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( mibSet == NULL )
6372 .loc 1 2693 0
6373 0006 00D1 bne .LCB6177
6374 0008 6AE1 b .L379 @long jump
6375 .LCB6177:
2694:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2695:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
2696:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2697:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_RUNNING ) == LORAMAC_TX_RUNNING )
6376 .loc 1 2697 0
ARM GAS /tmp/ccrFaSdZ.s page 173
6377 000a C54B ldr r3, .L400
6378 000c 1B68 ldr r3, [r3]
6379 000e DB07 lsls r3, r3, #31
6380 0010 00D5 bpl .LCB6183
6381 0012 67E1 b .L380 @long jump
6382 .LCB6183:
2698:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2699:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_BUSY;
2700:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2701:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2702:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( mibSet->Type )
6383 .loc 1 2702 0
6384 0014 0378 ldrb r3, [r0]
6385 0016 1D2B cmp r3, #29
6386 0018 00D9 bls .LCB6186
6387 001a 66E1 b .L381 @long jump
6388 .LCB6186:
6389 001c 9B00 lsls r3, r3, #2
6390 001e C14A ldr r2, .L400+4
6391 0020 D358 ldr r3, [r2, r3]
6392 0022 9F46 mov pc, r3
6393 .section .rodata.LoRaMacMibSetRequestConfirm,"a",%progbits
6394 .align 2
6395 .L347:
6396 0000 24000000 .word .L346
6397 0004 4E000000 .word .L348
6398 0008 58000000 .word .L349
6399 000c 62000000 .word .L350
6400 0010 6C000000 .word .L351
6401 0014 76000000 .word .L352
6402 0018 8A000000 .word .L353
6403 001c 9E000000 .word .L354
6404 0020 AE000000 .word .L355
6405 0024 EA020000 .word .L381
6406 0028 B8000000 .word .L356
6407 002c 66010000 .word .L357
6408 0030 B0010000 .word .L358
6409 0034 94010000 .word .L359
6410 0038 CC010000 .word .L360
6411 003c E2010000 .word .L361
6412 0040 EC010000 .word .L362
6413 0044 F6010000 .word .L363
6414 0048 00020000 .word .L364
6415 004c 0A020000 .word .L365
6416 0050 14020000 .word .L366
6417 0054 3A020000 .word .L367
6418 0058 82020000 .word .L368
6419 005c 5E020000 .word .L369
6420 0060 A6020000 .word .L370
6421 0064 B0020000 .word .L371
6422 0068 EA020000 .word .L381
6423 006c BA020000 .word .L372
6424 0070 C8020000 .word .L373
6425 0074 D6020000 .word .L374
6426 .section .text.LoRaMacMibSetRequestConfirm
6427 .L346:
2703:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
ARM GAS /tmp/ccrFaSdZ.s page 174
2704:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_DEVICE_CLASS:
2705:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2706:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDeviceClass = mibSet->Param.Class;
6428 .loc 1 2706 0
6429 0024 0379 ldrb r3, [r0, #4]
6430 0026 C04A ldr r2, .L400+8
6431 0028 1370 strb r3, [r2]
2707:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( LoRaMacDeviceClass )
6432 .loc 1 2707 0
6433 002a 002B cmp r3, #0
6434 002c 03D0 beq .L375
6435 002e 022B cmp r3, #2
6436 0030 06D0 beq .L376
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6437 .loc 1 2689 0
6438 0032 0020 movs r0, #0
6439 .LVL579:
6440 0034 57E1 b .L345
6441 .LVL580:
6442 .L375:
2708:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2709:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case CLASS_A:
2710:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2711:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Set the radio into sleep to setup a defined state
2712:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.Sleep( );
6443 .loc 1 2712 0
6444 0036 BD4B ldr r3, .L400+12
6445 0038 5B6B ldr r3, [r3, #52]
6446 003a 9847 blx r3
6447 .LVL581:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6448 .loc 1 2689 0
6449 003c 0020 movs r0, #0
2713:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6450 .loc 1 2713 0
6451 003e 52E1 b .L345
6452 .LVL582:
6453 .L376:
2714:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2715:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case CLASS_B:
2716:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2717:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2718:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2719:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case CLASS_C:
2720:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2721:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Set the NodeAckRequested indicator to default
2722:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
6454 .loc 1 2722 0
6455 0040 BB4B ldr r3, .L400+16
6456 0042 0022 movs r2, #0
6457 0044 1A70 strb r2, [r3]
2723:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** OnRxWindow2TimerEvent( );
6458 .loc 1 2723 0
6459 0046 FFF7FEFF bl OnRxWindow2TimerEvent
6460 .LVL583:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6461 .loc 1 2689 0
ARM GAS /tmp/ccrFaSdZ.s page 175
6462 004a 0020 movs r0, #0
2724:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6463 .loc 1 2724 0
6464 004c 4BE1 b .L345
6465 .LVL584:
6466 .L348:
2725:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2726:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2727:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2728:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2729:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_NETWORK_JOINED:
2730:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2731:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** IsLoRaMacNetworkJoined = mibSet->Param.IsNetworkJoined;
6467 .loc 1 2731 0
6468 004e 0279 ldrb r2, [r0, #4]
6469 0050 B84B ldr r3, .L400+20
6470 0052 1A70 strb r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6471 .loc 1 2689 0
6472 0054 0020 movs r0, #0
6473 .LVL585:
2732:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6474 .loc 1 2732 0
6475 0056 46E1 b .L345
6476 .LVL586:
6477 .L349:
2733:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2734:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_ADR:
2735:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2736:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AdrCtrlOn = mibSet->Param.AdrEnable;
6478 .loc 1 2736 0
6479 0058 0279 ldrb r2, [r0, #4]
6480 005a B74B ldr r3, .L400+24
6481 005c 1A70 strb r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6482 .loc 1 2689 0
6483 005e 0020 movs r0, #0
6484 .LVL587:
2737:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6485 .loc 1 2737 0
6486 0060 41E1 b .L345
6487 .LVL588:
6488 .L350:
2738:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2739:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_NET_ID:
2740:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2741:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacNetID = mibSet->Param.NetID;
6489 .loc 1 2741 0
6490 0062 4268 ldr r2, [r0, #4]
6491 0064 B54B ldr r3, .L400+28
6492 0066 1A60 str r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6493 .loc 1 2689 0
6494 0068 0020 movs r0, #0
6495 .LVL589:
2742:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6496 .loc 1 2742 0
ARM GAS /tmp/ccrFaSdZ.s page 176
6497 006a 3CE1 b .L345
6498 .LVL590:
6499 .L351:
2743:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2744:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_DEV_ADDR:
2745:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2746:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevAddr = mibSet->Param.DevAddr;
6500 .loc 1 2746 0
6501 006c 4268 ldr r2, [r0, #4]
6502 006e B44B ldr r3, .L400+32
6503 0070 1A60 str r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6504 .loc 1 2689 0
6505 0072 0020 movs r0, #0
6506 .LVL591:
2747:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6507 .loc 1 2747 0
6508 0074 37E1 b .L345
6509 .LVL592:
6510 .L352:
2748:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2749:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_NWK_SKEY:
2750:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2751:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( mibSet->Param.NwkSKey != NULL )
6511 .loc 1 2751 0
6512 0076 4168 ldr r1, [r0, #4]
6513 0078 0029 cmp r1, #0
6514 007a 00D1 bne .LCB6277
6515 007c 37E1 b .L383 @long jump
6516 .LCB6277:
2752:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2753:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memcpy1( LoRaMacNwkSKey, mibSet->Param.NwkSKey,
6517 .loc 1 2753 0
6518 007e 1022 movs r2, #16
6519 0080 B048 ldr r0, .L400+36
6520 .LVL593:
6521 0082 FFF7FEFF bl memcpy1
6522 .LVL594:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6523 .loc 1 2689 0
6524 0086 0020 movs r0, #0
6525 0088 2DE1 b .L345
6526 .LVL595:
6527 .L353:
2754:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** sizeof( LoRaMacNwkSKey ) );
2755:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2756:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2757:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2758:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2759:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2760:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2761:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2762:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_APP_SKEY:
2763:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2764:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( mibSet->Param.AppSKey != NULL )
6528 .loc 1 2764 0
6529 008a 4168 ldr r1, [r0, #4]
ARM GAS /tmp/ccrFaSdZ.s page 177
6530 008c 0029 cmp r1, #0
6531 008e 00D1 bne .LCB6291
6532 0090 2FE1 b .L384 @long jump
6533 .LCB6291:
2765:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2766:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memcpy1( LoRaMacAppSKey, mibSet->Param.AppSKey,
6534 .loc 1 2766 0
6535 0092 1022 movs r2, #16
6536 0094 AC48 ldr r0, .L400+40
6537 .LVL596:
6538 0096 FFF7FEFF bl memcpy1
6539 .LVL597:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6540 .loc 1 2689 0
6541 009a 0020 movs r0, #0
6542 009c 23E1 b .L345
6543 .LVL598:
6544 .L354:
2767:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** sizeof( LoRaMacAppSKey ) );
2768:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2769:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2770:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2771:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2772:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2773:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2774:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2775:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_PUBLIC_NETWORK:
2776:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2777:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PublicNetwork = mibSet->Param.EnablePublicNetwork;
6545 .loc 1 2777 0
6546 009e 0079 ldrb r0, [r0, #4]
6547 .LVL599:
6548 00a0 AA4B ldr r3, .L400+44
6549 00a2 1870 strb r0, [r3]
2778:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Radio.SetPublicNetwork( PublicNetwork );
6550 .loc 1 2778 0
6551 00a4 A14B ldr r3, .L400+12
6552 00a6 1B6E ldr r3, [r3, #96]
6553 00a8 9847 blx r3
6554 .LVL600:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6555 .loc 1 2689 0
6556 00aa 0020 movs r0, #0
2779:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6557 .loc 1 2779 0
6558 00ac 1BE1 b .L345
6559 .LVL601:
6560 .L355:
2780:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2781:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_REPEATER_SUPPORT:
2782:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2783:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RepeaterSupport = mibSet->Param.EnableRepeaterSupport;
6561 .loc 1 2783 0
6562 00ae 0279 ldrb r2, [r0, #4]
6563 00b0 A74B ldr r3, .L400+48
6564 00b2 1A70 strb r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
ARM GAS /tmp/ccrFaSdZ.s page 178
6565 .loc 1 2689 0
6566 00b4 0020 movs r0, #0
6567 .LVL602:
2784:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6568 .loc 1 2784 0
6569 00b6 16E1 b .L345
6570 .LVL603:
6571 .L356:
2785:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2786:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_RX2_CHANNEL:
2787:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2788:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.Datarate = mibSet->Param.Rx2Channel.Datarate;
6572 .loc 1 2788 0
6573 00b8 0823 movs r3, #8
6574 00ba C356 ldrsb r3, [r0, r3]
6575 00bc 03A9 add r1, sp, #12
6576 00be 0B70 strb r3, [r1]
2789:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.DownlinkDwellTime = LoRaMacParams.DownlinkDwellTime;
6577 .loc 1 2789 0
6578 00c0 A44A ldr r2, .L400+52
6579 00c2 2D23 movs r3, #45
6580 00c4 D35C ldrb r3, [r2, r3]
6581 00c6 4B70 strb r3, [r1, #1]
2790:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2791:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_RX_DR ) == true )
6582 .loc 1 2791 0
6583 00c8 A34B ldr r3, .L400+56
6584 00ca 1878 ldrb r0, [r3]
6585 .LVL604:
6586 00cc 0622 movs r2, #6
6587 00ce FFF7FEFF bl RegionVerify
6588 .LVL605:
6589 00d2 0028 cmp r0, #0
6590 00d4 00D1 bne .LCB6342
6591 00d6 0EE1 b .L385 @long jump
6592 .LCB6342:
2792:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2793:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel = mibSet->Param.Rx2Channel;
6593 .loc 1 2793 0
6594 00d8 9E4B ldr r3, .L400+52
6595 00da 2433 adds r3, r3, #36
6596 00dc 0434 adds r4, r4, #4
6597 .LVL606:
6598 00de 06CC ldmia r4!, {r1, r2}
6599 00e0 06C3 stmia r3!, {r1, r2}
6600 .LVL607:
2794:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2795:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacDeviceClass == CLASS_C ) && ( IsLoRaMacNetworkJoined == true ) )
6601 .loc 1 2795 0
6602 00e2 914B ldr r3, .L400+8
6603 00e4 1B78 ldrb r3, [r3]
6604 00e6 022B cmp r3, #2
6605 00e8 01D0 beq .L398
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6606 .loc 1 2689 0
6607 00ea 0020 movs r0, #0
6608 00ec FBE0 b .L345
ARM GAS /tmp/ccrFaSdZ.s page 179
6609 .L398:
6610 .loc 1 2795 0 discriminator 1
6611 00ee 914B ldr r3, .L400+20
6612 00f0 1B78 ldrb r3, [r3]
6613 00f2 002B cmp r3, #0
6614 00f4 01D1 bne .L399
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6615 .loc 1 2689 0
6616 00f6 0020 movs r0, #0
6617 00f8 F5E0 b .L345
6618 .L399:
2796:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2797:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Compute Rx2 windows parameters
2798:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RegionComputeRxWindowParameters( LoRaMacRegion,
2799:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Datarate,
6619 .loc 1 2799 0
6620 00fa 964D ldr r5, .L400+52
2798:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.Rx2Channel.Datarate,
6621 .loc 1 2798 0
6622 00fc 6B68 ldr r3, [r5, #4]
6623 00fe 2A7A ldrb r2, [r5, #8]
6624 0100 2821 movs r1, #40
6625 0102 6956 ldrsb r1, [r5, r1]
6626 0104 944E ldr r6, .L400+56
6627 0106 3078 ldrb r0, [r6]
6628 0108 944C ldr r4, .L400+60
6629 .LVL608:
6630 010a 0094 str r4, [sp]
6631 010c FFF7FEFF bl RegionComputeRxWindowParameters
6632 .LVL609:
2800:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MinRxSymbols,
2801:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.SystemMaxRxError,
2802:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** &RxWindow2Config );
2803:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2804:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.Channel = Channel;
6633 .loc 1 2804 0
6634 0110 934B ldr r3, .L400+64
6635 0112 1B78 ldrb r3, [r3]
6636 0114 2370 strb r3, [r4]
2805:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.Frequency = LoRaMacParams.Rx2Channel.Frequency;
6637 .loc 1 2805 0
6638 0116 6B6A ldr r3, [r5, #36]
6639 0118 6360 str r3, [r4, #4]
2806:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.DownlinkDwellTime = LoRaMacParams.DownlinkDwellTime;
6640 .loc 1 2806 0
6641 011a 2D23 movs r3, #45
6642 011c EB5C ldrb r3, [r5, r3]
6643 011e 2374 strb r3, [r4, #16]
2807:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.RepeaterSupport = RepeaterSupport;
6644 .loc 1 2807 0
6645 0120 8B4B ldr r3, .L400+48
6646 0122 1B78 ldrb r3, [r3]
6647 0124 6374 strb r3, [r4, #17]
2808:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.Window = 1;
6648 .loc 1 2808 0
6649 0126 0123 movs r3, #1
6650 0128 E374 strb r3, [r4, #19]
ARM GAS /tmp/ccrFaSdZ.s page 180
2809:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindow2Config.RxContinuous = true;
6651 .loc 1 2809 0
6652 012a A374 strb r3, [r4, #18]
2810:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2811:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionRxConfig( LoRaMacRegion, &RxWindow2Config, ( int8_t* )&McpsIndication
6653 .loc 1 2811 0
6654 012c 8D4A ldr r2, .L400+68
6655 012e 3078 ldrb r0, [r6]
6656 0130 0432 adds r2, r2, #4
6657 0132 2100 movs r1, r4
6658 0134 FFF7FEFF bl RegionRxConfig
6659 .LVL610:
6660 0138 0028 cmp r0, #0
6661 013a 00D1 bne .LCB6402
6662 013c DDE0 b .L388 @long jump
6663 .LCB6402:
2812:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2813:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxWindowSetup( RxWindow2Config.RxContinuous, LoRaMacParams.MaxRxWindow );
6664 .loc 1 2813 0
6665 013e 874B ldr r3, .L400+60
6666 0140 9B7C ldrb r3, [r3, #18]
6667 0142 844A ldr r2, .L400+52
6668 0144 D068 ldr r0, [r2, #12]
6669 .LVL611:
6670 .LBB81:
6671 .LBB82:
1508:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
6672 .loc 1 1508 0
6673 0146 002B cmp r3, #0
6674 0148 08D1 bne .L377
1510:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
6675 .loc 1 1510 0
6676 014a 784B ldr r3, .L400+12
6677 .LVL612:
6678 014c DB6B ldr r3, [r3, #60]
6679 014e 9847 blx r3
6680 .LVL613:
6681 .L378:
6682 .LBE82:
6683 .LBE81:
2814:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** RxSlot = RxWindow2Config.Window;
6684 .loc 1 2814 0
6685 0150 824B ldr r3, .L400+60
6686 0152 DA7C ldrb r2, [r3, #19]
6687 0154 844B ldr r3, .L400+72
6688 0156 1A70 strb r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6689 .loc 1 2689 0
6690 0158 0020 movs r0, #0
6691 015a C4E0 b .L345
6692 .LVL614:
6693 .L377:
6694 .LBB84:
6695 .LBB83:
1514:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
6696 .loc 1 1514 0
6697 015c 734B ldr r3, .L400+12
ARM GAS /tmp/ccrFaSdZ.s page 181
6698 .LVL615:
6699 015e DB6B ldr r3, [r3, #60]
6700 0160 0020 movs r0, #0
6701 .LVL616:
6702 0162 9847 blx r3
6703 .LVL617:
6704 0164 F4E7 b .L378
6705 .LVL618:
6706 .L357:
6707 .LBE83:
6708 .LBE84:
2815:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2816:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2817:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2818:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2819:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2820:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2821:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2822:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2823:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2824:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2825:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2826:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2827:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2828:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_RX2_DEFAULT_CHANNEL:
2829:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2830:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.Datarate = mibSet->Param.Rx2Channel.Datarate;
6709 .loc 1 2830 0
6710 0166 0823 movs r3, #8
6711 0168 C356 ldrsb r3, [r0, r3]
6712 016a 03A9 add r1, sp, #12
6713 016c 0B70 strb r3, [r1]
2831:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.DownlinkDwellTime = LoRaMacParams.DownlinkDwellTime;
6714 .loc 1 2831 0
6715 016e 794A ldr r2, .L400+52
6716 0170 2D23 movs r3, #45
6717 0172 D35C ldrb r3, [r2, r3]
6718 0174 4B70 strb r3, [r1, #1]
2832:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2833:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_RX_DR ) == true )
6719 .loc 1 2833 0
6720 0176 784B ldr r3, .L400+56
6721 0178 1878 ldrb r0, [r3]
6722 .LVL619:
6723 017a 0622 movs r2, #6
6724 017c FFF7FEFF bl RegionVerify
6725 .LVL620:
6726 0180 0028 cmp r0, #0
6727 0182 00D1 bne .LCB6472
6728 0184 BBE0 b .L389 @long jump
6729 .LCB6472:
2834:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2835:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.Rx2Channel = mibSet->Param.Rx2DefaultChannel;
6730 .loc 1 2835 0
6731 0186 794B ldr r3, .L400+76
6732 0188 2433 adds r3, r3, #36
6733 018a 0434 adds r4, r4, #4
ARM GAS /tmp/ccrFaSdZ.s page 182
6734 .LVL621:
6735 018c 06CC ldmia r4!, {r1, r2}
6736 018e 06C3 stmia r3!, {r1, r2}
6737 .LVL622:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6738 .loc 1 2689 0
6739 0190 0020 movs r0, #0
6740 0192 A8E0 b .L345
6741 .LVL623:
6742 .L359:
2836:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2837:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2838:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2839:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2840:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2841:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2842:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2843:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_DEFAULT_MASK:
2844:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2845:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chanMaskSet.ChannelsMaskIn = mibSet->Param.ChannelsMask;
6743 .loc 1 2845 0
6744 0194 4368 ldr r3, [r0, #4]
6745 0196 0493 str r3, [sp, #16]
6746 0198 04A9 add r1, sp, #16
2846:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chanMaskSet.ChannelsMaskType = CHANNELS_DEFAULT_MASK;
6747 .loc 1 2846 0
6748 019a 0123 movs r3, #1
6749 019c 0B71 strb r3, [r1, #4]
2847:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2848:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionChanMaskSet( LoRaMacRegion, &chanMaskSet ) == false )
6750 .loc 1 2848 0
6751 019e 6E4B ldr r3, .L400+56
6752 01a0 1878 ldrb r0, [r3]
6753 .LVL624:
6754 01a2 FFF7FEFF bl RegionChanMaskSet
6755 .LVL625:
6756 01a6 0028 cmp r0, #0
6757 01a8 00D1 bne .LCB6497
6758 01aa AAE0 b .L390 @long jump
6759 .LCB6497:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6760 .loc 1 2689 0
6761 01ac 0020 movs r0, #0
6762 01ae 9AE0 b .L345
6763 .LVL626:
6764 .L358:
2849:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2850:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2851:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2852:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2853:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2854:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_MASK:
2855:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2856:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chanMaskSet.ChannelsMaskIn = mibSet->Param.ChannelsMask;
6765 .loc 1 2856 0
6766 01b0 4368 ldr r3, [r0, #4]
6767 01b2 0493 str r3, [sp, #16]
ARM GAS /tmp/ccrFaSdZ.s page 183
6768 01b4 04A9 add r1, sp, #16
2857:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** chanMaskSet.ChannelsMaskType = CHANNELS_MASK;
6769 .loc 1 2857 0
6770 01b6 0023 movs r3, #0
6771 01b8 0B71 strb r3, [r1, #4]
2858:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2859:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionChanMaskSet( LoRaMacRegion, &chanMaskSet ) == false )
6772 .loc 1 2859 0
6773 01ba 674B ldr r3, .L400+56
6774 01bc 1878 ldrb r0, [r3]
6775 .LVL627:
6776 01be FFF7FEFF bl RegionChanMaskSet
6777 .LVL628:
6778 01c2 0028 cmp r0, #0
6779 01c4 00D1 bne .LCB6516
6780 01c6 9EE0 b .L391 @long jump
6781 .LCB6516:
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6782 .loc 1 2689 0
6783 01c8 0020 movs r0, #0
6784 01ca 8CE0 b .L345
6785 .LVL629:
6786 .L360:
2860:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2861:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2862:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2863:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2864:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2865:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_NB_REP:
2866:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2867:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( mibSet->Param.ChannelNbRep >= 1 ) &&
6787 .loc 1 2867 0
6788 01cc 0279 ldrb r2, [r0, #4]
6789 01ce 531E subs r3, r2, #1
6790 01d0 DBB2 uxtb r3, r3
6791 01d2 0E2B cmp r3, #14
6792 01d4 00D9 bls .LCB6527
6793 01d6 98E0 b .L392 @long jump
6794 .LCB6527:
2868:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( mibSet->Param.ChannelNbRep <= 15 ) )
2869:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2870:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsNbRep = mibSet->Param.ChannelNbRep;
6795 .loc 1 2870 0
6796 01d8 5E49 ldr r1, .L400+52
6797 01da 2023 movs r3, #32
6798 01dc CA54 strb r2, [r1, r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6799 .loc 1 2689 0
6800 01de 0020 movs r0, #0
6801 .LVL630:
6802 01e0 81E0 b .L345
6803 .LVL631:
6804 .L361:
2871:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2872:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2873:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2874:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
ARM GAS /tmp/ccrFaSdZ.s page 184
2875:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2876:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2877:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2878:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_MAX_RX_WINDOW_DURATION:
2879:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2880:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MaxRxWindow = mibSet->Param.MaxRxWindow;
6805 .loc 1 2880 0
6806 01e2 4268 ldr r2, [r0, #4]
6807 01e4 5B4B ldr r3, .L400+52
6808 01e6 DA60 str r2, [r3, #12]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6809 .loc 1 2689 0
6810 01e8 0020 movs r0, #0
6811 .LVL632:
2881:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6812 .loc 1 2881 0
6813 01ea 7CE0 b .L345
6814 .LVL633:
6815 .L362:
2882:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2883:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_RECEIVE_DELAY_1:
2884:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2885:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay1 = mibSet->Param.ReceiveDelay1;
6816 .loc 1 2885 0
6817 01ec 4268 ldr r2, [r0, #4]
6818 01ee 594B ldr r3, .L400+52
6819 01f0 1A61 str r2, [r3, #16]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6820 .loc 1 2689 0
6821 01f2 0020 movs r0, #0
6822 .LVL634:
2886:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6823 .loc 1 2886 0
6824 01f4 77E0 b .L345
6825 .LVL635:
6826 .L363:
2887:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2888:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_RECEIVE_DELAY_2:
2889:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2890:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ReceiveDelay2 = mibSet->Param.ReceiveDelay2;
6827 .loc 1 2890 0
6828 01f6 4268 ldr r2, [r0, #4]
6829 01f8 564B ldr r3, .L400+52
6830 01fa 5A61 str r2, [r3, #20]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6831 .loc 1 2689 0
6832 01fc 0020 movs r0, #0
6833 .LVL636:
2891:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6834 .loc 1 2891 0
6835 01fe 72E0 b .L345
6836 .LVL637:
6837 .L364:
2892:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2893:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_JOIN_ACCEPT_DELAY_1:
2894:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2895:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.JoinAcceptDelay1 = mibSet->Param.JoinAcceptDelay1;
ARM GAS /tmp/ccrFaSdZ.s page 185
6838 .loc 1 2895 0
6839 0200 4268 ldr r2, [r0, #4]
6840 0202 544B ldr r3, .L400+52
6841 0204 9A61 str r2, [r3, #24]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6842 .loc 1 2689 0
6843 0206 0020 movs r0, #0
6844 .LVL638:
2896:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6845 .loc 1 2896 0
6846 0208 6DE0 b .L345
6847 .LVL639:
6848 .L365:
2897:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2898:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_JOIN_ACCEPT_DELAY_2:
2899:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2900:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.JoinAcceptDelay2 = mibSet->Param.JoinAcceptDelay2;
6849 .loc 1 2900 0
6850 020a 4268 ldr r2, [r0, #4]
6851 020c 514B ldr r3, .L400+52
6852 020e DA61 str r2, [r3, #28]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6853 .loc 1 2689 0
6854 0210 0020 movs r0, #0
6855 .LVL640:
2901:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6856 .loc 1 2901 0
6857 0212 68E0 b .L345
6858 .LVL641:
6859 .L366:
2902:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2903:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_DEFAULT_DATARATE:
2904:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2905:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.Datarate = mibSet->Param.ChannelsDefaultDatarate;
6860 .loc 1 2905 0
6861 0214 0423 movs r3, #4
6862 0216 C356 ldrsb r3, [r0, r3]
6863 0218 03A9 add r1, sp, #12
6864 021a 0B70 strb r3, [r1]
2906:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2907:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_DEF_TX_DR ) == true )
6865 .loc 1 2907 0
6866 021c 4E4B ldr r3, .L400+56
6867 021e 1878 ldrb r0, [r3]
6868 .LVL642:
6869 0220 0522 movs r2, #5
6870 0222 FFF7FEFF bl RegionVerify
6871 .LVL643:
6872 0226 0028 cmp r0, #0
6873 0228 00D1 bne .LCB6599
6874 022a 70E0 b .L393 @long jump
6875 .LCB6599:
2908:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2909:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.ChannelsDatarate = verify.DatarateParams.Datarate;
6876 .loc 1 2909 0
6877 022c 03AB add r3, sp, #12
6878 022e 0022 movs r2, #0
ARM GAS /tmp/ccrFaSdZ.s page 186
6879 0230 9A56 ldrsb r2, [r3, r2]
6880 0232 4E4B ldr r3, .L400+76
6881 0234 5A70 strb r2, [r3, #1]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6882 .loc 1 2689 0
6883 0236 0020 movs r0, #0
6884 0238 55E0 b .L345
6885 .LVL644:
6886 .L367:
2910:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2911:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2912:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2913:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2914:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2915:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2916:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2917:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_DATARATE:
2918:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2919:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.Datarate = mibSet->Param.ChannelsDatarate;
6887 .loc 1 2919 0
6888 023a 0423 movs r3, #4
6889 023c C356 ldrsb r3, [r0, r3]
6890 023e 03A9 add r1, sp, #12
6891 0240 0B70 strb r3, [r1]
2920:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2921:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_TX_DR ) == true )
6892 .loc 1 2921 0
6893 0242 454B ldr r3, .L400+56
6894 0244 1878 ldrb r0, [r3]
6895 .LVL645:
6896 0246 0422 movs r2, #4
6897 0248 FFF7FEFF bl RegionVerify
6898 .LVL646:
6899 024c 0028 cmp r0, #0
6900 024e 60D0 beq .L394
2922:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2923:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = verify.DatarateParams.Datarate;
6901 .loc 1 2923 0
6902 0250 03AB add r3, sp, #12
6903 0252 0022 movs r2, #0
6904 0254 9A56 ldrsb r2, [r3, r2]
6905 0256 3F4B ldr r3, .L400+52
6906 0258 5A70 strb r2, [r3, #1]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6907 .loc 1 2689 0
6908 025a 0020 movs r0, #0
6909 025c 43E0 b .L345
6910 .LVL647:
6911 .L369:
2924:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2925:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2926:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2927:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2928:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2929:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2930:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2931:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_DEFAULT_TX_POWER:
ARM GAS /tmp/ccrFaSdZ.s page 187
2932:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2933:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.TxPower = mibSet->Param.ChannelsDefaultTxPower;
6912 .loc 1 2933 0
6913 025e 0423 movs r3, #4
6914 0260 C356 ldrsb r3, [r0, r3]
6915 0262 03A9 add r1, sp, #12
6916 0264 0B70 strb r3, [r1]
2934:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2935:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_DEF_TX_POWER ) == true )
6917 .loc 1 2935 0
6918 0266 3C4B ldr r3, .L400+56
6919 0268 1878 ldrb r0, [r3]
6920 .LVL648:
6921 026a 0822 movs r2, #8
6922 026c FFF7FEFF bl RegionVerify
6923 .LVL649:
6924 0270 0028 cmp r0, #0
6925 0272 50D0 beq .L395
2936:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2937:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParamsDefaults.ChannelsTxPower = verify.TxPower;
6926 .loc 1 2937 0
6927 0274 03AB add r3, sp, #12
6928 0276 0022 movs r2, #0
6929 0278 9A56 ldrsb r2, [r3, r2]
6930 027a 3C4B ldr r3, .L400+76
6931 027c 1A70 strb r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6932 .loc 1 2689 0
6933 027e 0020 movs r0, #0
6934 0280 31E0 b .L345
6935 .LVL650:
6936 .L368:
2938:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2939:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2940:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2941:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2942:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2943:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2944:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2945:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_CHANNELS_TX_POWER:
2946:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2947:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.TxPower = mibSet->Param.ChannelsTxPower;
6937 .loc 1 2947 0
6938 0282 0423 movs r3, #4
6939 0284 C356 ldrsb r3, [r0, r3]
6940 0286 03A9 add r1, sp, #12
6941 0288 0B70 strb r3, [r1]
2948:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2949:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_TX_POWER ) == true )
6942 .loc 1 2949 0
6943 028a 334B ldr r3, .L400+56
6944 028c 1878 ldrb r0, [r3]
6945 .LVL651:
6946 028e 0722 movs r2, #7
6947 0290 FFF7FEFF bl RegionVerify
6948 .LVL652:
6949 0294 0028 cmp r0, #0
ARM GAS /tmp/ccrFaSdZ.s page 188
6950 0296 40D0 beq .L396
2950:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2951:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsTxPower = verify.TxPower;
6951 .loc 1 2951 0
6952 0298 03AB add r3, sp, #12
6953 029a 0022 movs r2, #0
6954 029c 9A56 ldrsb r2, [r3, r2]
6955 029e 2D4B ldr r3, .L400+52
6956 02a0 1A70 strb r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6957 .loc 1 2689 0
6958 02a2 0020 movs r0, #0
6959 02a4 1FE0 b .L345
6960 .LVL653:
6961 .L370:
2952:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2953:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
2954:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2955:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_PARAMETER_INVALID;
2956:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2957:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2958:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2959:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_UPLINK_COUNTER:
2960:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2961:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** UpLinkCounter = mibSet->Param.UpLinkCounter;
6962 .loc 1 2961 0
6963 02a6 4268 ldr r2, [r0, #4]
6964 02a8 314B ldr r3, .L400+80
6965 02aa 1A60 str r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6966 .loc 1 2689 0
6967 02ac 0020 movs r0, #0
6968 .LVL654:
2962:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6969 .loc 1 2962 0
6970 02ae 1AE0 b .L345
6971 .LVL655:
6972 .L371:
2963:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2964:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_DOWNLINK_COUNTER:
2965:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2966:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DownLinkCounter = mibSet->Param.DownLinkCounter;
6973 .loc 1 2966 0
6974 02b0 4268 ldr r2, [r0, #4]
6975 02b2 304B ldr r3, .L400+84
6976 02b4 1A60 str r2, [r3]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6977 .loc 1 2689 0
6978 02b6 0020 movs r0, #0
6979 .LVL656:
2967:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6980 .loc 1 2967 0
6981 02b8 15E0 b .L345
6982 .LVL657:
6983 .L372:
2968:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2969:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_SYSTEM_MAX_RX_ERROR:
ARM GAS /tmp/ccrFaSdZ.s page 189
2970:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2971:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.SystemMaxRxError = LoRaMacParamsDefaults.SystemMaxRxError = mibSet->Param
6984 .loc 1 2971 0
6985 02ba 4368 ldr r3, [r0, #4]
6986 02bc 2B4A ldr r2, .L400+76
6987 02be 5360 str r3, [r2, #4]
6988 02c0 244A ldr r2, .L400+52
6989 02c2 5360 str r3, [r2, #4]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
6990 .loc 1 2689 0
6991 02c4 0020 movs r0, #0
6992 .LVL658:
2972:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
6993 .loc 1 2972 0
6994 02c6 0EE0 b .L345
6995 .LVL659:
6996 .L373:
2973:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2974:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_MIN_RX_SYMBOLS:
2975:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2976:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.MinRxSymbols = LoRaMacParamsDefaults.MinRxSymbols = mibSet->Param.MinRxSy
6997 .loc 1 2976 0
6998 02c8 0379 ldrb r3, [r0, #4]
6999 02ca 284A ldr r2, .L400+76
7000 02cc 1372 strb r3, [r2, #8]
7001 02ce 214A ldr r2, .L400+52
7002 02d0 1372 strb r3, [r2, #8]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
7003 .loc 1 2689 0
7004 02d2 0020 movs r0, #0
7005 .LVL660:
2977:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
7006 .loc 1 2977 0
7007 02d4 07E0 b .L345
7008 .LVL661:
7009 .L374:
2978:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2979:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MIB_ANTENNA_GAIN:
2980:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2981:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.AntennaGain = mibSet->Param.AntennaGain;
7010 .loc 1 2981 0
7011 02d6 4268 ldr r2, [r0, #4]
7012 02d8 1E4B ldr r3, .L400+52
7013 02da 5A63 str r2, [r3, #52]
2689:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChanMaskSetParams_t chanMaskSet;
7014 .loc 1 2689 0
7015 02dc 0020 movs r0, #0
7016 .LVL662:
2982:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
7017 .loc 1 2982 0
7018 02de 02E0 b .L345
7019 .LVL663:
7020 .L379:
2695:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7021 .loc 1 2695 0
7022 02e0 0320 movs r0, #3
7023 .LVL664:
ARM GAS /tmp/ccrFaSdZ.s page 190
7024 02e2 00E0 b .L345
7025 .LVL665:
7026 .L380:
2699:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7027 .loc 1 2699 0
7028 02e4 0120 movs r0, #1
7029 .LVL666:
7030 .L345:
2983:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2984:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
2985:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = LORAMAC_STATUS_SERVICE_UNKNOWN;
2986:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
2987:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
2988:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2989:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return status;
2990:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7031 .loc 1 2990 0
7032 02e6 06B0 add sp, sp, #24
7033 @ sp needed
7034 02e8 70BD pop {r4, r5, r6, pc}
7035 .LVL667:
7036 .L381:
2985:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
7037 .loc 1 2985 0
7038 02ea 0220 movs r0, #2
7039 .LVL668:
7040 02ec FBE7 b .L345
7041 .LVL669:
7042 .L383:
2758:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7043 .loc 1 2758 0
7044 02ee 0320 movs r0, #3
7045 .LVL670:
7046 02f0 F9E7 b .L345
7047 .LVL671:
7048 .L384:
2771:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7049 .loc 1 2771 0
7050 02f2 0320 movs r0, #3
7051 .LVL672:
7052 02f4 F7E7 b .L345
7053 .L385:
2824:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7054 .loc 1 2824 0
7055 02f6 0320 movs r0, #3
7056 02f8 F5E7 b .L345
7057 .LVL673:
7058 .L388:
2818:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7059 .loc 1 2818 0
7060 02fa 0320 movs r0, #3
7061 02fc F3E7 b .L345
7062 .LVL674:
7063 .L389:
2839:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7064 .loc 1 2839 0
7065 02fe 0320 movs r0, #3
ARM GAS /tmp/ccrFaSdZ.s page 191
7066 0300 F1E7 b .L345
7067 .L390:
2850:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7068 .loc 1 2850 0
7069 0302 0320 movs r0, #3
7070 0304 EFE7 b .L345
7071 .L391:
2861:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7072 .loc 1 2861 0
7073 0306 0320 movs r0, #3
7074 0308 EDE7 b .L345
7075 .LVL675:
7076 .L392:
2874:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7077 .loc 1 2874 0
7078 030a 0320 movs r0, #3
7079 .LVL676:
7080 030c EBE7 b .L345
7081 .L393:
2913:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7082 .loc 1 2913 0
7083 030e 0320 movs r0, #3
7084 0310 E9E7 b .L345
7085 .L394:
2927:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7086 .loc 1 2927 0
7087 0312 0320 movs r0, #3
7088 0314 E7E7 b .L345
7089 .L395:
2941:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7090 .loc 1 2941 0
7091 0316 0320 movs r0, #3
7092 0318 E5E7 b .L345
7093 .L396:
2955:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7094 .loc 1 2955 0
7095 031a 0320 movs r0, #3
7096 031c E3E7 b .L345
7097 .L401:
7098 031e C046 .align 2
7099 .L400:
7100 0320 00000000 .word .LANCHOR24
7101 0324 00000000 .word .L347
7102 0328 00000000 .word .LANCHOR25
7103 032c 00000000 .word Radio
7104 0330 00000000 .word .LANCHOR15
7105 0334 00000000 .word .LANCHOR0
7106 0338 00000000 .word .LANCHOR29
7107 033c 00000000 .word .LANCHOR40
7108 0340 00000000 .word .LANCHOR41
7109 0344 00000000 .word .LANCHOR33
7110 0348 00000000 .word .LANCHOR32
7111 034c 00000000 .word .LANCHOR63
7112 0350 00000000 .word .LANCHOR21
7113 0354 00000000 .word .LANCHOR14
7114 0358 00000000 .word .LANCHOR22
7115 035c 00000000 .word .LANCHOR42
ARM GAS /tmp/ccrFaSdZ.s page 192
7116 0360 00000000 .word .LANCHOR19
7117 0364 00000000 .word .LANCHOR35
7118 0368 00000000 .word .LANCHOR36
7119 036c 00000000 .word .LANCHOR13
7120 0370 00000000 .word .LANCHOR1
7121 0374 00000000 .word .LANCHOR2
7122 .cfi_endproc
7123 .LFE112:
7125 .section .text.LoRaMacChannelAdd,"ax",%progbits
7126 .align 1
7127 .global LoRaMacChannelAdd
7128 .syntax unified
7129 .code 16
7130 .thumb_func
7131 .fpu softvfp
7133 LoRaMacChannelAdd:
7134 .LFB113:
2991:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2992:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacChannelAdd( uint8_t id, ChannelParams_t params )
2993:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7135 .loc 1 2993 0
7136 .cfi_startproc
7137 @ args = 0, pretend = 0, frame = 24
7138 @ frame_needed = 0, uses_anonymous_args = 0
7139 .LVL677:
7140 0000 00B5 push {lr}
7141 .LCFI43:
7142 .cfi_def_cfa_offset 4
7143 .cfi_offset 14, -4
7144 0002 87B0 sub sp, sp, #28
7145 .LCFI44:
7146 .cfi_def_cfa_offset 32
7147 0004 0191 str r1, [sp, #4]
7148 0006 0292 str r2, [sp, #8]
7149 0008 0393 str r3, [sp, #12]
2994:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelAddParams_t channelAdd;
2995:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
2996:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Validate if the MAC is in a correct state
2997:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_RUNNING ) == LORAMAC_TX_RUNNING )
7150 .loc 1 2997 0
7151 000a 094B ldr r3, .L406
7152 000c 1B68 ldr r3, [r3]
7153 000e DA07 lsls r2, r3, #31
7154 0010 01D5 bpl .L403
2998:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
2999:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_CONFIG ) != LORAMAC_TX_CONFIG )
7155 .loc 1 2999 0
7156 0012 9B06 lsls r3, r3, #26
7157 0014 09D5 bpl .L405
7158 .L403:
3000:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3001:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_BUSY;
3002:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3003:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3004:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3005:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** channelAdd.NewChannel = &params;
7159 .loc 1 3005 0
ARM GAS /tmp/ccrFaSdZ.s page 193
7160 0016 04A9 add r1, sp, #16
7161 0018 01AB add r3, sp, #4
7162 001a 0493 str r3, [sp, #16]
3006:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** channelAdd.ChannelId = id;
7163 .loc 1 3006 0
7164 001c 0871 strb r0, [r1, #4]
3007:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3008:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return RegionChannelAdd( LoRaMacRegion, &channelAdd );
7165 .loc 1 3008 0
7166 001e 054B ldr r3, .L406+4
7167 0020 1878 ldrb r0, [r3]
7168 .LVL678:
7169 0022 FFF7FEFF bl RegionChannelAdd
7170 .LVL679:
7171 .L404:
3009:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7172 .loc 1 3009 0
7173 0026 07B0 add sp, sp, #28
7174 @ sp needed
7175 0028 00BD pop {pc}
7176 .LVL680:
7177 .L405:
3001:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7178 .loc 1 3001 0
7179 002a 0120 movs r0, #1
7180 .LVL681:
7181 002c FBE7 b .L404
7182 .L407:
7183 002e C046 .align 2
7184 .L406:
7185 0030 00000000 .word .LANCHOR24
7186 0034 00000000 .word .LANCHOR22
7187 .cfi_endproc
7188 .LFE113:
7190 .section .text.LoRaMacChannelRemove,"ax",%progbits
7191 .align 1
7192 .global LoRaMacChannelRemove
7193 .syntax unified
7194 .code 16
7195 .thumb_func
7196 .fpu softvfp
7198 LoRaMacChannelRemove:
7199 .LFB114:
3010:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3011:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacChannelRemove( uint8_t id )
3012:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7200 .loc 1 3012 0
7201 .cfi_startproc
7202 @ args = 0, pretend = 0, frame = 8
7203 @ frame_needed = 0, uses_anonymous_args = 0
7204 .LVL682:
7205 0000 00B5 push {lr}
7206 .LCFI45:
7207 .cfi_def_cfa_offset 4
7208 .cfi_offset 14, -4
7209 0002 83B0 sub sp, sp, #12
7210 .LCFI46:
ARM GAS /tmp/ccrFaSdZ.s page 194
7211 .cfi_def_cfa_offset 16
3013:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ChannelRemoveParams_t channelRemove;
3014:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3015:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_RUNNING ) == LORAMAC_TX_RUNNING )
7212 .loc 1 3015 0
7213 0004 0A4B ldr r3, .L414
7214 0006 1B68 ldr r3, [r3]
7215 0008 DA07 lsls r2, r3, #31
7216 000a 01D5 bpl .L409
3016:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3017:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_CONFIG ) != LORAMAC_TX_CONFIG )
7217 .loc 1 3017 0
7218 000c 9B06 lsls r3, r3, #26
7219 000e 0CD5 bpl .L411
7220 .L409:
3018:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3019:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_BUSY;
3020:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3021:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3022:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3023:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** channelRemove.ChannelId = id;
7221 .loc 1 3023 0
7222 0010 01A9 add r1, sp, #4
7223 0012 0870 strb r0, [r1]
3024:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3025:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionChannelsRemove( LoRaMacRegion, &channelRemove ) == false )
7224 .loc 1 3025 0
7225 0014 074B ldr r3, .L414+4
7226 0016 1878 ldrb r0, [r3]
7227 .LVL683:
7228 0018 FFF7FEFF bl RegionChannelsRemove
7229 .LVL684:
7230 001c 0028 cmp r0, #0
7231 001e 02D0 beq .L413
3026:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3027:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
3028:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3029:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
7232 .loc 1 3029 0
7233 0020 0020 movs r0, #0
7234 .L410:
3030:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7235 .loc 1 3030 0
7236 0022 03B0 add sp, sp, #12
7237 @ sp needed
7238 0024 00BD pop {pc}
7239 .L413:
3027:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7240 .loc 1 3027 0
7241 0026 0330 adds r0, r0, #3
7242 0028 FBE7 b .L410
7243 .LVL685:
7244 .L411:
3019:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7245 .loc 1 3019 0
7246 002a 0120 movs r0, #1
7247 .LVL686:
ARM GAS /tmp/ccrFaSdZ.s page 195
7248 002c F9E7 b .L410
7249 .L415:
7250 002e C046 .align 2
7251 .L414:
7252 0030 00000000 .word .LANCHOR24
7253 0034 00000000 .word .LANCHOR22
7254 .cfi_endproc
7255 .LFE114:
7257 .section .text.LoRaMacMulticastChannelLink,"ax",%progbits
7258 .align 1
7259 .global LoRaMacMulticastChannelLink
7260 .syntax unified
7261 .code 16
7262 .thumb_func
7263 .fpu softvfp
7265 LoRaMacMulticastChannelLink:
7266 .LFB115:
3031:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3032:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacMulticastChannelLink( MulticastParams_t *channelParam )
3033:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7267 .loc 1 3033 0
7268 .cfi_startproc
7269 @ args = 0, pretend = 0, frame = 0
7270 @ frame_needed = 0, uses_anonymous_args = 0
7271 @ link register save eliminated.
7272 .LVL687:
3034:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( channelParam == NULL )
7273 .loc 1 3034 0
7274 0000 0028 cmp r0, #0
7275 0002 13D0 beq .L419
3035:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3036:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
3037:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3038:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_RUNNING ) == LORAMAC_TX_RUNNING )
7276 .loc 1 3038 0
7277 0004 0B4B ldr r3, .L422
7278 0006 1B68 ldr r3, [r3]
7279 0008 DB07 lsls r3, r3, #31
7280 000a 11D4 bmi .L420
3039:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3040:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_BUSY;
3041:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3042:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3043:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Reset downlink counter
3044:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** channelParam->DownLinkCounter = 0;
7281 .loc 1 3044 0
7282 000c 0023 movs r3, #0
7283 000e 4362 str r3, [r0, #36]
3045:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3046:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MulticastChannels == NULL )
7284 .loc 1 3046 0
7285 0010 094B ldr r3, .L422+4
7286 0012 1A68 ldr r2, [r3]
7287 0014 002A cmp r2, #0
7288 0016 03D1 bne .L418
3047:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3048:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // New node is the fist element
ARM GAS /tmp/ccrFaSdZ.s page 196
3049:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MulticastChannels = channelParam;
7289 .loc 1 3049 0
7290 0018 1860 str r0, [r3]
3050:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3051:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
3052:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3053:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MulticastParams_t *cur = MulticastChannels;
3054:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3055:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Search the last node in the list
3056:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** while( cur->Next != NULL )
3057:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3058:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cur = cur->Next;
3059:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3060:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // This function always finds the last node
3061:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cur->Next = channelParam;
3062:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3063:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3064:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
7291 .loc 1 3064 0
7292 001a 0020 movs r0, #0
7293 .LVL688:
7294 001c 09E0 b .L417
7295 .LVL689:
7296 .L421:
7297 .LBB85:
3058:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7298 .loc 1 3058 0
7299 001e 1A00 movs r2, r3
7300 .LVL690:
7301 .L418:
3056:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7302 .loc 1 3056 0
7303 0020 936A ldr r3, [r2, #40]
7304 0022 002B cmp r3, #0
7305 0024 FBD1 bne .L421
3061:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7306 .loc 1 3061 0
7307 0026 9062 str r0, [r2, #40]
7308 .LBE85:
7309 .loc 1 3064 0
7310 0028 0020 movs r0, #0
7311 .LVL691:
7312 002a 02E0 b .L417
7313 .LVL692:
7314 .L419:
3036:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7315 .loc 1 3036 0
7316 002c 0320 movs r0, #3
7317 .LVL693:
7318 002e 00E0 b .L417
7319 .LVL694:
7320 .L420:
3040:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7321 .loc 1 3040 0
7322 0030 0120 movs r0, #1
7323 .LVL695:
7324 .L417:
ARM GAS /tmp/ccrFaSdZ.s page 197
3065:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7325 .loc 1 3065 0
7326 @ sp needed
7327 0032 7047 bx lr
7328 .L423:
7329 .align 2
7330 .L422:
7331 0034 00000000 .word .LANCHOR24
7332 0038 00000000 .word .LANCHOR18
7333 .cfi_endproc
7334 .LFE115:
7336 .section .text.LoRaMacMulticastChannelUnlink,"ax",%progbits
7337 .align 1
7338 .global LoRaMacMulticastChannelUnlink
7339 .syntax unified
7340 .code 16
7341 .thumb_func
7342 .fpu softvfp
7344 LoRaMacMulticastChannelUnlink:
7345 .LFB116:
3066:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3067:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacMulticastChannelUnlink( MulticastParams_t *channelParam )
3068:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7346 .loc 1 3068 0
7347 .cfi_startproc
7348 @ args = 0, pretend = 0, frame = 0
7349 @ frame_needed = 0, uses_anonymous_args = 0
7350 @ link register save eliminated.
7351 .LVL696:
3069:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( channelParam == NULL )
7352 .loc 1 3069 0
7353 0000 0028 cmp r0, #0
7354 0002 1AD0 beq .L429
3070:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3071:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
3072:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3073:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_RUNNING ) == LORAMAC_TX_RUNNING )
7355 .loc 1 3073 0
7356 0004 104B ldr r3, .L433
7357 0006 1B68 ldr r3, [r3]
7358 0008 DB07 lsls r3, r3, #31
7359 000a 18D4 bmi .L430
3074:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3075:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_BUSY;
3076:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3077:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3078:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MulticastChannels != NULL )
7360 .loc 1 3078 0
7361 000c 0F4B ldr r3, .L433+4
7362 000e 1A68 ldr r2, [r3]
7363 0010 002A cmp r2, #0
7364 0012 16D0 beq .L431
3079:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3080:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( MulticastChannels == channelParam )
7365 .loc 1 3080 0
7366 0014 8242 cmp r2, r0
7367 0016 03D1 bne .L426
ARM GAS /tmp/ccrFaSdZ.s page 198
3081:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3082:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // First element
3083:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MulticastChannels = channelParam->Next;
7368 .loc 1 3083 0
7369 0018 826A ldr r2, [r0, #40]
7370 001a 1A60 str r2, [r3]
7371 001c 09E0 b .L427
7372 .LVL697:
7373 .L432:
7374 .LBB86:
3084:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3085:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
3086:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3087:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MulticastParams_t *cur = MulticastChannels;
3088:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3089:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Search the node in the list
3090:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** while( cur->Next && cur->Next != channelParam )
3091:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3092:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cur = cur->Next;
7375 .loc 1 3092 0
7376 001e 1A00 movs r2, r3
7377 .LVL698:
7378 .L426:
3090:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7379 .loc 1 3090 0
7380 0020 936A ldr r3, [r2, #40]
7381 0022 002B cmp r3, #0
7382 0024 01D0 beq .L428
3090:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7383 .loc 1 3090 0 is_stmt 0 discriminator 1
7384 0026 8342 cmp r3, r0
7385 0028 F9D1 bne .L432
7386 .L428:
3093:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3094:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // If we found the node, remove it
3095:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( cur->Next )
7387 .loc 1 3095 0 is_stmt 1
7388 002a 002B cmp r3, #0
7389 002c 01D0 beq .L427
3096:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3097:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** cur->Next = channelParam->Next;
7390 .loc 1 3097 0
7391 002e 836A ldr r3, [r0, #40]
7392 0030 9362 str r3, [r2, #40]
7393 .LVL699:
7394 .L427:
7395 .LBE86:
3098:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3099:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3100:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** channelParam->Next = NULL;
7396 .loc 1 3100 0
7397 0032 0023 movs r3, #0
7398 0034 8362 str r3, [r0, #40]
3101:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3102:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3103:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_OK;
7399 .loc 1 3103 0
ARM GAS /tmp/ccrFaSdZ.s page 199
7400 0036 0020 movs r0, #0
7401 .LVL700:
7402 0038 02E0 b .L425
7403 .LVL701:
7404 .L429:
3071:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7405 .loc 1 3071 0
7406 003a 0320 movs r0, #3
7407 .LVL702:
7408 003c 00E0 b .L425
7409 .LVL703:
7410 .L430:
3075:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7411 .loc 1 3075 0
7412 003e 0120 movs r0, #1
7413 .LVL704:
7414 .L425:
3104:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7415 .loc 1 3104 0
7416 @ sp needed
7417 0040 7047 bx lr
7418 .LVL705:
7419 .L431:
3103:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7420 .loc 1 3103 0
7421 0042 0020 movs r0, #0
7422 .LVL706:
7423 0044 FCE7 b .L425
7424 .L434:
7425 0046 C046 .align 2
7426 .L433:
7427 0048 00000000 .word .LANCHOR24
7428 004c 00000000 .word .LANCHOR18
7429 .cfi_endproc
7430 .LFE116:
7432 .section .text.LoRaMacMlmeRequest,"ax",%progbits
7433 .align 1
7434 .global LoRaMacMlmeRequest
7435 .syntax unified
7436 .code 16
7437 .thumb_func
7438 .fpu softvfp
7440 LoRaMacMlmeRequest:
7441 .LFB117:
3105:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3106:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacMlmeRequest( MlmeReq_t *mlmeRequest )
3107:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7442 .loc 1 3107 0
7443 .cfi_startproc
7444 @ args = 0, pretend = 0, frame = 16
7445 @ frame_needed = 0, uses_anonymous_args = 0
7446 .LVL707:
7447 0000 30B5 push {r4, r5, lr}
7448 .LCFI47:
7449 .cfi_def_cfa_offset 12
7450 .cfi_offset 4, -12
7451 .cfi_offset 5, -8
ARM GAS /tmp/ccrFaSdZ.s page 200
7452 .cfi_offset 14, -4
7453 0002 85B0 sub sp, sp, #20
7454 .LCFI48:
7455 .cfi_def_cfa_offset 32
7456 0004 041E subs r4, r0, #0
7457 .LVL708:
3108:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t status = LORAMAC_STATUS_SERVICE_UNKNOWN;
3109:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacHeader_t macHdr;
3110:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AlternateDrParams_t altDr;
3111:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** VerifyParams_t verify;
3112:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
3113:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
3114:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3115:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( mlmeRequest == NULL )
7458 .loc 1 3115 0
7459 0006 00D1 bne .LCB7174
7460 0008 B0E0 b .L444 @long jump
7461 .LCB7174:
3116:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3117:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
3118:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3119:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_RUNNING ) == LORAMAC_TX_RUNNING )
7462 .loc 1 3119 0
7463 000a 5E4B ldr r3, .L457
7464 000c 1B68 ldr r3, [r3]
7465 000e DB07 lsls r3, r3, #31
7466 0010 02D5 bpl .L454
3120:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3121:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_BUSY;
7467 .loc 1 3121 0
7468 0012 0120 movs r0, #1
7469 .LVL709:
7470 .L436:
3122:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3123:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3124:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memset1( ( uint8_t* ) &MlmeConfirm, 0, sizeof( MlmeConfirm ) );
3125:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3126:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
3127:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3128:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( mlmeRequest->Type )
3129:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3130:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MLME_JOIN:
3131:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3132:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( LoRaMacState & LORAMAC_TX_DELAYED ) == LORAMAC_TX_DELAYED )
3133:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3134:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_BUSY;
3135:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3136:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3137:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( mlmeRequest->Req.Join.DevEui == NULL ) ||
3138:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( mlmeRequest->Req.Join.AppEui == NULL ) ||
3139:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( mlmeRequest->Req.Join.AppKey == NULL ) ||
3140:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( mlmeRequest->Req.Join.NbTrials == 0 ) )
3141:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3142:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
3143:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3144:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3145:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Verify the parameter NbTrials for the join procedure
ARM GAS /tmp/ccrFaSdZ.s page 201
3146:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.NbJoinTrials = mlmeRequest->Req.Join.NbTrials;
3147:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3148:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_NB_JOIN_TRIALS ) == false )
3149:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3150:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Value not supported, get default
3151:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_DEF_NB_JOIN_TRIALS;
3152:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
3153:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mlmeRequest->Req.Join.NbTrials = ( uint8_t ) phyParam.Value;
3154:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3155:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3156:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 1;
3157:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.MlmeRequest = mlmeRequest->Type;
3158:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3159:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacDevEui = mlmeRequest->Req.Join.DevEui;
3160:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacAppEui = mlmeRequest->Req.Join.AppEui;
3161:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacAppKey = mlmeRequest->Req.Join.AppKey;
3162:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MaxJoinRequestTrials = mlmeRequest->Req.Join.NbTrials;
3163:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3164:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Reset variable JoinRequestTrials
3165:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** JoinRequestTrials = 0;
3166:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3167:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Setup header information
3168:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Value = 0;
3169:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Bits.MType = FRAME_TYPE_JOIN_REQ;
3170:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3171:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ResetMacParameters( );
3172:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3173:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** altDr.NbTrials = JoinRequestTrials + 1;
3174:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3175:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = RegionAlternateDr( LoRaMacRegion, &altDr );
3176:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3177:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = Send( &macHdr, 0, NULL, 0 );
3178:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3179:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3180:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MLME_LINK_CHECK:
3181:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3182:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 1;
3183:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // LoRaMac will send this command piggy-pack
3184:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.MlmeRequest = mlmeRequest->Type;
3185:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3186:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = AddMacCommand( MOTE_MAC_LINK_CHECK_REQ, 0, 0 );
3187:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3188:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3189:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MLME_TXCW:
3190:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3191:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.MlmeRequest = mlmeRequest->Type;
3192:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 1;
3193:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = SetTxContinuousWave( mlmeRequest->Req.TxCw.Timeout );
3194:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3195:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3196:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MLME_TXCW_1:
3197:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3198:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.MlmeRequest = mlmeRequest->Type;
3199:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 1;
3200:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = SetTxContinuousWave1( mlmeRequest->Req.TxCw.Timeout, mlmeRequest->Req.TxCw.Fre
3201:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3202:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
ARM GAS /tmp/ccrFaSdZ.s page 202
3203:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
3204:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3205:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3206:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3207:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( status != LORAMAC_STATUS_OK )
3208:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3209:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
3210:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 0;
3211:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3212:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3213:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return status;
3214:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7471 .loc 1 3214 0
7472 0014 05B0 add sp, sp, #20
7473 @ sp needed
7474 0016 30BD pop {r4, r5, pc}
7475 .LVL710:
7476 .L454:
3124:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7477 .loc 1 3124 0
7478 0018 5B4D ldr r5, .L457+4
7479 001a 0C22 movs r2, #12
7480 001c 0021 movs r1, #0
7481 001e 2800 movs r0, r5
7482 .LVL711:
7483 0020 FFF7FEFF bl memset1
7484 .LVL712:
3126:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7485 .loc 1 3126 0
7486 0024 0123 movs r3, #1
7487 0026 6B70 strb r3, [r5, #1]
3128:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7488 .loc 1 3128 0
7489 0028 2378 ldrb r3, [r4]
7490 002a 012B cmp r3, #1
7491 002c 5CD0 beq .L438
7492 002e 002B cmp r3, #0
7493 0030 06D0 beq .L439
7494 0032 022B cmp r3, #2
7495 0034 77D0 beq .L440
7496 0036 032B cmp r3, #3
7497 0038 00D1 bne .LCB7217
7498 003a 8AE0 b .L441 @long jump
7499 .LCB7217:
3108:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacHeader_t macHdr;
7500 .loc 1 3108 0
7501 003c 0220 movs r0, #2
7502 003e 7FE0 b .L437
7503 .L439:
3132:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7504 .loc 1 3132 0
7505 0040 504B ldr r3, .L457
7506 0042 1B68 ldr r3, [r3]
7507 0044 DB06 lsls r3, r3, #27
7508 0046 00D5 bpl .LCB7228
7509 0048 92E0 b .L447 @long jump
7510 .LCB7228:
ARM GAS /tmp/ccrFaSdZ.s page 203
3137:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( mlmeRequest->Req.Join.AppEui == NULL ) ||
7511 .loc 1 3137 0
7512 004a 6368 ldr r3, [r4, #4]
7513 004c 002B cmp r3, #0
7514 004e 00D1 bne .LCB7232
7515 0050 90E0 b .L448 @long jump
7516 .LCB7232:
3137:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( mlmeRequest->Req.Join.AppEui == NULL ) ||
7517 .loc 1 3137 0 is_stmt 0 discriminator 1
7518 0052 A368 ldr r3, [r4, #8]
7519 0054 002B cmp r3, #0
7520 0056 00D1 bne .LCB7236
7521 0058 8EE0 b .L449 @long jump
7522 .LCB7236:
3138:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( mlmeRequest->Req.Join.AppKey == NULL ) ||
7523 .loc 1 3138 0 is_stmt 1
7524 005a E368 ldr r3, [r4, #12]
7525 005c 002B cmp r3, #0
7526 005e 00D1 bne .LCB7240
7527 0060 8CE0 b .L450 @long jump
7528 .LCB7240:
3140:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7529 .loc 1 3140 0
7530 0062 237C ldrb r3, [r4, #16]
3139:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( mlmeRequest->Req.Join.NbTrials == 0 ) )
7531 .loc 1 3139 0
7532 0064 002B cmp r3, #0
7533 0066 00D1 bne .LCB7243
7534 0068 8AE0 b .L451 @long jump
7535 .LCB7243:
3146:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7536 .loc 1 3146 0
7537 006a 01A9 add r1, sp, #4
7538 006c 0B70 strb r3, [r1]
3148:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7539 .loc 1 3148 0
7540 006e 474B ldr r3, .L457+8
7541 0070 1878 ldrb r0, [r3]
7542 0072 1E22 movs r2, #30
7543 0074 FFF7FEFF bl RegionVerify
7544 .LVL713:
7545 0078 0028 cmp r0, #0
7546 007a 2BD0 beq .L455
7547 .LVL714:
7548 .L442:
3156:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MlmeConfirm.MlmeRequest = mlmeRequest->Type;
7549 .loc 1 3156 0
7550 007c 444A ldr r2, .L457+12
7551 007e 1378 ldrb r3, [r2]
7552 0080 0821 movs r1, #8
7553 0082 0B43 orrs r3, r1
7554 0084 1370 strb r3, [r2]
3157:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7555 .loc 1 3157 0
7556 0086 2278 ldrb r2, [r4]
7557 0088 3F4B ldr r3, .L457+4
7558 008a 1A70 strb r2, [r3]
ARM GAS /tmp/ccrFaSdZ.s page 204
3159:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacAppEui = mlmeRequest->Req.Join.AppEui;
7559 .loc 1 3159 0
7560 008c 414B ldr r3, .L457+16
7561 008e 6268 ldr r2, [r4, #4]
7562 0090 1A60 str r2, [r3]
3160:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacAppKey = mlmeRequest->Req.Join.AppKey;
7563 .loc 1 3160 0
7564 0092 414B ldr r3, .L457+20
7565 0094 A268 ldr r2, [r4, #8]
7566 0096 1A60 str r2, [r3]
3161:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** MaxJoinRequestTrials = mlmeRequest->Req.Join.NbTrials;
7567 .loc 1 3161 0
7568 0098 404B ldr r3, .L457+24
7569 009a E268 ldr r2, [r4, #12]
7570 009c 1A60 str r2, [r3]
3162:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7571 .loc 1 3162 0
7572 009e 227C ldrb r2, [r4, #16]
7573 00a0 3F4B ldr r3, .L457+28
7574 00a2 1A70 strb r2, [r3]
3165:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7575 .loc 1 3165 0
7576 00a4 3F4D ldr r5, .L457+32
7577 00a6 0023 movs r3, #0
7578 00a8 2B70 strb r3, [r5]
3168:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Bits.MType = FRAME_TYPE_JOIN_REQ;
7579 .loc 1 3168 0
7580 00aa 03AC add r4, sp, #12
7581 .LVL715:
3169:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7582 .loc 1 3169 0
7583 00ac 2370 strb r3, [r4]
3171:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7584 .loc 1 3171 0
7585 00ae FFF7FEFF bl ResetMacParameters
7586 .LVL716:
3173:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7587 .loc 1 3173 0
7588 00b2 2B78 ldrb r3, [r5]
7589 00b4 0133 adds r3, r3, #1
7590 00b6 02A9 add r1, sp, #8
7591 00b8 0B80 strh r3, [r1]
3175:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7592 .loc 1 3175 0
7593 00ba 344B ldr r3, .L457+8
7594 00bc 1878 ldrb r0, [r3]
7595 00be FFF7FEFF bl RegionAlternateDr
7596 .LVL717:
7597 00c2 394B ldr r3, .L457+36
7598 00c4 5870 strb r0, [r3, #1]
3177:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
7599 .loc 1 3177 0
7600 00c6 0023 movs r3, #0
7601 00c8 0022 movs r2, #0
7602 00ca 0021 movs r1, #0
7603 00cc 2000 movs r0, r4
7604 00ce FFF7FEFF bl Send
ARM GAS /tmp/ccrFaSdZ.s page 205
7605 .LVL718:
3178:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7606 .loc 1 3178 0
7607 00d2 32E0 b .L443
7608 .LVL719:
7609 .L455:
3151:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
7610 .loc 1 3151 0
7611 00d4 1F23 movs r3, #31
7612 00d6 6A46 mov r2, sp
7613 00d8 1370 strb r3, [r2]
3152:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** mlmeRequest->Req.Join.NbTrials = ( uint8_t ) phyParam.Value;
7614 .loc 1 3152 0
7615 00da 2C4B ldr r3, .L457+8
7616 00dc 1878 ldrb r0, [r3]
7617 00de 6946 mov r1, sp
7618 00e0 FFF7FEFF bl RegionGetPhyParam
7619 .LVL720:
3153:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7620 .loc 1 3153 0
7621 00e4 2074 strb r0, [r4, #16]
7622 00e6 C9E7 b .L442
7623 .L438:
3182:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // LoRaMac will send this command piggy-pack
7624 .loc 1 3182 0
7625 00e8 294A ldr r2, .L457+12
7626 00ea 1378 ldrb r3, [r2]
7627 00ec 0821 movs r1, #8
7628 00ee 0B43 orrs r3, r1
7629 00f0 1370 strb r3, [r2]
3184:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7630 .loc 1 3184 0
7631 00f2 2278 ldrb r2, [r4]
7632 00f4 244B ldr r3, .L457+4
7633 00f6 1A70 strb r2, [r3]
7634 .LVL721:
7635 .LBB87:
7636 .LBB88:
1553:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7637 .loc 1 1553 0
7638 00f8 2C4B ldr r3, .L457+40
7639 00fa 1A78 ldrb r2, [r3]
7640 00fc 8023 movs r3, #128
7641 00fe 5B42 rsbs r3, r3, #0
7642 0100 9B1A subs r3, r3, r2
7643 0102 DBB2 uxtb r3, r3
7644 .LVL722:
1558:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7645 .loc 1 1558 0
7646 0104 2A4A ldr r2, .L457+44
7647 0106 1278 ldrb r2, [r2]
7648 0108 9342 cmp r3, r2
7649 010a 01D8 bhi .L456
1551:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // The maximum buffer length must take MAC commands to re-send into account.
7650 .loc 1 1551 0
7651 010c 0120 movs r0, #1
7652 010e 17E0 b .L437
ARM GAS /tmp/ccrFaSdZ.s page 206
7653 .L456:
1560:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // No payload for this command
7654 .loc 1 1560 0
7655 0110 511C adds r1, r2, #1
7656 0112 274B ldr r3, .L457+44
7657 .LVL723:
7658 0114 1970 strb r1, [r3]
7659 0116 274B ldr r3, .L457+48
7660 0118 0221 movs r1, #2
7661 011a 9954 strb r1, [r3, r2]
7662 .LVL724:
1641:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7663 .loc 1 1641 0
7664 011c 264B ldr r3, .L457+52
7665 011e 0122 movs r2, #1
7666 0120 1A70 strb r2, [r3]
7667 .LVL725:
7668 0122 0020 movs r0, #0
7669 0124 76E7 b .L436
7670 .LVL726:
7671 .L440:
7672 .LBE88:
7673 .LBE87:
3191:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 1;
7674 .loc 1 3191 0
7675 0126 184A ldr r2, .L457+4
7676 0128 1370 strb r3, [r2]
3192:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = SetTxContinuousWave( mlmeRequest->Req.TxCw.Timeout );
7677 .loc 1 3192 0
7678 012a 194A ldr r2, .L457+12
7679 012c 1378 ldrb r3, [r2]
7680 012e 0821 movs r1, #8
7681 0130 0B43 orrs r3, r1
7682 0132 1370 strb r3, [r2]
3193:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
7683 .loc 1 3193 0
7684 0134 A088 ldrh r0, [r4, #4]
7685 0136 FFF7FEFF bl SetTxContinuousWave
7686 .LVL727:
7687 .L443:
3207:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7688 .loc 1 3207 0
7689 013a 0028 cmp r0, #0
7690 013c 00D1 bne .LCB7402
7691 013e 69E7 b .L436 @long jump
7692 .LCB7402:
7693 .LVL728:
7694 .L437:
3209:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 0;
7695 .loc 1 3209 0
7696 0140 1E4B ldr r3, .L457+56
7697 0142 0022 movs r2, #0
7698 0144 1A70 strb r2, [r3]
3210:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7699 .loc 1 3210 0
7700 0146 124A ldr r2, .L457+12
7701 0148 1378 ldrb r3, [r2]
ARM GAS /tmp/ccrFaSdZ.s page 207
7702 014a 0821 movs r1, #8
7703 014c 8B43 bics r3, r1
7704 014e 1370 strb r3, [r2]
7705 0150 60E7 b .L436
7706 .LVL729:
7707 .L441:
3198:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.MlmeReq = 1;
7708 .loc 1 3198 0
7709 0152 0D4A ldr r2, .L457+4
7710 0154 1370 strb r3, [r2]
3199:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = SetTxContinuousWave1( mlmeRequest->Req.TxCw.Timeout, mlmeRequest->Req.TxCw.Fre
7711 .loc 1 3199 0
7712 0156 0E4A ldr r2, .L457+12
7713 0158 1378 ldrb r3, [r2]
7714 015a 0821 movs r1, #8
7715 015c 0B43 orrs r3, r1
7716 015e 1370 strb r3, [r2]
3200:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
7717 .loc 1 3200 0
7718 0160 A088 ldrh r0, [r4, #4]
7719 0162 A168 ldr r1, [r4, #8]
7720 0164 227B ldrb r2, [r4, #12]
7721 0166 FFF7FEFF bl SetTxContinuousWave1
7722 .LVL730:
3201:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7723 .loc 1 3201 0
7724 016a E6E7 b .L443
7725 .LVL731:
7726 .L444:
3117:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7727 .loc 1 3117 0
7728 016c 0320 movs r0, #3
7729 .LVL732:
7730 016e 51E7 b .L436
7731 .L447:
3134:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7732 .loc 1 3134 0
7733 0170 0120 movs r0, #1
7734 0172 4FE7 b .L436
7735 .L448:
3142:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7736 .loc 1 3142 0
7737 0174 0320 movs r0, #3
7738 0176 4DE7 b .L436
7739 .L449:
7740 0178 0320 movs r0, #3
7741 017a 4BE7 b .L436
7742 .L450:
7743 017c 0320 movs r0, #3
7744 017e 49E7 b .L436
7745 .L451:
7746 0180 0320 movs r0, #3
7747 0182 47E7 b .L436
7748 .L458:
7749 .align 2
7750 .L457:
7751 0184 00000000 .word .LANCHOR24
ARM GAS /tmp/ccrFaSdZ.s page 208
7752 0188 00000000 .word .LANCHOR28
7753 018c 00000000 .word .LANCHOR22
7754 0190 00000000 .word .LANCHOR26
7755 0194 00000000 .word .LANCHOR52
7756 0198 00000000 .word .LANCHOR51
7757 019c 00000000 .word .LANCHOR38
7758 01a0 00000000 .word .LANCHOR59
7759 01a4 00000000 .word .LANCHOR54
7760 01a8 00000000 .word .LANCHOR14
7761 01ac 00000000 .word .LANCHOR11
7762 01b0 00000000 .word .LANCHOR10
7763 01b4 00000000 .word MacCommandsBuffer
7764 01b8 00000000 .word .LANCHOR17
7765 01bc 00000000 .word .LANCHOR15
7766 .cfi_endproc
7767 .LFE117:
7769 .section .text.LoRaMacMcpsRequest,"ax",%progbits
7770 .align 1
7771 .global LoRaMacMcpsRequest
7772 .syntax unified
7773 .code 16
7774 .thumb_func
7775 .fpu softvfp
7777 LoRaMacMcpsRequest:
7778 .LFB118:
3215:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3216:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t LoRaMacMcpsRequest( McpsReq_t *mcpsRequest )
3217:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7779 .loc 1 3217 0
7780 .cfi_startproc
7781 @ args = 0, pretend = 0, frame = 16
7782 @ frame_needed = 0, uses_anonymous_args = 0
7783 .LVL733:
7784 0000 F0B5 push {r4, r5, r6, r7, lr}
7785 .LCFI49:
7786 .cfi_def_cfa_offset 20
7787 .cfi_offset 4, -20
7788 .cfi_offset 5, -16
7789 .cfi_offset 6, -12
7790 .cfi_offset 7, -8
7791 .cfi_offset 14, -4
7792 0002 CE46 mov lr, r9
7793 0004 4746 mov r7, r8
7794 0006 80B5 push {r7, lr}
7795 .LCFI50:
7796 .cfi_def_cfa_offset 28
7797 .cfi_offset 8, -28
7798 .cfi_offset 9, -24
7799 0008 85B0 sub sp, sp, #20
7800 .LCFI51:
7801 .cfi_def_cfa_offset 48
7802 000a 041E subs r4, r0, #0
7803 .LVL734:
3218:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** GetPhyParams_t getPhy;
3219:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** PhyParam_t phyParam;
3220:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacStatus_t status = LORAMAC_STATUS_SERVICE_UNKNOWN;
3221:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacHeader_t macHdr;
ARM GAS /tmp/ccrFaSdZ.s page 209
3222:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** VerifyParams_t verify;
3223:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint8_t fPort = 0;
3224:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** void *fBuffer;
3225:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** uint16_t fBufferSize;
3226:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** int8_t datarate;
3227:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** bool readyToSend = false;
3228:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3229:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( mcpsRequest == NULL )
7804 .loc 1 3229 0
7805 000c 00D1 bne .LCB7518
7806 000e 96E0 b .L468 @long jump
7807 .LCB7518:
3230:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3231:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
3232:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3233:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( ( ( LoRaMacState & LORAMAC_TX_RUNNING ) == LORAMAC_TX_RUNNING ) ||
7808 .loc 1 3233 0
7809 0010 1123 movs r3, #17
7810 0012 4E4A ldr r2, .L476
7811 0014 1268 ldr r2, [r2]
7812 0016 1A42 tst r2, r3
7813 0018 05D0 beq .L474
3234:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** ( ( LoRaMacState & LORAMAC_TX_DELAYED ) == LORAMAC_TX_DELAYED ) )
3235:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3236:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_BUSY;
7814 .loc 1 3236 0
7815 001a 0120 movs r0, #1
7816 .LVL735:
7817 .L460:
3237:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3238:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3239:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Value = 0;
3240:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memset1 ( ( uint8_t* ) &McpsConfirm, 0, sizeof( McpsConfirm ) );
3241:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
3242:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3243:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // AckTimeoutRetriesCounter must be reset every time a new request (unconfirmed or confirmed) i
3244:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetriesCounter = 1;
3245:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3246:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** switch( mcpsRequest->Type )
3247:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3248:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MCPS_UNCONFIRMED:
3249:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3250:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** readyToSend = true;
3251:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetries = 1;
3252:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3253:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Bits.MType = FRAME_TYPE_DATA_UNCONFIRMED_UP;
3254:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fPort = mcpsRequest->Req.Unconfirmed.fPort;
3255:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBuffer = mcpsRequest->Req.Unconfirmed.fBuffer;
3256:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBufferSize = mcpsRequest->Req.Unconfirmed.fBufferSize;
3257:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** datarate = mcpsRequest->Req.Unconfirmed.Datarate;
3258:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3259:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3260:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MCPS_CONFIRMED:
3261:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3262:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** readyToSend = true;
3263:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetries = mcpsRequest->Req.Confirmed.NbTrials;
3264:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
ARM GAS /tmp/ccrFaSdZ.s page 210
3265:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Bits.MType = FRAME_TYPE_DATA_CONFIRMED_UP;
3266:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fPort = mcpsRequest->Req.Confirmed.fPort;
3267:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBuffer = mcpsRequest->Req.Confirmed.fBuffer;
3268:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBufferSize = mcpsRequest->Req.Confirmed.fBufferSize;
3269:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** datarate = mcpsRequest->Req.Confirmed.Datarate;
3270:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3271:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3272:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** case MCPS_PROPRIETARY:
3273:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3274:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** readyToSend = true;
3275:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetries = 1;
3276:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3277:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** macHdr.Bits.MType = FRAME_TYPE_PROPRIETARY;
3278:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBuffer = mcpsRequest->Req.Proprietary.fBuffer;
3279:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBufferSize = mcpsRequest->Req.Proprietary.fBufferSize;
3280:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** datarate = mcpsRequest->Req.Proprietary.Datarate;
3281:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3282:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3283:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** default:
3284:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
3285:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3286:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3287:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Get the minimum possible datarate
3288:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.Attribute = PHY_MIN_TX_DR;
3289:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
3290:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
3291:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Apply the minimum possible datarate.
3292:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Some regions have limitations for the minimum datarate.
3293:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** datarate = MAX( datarate, phyParam.Value );
3294:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3295:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( readyToSend == true )
3296:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3297:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( AdrCtrlOn == false )
3298:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3299:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.Datarate = datarate;
3300:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
3301:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3302:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_TX_DR ) == true )
3303:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3304:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacParams.ChannelsDatarate = verify.DatarateParams.Datarate;
3305:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3306:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
3307:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3308:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return LORAMAC_STATUS_PARAMETER_INVALID;
3309:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3310:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3311:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3312:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** status = Send( &macHdr, fPort, fBuffer, fBufferSize );
3313:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( status == LORAMAC_STATUS_OK )
3314:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3315:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.McpsRequest = mcpsRequest->Type;
3316:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsReq = 1;
3317:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3318:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** else
3319:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3320:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** NodeAckRequested = false;
3321:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
ARM GAS /tmp/ccrFaSdZ.s page 211
3322:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3323:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3324:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** return status;
3325:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7818 .loc 1 3325 0
7819 001c 05B0 add sp, sp, #20
7820 @ sp needed
7821 .LVL736:
7822 001e 0CBC pop {r2, r3}
7823 0020 9046 mov r8, r2
7824 0022 9946 mov r9, r3
7825 0024 F0BD pop {r4, r5, r6, r7, pc}
7826 .LVL737:
7827 .L474:
3239:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** memset1 ( ( uint8_t* ) &McpsConfirm, 0, sizeof( McpsConfirm ) );
7828 .loc 1 3239 0
7829 0026 02AB add r3, sp, #8
7830 0028 0022 movs r2, #0
7831 002a 1A70 strb r2, [r3]
3240:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_ERROR;
7832 .loc 1 3240 0
7833 002c 484E ldr r6, .L476+4
7834 002e 1432 adds r2, r2, #20
7835 0030 0021 movs r1, #0
7836 0032 3000 movs r0, r6
7837 .LVL738:
7838 0034 FFF7FEFF bl memset1
7839 .LVL739:
3241:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7840 .loc 1 3241 0
7841 0038 0123 movs r3, #1
7842 003a 7370 strb r3, [r6, #1]
3244:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7843 .loc 1 3244 0
7844 003c 454A ldr r2, .L476+8
7845 003e 1370 strb r3, [r2]
3246:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7846 .loc 1 3246 0
7847 0040 2378 ldrb r3, [r4]
7848 0042 012B cmp r3, #1
7849 0044 4DD0 beq .L462
7850 0046 002B cmp r3, #0
7851 0048 05D0 beq .L463
7852 004a 032B cmp r3, #3
7853 004c 5CD0 beq .L464
3227:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7854 .loc 1 3227 0
7855 004e 0026 movs r6, #0
3223:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** void *fBuffer;
7856 .loc 1 3223 0
7857 0050 0023 movs r3, #0
7858 0052 9946 mov r9, r3
7859 0054 11E0 b .L461
7860 .L463:
7861 .LVL740:
3251:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7862 .loc 1 3251 0
ARM GAS /tmp/ccrFaSdZ.s page 212
7863 0056 404B ldr r3, .L476+12
7864 0058 0122 movs r2, #1
7865 005a 1A70 strb r2, [r3]
3253:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fPort = mcpsRequest->Req.Unconfirmed.fPort;
7866 .loc 1 3253 0
7867 005c 02AA add r2, sp, #8
7868 005e 1178 ldrb r1, [r2]
7869 0060 1F23 movs r3, #31
7870 0062 0B40 ands r3, r1
7871 0064 4021 movs r1, #64
7872 0066 0B43 orrs r3, r1
7873 0068 1370 strb r3, [r2]
3254:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBuffer = mcpsRequest->Req.Unconfirmed.fBuffer;
7874 .loc 1 3254 0
7875 006a 2379 ldrb r3, [r4, #4]
7876 006c 9946 mov r9, r3
7877 .LVL741:
3255:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBufferSize = mcpsRequest->Req.Unconfirmed.fBufferSize;
7878 .loc 1 3255 0
7879 006e A368 ldr r3, [r4, #8]
7880 0070 9846 mov r8, r3
7881 .LVL742:
3256:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** datarate = mcpsRequest->Req.Unconfirmed.Datarate;
7882 .loc 1 3256 0
7883 0072 A789 ldrh r7, [r4, #12]
7884 .LVL743:
3257:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
7885 .loc 1 3257 0
7886 0074 0E25 movs r5, #14
7887 0076 6557 ldrsb r5, [r4, r5]
7888 .LVL744:
3250:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetries = 1;
7889 .loc 1 3250 0
7890 0078 0126 movs r6, #1
7891 .LVL745:
7892 .L461:
3288:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** getPhy.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
7893 .loc 1 3288 0
7894 007a 03A9 add r1, sp, #12
7895 007c 0123 movs r3, #1
7896 007e 0B70 strb r3, [r1]
3289:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** phyParam = RegionGetPhyParam( LoRaMacRegion, &getPhy );
7897 .loc 1 3289 0
7898 0080 364A ldr r2, .L476+16
7899 0082 2B33 adds r3, r3, #43
7900 0084 D35C ldrb r3, [r2, r3]
7901 0086 8B70 strb r3, [r1, #2]
3290:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** // Apply the minimum possible datarate.
7902 .loc 1 3290 0
7903 0088 354B ldr r3, .L476+20
7904 008a 1878 ldrb r0, [r3]
7905 008c FFF7FEFF bl RegionGetPhyParam
7906 .LVL746:
3293:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7907 .loc 1 3293 0
7908 0090 2B00 movs r3, r5
7909 0092 8542 cmp r5, r0
ARM GAS /tmp/ccrFaSdZ.s page 213
7910 0094 00D2 bcs .L465
7911 0096 0300 movs r3, r0
7912 .L465:
7913 0098 5BB2 sxtb r3, r3
7914 .LVL747:
3295:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7915 .loc 1 3295 0
7916 009a 002E cmp r6, #0
7917 009c 51D0 beq .L471
3297:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7918 .loc 1 3297 0
7919 009e 314A ldr r2, .L476+24
7920 00a0 1278 ldrb r2, [r2]
7921 00a2 002A cmp r2, #0
7922 00a4 11D1 bne .L466
3299:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DatarateParams.UplinkDwellTime = LoRaMacParams.UplinkDwellTime;
7923 .loc 1 3299 0
7924 00a6 01A9 add r1, sp, #4
7925 00a8 0B70 strb r3, [r1]
3300:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7926 .loc 1 3300 0
7927 00aa 2C4A ldr r2, .L476+16
7928 00ac 2C23 movs r3, #44
7929 .LVL748:
7930 00ae D35C ldrb r3, [r2, r3]
7931 00b0 8B70 strb r3, [r1, #2]
3302:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7932 .loc 1 3302 0
7933 00b2 2B4B ldr r3, .L476+20
7934 00b4 1878 ldrb r0, [r3]
7935 00b6 0422 movs r2, #4
7936 00b8 FFF7FEFF bl RegionVerify
7937 .LVL749:
7938 00bc 0028 cmp r0, #0
7939 00be 42D0 beq .L472
3304:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7940 .loc 1 3304 0
7941 00c0 01AB add r3, sp, #4
7942 00c2 0022 movs r2, #0
7943 00c4 9A56 ldrsb r2, [r3, r2]
7944 00c6 254B ldr r3, .L476+16
7945 00c8 5A70 strb r2, [r3, #1]
7946 .L466:
3312:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( status == LORAMAC_STATUS_OK )
7947 .loc 1 3312 0
7948 00ca 3B00 movs r3, r7
7949 00cc 4246 mov r2, r8
7950 00ce 4946 mov r1, r9
7951 00d0 02A8 add r0, sp, #8
7952 00d2 FFF7FEFF bl Send
7953 .LVL750:
3313:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
7954 .loc 1 3313 0
7955 00d6 0028 cmp r0, #0
7956 00d8 28D0 beq .L475
3320:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7957 .loc 1 3320 0
ARM GAS /tmp/ccrFaSdZ.s page 214
7958 00da 234B ldr r3, .L476+28
7959 00dc 0022 movs r2, #0
7960 00de 1A70 strb r2, [r3]
7961 00e0 9CE7 b .L460
7962 .LVL751:
7963 .L462:
3263:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7964 .loc 1 3263 0
7965 00e2 E27B ldrb r2, [r4, #15]
7966 00e4 1C4B ldr r3, .L476+12
7967 00e6 1A70 strb r2, [r3]
3265:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fPort = mcpsRequest->Req.Confirmed.fPort;
7968 .loc 1 3265 0
7969 00e8 02A9 add r1, sp, #8
7970 00ea 0A78 ldrb r2, [r1]
7971 00ec 1F23 movs r3, #31
7972 00ee 1A40 ands r2, r3
7973 00f0 9F3B subs r3, r3, #159
7974 00f2 1343 orrs r3, r2
7975 00f4 0B70 strb r3, [r1]
3266:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBuffer = mcpsRequest->Req.Confirmed.fBuffer;
7976 .loc 1 3266 0
7977 00f6 2379 ldrb r3, [r4, #4]
7978 00f8 9946 mov r9, r3
7979 .LVL752:
3267:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBufferSize = mcpsRequest->Req.Confirmed.fBufferSize;
7980 .loc 1 3267 0
7981 00fa A368 ldr r3, [r4, #8]
7982 00fc 9846 mov r8, r3
7983 .LVL753:
3268:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** datarate = mcpsRequest->Req.Confirmed.Datarate;
7984 .loc 1 3268 0
7985 00fe A789 ldrh r7, [r4, #12]
7986 .LVL754:
3269:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
7987 .loc 1 3269 0
7988 0100 0E25 movs r5, #14
7989 0102 6557 ldrsb r5, [r4, r5]
7990 .LVL755:
3262:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetries = mcpsRequest->Req.Confirmed.NbTrials;
7991 .loc 1 3262 0
7992 0104 0126 movs r6, #1
3270:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
7993 .loc 1 3270 0
7994 0106 B8E7 b .L461
7995 .LVL756:
7996 .L464:
3275:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
7997 .loc 1 3275 0
7998 0108 134B ldr r3, .L476+12
7999 010a 0122 movs r2, #1
8000 010c 1A70 strb r2, [r3]
3277:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBuffer = mcpsRequest->Req.Proprietary.fBuffer;
8001 .loc 1 3277 0
8002 010e 02AA add r2, sp, #8
8003 0110 1178 ldrb r1, [r2]
8004 0112 2023 movs r3, #32
ARM GAS /tmp/ccrFaSdZ.s page 215
8005 0114 5B42 rsbs r3, r3, #0
8006 0116 0B43 orrs r3, r1
8007 0118 1370 strb r3, [r2]
3278:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** fBufferSize = mcpsRequest->Req.Proprietary.fBufferSize;
8008 .loc 1 3278 0
8009 011a 6368 ldr r3, [r4, #4]
8010 011c 9846 mov r8, r3
8011 .LVL757:
3279:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** datarate = mcpsRequest->Req.Proprietary.Datarate;
8012 .loc 1 3279 0
8013 011e 2789 ldrh r7, [r4, #8]
8014 .LVL758:
3280:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** break;
8015 .loc 1 3280 0
8016 0120 0A25 movs r5, #10
8017 0122 6557 ldrsb r5, [r4, r5]
8018 .LVL759:
3274:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** AckTimeoutRetries = 1;
8019 .loc 1 3274 0
8020 0124 0126 movs r6, #1
3223:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** void *fBuffer;
8021 .loc 1 3223 0
8022 0126 0023 movs r3, #0
8023 .LVL760:
8024 0128 9946 mov r9, r3
3281:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
8025 .loc 1 3281 0
8026 012a A6E7 b .L461
8027 .LVL761:
8028 .L475:
3315:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacFlags.Bits.McpsReq = 1;
8029 .loc 1 3315 0
8030 012c 2278 ldrb r2, [r4]
8031 012e 084B ldr r3, .L476+4
8032 0130 1A70 strb r2, [r3]
3316:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
8033 .loc 1 3316 0
8034 0132 0E4A ldr r2, .L476+32
8035 0134 1378 ldrb r3, [r2]
8036 0136 0121 movs r1, #1
8037 0138 0B43 orrs r3, r1
8038 013a 1370 strb r3, [r2]
8039 013c 6EE7 b .L460
8040 .LVL762:
8041 .L468:
3231:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
8042 .loc 1 3231 0
8043 013e 0320 movs r0, #3
8044 .LVL763:
8045 0140 6CE7 b .L460
8046 .LVL764:
8047 .L471:
3220:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** LoRaMacHeader_t macHdr;
8048 .loc 1 3220 0
8049 0142 0220 movs r0, #2
8050 0144 6AE7 b .L460
8051 .LVL765:
ARM GAS /tmp/ccrFaSdZ.s page 216
8052 .L472:
3308:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
8053 .loc 1 3308 0
8054 0146 0320 movs r0, #3
8055 0148 68E7 b .L460
8056 .L477:
8057 014a C046 .align 2
8058 .L476:
8059 014c 00000000 .word .LANCHOR24
8060 0150 00000000 .word .LANCHOR34
8061 0154 00000000 .word .LANCHOR6
8062 0158 00000000 .word .LANCHOR5
8063 015c 00000000 .word .LANCHOR14
8064 0160 00000000 .word .LANCHOR22
8065 0164 00000000 .word .LANCHOR29
8066 0168 00000000 .word .LANCHOR15
8067 016c 00000000 .word .LANCHOR26
8068 .cfi_endproc
8069 .LFE118:
8071 .section .text.LoRaMacTestRxWindowsOn,"ax",%progbits
8072 .align 1
8073 .global LoRaMacTestRxWindowsOn
8074 .syntax unified
8075 .code 16
8076 .thumb_func
8077 .fpu softvfp
8079 LoRaMacTestRxWindowsOn:
8080 .LFB119:
3326:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3327:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** void LoRaMacTestRxWindowsOn( bool enable )
3328:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
8081 .loc 1 3328 0
8082 .cfi_startproc
8083 @ args = 0, pretend = 0, frame = 0
8084 @ frame_needed = 0, uses_anonymous_args = 0
8085 @ link register save eliminated.
8086 .LVL766:
3329:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** IsRxWindowsEnabled = enable;
8087 .loc 1 3329 0
8088 0000 014B ldr r3, .L479
8089 0002 1870 strb r0, [r3]
3330:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
8090 .loc 1 3330 0
8091 @ sp needed
8092 0004 7047 bx lr
8093 .L480:
8094 0006 C046 .align 2
8095 .L479:
8096 0008 00000000 .word .LANCHOR12
8097 .cfi_endproc
8098 .LFE119:
8100 .section .text.LoRaMacTestSetMic,"ax",%progbits
8101 .align 1
8102 .global LoRaMacTestSetMic
8103 .syntax unified
8104 .code 16
8105 .thumb_func
ARM GAS /tmp/ccrFaSdZ.s page 217
8106 .fpu softvfp
8108 LoRaMacTestSetMic:
8109 .LFB120:
3331:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3332:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** void LoRaMacTestSetMic( uint16_t txPacketCounter )
3333:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
8110 .loc 1 3333 0
8111 .cfi_startproc
8112 @ args = 0, pretend = 0, frame = 0
8113 @ frame_needed = 0, uses_anonymous_args = 0
8114 @ link register save eliminated.
8115 .LVL767:
3334:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** UpLinkCounter = txPacketCounter;
8116 .loc 1 3334 0
8117 0000 024B ldr r3, .L482
8118 0002 1860 str r0, [r3]
3335:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** IsUpLinkCounterFixed = true;
8119 .loc 1 3335 0
8120 0004 024B ldr r3, .L482+4
8121 0006 0122 movs r2, #1
8122 0008 1A70 strb r2, [r3]
3336:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
8123 .loc 1 3336 0
8124 @ sp needed
8125 000a 7047 bx lr
8126 .L483:
8127 .align 2
8128 .L482:
8129 000c 00000000 .word .LANCHOR1
8130 0010 00000000 .word .LANCHOR60
8131 .cfi_endproc
8132 .LFE120:
8134 .section .text.LoRaMacTestSetDutyCycleOn,"ax",%progbits
8135 .align 1
8136 .global LoRaMacTestSetDutyCycleOn
8137 .syntax unified
8138 .code 16
8139 .thumb_func
8140 .fpu softvfp
8142 LoRaMacTestSetDutyCycleOn:
8143 .LFB121:
3337:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3338:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** void LoRaMacTestSetDutyCycleOn( bool enable )
3339:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
8144 .loc 1 3339 0
8145 .cfi_startproc
8146 @ args = 0, pretend = 0, frame = 8
8147 @ frame_needed = 0, uses_anonymous_args = 0
8148 .LVL768:
8149 0000 10B5 push {r4, lr}
8150 .LCFI52:
8151 .cfi_def_cfa_offset 8
8152 .cfi_offset 4, -8
8153 .cfi_offset 14, -4
8154 0002 82B0 sub sp, sp, #8
8155 .LCFI53:
8156 .cfi_def_cfa_offset 16
ARM GAS /tmp/ccrFaSdZ.s page 218
8157 0004 0400 movs r4, r0
3340:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** VerifyParams_t verify;
3341:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3342:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** verify.DutyCycle = enable;
8158 .loc 1 3342 0
8159 0006 01A9 add r1, sp, #4
8160 0008 0870 strb r0, [r1]
3343:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3344:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** if( RegionVerify( LoRaMacRegion, &verify, PHY_DUTY_CYCLE ) == true )
8161 .loc 1 3344 0
8162 000a 054B ldr r3, .L486
8163 000c 1878 ldrb r0, [r3]
8164 .LVL769:
8165 000e 0B22 movs r2, #11
8166 0010 FFF7FEFF bl RegionVerify
8167 .LVL770:
8168 0014 0028 cmp r0, #0
8169 0016 01D0 beq .L484
3345:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
3346:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** DutyCycleOn = enable;
8170 .loc 1 3346 0
8171 0018 024B ldr r3, .L486+4
8172 001a 1C70 strb r4, [r3]
8173 .L484:
3347:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
3348:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
8174 .loc 1 3348 0
8175 001c 02B0 add sp, sp, #8
8176 @ sp needed
8177 001e 10BD pop {r4, pc}
8178 .L487:
8179 .align 2
8180 .L486:
8181 0020 00000000 .word .LANCHOR22
8182 0024 00000000 .word .LANCHOR56
8183 .cfi_endproc
8184 .LFE121:
8186 .section .text.LoRaMacTestSetChannel,"ax",%progbits
8187 .align 1
8188 .global LoRaMacTestSetChannel
8189 .syntax unified
8190 .code 16
8191 .thumb_func
8192 .fpu softvfp
8194 LoRaMacTestSetChannel:
8195 .LFB122:
3349:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c ****
3350:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** void LoRaMacTestSetChannel( uint8_t channel )
3351:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** {
8196 .loc 1 3351 0
8197 .cfi_startproc
8198 @ args = 0, pretend = 0, frame = 0
8199 @ frame_needed = 0, uses_anonymous_args = 0
8200 @ link register save eliminated.
8201 .LVL771:
3352:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** Channel = channel;
8202 .loc 1 3352 0
ARM GAS /tmp/ccrFaSdZ.s page 219
8203 0000 014B ldr r3, .L489
8204 0002 1870 strb r0, [r3]
3353:./Middlewares/Third_Party/Lora/Mac/LoRaMac.c **** }
8205 .loc 1 3353 0
8206 @ sp needed
8207 0004 7047 bx lr
8208 .L490:
8209 0006 C046 .align 2
8210 .L489:
8211 0008 00000000 .word .LANCHOR19
8212 .cfi_endproc
8213 .LFE122:
8215 .global LoRaMacFlags
8216 .global TxTimeOnAir
8217 .global LoRaMacState
8218 .global LoRaMacParamsDefaults
8219 .global LoRaMacParams
8220 .section .bss.AckTimeoutRetry,"aw",%nobits
8221 .set .LANCHOR7,. + 0
8224 AckTimeoutRetry:
8225 0000 00 .space 1
8226 .section .bss.AckTimeoutTimer,"aw",%nobits
8227 .align 2
8228 .set .LANCHOR23,. + 0
8231 AckTimeoutTimer:
8232 0000 00000000 .space 20
8232 00000000
8232 00000000
8232 00000000
8232 00000000
8233 .section .bss.AdrAckCounter,"aw",%nobits
8234 .align 2
8235 .set .LANCHOR3,. + 0
8238 AdrAckCounter:
8239 0000 00000000 .space 4
8240 .section .bss.AdrCtrlOn,"aw",%nobits
8241 .set .LANCHOR29,. + 0
8244 AdrCtrlOn:
8245 0000 00 .space 1
8246 .section .bss.AggregatedDCycle,"aw",%nobits
8247 .align 1
8248 .set .LANCHOR9,. + 0
8251 AggregatedDCycle:
8252 0000 0000 .space 2
8253 .section .bss.AggregatedLastTxDoneTime,"aw",%nobits
8254 .align 2
8255 .set .LANCHOR43,. + 0
8258 AggregatedLastTxDoneTime:
8259 0000 00000000 .space 4
8260 .section .bss.AggregatedTimeOff,"aw",%nobits
8261 .align 2
8262 .set .LANCHOR55,. + 0
8265 AggregatedTimeOff:
8266 0000 00000000 .space 4
8267 .section .bss.Channel,"aw",%nobits
8268 .set .LANCHOR19,. + 0
8271 Channel:
ARM GAS /tmp/ccrFaSdZ.s page 220
8272 0000 00 .space 1
8273 .section .bss.ChannelsNbRepCounter,"aw",%nobits
8274 .set .LANCHOR4,. + 0
8277 ChannelsNbRepCounter:
8278 0000 00 .space 1
8279 .section .bss.DownLinkCounter,"aw",%nobits
8280 .align 2
8281 .set .LANCHOR2,. + 0
8284 DownLinkCounter:
8285 0000 00000000 .space 4
8286 .section .bss.DutyCycleOn,"aw",%nobits
8287 .set .LANCHOR56,. + 0
8290 DutyCycleOn:
8291 0000 00 .space 1
8292 .section .bss.IsLoRaMacNetworkJoined,"aw",%nobits
8293 .set .LANCHOR0,. + 0
8296 IsLoRaMacNetworkJoined:
8297 0000 00 .space 1
8298 .section .bss.IsUpLinkCounterFixed,"aw",%nobits
8299 .set .LANCHOR60,. + 0
8302 IsUpLinkCounterFixed:
8303 0000 00 .space 1
8304 .section .bss.JoinRequestTrials,"aw",%nobits
8305 .set .LANCHOR54,. + 0
8308 JoinRequestTrials:
8309 0000 00 .space 1
8310 .section .bss.LastTxChannel,"aw",%nobits
8311 .set .LANCHOR20,. + 0
8314 LastTxChannel:
8315 0000 00 .space 1
8316 .section .bss.LastTxIsJoinRequest,"aw",%nobits
8317 .set .LANCHOR47,. + 0
8320 LastTxIsJoinRequest:
8321 0000 00 .space 1
8322 .section .bss.LoRaMacAppEui,"aw",%nobits
8323 .align 2
8324 .set .LANCHOR51,. + 0
8327 LoRaMacAppEui:
8328 0000 00000000 .space 4
8329 .section .bss.LoRaMacAppKey,"aw",%nobits
8330 .align 2
8331 .set .LANCHOR38,. + 0
8334 LoRaMacAppKey:
8335 0000 00000000 .space 4
8336 .section .bss.LoRaMacAppSKey,"aw",%nobits
8337 .align 2
8338 .set .LANCHOR32,. + 0
8341 LoRaMacAppSKey:
8342 0000 00000000 .space 16
8342 00000000
8342 00000000
8342 00000000
8343 .section .bss.LoRaMacBuffer,"aw",%nobits
8344 .align 2
8347 LoRaMacBuffer:
8348 0000 00000000 .space 255
8348 00000000
ARM GAS /tmp/ccrFaSdZ.s page 221
8348 00000000
8348 00000000
8348 00000000
8349 .section .bss.LoRaMacBufferPktLen,"aw",%nobits
8350 .align 1
8351 .set .LANCHOR49,. + 0
8354 LoRaMacBufferPktLen:
8355 0000 0000 .space 2
8356 .section .bss.LoRaMacCallbacks,"aw",%nobits
8357 .align 2
8358 .set .LANCHOR30,. + 0
8361 LoRaMacCallbacks:
8362 0000 00000000 .space 4
8363 .section .bss.LoRaMacDevAddr,"aw",%nobits
8364 .align 2
8365 .set .LANCHOR41,. + 0
8368 LoRaMacDevAddr:
8369 0000 00000000 .space 4
8370 .section .bss.LoRaMacDevEui,"aw",%nobits
8371 .align 2
8372 .set .LANCHOR52,. + 0
8375 LoRaMacDevEui:
8376 0000 00000000 .space 4
8377 .section .bss.LoRaMacDevNonce,"aw",%nobits
8378 .align 1
8379 .set .LANCHOR39,. + 0
8382 LoRaMacDevNonce:
8383 0000 0000 .space 2
8384 .section .bss.LoRaMacDeviceClass,"aw",%nobits
8385 .set .LANCHOR25,. + 0
8388 LoRaMacDeviceClass:
8389 0000 00 .space 1
8390 .section .bss.LoRaMacFlags,"aw",%nobits
8391 .align 2
8392 .set .LANCHOR26,. + 0
8395 LoRaMacFlags:
8396 0000 00 .space 1
8397 .section .bss.LoRaMacInitializationTime,"aw",%nobits
8398 .align 2
8399 .set .LANCHOR57,. + 0
8402 LoRaMacInitializationTime:
8403 0000 00000000 .space 4
8404 .section .bss.LoRaMacNetID,"aw",%nobits
8405 .align 2
8406 .set .LANCHOR40,. + 0
8409 LoRaMacNetID:
8410 0000 00000000 .space 4
8411 .section .bss.LoRaMacNwkSKey,"aw",%nobits
8412 .align 2
8413 .set .LANCHOR33,. + 0
8416 LoRaMacNwkSKey:
8417 0000 00000000 .space 16
8417 00000000
8417 00000000
8417 00000000
8418 .section .bss.LoRaMacParams,"aw",%nobits
8419 .align 2
ARM GAS /tmp/ccrFaSdZ.s page 222
8420 .set .LANCHOR14,. + 0
8423 LoRaMacParams:
8424 0000 00000000 .space 56
8424 00000000
8424 00000000
8424 00000000
8424 00000000
8425 .section .bss.LoRaMacParamsDefaults,"aw",%nobits
8426 .align 2
8427 .set .LANCHOR13,. + 0
8430 LoRaMacParamsDefaults:
8431 0000 00000000 .space 56
8431 00000000
8431 00000000
8431 00000000
8431 00000000
8432 .section .bss.LoRaMacPrimitives,"aw",%nobits
8433 .align 2
8434 .set .LANCHOR61,. + 0
8437 LoRaMacPrimitives:
8438 0000 00000000 .space 4
8439 .section .bss.LoRaMacRegion,"aw",%nobits
8440 .set .LANCHOR22,. + 0
8443 LoRaMacRegion:
8444 0000 00 .space 1
8445 .section .bss.LoRaMacRxPayload,"aw",%nobits
8446 .align 2
8449 LoRaMacRxPayload:
8450 0000 00000000 .space 255
8450 00000000
8450 00000000
8450 00000000
8450 00000000
8451 .section .bss.LoRaMacState,"aw",%nobits
8452 .align 2
8453 .set .LANCHOR24,. + 0
8456 LoRaMacState:
8457 0000 00000000 .space 4
8458 .section .bss.LoRaMacTxPayloadLen,"aw",%nobits
8459 .set .LANCHOR50,. + 0
8462 LoRaMacTxPayloadLen:
8463 0000 00 .space 1
8464 .section .bss.MacCommandsBuffer,"aw",%nobits
8465 .align 2
8468 MacCommandsBuffer:
8469 0000 00000000 .space 128
8469 00000000
8469 00000000
8469 00000000
8469 00000000
8470 .section .bss.MacCommandsBufferIndex,"aw",%nobits
8471 .set .LANCHOR10,. + 0
8474 MacCommandsBufferIndex:
8475 0000 00 .space 1
8476 .section .bss.MacCommandsBufferToRepeat,"aw",%nobits
8477 .align 2
8480 MacCommandsBufferToRepeat:
ARM GAS /tmp/ccrFaSdZ.s page 223
8481 0000 00000000 .space 128
8481 00000000
8481 00000000
8481 00000000
8481 00000000
8482 .section .bss.MacCommandsBufferToRepeatIndex,"aw",%nobits
8483 .set .LANCHOR11,. + 0
8486 MacCommandsBufferToRepeatIndex:
8487 0000 00 .space 1
8488 .section .bss.MacCommandsInNextTx,"aw",%nobits
8489 .set .LANCHOR17,. + 0
8492 MacCommandsInNextTx:
8493 0000 00 .space 1
8494 .section .bss.MacStateCheckTimer,"aw",%nobits
8495 .align 2
8496 .set .LANCHOR27,. + 0
8499 MacStateCheckTimer:
8500 0000 00000000 .space 20
8500 00000000
8500 00000000
8500 00000000
8500 00000000
8501 .section .bss.MaxDCycle,"aw",%nobits
8502 .set .LANCHOR8,. + 0
8505 MaxDCycle:
8506 0000 00 .space 1
8507 .section .bss.MaxJoinRequestTrials,"aw",%nobits
8508 .set .LANCHOR59,. + 0
8511 MaxJoinRequestTrials:
8512 0000 00 .space 1
8513 .section .bss.McpsConfirm,"aw",%nobits
8514 .align 2
8515 .set .LANCHOR34,. + 0
8518 McpsConfirm:
8519 0000 00000000 .space 20
8519 00000000
8519 00000000
8519 00000000
8519 00000000
8520 .section .bss.McpsIndication,"aw",%nobits
8521 .align 2
8522 .set .LANCHOR35,. + 0
8525 McpsIndication:
8526 0000 00000000 .space 24
8526 00000000
8526 00000000
8526 00000000
8526 00000000
8527 .section .bss.MlmeConfirm,"aw",%nobits
8528 .align 2
8529 .set .LANCHOR28,. + 0
8532 MlmeConfirm:
8533 0000 00000000 .space 12
8533 00000000
8533 00000000
8534 .section .bss.MulticastChannels,"aw",%nobits
8535 .align 2
ARM GAS /tmp/ccrFaSdZ.s page 224
8536 .set .LANCHOR18,. + 0
8539 MulticastChannels:
8540 0000 00000000 .space 4
8541 .section .bss.NodeAckRequested,"aw",%nobits
8542 .set .LANCHOR15,. + 0
8545 NodeAckRequested:
8546 0000 00 .space 1
8547 .section .bss.PublicNetwork,"aw",%nobits
8548 .set .LANCHOR63,. + 0
8551 PublicNetwork:
8552 0000 00 .space 1
8553 .section .bss.RadioEvents,"aw",%nobits
8554 .align 2
8555 .set .LANCHOR62,. + 0
8558 RadioEvents:
8559 0000 00000000 .space 28
8559 00000000
8559 00000000
8559 00000000
8559 00000000
8560 .section .bss.RepeaterSupport,"aw",%nobits
8561 .set .LANCHOR21,. + 0
8564 RepeaterSupport:
8565 0000 00 .space 1
8566 .section .bss.RxSlot,"aw",%nobits
8567 .set .LANCHOR36,. + 0
8570 RxSlot:
8571 0000 00 .space 1
8572 .section .bss.RxWindow1Config,"aw",%nobits
8573 .align 2
8574 .set .LANCHOR48,. + 0
8577 RxWindow1Config:
8578 0000 00000000 .space 20
8578 00000000
8578 00000000
8578 00000000
8578 00000000
8579 .section .bss.RxWindow1Delay,"aw",%nobits
8580 .align 2
8581 .set .LANCHOR45,. + 0
8584 RxWindow1Delay:
8585 0000 00000000 .space 4
8586 .section .bss.RxWindow2Config,"aw",%nobits
8587 .align 2
8588 .set .LANCHOR42,. + 0
8591 RxWindow2Config:
8592 0000 00000000 .space 20
8592 00000000
8592 00000000
8592 00000000
8592 00000000
8593 .section .bss.RxWindow2Delay,"aw",%nobits
8594 .align 2
8595 .set .LANCHOR44,. + 0
8598 RxWindow2Delay:
8599 0000 00000000 .space 4
8600 .section .bss.RxWindowTimer1,"aw",%nobits
ARM GAS /tmp/ccrFaSdZ.s page 225
8601 .align 2
8602 .set .LANCHOR46,. + 0
8605 RxWindowTimer1:
8606 0000 00000000 .space 20
8606 00000000
8606 00000000
8606 00000000
8606 00000000
8607 .section .bss.RxWindowTimer2,"aw",%nobits
8608 .align 2
8609 .set .LANCHOR37,. + 0
8612 RxWindowTimer2:
8613 0000 00000000 .space 20
8613 00000000
8613 00000000
8613 00000000
8613 00000000
8614 .section .bss.SrvAckRequested,"aw",%nobits
8615 .set .LANCHOR16,. + 0
8618 SrvAckRequested:
8619 0000 00 .space 1
8620 .section .bss.TxDelayedTimer,"aw",%nobits
8621 .align 2
8622 .set .LANCHOR58,. + 0
8625 TxDelayedTimer:
8626 0000 00000000 .space 20
8626 00000000
8626 00000000
8626 00000000
8626 00000000
8627 .section .bss.TxTimeOnAir,"aw",%nobits
8628 .align 2
8629 .set .LANCHOR53,. + 0
8632 TxTimeOnAir:
8633 0000 00000000 .space 4
8634 .section .bss.UpLinkCounter,"aw",%nobits
8635 .align 2
8636 .set .LANCHOR1,. + 0
8639 UpLinkCounter:
8640 0000 00000000 .space 4
8641 .section .data.AckTimeoutRetries,"aw",%progbits
8642 .set .LANCHOR5,. + 0
8645 AckTimeoutRetries:
8646 0000 01 .byte 1
8647 .section .data.AckTimeoutRetriesCounter,"aw",%progbits
8648 .set .LANCHOR6,. + 0
8651 AckTimeoutRetriesCounter:
8652 0000 01 .byte 1
8653 .section .data.IsRxWindowsEnabled,"aw",%progbits
8654 .set .LANCHOR12,. + 0
8657 IsRxWindowsEnabled:
8658 0000 01 .byte 1
8659 .section .rodata.LoRaMacMaxEirpTable,"a",%progbits
8660 .align 2
8661 .set .LANCHOR31,. + 0
8664 LoRaMacMaxEirpTable:
8665 0000 08 .byte 8
ARM GAS /tmp/ccrFaSdZ.s page 226
8666 0001 0A .byte 10
8667 0002 0C .byte 12
8668 0003 0D .byte 13
8669 0004 0E .byte 14
8670 0005 10 .byte 16
8671 0006 12 .byte 18
8672 0007 14 .byte 20
8673 0008 15 .byte 21
8674 0009 18 .byte 24
8675 000a 1A .byte 26
8676 000b 1B .byte 27
8677 000c 1D .byte 29
8678 000d 1E .byte 30
8679 000e 21 .byte 33
8680 000f 24 .byte 36
8681 .text
8682 .Letext0:
8683 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
8684 .file 3 "/usr/arm-none-eabi/include/sys/lock.h"
8685 .file 4 "/usr/arm-none-eabi/include/sys/_types.h"
8686 .file 5 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h"
8687 .file 6 "/usr/arm-none-eabi/include/sys/reent.h"
8688 .file 7 "/usr/arm-none-eabi/include/sys/_stdint.h"
8689 .file 8 "Middlewares/Third_Party/Lora/Phy/radio.h"
8690 .file 9 "/usr/arm-none-eabi/include/math.h"
8691 .file 10 "Middlewares/Third_Party/Lora/Utilities/utilities.h"
8692 .file 11 "Middlewares/Third_Party/Lora/Utilities/timeServer.h"
8693 .file 12 "./Middlewares/Third_Party/Lora/Mac/LoRaMac.h"
8694 .file 13 "./Middlewares/Third_Party/Lora/Mac/region/Region.h"
8695 .file 14 "./Middlewares/Third_Party/Lora/Mac/LoRaMacCrypto.h"
ARM GAS /tmp/ccrFaSdZ.s page 227
DEFINED SYMBOLS
*ABS*:0000000000000000 LoRaMac.c
/tmp/ccrFaSdZ.s:16 .text.ResetMacParameters:0000000000000000 $t
/tmp/ccrFaSdZ.s:22 .text.ResetMacParameters:0000000000000000 ResetMacParameters
/tmp/ccrFaSdZ.s:151 .text.ResetMacParameters:0000000000000098 $d
/tmp/ccrFaSdZ.s:176 .text.ValidatePayloadLength:0000000000000000 $t
/tmp/ccrFaSdZ.s:182 .text.ValidatePayloadLength:0000000000000000 ValidatePayloadLength
/tmp/ccrFaSdZ.s:266 .text.ValidatePayloadLength:000000000000004c $d
/tmp/ccrFaSdZ.s:273 .text.OnAckTimeoutTimerEvent:0000000000000000 $t
/tmp/ccrFaSdZ.s:279 .text.OnAckTimeoutTimerEvent:0000000000000000 OnAckTimeoutTimerEvent
/tmp/ccrFaSdZ.s:331 .text.OnAckTimeoutTimerEvent:0000000000000038 $d
/tmp/ccrFaSdZ.s:341 .text.PrepareRxDoneAbort:0000000000000000 $t
/tmp/ccrFaSdZ.s:347 .text.PrepareRxDoneAbort:0000000000000000 PrepareRxDoneAbort
/tmp/ccrFaSdZ.s:400 .text.PrepareRxDoneAbort:000000000000003c $d
/tmp/ccrFaSdZ.s:410 .text.ProcessMacCommands:0000000000000000 $t
/tmp/ccrFaSdZ.s:416 .text.ProcessMacCommands:0000000000000000 ProcessMacCommands
/tmp/ccrFaSdZ.s:468 .rodata.ProcessMacCommands:0000000000000000 $d
/tmp/ccrFaSdZ.s:1173 .text.ProcessMacCommands:0000000000000394 $d
/tmp/ccrFaSdZ.s:8468 .bss.MacCommandsBuffer:0000000000000000 MacCommandsBuffer
/tmp/ccrFaSdZ.s:1190 .text.ProcessMacCommands:00000000000003c8 $t
/tmp/ccrFaSdZ.s:1283 .text.ProcessMacCommands:000000000000043c $d
/tmp/ccrFaSdZ.s:1292 .text.OnRadioRxDone:0000000000000000 $t
/tmp/ccrFaSdZ.s:1298 .text.OnRadioRxDone:0000000000000000 OnRadioRxDone
/tmp/ccrFaSdZ.s:1770 .text.OnRadioRxDone:0000000000000258 $d
/tmp/ccrFaSdZ.s:8449 .bss.LoRaMacRxPayload:0000000000000000 LoRaMacRxPayload
/tmp/ccrFaSdZ.s:1795 .text.OnRadioRxDone:00000000000002b4 $t
/tmp/ccrFaSdZ.s:2431 .text.OnRadioRxDone:00000000000005c4 $d
/tmp/ccrFaSdZ.s:2450 .text.OnRxWindow2TimerEvent:0000000000000000 $t
/tmp/ccrFaSdZ.s:2456 .text.OnRxWindow2TimerEvent:0000000000000000 OnRxWindow2TimerEvent
/tmp/ccrFaSdZ.s:2562 .text.OnRxWindow2TimerEvent:0000000000000074 $d
/tmp/ccrFaSdZ.s:2578 .text.OnRadioRxTimeout:0000000000000000 $t
/tmp/ccrFaSdZ.s:2584 .text.OnRadioRxTimeout:0000000000000000 OnRadioRxTimeout
/tmp/ccrFaSdZ.s:2679 .text.OnRadioRxTimeout:0000000000000078 $d
/tmp/ccrFaSdZ.s:2692 .text.OnRadioTxTimeout:0000000000000000 $t
/tmp/ccrFaSdZ.s:2698 .text.OnRadioTxTimeout:0000000000000000 OnRadioTxTimeout
/tmp/ccrFaSdZ.s:2744 .text.OnRadioTxTimeout:000000000000002c $d
/tmp/ccrFaSdZ.s:2753 .text.OnRadioRxError:0000000000000000 $t
/tmp/ccrFaSdZ.s:2759 .text.OnRadioRxError:0000000000000000 OnRadioRxError
/tmp/ccrFaSdZ.s:2849 .text.OnRadioRxError:0000000000000070 $d
/tmp/ccrFaSdZ.s:2862 .text.OnRadioTxDone:0000000000000000 $t
/tmp/ccrFaSdZ.s:2868 .text.OnRadioTxDone:0000000000000000 OnRadioTxDone
/tmp/ccrFaSdZ.s:3068 .text.OnRadioTxDone:0000000000000108 $d
/tmp/ccrFaSdZ.s:3091 .text.OnRxWindow1TimerEvent:0000000000000000 $t
/tmp/ccrFaSdZ.s:3097 .text.OnRxWindow1TimerEvent:0000000000000000 OnRxWindow1TimerEvent
/tmp/ccrFaSdZ.s:3196 .text.OnRxWindow1TimerEvent:0000000000000068 $d
/tmp/ccrFaSdZ.s:3212 .text.PrepareFrame:0000000000000000 $t
/tmp/ccrFaSdZ.s:3219 .text.PrepareFrame:0000000000000000 PrepareFrame
/tmp/ccrFaSdZ.s:3685 .rodata.PrepareFrame:0000000000000000 $d
/tmp/ccrFaSdZ.s:3886 .text.PrepareFrame:000000000000033c $d
/tmp/ccrFaSdZ.s:8347 .bss.LoRaMacBuffer:0000000000000000 LoRaMacBuffer
/tmp/ccrFaSdZ.s:8480 .bss.MacCommandsBufferToRepeat:0000000000000000 MacCommandsBufferToRepeat
/tmp/ccrFaSdZ.s:3915 .text.SendFrameOnChannel:0000000000000000 $t
/tmp/ccrFaSdZ.s:3922 .text.SendFrameOnChannel:0000000000000000 SendFrameOnChannel
/tmp/ccrFaSdZ.s:4037 .text.SendFrameOnChannel:0000000000000090 $d
/tmp/ccrFaSdZ.s:4053 .text.ScheduleTx:0000000000000000 $t
/tmp/ccrFaSdZ.s:4059 .text.ScheduleTx:0000000000000000 ScheduleTx
/tmp/ccrFaSdZ.s:4317 .text.ScheduleTx:000000000000016c $d
ARM GAS /tmp/ccrFaSdZ.s page 228
/tmp/ccrFaSdZ.s:4343 .text.Send:0000000000000000 $t
/tmp/ccrFaSdZ.s:4350 .text.Send:0000000000000000 Send
/tmp/ccrFaSdZ.s:4413 .text.Send:0000000000000038 $d
/tmp/ccrFaSdZ.s:4420 .text.OnTxDelayedTimerEvent:0000000000000000 $t
/tmp/ccrFaSdZ.s:4426 .text.OnTxDelayedTimerEvent:0000000000000000 OnTxDelayedTimerEvent
/tmp/ccrFaSdZ.s:4506 .text.OnTxDelayedTimerEvent:0000000000000064 $d
/tmp/ccrFaSdZ.s:4518 .text.OnMacStateCheckTimerEvent:0000000000000000 $t
/tmp/ccrFaSdZ.s:4524 .text.OnMacStateCheckTimerEvent:0000000000000000 OnMacStateCheckTimerEvent
/tmp/ccrFaSdZ.s:5052 .text.OnMacStateCheckTimerEvent:00000000000002e4 $d
/tmp/ccrFaSdZ.s:5077 .text.SetTxContinuousWave:0000000000000000 $t
/tmp/ccrFaSdZ.s:5084 .text.SetTxContinuousWave:0000000000000000 SetTxContinuousWave
/tmp/ccrFaSdZ.s:5154 .text.SetTxContinuousWave:0000000000000054 $d
/tmp/ccrFaSdZ.s:5163 .text.SetTxContinuousWave1:0000000000000000 $t
/tmp/ccrFaSdZ.s:5170 .text.SetTxContinuousWave1:0000000000000000 SetTxContinuousWave1
/tmp/ccrFaSdZ.s:5218 .text.SetTxContinuousWave1:0000000000000030 $d
/tmp/ccrFaSdZ.s:5225 .text.LoRaMacInitialization:0000000000000000 $t
/tmp/ccrFaSdZ.s:5232 .text.LoRaMacInitialization:0000000000000000 LoRaMacInitialization
/tmp/ccrFaSdZ.s:5640 .text.LoRaMacInitialization:0000000000000204 $d
/tmp/ccrFaSdZ.s:5677 .text.LoRaMacQueryTxPossible:0000000000000000 $t
/tmp/ccrFaSdZ.s:5684 .text.LoRaMacQueryTxPossible:0000000000000000 LoRaMacQueryTxPossible
/tmp/ccrFaSdZ.s:5863 .text.LoRaMacQueryTxPossible:00000000000000e0 $d
/tmp/ccrFaSdZ.s:5875 .text.LoRaMacMibGetRequestConfirm:0000000000000000 $t
/tmp/ccrFaSdZ.s:5882 .text.LoRaMacMibGetRequestConfirm:0000000000000000 LoRaMacMibGetRequestConfirm
/tmp/ccrFaSdZ.s:5914 .rodata.LoRaMacMibGetRequestConfirm:0000000000000000 $d
/tmp/ccrFaSdZ.s:6326 .text.LoRaMacMibGetRequestConfirm:000000000000017c $d
/tmp/ccrFaSdZ.s:6346 .text.LoRaMacMibSetRequestConfirm:0000000000000000 $t
/tmp/ccrFaSdZ.s:6353 .text.LoRaMacMibSetRequestConfirm:0000000000000000 LoRaMacMibSetRequestConfirm
/tmp/ccrFaSdZ.s:6394 .rodata.LoRaMacMibSetRequestConfirm:0000000000000000 $d
/tmp/ccrFaSdZ.s:7100 .text.LoRaMacMibSetRequestConfirm:0000000000000320 $d
/tmp/ccrFaSdZ.s:7126 .text.LoRaMacChannelAdd:0000000000000000 $t
/tmp/ccrFaSdZ.s:7133 .text.LoRaMacChannelAdd:0000000000000000 LoRaMacChannelAdd
/tmp/ccrFaSdZ.s:7185 .text.LoRaMacChannelAdd:0000000000000030 $d
/tmp/ccrFaSdZ.s:7191 .text.LoRaMacChannelRemove:0000000000000000 $t
/tmp/ccrFaSdZ.s:7198 .text.LoRaMacChannelRemove:0000000000000000 LoRaMacChannelRemove
/tmp/ccrFaSdZ.s:7252 .text.LoRaMacChannelRemove:0000000000000030 $d
/tmp/ccrFaSdZ.s:7258 .text.LoRaMacMulticastChannelLink:0000000000000000 $t
/tmp/ccrFaSdZ.s:7265 .text.LoRaMacMulticastChannelLink:0000000000000000 LoRaMacMulticastChannelLink
/tmp/ccrFaSdZ.s:7331 .text.LoRaMacMulticastChannelLink:0000000000000034 $d
/tmp/ccrFaSdZ.s:7337 .text.LoRaMacMulticastChannelUnlink:0000000000000000 $t
/tmp/ccrFaSdZ.s:7344 .text.LoRaMacMulticastChannelUnlink:0000000000000000 LoRaMacMulticastChannelUnlink
/tmp/ccrFaSdZ.s:7427 .text.LoRaMacMulticastChannelUnlink:0000000000000048 $d
/tmp/ccrFaSdZ.s:7433 .text.LoRaMacMlmeRequest:0000000000000000 $t
/tmp/ccrFaSdZ.s:7440 .text.LoRaMacMlmeRequest:0000000000000000 LoRaMacMlmeRequest
/tmp/ccrFaSdZ.s:7751 .text.LoRaMacMlmeRequest:0000000000000184 $d
/tmp/ccrFaSdZ.s:7770 .text.LoRaMacMcpsRequest:0000000000000000 $t
/tmp/ccrFaSdZ.s:7777 .text.LoRaMacMcpsRequest:0000000000000000 LoRaMacMcpsRequest
/tmp/ccrFaSdZ.s:8059 .text.LoRaMacMcpsRequest:000000000000014c $d
/tmp/ccrFaSdZ.s:8072 .text.LoRaMacTestRxWindowsOn:0000000000000000 $t
/tmp/ccrFaSdZ.s:8079 .text.LoRaMacTestRxWindowsOn:0000000000000000 LoRaMacTestRxWindowsOn
/tmp/ccrFaSdZ.s:8096 .text.LoRaMacTestRxWindowsOn:0000000000000008 $d
/tmp/ccrFaSdZ.s:8101 .text.LoRaMacTestSetMic:0000000000000000 $t
/tmp/ccrFaSdZ.s:8108 .text.LoRaMacTestSetMic:0000000000000000 LoRaMacTestSetMic
/tmp/ccrFaSdZ.s:8129 .text.LoRaMacTestSetMic:000000000000000c $d
/tmp/ccrFaSdZ.s:8135 .text.LoRaMacTestSetDutyCycleOn:0000000000000000 $t
/tmp/ccrFaSdZ.s:8142 .text.LoRaMacTestSetDutyCycleOn:0000000000000000 LoRaMacTestSetDutyCycleOn
/tmp/ccrFaSdZ.s:8181 .text.LoRaMacTestSetDutyCycleOn:0000000000000020 $d
/tmp/ccrFaSdZ.s:8187 .text.LoRaMacTestSetChannel:0000000000000000 $t
ARM GAS /tmp/ccrFaSdZ.s page 229
/tmp/ccrFaSdZ.s:8194 .text.LoRaMacTestSetChannel:0000000000000000 LoRaMacTestSetChannel
/tmp/ccrFaSdZ.s:8211 .text.LoRaMacTestSetChannel:0000000000000008 $d
/tmp/ccrFaSdZ.s:8395 .bss.LoRaMacFlags:0000000000000000 LoRaMacFlags
/tmp/ccrFaSdZ.s:8632 .bss.TxTimeOnAir:0000000000000000 TxTimeOnAir
/tmp/ccrFaSdZ.s:8456 .bss.LoRaMacState:0000000000000000 LoRaMacState
/tmp/ccrFaSdZ.s:8430 .bss.LoRaMacParamsDefaults:0000000000000000 LoRaMacParamsDefaults
/tmp/ccrFaSdZ.s:8423 .bss.LoRaMacParams:0000000000000000 LoRaMacParams
/tmp/ccrFaSdZ.s:8224 .bss.AckTimeoutRetry:0000000000000000 AckTimeoutRetry
/tmp/ccrFaSdZ.s:8225 .bss.AckTimeoutRetry:0000000000000000 $d
/tmp/ccrFaSdZ.s:8227 .bss.AckTimeoutTimer:0000000000000000 $d
/tmp/ccrFaSdZ.s:8231 .bss.AckTimeoutTimer:0000000000000000 AckTimeoutTimer
/tmp/ccrFaSdZ.s:8234 .bss.AdrAckCounter:0000000000000000 $d
/tmp/ccrFaSdZ.s:8238 .bss.AdrAckCounter:0000000000000000 AdrAckCounter
/tmp/ccrFaSdZ.s:8244 .bss.AdrCtrlOn:0000000000000000 AdrCtrlOn
/tmp/ccrFaSdZ.s:8245 .bss.AdrCtrlOn:0000000000000000 $d
/tmp/ccrFaSdZ.s:8247 .bss.AggregatedDCycle:0000000000000000 $d
/tmp/ccrFaSdZ.s:8251 .bss.AggregatedDCycle:0000000000000000 AggregatedDCycle
/tmp/ccrFaSdZ.s:8254 .bss.AggregatedLastTxDoneTime:0000000000000000 $d
/tmp/ccrFaSdZ.s:8258 .bss.AggregatedLastTxDoneTime:0000000000000000 AggregatedLastTxDoneTime
/tmp/ccrFaSdZ.s:8261 .bss.AggregatedTimeOff:0000000000000000 $d
/tmp/ccrFaSdZ.s:8265 .bss.AggregatedTimeOff:0000000000000000 AggregatedTimeOff
/tmp/ccrFaSdZ.s:8271 .bss.Channel:0000000000000000 Channel
/tmp/ccrFaSdZ.s:8272 .bss.Channel:0000000000000000 $d
/tmp/ccrFaSdZ.s:8277 .bss.ChannelsNbRepCounter:0000000000000000 ChannelsNbRepCounter
/tmp/ccrFaSdZ.s:8278 .bss.ChannelsNbRepCounter:0000000000000000 $d
/tmp/ccrFaSdZ.s:8280 .bss.DownLinkCounter:0000000000000000 $d
/tmp/ccrFaSdZ.s:8284 .bss.DownLinkCounter:0000000000000000 DownLinkCounter
/tmp/ccrFaSdZ.s:8290 .bss.DutyCycleOn:0000000000000000 DutyCycleOn
/tmp/ccrFaSdZ.s:8291 .bss.DutyCycleOn:0000000000000000 $d
/tmp/ccrFaSdZ.s:8296 .bss.IsLoRaMacNetworkJoined:0000000000000000 IsLoRaMacNetworkJoined
/tmp/ccrFaSdZ.s:8297 .bss.IsLoRaMacNetworkJoined:0000000000000000 $d
/tmp/ccrFaSdZ.s:8302 .bss.IsUpLinkCounterFixed:0000000000000000 IsUpLinkCounterFixed
/tmp/ccrFaSdZ.s:8303 .bss.IsUpLinkCounterFixed:0000000000000000 $d
/tmp/ccrFaSdZ.s:8308 .bss.JoinRequestTrials:0000000000000000 JoinRequestTrials
/tmp/ccrFaSdZ.s:8309 .bss.JoinRequestTrials:0000000000000000 $d
/tmp/ccrFaSdZ.s:8314 .bss.LastTxChannel:0000000000000000 LastTxChannel
/tmp/ccrFaSdZ.s:8315 .bss.LastTxChannel:0000000000000000 $d
/tmp/ccrFaSdZ.s:8320 .bss.LastTxIsJoinRequest:0000000000000000 LastTxIsJoinRequest
/tmp/ccrFaSdZ.s:8321 .bss.LastTxIsJoinRequest:0000000000000000 $d
/tmp/ccrFaSdZ.s:8323 .bss.LoRaMacAppEui:0000000000000000 $d
/tmp/ccrFaSdZ.s:8327 .bss.LoRaMacAppEui:0000000000000000 LoRaMacAppEui
/tmp/ccrFaSdZ.s:8330 .bss.LoRaMacAppKey:0000000000000000 $d
/tmp/ccrFaSdZ.s:8334 .bss.LoRaMacAppKey:0000000000000000 LoRaMacAppKey
/tmp/ccrFaSdZ.s:8337 .bss.LoRaMacAppSKey:0000000000000000 $d
/tmp/ccrFaSdZ.s:8341 .bss.LoRaMacAppSKey:0000000000000000 LoRaMacAppSKey
/tmp/ccrFaSdZ.s:8344 .bss.LoRaMacBuffer:0000000000000000 $d
/tmp/ccrFaSdZ.s:8350 .bss.LoRaMacBufferPktLen:0000000000000000 $d
/tmp/ccrFaSdZ.s:8354 .bss.LoRaMacBufferPktLen:0000000000000000 LoRaMacBufferPktLen
/tmp/ccrFaSdZ.s:8357 .bss.LoRaMacCallbacks:0000000000000000 $d
/tmp/ccrFaSdZ.s:8361 .bss.LoRaMacCallbacks:0000000000000000 LoRaMacCallbacks
/tmp/ccrFaSdZ.s:8364 .bss.LoRaMacDevAddr:0000000000000000 $d
/tmp/ccrFaSdZ.s:8368 .bss.LoRaMacDevAddr:0000000000000000 LoRaMacDevAddr
/tmp/ccrFaSdZ.s:8371 .bss.LoRaMacDevEui:0000000000000000 $d
/tmp/ccrFaSdZ.s:8375 .bss.LoRaMacDevEui:0000000000000000 LoRaMacDevEui
/tmp/ccrFaSdZ.s:8378 .bss.LoRaMacDevNonce:0000000000000000 $d
/tmp/ccrFaSdZ.s:8382 .bss.LoRaMacDevNonce:0000000000000000 LoRaMacDevNonce
/tmp/ccrFaSdZ.s:8388 .bss.LoRaMacDeviceClass:0000000000000000 LoRaMacDeviceClass
ARM GAS /tmp/ccrFaSdZ.s page 230
/tmp/ccrFaSdZ.s:8389 .bss.LoRaMacDeviceClass:0000000000000000 $d
/tmp/ccrFaSdZ.s:8391 .bss.LoRaMacFlags:0000000000000000 $d
/tmp/ccrFaSdZ.s:8398 .bss.LoRaMacInitializationTime:0000000000000000 $d
/tmp/ccrFaSdZ.s:8402 .bss.LoRaMacInitializationTime:0000000000000000 LoRaMacInitializationTime
/tmp/ccrFaSdZ.s:8405 .bss.LoRaMacNetID:0000000000000000 $d
/tmp/ccrFaSdZ.s:8409 .bss.LoRaMacNetID:0000000000000000 LoRaMacNetID
/tmp/ccrFaSdZ.s:8412 .bss.LoRaMacNwkSKey:0000000000000000 $d
/tmp/ccrFaSdZ.s:8416 .bss.LoRaMacNwkSKey:0000000000000000 LoRaMacNwkSKey
/tmp/ccrFaSdZ.s:8419 .bss.LoRaMacParams:0000000000000000 $d
/tmp/ccrFaSdZ.s:8426 .bss.LoRaMacParamsDefaults:0000000000000000 $d
/tmp/ccrFaSdZ.s:8433 .bss.LoRaMacPrimitives:0000000000000000 $d
/tmp/ccrFaSdZ.s:8437 .bss.LoRaMacPrimitives:0000000000000000 LoRaMacPrimitives
/tmp/ccrFaSdZ.s:8443 .bss.LoRaMacRegion:0000000000000000 LoRaMacRegion
/tmp/ccrFaSdZ.s:8444 .bss.LoRaMacRegion:0000000000000000 $d
/tmp/ccrFaSdZ.s:8446 .bss.LoRaMacRxPayload:0000000000000000 $d
/tmp/ccrFaSdZ.s:8452 .bss.LoRaMacState:0000000000000000 $d
/tmp/ccrFaSdZ.s:8462 .bss.LoRaMacTxPayloadLen:0000000000000000 LoRaMacTxPayloadLen
/tmp/ccrFaSdZ.s:8463 .bss.LoRaMacTxPayloadLen:0000000000000000 $d
/tmp/ccrFaSdZ.s:8465 .bss.MacCommandsBuffer:0000000000000000 $d
/tmp/ccrFaSdZ.s:8474 .bss.MacCommandsBufferIndex:0000000000000000 MacCommandsBufferIndex
/tmp/ccrFaSdZ.s:8475 .bss.MacCommandsBufferIndex:0000000000000000 $d
/tmp/ccrFaSdZ.s:8477 .bss.MacCommandsBufferToRepeat:0000000000000000 $d
/tmp/ccrFaSdZ.s:8486 .bss.MacCommandsBufferToRepeatIndex:0000000000000000 MacCommandsBufferToRepeatIndex
/tmp/ccrFaSdZ.s:8487 .bss.MacCommandsBufferToRepeatIndex:0000000000000000 $d
/tmp/ccrFaSdZ.s:8492 .bss.MacCommandsInNextTx:0000000000000000 MacCommandsInNextTx
/tmp/ccrFaSdZ.s:8493 .bss.MacCommandsInNextTx:0000000000000000 $d
/tmp/ccrFaSdZ.s:8495 .bss.MacStateCheckTimer:0000000000000000 $d
/tmp/ccrFaSdZ.s:8499 .bss.MacStateCheckTimer:0000000000000000 MacStateCheckTimer
/tmp/ccrFaSdZ.s:8505 .bss.MaxDCycle:0000000000000000 MaxDCycle
/tmp/ccrFaSdZ.s:8506 .bss.MaxDCycle:0000000000000000 $d
/tmp/ccrFaSdZ.s:8511 .bss.MaxJoinRequestTrials:0000000000000000 MaxJoinRequestTrials
/tmp/ccrFaSdZ.s:8512 .bss.MaxJoinRequestTrials:0000000000000000 $d
/tmp/ccrFaSdZ.s:8514 .bss.McpsConfirm:0000000000000000 $d
/tmp/ccrFaSdZ.s:8518 .bss.McpsConfirm:0000000000000000 McpsConfirm
/tmp/ccrFaSdZ.s:8521 .bss.McpsIndication:0000000000000000 $d
/tmp/ccrFaSdZ.s:8525 .bss.McpsIndication:0000000000000000 McpsIndication
/tmp/ccrFaSdZ.s:8528 .bss.MlmeConfirm:0000000000000000 $d
/tmp/ccrFaSdZ.s:8532 .bss.MlmeConfirm:0000000000000000 MlmeConfirm
/tmp/ccrFaSdZ.s:8535 .bss.MulticastChannels:0000000000000000 $d
/tmp/ccrFaSdZ.s:8539 .bss.MulticastChannels:0000000000000000 MulticastChannels
/tmp/ccrFaSdZ.s:8545 .bss.NodeAckRequested:0000000000000000 NodeAckRequested
/tmp/ccrFaSdZ.s:8546 .bss.NodeAckRequested:0000000000000000 $d
/tmp/ccrFaSdZ.s:8551 .bss.PublicNetwork:0000000000000000 PublicNetwork
/tmp/ccrFaSdZ.s:8552 .bss.PublicNetwork:0000000000000000 $d
/tmp/ccrFaSdZ.s:8554 .bss.RadioEvents:0000000000000000 $d
/tmp/ccrFaSdZ.s:8558 .bss.RadioEvents:0000000000000000 RadioEvents
/tmp/ccrFaSdZ.s:8564 .bss.RepeaterSupport:0000000000000000 RepeaterSupport
/tmp/ccrFaSdZ.s:8565 .bss.RepeaterSupport:0000000000000000 $d
/tmp/ccrFaSdZ.s:8570 .bss.RxSlot:0000000000000000 RxSlot
/tmp/ccrFaSdZ.s:8571 .bss.RxSlot:0000000000000000 $d
/tmp/ccrFaSdZ.s:8573 .bss.RxWindow1Config:0000000000000000 $d
/tmp/ccrFaSdZ.s:8577 .bss.RxWindow1Config:0000000000000000 RxWindow1Config
/tmp/ccrFaSdZ.s:8580 .bss.RxWindow1Delay:0000000000000000 $d
/tmp/ccrFaSdZ.s:8584 .bss.RxWindow1Delay:0000000000000000 RxWindow1Delay
/tmp/ccrFaSdZ.s:8587 .bss.RxWindow2Config:0000000000000000 $d
/tmp/ccrFaSdZ.s:8591 .bss.RxWindow2Config:0000000000000000 RxWindow2Config
/tmp/ccrFaSdZ.s:8594 .bss.RxWindow2Delay:0000000000000000 $d
ARM GAS /tmp/ccrFaSdZ.s page 231
/tmp/ccrFaSdZ.s:8598 .bss.RxWindow2Delay:0000000000000000 RxWindow2Delay
/tmp/ccrFaSdZ.s:8601 .bss.RxWindowTimer1:0000000000000000 $d
/tmp/ccrFaSdZ.s:8605 .bss.RxWindowTimer1:0000000000000000 RxWindowTimer1
/tmp/ccrFaSdZ.s:8608 .bss.RxWindowTimer2:0000000000000000 $d
/tmp/ccrFaSdZ.s:8612 .bss.RxWindowTimer2:0000000000000000 RxWindowTimer2
/tmp/ccrFaSdZ.s:8618 .bss.SrvAckRequested:0000000000000000 SrvAckRequested
/tmp/ccrFaSdZ.s:8619 .bss.SrvAckRequested:0000000000000000 $d
/tmp/ccrFaSdZ.s:8621 .bss.TxDelayedTimer:0000000000000000 $d
/tmp/ccrFaSdZ.s:8625 .bss.TxDelayedTimer:0000000000000000 TxDelayedTimer
/tmp/ccrFaSdZ.s:8628 .bss.TxTimeOnAir:0000000000000000 $d
/tmp/ccrFaSdZ.s:8635 .bss.UpLinkCounter:0000000000000000 $d
/tmp/ccrFaSdZ.s:8639 .bss.UpLinkCounter:0000000000000000 UpLinkCounter
/tmp/ccrFaSdZ.s:8645 .data.AckTimeoutRetries:0000000000000000 AckTimeoutRetries
/tmp/ccrFaSdZ.s:8651 .data.AckTimeoutRetriesCounter:0000000000000000 AckTimeoutRetriesCounter
/tmp/ccrFaSdZ.s:8657 .data.IsRxWindowsEnabled:0000000000000000 IsRxWindowsEnabled
/tmp/ccrFaSdZ.s:8660 .rodata.LoRaMacMaxEirpTable:0000000000000000 $d
/tmp/ccrFaSdZ.s:8664 .rodata.LoRaMacMaxEirpTable:0000000000000000 LoRaMacMaxEirpTable
.debug_frame:0000000000000010 $d
UNDEFINED SYMBOLS
RegionGetPhyParam
TimerStop
TimerSetValue
TimerStart
__aeabi_uidiv
__aeabi_ui2f
RegionLinkAdrReq
RegionRxParamSetupReq
RegionNewChannelReq
RegionTxParamSetupReq
RegionDlChannelReq
memcpy1
LoRaMacJoinDecrypt
LoRaMacJoinComputeMic
LoRaMacJoinComputeSKeys
RegionApplyCFList
Radio
LoRaMacComputeMic
LoRaMacPayloadDecrypt
RegionRxConfig
TimerGetElapsedTime
TimerGetCurrentTime
RegionSetBandTxDone
memcpyr
RegionAdrNext
LoRaMacPayloadEncrypt
RegionTxConfig
RegionCalcBackOff
RegionNextChannel
RegionApplyDrOffset
RegionComputeRxWindowParameters
RegionAlternateDr
RegionInitDefaults
RegionSetContinuousWave
RegionIsActive
TimerInit
srand1
ARM GAS /tmp/ccrFaSdZ.s page 232
RegionVerify
RegionChanMaskSet
RegionChannelAdd
RegionChannelsRemove
memset1