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

2560 lines
132 KiB

ARM GAS /tmp/ccY05lmV.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 "lora.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.McpsConfirm,"ax",%progbits
16 .align 1
17 .syntax unified
18 .code 16
19 .thumb_func
20 .fpu softvfp
22 McpsConfirm:
23 .LFB100:
24 .file 1 "./Middlewares/Third_Party/Lora/Core/lora.c"
1:./Middlewares/Third_Party/Lora/Core/lora.c **** /*
2:./Middlewares/Third_Party/Lora/Core/lora.c **** / _____) _ | |
3:./Middlewares/Third_Party/Lora/Core/lora.c **** ( (____ _____ ____ _| |_ _____ ____| |__
4:./Middlewares/Third_Party/Lora/Core/lora.c **** \____ \| ___ | (_ _) ___ |/ ___) _ \
5:./Middlewares/Third_Party/Lora/Core/lora.c **** _____) ) ____| | | || |_| ____( (___| | | |
6:./Middlewares/Third_Party/Lora/Core/lora.c **** (______/|_____)_|_|_| \__)_____)\____)_| |_|
7:./Middlewares/Third_Party/Lora/Core/lora.c **** (C)2013 Semtech
8:./Middlewares/Third_Party/Lora/Core/lora.c ****
9:./Middlewares/Third_Party/Lora/Core/lora.c **** Description: LoRaMac classA device implementation
10:./Middlewares/Third_Party/Lora/Core/lora.c ****
11:./Middlewares/Third_Party/Lora/Core/lora.c **** License: Revised BSD License, see LICENSE.TXT file include in the project
12:./Middlewares/Third_Party/Lora/Core/lora.c ****
13:./Middlewares/Third_Party/Lora/Core/lora.c **** Maintainer: Miguel Luis, Gregory Cristian and Wael Guibene
14:./Middlewares/Third_Party/Lora/Core/lora.c **** */
15:./Middlewares/Third_Party/Lora/Core/lora.c **** /******************************************************************************
16:./Middlewares/Third_Party/Lora/Core/lora.c **** * @file lora.c
17:./Middlewares/Third_Party/Lora/Core/lora.c **** * @author MCD Application Team
18:./Middlewares/Third_Party/Lora/Core/lora.c **** * @version V1.1.2
19:./Middlewares/Third_Party/Lora/Core/lora.c **** * @date 08-September-2017
20:./Middlewares/Third_Party/Lora/Core/lora.c **** * @brief lora API to drive the lora state Machine
21:./Middlewares/Third_Party/Lora/Core/lora.c **** ******************************************************************************
22:./Middlewares/Third_Party/Lora/Core/lora.c **** * @attention
23:./Middlewares/Third_Party/Lora/Core/lora.c **** *
24:./Middlewares/Third_Party/Lora/Core/lora.c **** * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics International N.V.
25:./Middlewares/Third_Party/Lora/Core/lora.c **** * All rights reserved.</center></h2>
26:./Middlewares/Third_Party/Lora/Core/lora.c **** *
27:./Middlewares/Third_Party/Lora/Core/lora.c **** * Redistribution and use in source and binary forms, with or without
28:./Middlewares/Third_Party/Lora/Core/lora.c **** * modification, are permitted, provided that the following conditions are met:
29:./Middlewares/Third_Party/Lora/Core/lora.c **** *
30:./Middlewares/Third_Party/Lora/Core/lora.c **** * 1. Redistribution of source code must retain the above copyright notice,
31:./Middlewares/Third_Party/Lora/Core/lora.c **** * this list of conditions and the following disclaimer.
32:./Middlewares/Third_Party/Lora/Core/lora.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
33:./Middlewares/Third_Party/Lora/Core/lora.c **** * this list of conditions and the following disclaimer in the documentation
34:./Middlewares/Third_Party/Lora/Core/lora.c **** * and/or other materials provided with the distribution.
ARM GAS /tmp/ccY05lmV.s page 2
35:./Middlewares/Third_Party/Lora/Core/lora.c **** * 3. Neither the name of STMicroelectronics nor the names of other
36:./Middlewares/Third_Party/Lora/Core/lora.c **** * contributors to this software may be used to endorse or promote products
37:./Middlewares/Third_Party/Lora/Core/lora.c **** * derived from this software without specific written permission.
38:./Middlewares/Third_Party/Lora/Core/lora.c **** * 4. This software, including modifications and/or derivative works of this
39:./Middlewares/Third_Party/Lora/Core/lora.c **** * software, must execute solely and exclusively on microcontroller or
40:./Middlewares/Third_Party/Lora/Core/lora.c **** * microprocessor devices manufactured by or for STMicroelectronics.
41:./Middlewares/Third_Party/Lora/Core/lora.c **** * 5. Redistribution and use of this software other than as permitted under
42:./Middlewares/Third_Party/Lora/Core/lora.c **** * this license is void and will automatically terminate your rights under
43:./Middlewares/Third_Party/Lora/Core/lora.c **** * this license.
44:./Middlewares/Third_Party/Lora/Core/lora.c **** *
45:./Middlewares/Third_Party/Lora/Core/lora.c **** * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
46:./Middlewares/Third_Party/Lora/Core/lora.c **** * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
47:./Middlewares/Third_Party/Lora/Core/lora.c **** * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
48:./Middlewares/Third_Party/Lora/Core/lora.c **** * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
49:./Middlewares/Third_Party/Lora/Core/lora.c **** * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
50:./Middlewares/Third_Party/Lora/Core/lora.c **** * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
51:./Middlewares/Third_Party/Lora/Core/lora.c **** * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
52:./Middlewares/Third_Party/Lora/Core/lora.c **** * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
53:./Middlewares/Third_Party/Lora/Core/lora.c **** * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
54:./Middlewares/Third_Party/Lora/Core/lora.c **** * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
55:./Middlewares/Third_Party/Lora/Core/lora.c **** * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
56:./Middlewares/Third_Party/Lora/Core/lora.c **** * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57:./Middlewares/Third_Party/Lora/Core/lora.c **** *
58:./Middlewares/Third_Party/Lora/Core/lora.c **** ******************************************************************************
59:./Middlewares/Third_Party/Lora/Core/lora.c **** */
60:./Middlewares/Third_Party/Lora/Core/lora.c ****
61:./Middlewares/Third_Party/Lora/Core/lora.c **** /* Includes ------------------------------------------------------------------*/
62:./Middlewares/Third_Party/Lora/Core/lora.c **** #include "hw.h"
63:./Middlewares/Third_Party/Lora/Core/lora.c **** #include "timeServer.h"
64:./Middlewares/Third_Party/Lora/Core/lora.c **** #include "LoRaMac.h"
65:./Middlewares/Third_Party/Lora/Core/lora.c **** #include "lora.h"
66:./Middlewares/Third_Party/Lora/Core/lora.c ****
67:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
68:./Middlewares/Third_Party/Lora/Core/lora.c **** * Join requests trials duty cycle.
69:./Middlewares/Third_Party/Lora/Core/lora.c **** */
70:./Middlewares/Third_Party/Lora/Core/lora.c **** #define OVER_THE_AIR_ACTIVATION_DUTYCYCLE 10000 // 10 [s] value in ms
71:./Middlewares/Third_Party/Lora/Core/lora.c ****
72:./Middlewares/Third_Party/Lora/Core/lora.c **** #if defined( REGION_EU868 )
73:./Middlewares/Third_Party/Lora/Core/lora.c ****
74:./Middlewares/Third_Party/Lora/Core/lora.c **** #include "LoRaMacTest.h"
75:./Middlewares/Third_Party/Lora/Core/lora.c ****
76:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
77:./Middlewares/Third_Party/Lora/Core/lora.c **** * LoRaWAN ETSI duty cycle control enable/disable
78:./Middlewares/Third_Party/Lora/Core/lora.c **** *
79:./Middlewares/Third_Party/Lora/Core/lora.c **** * \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
80:./Middlewares/Third_Party/Lora/Core/lora.c **** */
81:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LORAWAN_DUTYCYCLE_ON true
82:./Middlewares/Third_Party/Lora/Core/lora.c ****
83:./Middlewares/Third_Party/Lora/Core/lora.c **** #define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 0
84:./Middlewares/Third_Party/Lora/Core/lora.c ****
85:./Middlewares/Third_Party/Lora/Core/lora.c **** #if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
86:./Middlewares/Third_Party/Lora/Core/lora.c ****
87:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LC4 { 867100000, 0, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
88:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LC5 { 867300000, 0, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
89:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LC6 { 867500000, 0, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
90:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LC7 { 867700000, 0, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
91:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LC8 { 867900000, 0, { ( ( DR_5 << 4 ) | DR_0 ) }, 0 }
ARM GAS /tmp/ccY05lmV.s page 3
92:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LC9 { 868800000, 0, { ( ( DR_7 << 4 ) | DR_7 ) }, 2 }
93:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LC10 { 868300000, 0, { ( ( DR_6 << 4 ) | DR_6 ) }, 1 }
94:./Middlewares/Third_Party/Lora/Core/lora.c ****
95:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
96:./Middlewares/Third_Party/Lora/Core/lora.c ****
97:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
98:./Middlewares/Third_Party/Lora/Core/lora.c ****
99:./Middlewares/Third_Party/Lora/Core/lora.c **** static uint8_t DevEui[] = LORAWAN_DEVICE_EUI;
100:./Middlewares/Third_Party/Lora/Core/lora.c **** static uint8_t AppEui[] = LORAWAN_APPLICATION_EUI;
101:./Middlewares/Third_Party/Lora/Core/lora.c **** static uint8_t AppKey[] = LORAWAN_APPLICATION_KEY;
102:./Middlewares/Third_Party/Lora/Core/lora.c ****
103:./Middlewares/Third_Party/Lora/Core/lora.c **** #if( OVER_THE_AIR_ACTIVATION == 0 )
104:./Middlewares/Third_Party/Lora/Core/lora.c ****
105:./Middlewares/Third_Party/Lora/Core/lora.c **** static uint8_t NwkSKey[] = LORAWAN_NWKSKEY;
106:./Middlewares/Third_Party/Lora/Core/lora.c **** static uint8_t AppSKey[] = LORAWAN_APPSKEY;
107:./Middlewares/Third_Party/Lora/Core/lora.c ****
108:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
109:./Middlewares/Third_Party/Lora/Core/lora.c **** * Device address
110:./Middlewares/Third_Party/Lora/Core/lora.c **** */
111:./Middlewares/Third_Party/Lora/Core/lora.c **** static uint32_t DevAddr = LORAWAN_DEVICE_ADDRESS;
112:./Middlewares/Third_Party/Lora/Core/lora.c ****
113:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
114:./Middlewares/Third_Party/Lora/Core/lora.c ****
115:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
116:./Middlewares/Third_Party/Lora/Core/lora.c **** * User application data buffer size
117:./Middlewares/Third_Party/Lora/Core/lora.c **** */
118:./Middlewares/Third_Party/Lora/Core/lora.c **** #define LORAWAN_APP_DATA_BUFF_SIZE 64
119:./Middlewares/Third_Party/Lora/Core/lora.c ****
120:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
121:./Middlewares/Third_Party/Lora/Core/lora.c **** * User application data
122:./Middlewares/Third_Party/Lora/Core/lora.c **** */
123:./Middlewares/Third_Party/Lora/Core/lora.c **** static uint8_t AppDataBuff[LORAWAN_APP_DATA_BUFF_SIZE];
124:./Middlewares/Third_Party/Lora/Core/lora.c ****
125:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
126:./Middlewares/Third_Party/Lora/Core/lora.c **** * User application data structure
127:./Middlewares/Third_Party/Lora/Core/lora.c **** */
128:./Middlewares/Third_Party/Lora/Core/lora.c **** static lora_AppData_t AppData={ AppDataBuff, 0 ,0 };
129:./Middlewares/Third_Party/Lora/Core/lora.c ****
130:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
131:./Middlewares/Third_Party/Lora/Core/lora.c **** * Indicates if the node is sending confirmed or unconfirmed messages
132:./Middlewares/Third_Party/Lora/Core/lora.c **** */
133:./Middlewares/Third_Party/Lora/Core/lora.c **** static FunctionalState IsTxConfirmed ;
134:./Middlewares/Third_Party/Lora/Core/lora.c ****
135:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
136:./Middlewares/Third_Party/Lora/Core/lora.c **** * Defines the LoRa parameters at Init
137:./Middlewares/Third_Party/Lora/Core/lora.c **** */
138:./Middlewares/Third_Party/Lora/Core/lora.c **** static LoRaParam_t* LoRaParamInit;
139:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
140:./Middlewares/Third_Party/Lora/Core/lora.c **** * Timer to handle the application data transmission duty cycle
141:./Middlewares/Third_Party/Lora/Core/lora.c **** */
142:./Middlewares/Third_Party/Lora/Core/lora.c **** static TimerEvent_t TxNextPacketTimer;
143:./Middlewares/Third_Party/Lora/Core/lora.c ****
144:./Middlewares/Third_Party/Lora/Core/lora.c **** static DeviceState_t DeviceState = DEVICE_STATE_INIT ;
145:./Middlewares/Third_Party/Lora/Core/lora.c ****
146:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
147:./Middlewares/Third_Party/Lora/Core/lora.c **** * Timer to handle the state of LED1
148:./Middlewares/Third_Party/Lora/Core/lora.c **** */
ARM GAS /tmp/ccY05lmV.s page 4
149:./Middlewares/Third_Party/Lora/Core/lora.c ****
150:./Middlewares/Third_Party/Lora/Core/lora.c **** static LoRaMacPrimitives_t LoRaMacPrimitives;
151:./Middlewares/Third_Party/Lora/Core/lora.c **** static LoRaMacCallback_t LoRaMacCallbacks;
152:./Middlewares/Third_Party/Lora/Core/lora.c **** static MibRequestConfirm_t mibReq;
153:./Middlewares/Third_Party/Lora/Core/lora.c ****
154:./Middlewares/Third_Party/Lora/Core/lora.c **** static LoRaMainCallback_t *LoRaMainCallbacks;
155:./Middlewares/Third_Party/Lora/Core/lora.c ****
156:./Middlewares/Third_Party/Lora/Core/lora.c ****
157:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
158:./Middlewares/Third_Party/Lora/Core/lora.c **** * Indicates if a new packet can be sent
159:./Middlewares/Third_Party/Lora/Core/lora.c **** */
160:./Middlewares/Third_Party/Lora/Core/lora.c **** static bool NextTx = true;
161:./Middlewares/Third_Party/Lora/Core/lora.c ****
162:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
163:./Middlewares/Third_Party/Lora/Core/lora.c **** * LoRaWAN compliance tests support data
164:./Middlewares/Third_Party/Lora/Core/lora.c **** */
165:./Middlewares/Third_Party/Lora/Core/lora.c **** struct ComplianceTest_s
166:./Middlewares/Third_Party/Lora/Core/lora.c **** {
167:./Middlewares/Third_Party/Lora/Core/lora.c **** bool Running;
168:./Middlewares/Third_Party/Lora/Core/lora.c **** uint8_t State;
169:./Middlewares/Third_Party/Lora/Core/lora.c **** FunctionalState IsTxConfirmed;
170:./Middlewares/Third_Party/Lora/Core/lora.c **** uint8_t AppPort;
171:./Middlewares/Third_Party/Lora/Core/lora.c **** uint8_t AppDataSize;
172:./Middlewares/Third_Party/Lora/Core/lora.c **** uint8_t *AppDataBuffer;
173:./Middlewares/Third_Party/Lora/Core/lora.c **** uint16_t DownLinkCounter;
174:./Middlewares/Third_Party/Lora/Core/lora.c **** bool LinkCheck;
175:./Middlewares/Third_Party/Lora/Core/lora.c **** uint8_t DemodMargin;
176:./Middlewares/Third_Party/Lora/Core/lora.c **** uint8_t NbGateways;
177:./Middlewares/Third_Party/Lora/Core/lora.c **** }ComplianceTest;
178:./Middlewares/Third_Party/Lora/Core/lora.c ****
179:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
180:./Middlewares/Third_Party/Lora/Core/lora.c **** * \brief Prepares the payload of the frame
181:./Middlewares/Third_Party/Lora/Core/lora.c **** */
182:./Middlewares/Third_Party/Lora/Core/lora.c **** static void PrepareTxFrame( void)
183:./Middlewares/Third_Party/Lora/Core/lora.c **** {
184:./Middlewares/Third_Party/Lora/Core/lora.c **** if( ComplianceTest.Running == true )
185:./Middlewares/Third_Party/Lora/Core/lora.c **** {
186:./Middlewares/Third_Party/Lora/Core/lora.c **** if( ComplianceTest.LinkCheck == true )
187:./Middlewares/Third_Party/Lora/Core/lora.c **** {
188:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.LinkCheck = false;
189:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = 3;
190:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[0] = 5;
191:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[1] = ComplianceTest.DemodMargin;
192:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[2] = ComplianceTest.NbGateways;
193:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
194:./Middlewares/Third_Party/Lora/Core/lora.c **** }
195:./Middlewares/Third_Party/Lora/Core/lora.c **** else
196:./Middlewares/Third_Party/Lora/Core/lora.c **** {
197:./Middlewares/Third_Party/Lora/Core/lora.c **** switch( ComplianceTest.State )
198:./Middlewares/Third_Party/Lora/Core/lora.c **** {
199:./Middlewares/Third_Party/Lora/Core/lora.c **** case 4:
200:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
201:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
202:./Middlewares/Third_Party/Lora/Core/lora.c **** case 1:
203:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = 2;
204:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[0] = ComplianceTest.DownLinkCounter >> 8;
205:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[1] = ComplianceTest.DownLinkCounter;
ARM GAS /tmp/ccY05lmV.s page 5
206:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
207:./Middlewares/Third_Party/Lora/Core/lora.c **** }
208:./Middlewares/Third_Party/Lora/Core/lora.c **** }
209:./Middlewares/Third_Party/Lora/Core/lora.c **** }
210:./Middlewares/Third_Party/Lora/Core/lora.c **** else
211:./Middlewares/Third_Party/Lora/Core/lora.c **** {
212:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMainCallbacks->LoraTxData(&AppData, &IsTxConfirmed);
213:./Middlewares/Third_Party/Lora/Core/lora.c **** }
214:./Middlewares/Third_Party/Lora/Core/lora.c **** }
215:./Middlewares/Third_Party/Lora/Core/lora.c ****
216:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
217:./Middlewares/Third_Party/Lora/Core/lora.c **** * \brief Prepares the payload of the frame
218:./Middlewares/Third_Party/Lora/Core/lora.c **** *
219:./Middlewares/Third_Party/Lora/Core/lora.c **** * \retval [0: frame could be send, 1: error]
220:./Middlewares/Third_Party/Lora/Core/lora.c **** */
221:./Middlewares/Third_Party/Lora/Core/lora.c **** static bool SendFrame( void )
222:./Middlewares/Third_Party/Lora/Core/lora.c **** {
223:./Middlewares/Third_Party/Lora/Core/lora.c **** McpsReq_t mcpsReq;
224:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacTxInfo_t txInfo;
225:./Middlewares/Third_Party/Lora/Core/lora.c ****
226:./Middlewares/Third_Party/Lora/Core/lora.c **** if( LoRaMacQueryTxPossible( AppData.BuffSize, &txInfo ) != LORAMAC_STATUS_OK )
227:./Middlewares/Third_Party/Lora/Core/lora.c **** {
228:./Middlewares/Third_Party/Lora/Core/lora.c **** // Send empty frame in order to flush MAC commands
229:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Type = MCPS_UNCONFIRMED;
230:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fBuffer = NULL;
231:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fBufferSize = 0;
232:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.Datarate = LoRaParamInit->TxDatarate;
233:./Middlewares/Third_Party/Lora/Core/lora.c **** }
234:./Middlewares/Third_Party/Lora/Core/lora.c **** else
235:./Middlewares/Third_Party/Lora/Core/lora.c **** {
236:./Middlewares/Third_Party/Lora/Core/lora.c **** if( IsTxConfirmed == DISABLE )
237:./Middlewares/Third_Party/Lora/Core/lora.c **** {
238:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Type = MCPS_UNCONFIRMED;
239:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fPort = AppData.Port;
240:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fBuffer = AppData.Buff;
241:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fBufferSize = AppData.BuffSize;
242:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.Datarate = LoRaParamInit->TxDatarate;
243:./Middlewares/Third_Party/Lora/Core/lora.c **** }
244:./Middlewares/Third_Party/Lora/Core/lora.c **** else
245:./Middlewares/Third_Party/Lora/Core/lora.c **** {
246:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Type = MCPS_CONFIRMED;
247:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.fPort = AppData.Port;
248:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.fBuffer = AppData.Buff;
249:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.fBufferSize = AppData.BuffSize;
250:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.NbTrials = 8;
251:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.Datarate = LoRaParamInit->TxDatarate;
252:./Middlewares/Third_Party/Lora/Core/lora.c **** }
253:./Middlewares/Third_Party/Lora/Core/lora.c **** }
254:./Middlewares/Third_Party/Lora/Core/lora.c **** if( LoRaMacMcpsRequest( &mcpsReq ) == LORAMAC_STATUS_OK )
255:./Middlewares/Third_Party/Lora/Core/lora.c **** {
256:./Middlewares/Third_Party/Lora/Core/lora.c **** return false;
257:./Middlewares/Third_Party/Lora/Core/lora.c **** }
258:./Middlewares/Third_Party/Lora/Core/lora.c **** return true;
259:./Middlewares/Third_Party/Lora/Core/lora.c **** }
260:./Middlewares/Third_Party/Lora/Core/lora.c ****
261:./Middlewares/Third_Party/Lora/Core/lora.c **** void OnSendEvent( void )
262:./Middlewares/Third_Party/Lora/Core/lora.c **** {
ARM GAS /tmp/ccY05lmV.s page 6
263:./Middlewares/Third_Party/Lora/Core/lora.c **** MibRequestConfirm_t _mibReq;
264:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacStatus_t status;
265:./Middlewares/Third_Party/Lora/Core/lora.c ****
266:./Middlewares/Third_Party/Lora/Core/lora.c **** _mibReq.Type = MIB_NETWORK_JOINED;
267:./Middlewares/Third_Party/Lora/Core/lora.c **** status = LoRaMacMibGetRequestConfirm( &_mibReq );
268:./Middlewares/Third_Party/Lora/Core/lora.c ****
269:./Middlewares/Third_Party/Lora/Core/lora.c **** if( status == LORAMAC_STATUS_OK )
270:./Middlewares/Third_Party/Lora/Core/lora.c **** {
271:./Middlewares/Third_Party/Lora/Core/lora.c **** if( _mibReq.Param.IsNetworkJoined == true )
272:./Middlewares/Third_Party/Lora/Core/lora.c **** {
273:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_SEND;
274:./Middlewares/Third_Party/Lora/Core/lora.c **** NextTx = true;
275:./Middlewares/Third_Party/Lora/Core/lora.c **** }
276:./Middlewares/Third_Party/Lora/Core/lora.c **** else
277:./Middlewares/Third_Party/Lora/Core/lora.c **** {
278:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_JOIN;
279:./Middlewares/Third_Party/Lora/Core/lora.c **** }
280:./Middlewares/Third_Party/Lora/Core/lora.c **** }
281:./Middlewares/Third_Party/Lora/Core/lora.c **** }
282:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
283:./Middlewares/Third_Party/Lora/Core/lora.c **** * \brief Function executed on TxNextPacket Timeout event
284:./Middlewares/Third_Party/Lora/Core/lora.c **** */
285:./Middlewares/Third_Party/Lora/Core/lora.c **** static void OnTxNextPacketTimerEvent( void )
286:./Middlewares/Third_Party/Lora/Core/lora.c **** {
287:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerStop( &TxNextPacketTimer );
288:./Middlewares/Third_Party/Lora/Core/lora.c **** OnSendEvent();
289:./Middlewares/Third_Party/Lora/Core/lora.c **** }
290:./Middlewares/Third_Party/Lora/Core/lora.c ****
291:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
292:./Middlewares/Third_Party/Lora/Core/lora.c **** * \brief MCPS-Confirm event function
293:./Middlewares/Third_Party/Lora/Core/lora.c **** *
294:./Middlewares/Third_Party/Lora/Core/lora.c **** * \param [IN] McpsConfirm - Pointer to the confirm structure,
295:./Middlewares/Third_Party/Lora/Core/lora.c **** * containing confirm attributes.
296:./Middlewares/Third_Party/Lora/Core/lora.c **** */
297:./Middlewares/Third_Party/Lora/Core/lora.c **** static void McpsConfirm( McpsConfirm_t *mcpsConfirm )
298:./Middlewares/Third_Party/Lora/Core/lora.c **** {
25 .loc 1 298 0
26 .cfi_startproc
27 @ args = 0, pretend = 0, frame = 0
28 @ frame_needed = 0, uses_anonymous_args = 0
29 @ link register save eliminated.
30 .LVL0:
299:./Middlewares/Third_Party/Lora/Core/lora.c **** if( mcpsConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
300:./Middlewares/Third_Party/Lora/Core/lora.c **** {
301:./Middlewares/Third_Party/Lora/Core/lora.c **** switch( mcpsConfirm->McpsRequest )
302:./Middlewares/Third_Party/Lora/Core/lora.c **** {
303:./Middlewares/Third_Party/Lora/Core/lora.c **** case MCPS_UNCONFIRMED:
304:./Middlewares/Third_Party/Lora/Core/lora.c **** {
305:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check Datarate
306:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check TxPower
307:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
308:./Middlewares/Third_Party/Lora/Core/lora.c **** }
309:./Middlewares/Third_Party/Lora/Core/lora.c **** case MCPS_CONFIRMED:
310:./Middlewares/Third_Party/Lora/Core/lora.c **** {
311:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check Datarate
312:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check TxPower
313:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check AckReceived
ARM GAS /tmp/ccY05lmV.s page 7
314:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check NbTrials
315:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
316:./Middlewares/Third_Party/Lora/Core/lora.c **** }
317:./Middlewares/Third_Party/Lora/Core/lora.c **** case MCPS_PROPRIETARY:
318:./Middlewares/Third_Party/Lora/Core/lora.c **** {
319:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
320:./Middlewares/Third_Party/Lora/Core/lora.c **** }
321:./Middlewares/Third_Party/Lora/Core/lora.c **** default:
322:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
323:./Middlewares/Third_Party/Lora/Core/lora.c **** }
324:./Middlewares/Third_Party/Lora/Core/lora.c **** }
325:./Middlewares/Third_Party/Lora/Core/lora.c **** NextTx = true;
31 .loc 1 325 0
32 0000 014B ldr r3, .L2
33 0002 0122 movs r2, #1
34 0004 1A70 strb r2, [r3]
326:./Middlewares/Third_Party/Lora/Core/lora.c **** }
35 .loc 1 326 0
36 @ sp needed
37 0006 7047 bx lr
38 .L3:
39 .align 2
40 .L2:
41 0008 00000000 .word .LANCHOR0
42 .cfi_endproc
43 .LFE100:
45 .section .text.MlmeConfirm,"ax",%progbits
46 .align 1
47 .syntax unified
48 .code 16
49 .thumb_func
50 .fpu softvfp
52 MlmeConfirm:
53 .LFB102:
327:./Middlewares/Third_Party/Lora/Core/lora.c ****
328:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
329:./Middlewares/Third_Party/Lora/Core/lora.c **** * \brief MCPS-Indication event function
330:./Middlewares/Third_Party/Lora/Core/lora.c **** *
331:./Middlewares/Third_Party/Lora/Core/lora.c **** * \param [IN] mcpsIndication - Pointer to the indication structure,
332:./Middlewares/Third_Party/Lora/Core/lora.c **** * containing indication attributes.
333:./Middlewares/Third_Party/Lora/Core/lora.c **** */
334:./Middlewares/Third_Party/Lora/Core/lora.c **** static void McpsIndication( McpsIndication_t *mcpsIndication )
335:./Middlewares/Third_Party/Lora/Core/lora.c **** {
336:./Middlewares/Third_Party/Lora/Core/lora.c **** if( mcpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
337:./Middlewares/Third_Party/Lora/Core/lora.c **** {
338:./Middlewares/Third_Party/Lora/Core/lora.c **** return;
339:./Middlewares/Third_Party/Lora/Core/lora.c **** }
340:./Middlewares/Third_Party/Lora/Core/lora.c ****
341:./Middlewares/Third_Party/Lora/Core/lora.c **** switch( mcpsIndication->McpsIndication )
342:./Middlewares/Third_Party/Lora/Core/lora.c **** {
343:./Middlewares/Third_Party/Lora/Core/lora.c **** case MCPS_UNCONFIRMED:
344:./Middlewares/Third_Party/Lora/Core/lora.c **** {
345:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
346:./Middlewares/Third_Party/Lora/Core/lora.c **** }
347:./Middlewares/Third_Party/Lora/Core/lora.c **** case MCPS_CONFIRMED:
348:./Middlewares/Third_Party/Lora/Core/lora.c **** {
349:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
ARM GAS /tmp/ccY05lmV.s page 8
350:./Middlewares/Third_Party/Lora/Core/lora.c **** }
351:./Middlewares/Third_Party/Lora/Core/lora.c **** case MCPS_PROPRIETARY:
352:./Middlewares/Third_Party/Lora/Core/lora.c **** {
353:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
354:./Middlewares/Third_Party/Lora/Core/lora.c **** }
355:./Middlewares/Third_Party/Lora/Core/lora.c **** case MCPS_MULTICAST:
356:./Middlewares/Third_Party/Lora/Core/lora.c **** {
357:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
358:./Middlewares/Third_Party/Lora/Core/lora.c **** }
359:./Middlewares/Third_Party/Lora/Core/lora.c **** default:
360:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
361:./Middlewares/Third_Party/Lora/Core/lora.c **** }
362:./Middlewares/Third_Party/Lora/Core/lora.c ****
363:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check Multicast
364:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check Port
365:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check Datarate
366:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check FramePending
367:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check Buffer
368:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check BufferSize
369:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check Rssi
370:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check Snr
371:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check RxSlot
372:./Middlewares/Third_Party/Lora/Core/lora.c ****
373:./Middlewares/Third_Party/Lora/Core/lora.c **** if( ComplianceTest.Running == true )
374:./Middlewares/Third_Party/Lora/Core/lora.c **** {
375:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DownLinkCounter++;
376:./Middlewares/Third_Party/Lora/Core/lora.c **** }
377:./Middlewares/Third_Party/Lora/Core/lora.c ****
378:./Middlewares/Third_Party/Lora/Core/lora.c **** if( mcpsIndication->RxData == true )
379:./Middlewares/Third_Party/Lora/Core/lora.c **** {
380:./Middlewares/Third_Party/Lora/Core/lora.c **** switch( mcpsIndication->Port )
381:./Middlewares/Third_Party/Lora/Core/lora.c **** {
382:./Middlewares/Third_Party/Lora/Core/lora.c **** case 224:
383:./Middlewares/Third_Party/Lora/Core/lora.c **** if( ComplianceTest.Running == false )
384:./Middlewares/Third_Party/Lora/Core/lora.c **** {
385:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check compliance test enable command (i)
386:./Middlewares/Third_Party/Lora/Core/lora.c **** if( ( mcpsIndication->BufferSize == 4 ) &&
387:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[0] == 0x01 ) &&
388:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[1] == 0x01 ) &&
389:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[2] == 0x01 ) &&
390:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[3] == 0x01 ) )
391:./Middlewares/Third_Party/Lora/Core/lora.c **** {
392:./Middlewares/Third_Party/Lora/Core/lora.c **** IsTxConfirmed = DISABLE;
393:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Port = 224;
394:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = 2;
395:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DownLinkCounter = 0;
396:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.LinkCheck = false;
397:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DemodMargin = 0;
398:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.NbGateways = 0;
399:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.Running = true;
400:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
401:./Middlewares/Third_Party/Lora/Core/lora.c ****
402:./Middlewares/Third_Party/Lora/Core/lora.c **** MibRequestConfirm_t _mibReq;
403:./Middlewares/Third_Party/Lora/Core/lora.c **** _mibReq.Type = MIB_ADR;
404:./Middlewares/Third_Party/Lora/Core/lora.c **** _mibReq.Param.AdrEnable = true;
405:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &_mibReq );
406:./Middlewares/Third_Party/Lora/Core/lora.c ****
ARM GAS /tmp/ccY05lmV.s page 9
407:./Middlewares/Third_Party/Lora/Core/lora.c **** #if defined( REGION_EU868 )
408:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacTestSetDutyCycleOn( false );
409:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
410:./Middlewares/Third_Party/Lora/Core/lora.c **** }
411:./Middlewares/Third_Party/Lora/Core/lora.c **** }
412:./Middlewares/Third_Party/Lora/Core/lora.c **** else
413:./Middlewares/Third_Party/Lora/Core/lora.c **** {
414:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = mcpsIndication->Buffer[0];
415:./Middlewares/Third_Party/Lora/Core/lora.c **** switch( ComplianceTest.State )
416:./Middlewares/Third_Party/Lora/Core/lora.c **** {
417:./Middlewares/Third_Party/Lora/Core/lora.c **** case 0: // Check compliance test disable command (ii)
418:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DownLinkCounter = 0;
419:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.Running = false;
420:./Middlewares/Third_Party/Lora/Core/lora.c ****
421:./Middlewares/Third_Party/Lora/Core/lora.c **** MibRequestConfirm_t _mibReq;
422:./Middlewares/Third_Party/Lora/Core/lora.c **** _mibReq.Type = MIB_ADR;
423:./Middlewares/Third_Party/Lora/Core/lora.c **** _mibReq.Param.AdrEnable = LoRaParamInit->AdrEnable;
424:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &_mibReq );
425:./Middlewares/Third_Party/Lora/Core/lora.c **** #if defined( REGION_EU868 )
426:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
427:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
428:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
429:./Middlewares/Third_Party/Lora/Core/lora.c **** case 1: // (iii, iv)
430:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = 2;
431:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
432:./Middlewares/Third_Party/Lora/Core/lora.c **** case 2: // Enable confirmed messages (v)
433:./Middlewares/Third_Party/Lora/Core/lora.c **** IsTxConfirmed = ENABLE;
434:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
435:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
436:./Middlewares/Third_Party/Lora/Core/lora.c **** case 3: // Disable confirmed messages (vi)
437:./Middlewares/Third_Party/Lora/Core/lora.c **** IsTxConfirmed = DISABLE;
438:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
439:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
440:./Middlewares/Third_Party/Lora/Core/lora.c **** case 4: // (vii)
441:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = mcpsIndication->BufferSize;
442:./Middlewares/Third_Party/Lora/Core/lora.c ****
443:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[0] = 4;
444:./Middlewares/Third_Party/Lora/Core/lora.c **** for( uint8_t i = 1; i < AppData.BuffSize; i++ )
445:./Middlewares/Third_Party/Lora/Core/lora.c **** {
446:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[i] = mcpsIndication->Buffer[i] + 1;
447:./Middlewares/Third_Party/Lora/Core/lora.c **** }
448:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
449:./Middlewares/Third_Party/Lora/Core/lora.c **** case 5: // (viii)
450:./Middlewares/Third_Party/Lora/Core/lora.c **** {
451:./Middlewares/Third_Party/Lora/Core/lora.c **** MlmeReq_t mlmeReq;
452:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Type = MLME_LINK_CHECK;
453:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMlmeRequest( &mlmeReq );
454:./Middlewares/Third_Party/Lora/Core/lora.c **** }
455:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
456:./Middlewares/Third_Party/Lora/Core/lora.c **** case 6: // (ix)
457:./Middlewares/Third_Party/Lora/Core/lora.c **** {
458:./Middlewares/Third_Party/Lora/Core/lora.c **** MlmeReq_t mlmeReq;
459:./Middlewares/Third_Party/Lora/Core/lora.c ****
460:./Middlewares/Third_Party/Lora/Core/lora.c **** // Disable TestMode and revert back to normal operation
461:./Middlewares/Third_Party/Lora/Core/lora.c ****
462:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DownLinkCounter = 0;
463:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.Running = false;
ARM GAS /tmp/ccY05lmV.s page 10
464:./Middlewares/Third_Party/Lora/Core/lora.c ****
465:./Middlewares/Third_Party/Lora/Core/lora.c **** MibRequestConfirm_t mibReq;
466:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_ADR;
467:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.AdrEnable = LoRaParamInit->AdrEnable;
468:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
469:./Middlewares/Third_Party/Lora/Core/lora.c ****
470:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Type = MLME_JOIN;
471:./Middlewares/Third_Party/Lora/Core/lora.c ****
472:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.DevEui = DevEui;
473:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.AppEui = AppEui;
474:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.AppKey = AppKey;
475:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.NbTrials = 3;
476:./Middlewares/Third_Party/Lora/Core/lora.c ****
477:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMlmeRequest( &mlmeReq );
478:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_SLEEP;
479:./Middlewares/Third_Party/Lora/Core/lora.c **** }
480:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
481:./Middlewares/Third_Party/Lora/Core/lora.c **** case 7: // (x)
482:./Middlewares/Third_Party/Lora/Core/lora.c **** {
483:./Middlewares/Third_Party/Lora/Core/lora.c **** if( mcpsIndication->BufferSize == 3 )
484:./Middlewares/Third_Party/Lora/Core/lora.c **** {
485:./Middlewares/Third_Party/Lora/Core/lora.c **** MlmeReq_t mlmeReq;
486:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Type = MLME_TXCW;
487:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.TxCw.Timeout = ( uint16_t )( ( mcpsIndication->Buffer[1] <<
488:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMlmeRequest( &mlmeReq );
489:./Middlewares/Third_Party/Lora/Core/lora.c **** }
490:./Middlewares/Third_Party/Lora/Core/lora.c **** else if( mcpsIndication->BufferSize == 7 )
491:./Middlewares/Third_Party/Lora/Core/lora.c **** {
492:./Middlewares/Third_Party/Lora/Core/lora.c **** MlmeReq_t mlmeReq;
493:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Type = MLME_TXCW_1;
494:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.TxCw.Timeout = ( uint16_t )( ( mcpsIndication->Buffer[1] <<
495:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.TxCw.Frequency = ( uint32_t )( ( mcpsIndication->Buffer[3]
496:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.TxCw.Power = mcpsIndication->Buffer[6];
497:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMlmeRequest( &mlmeReq );
498:./Middlewares/Third_Party/Lora/Core/lora.c **** }
499:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
500:./Middlewares/Third_Party/Lora/Core/lora.c **** }
501:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
502:./Middlewares/Third_Party/Lora/Core/lora.c **** default:
503:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
504:./Middlewares/Third_Party/Lora/Core/lora.c **** }
505:./Middlewares/Third_Party/Lora/Core/lora.c **** }
506:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
507:./Middlewares/Third_Party/Lora/Core/lora.c **** default:
508:./Middlewares/Third_Party/Lora/Core/lora.c ****
509:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Port = mcpsIndication->Port;
510:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = mcpsIndication->BufferSize;
511:./Middlewares/Third_Party/Lora/Core/lora.c **** memcpy1( AppData.Buff, mcpsIndication->Buffer, AppData.BuffSize );
512:./Middlewares/Third_Party/Lora/Core/lora.c ****
513:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMainCallbacks->LoraRxData( &AppData );
514:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
515:./Middlewares/Third_Party/Lora/Core/lora.c **** }
516:./Middlewares/Third_Party/Lora/Core/lora.c **** }
517:./Middlewares/Third_Party/Lora/Core/lora.c **** }
518:./Middlewares/Third_Party/Lora/Core/lora.c ****
519:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
520:./Middlewares/Third_Party/Lora/Core/lora.c **** * \brief MLME-Confirm event function
ARM GAS /tmp/ccY05lmV.s page 11
521:./Middlewares/Third_Party/Lora/Core/lora.c **** *
522:./Middlewares/Third_Party/Lora/Core/lora.c **** * \param [IN] MlmeConfirm - Pointer to the confirm structure,
523:./Middlewares/Third_Party/Lora/Core/lora.c **** * containing confirm attributes.
524:./Middlewares/Third_Party/Lora/Core/lora.c **** */
525:./Middlewares/Third_Party/Lora/Core/lora.c **** static void MlmeConfirm( MlmeConfirm_t *mlmeConfirm )
526:./Middlewares/Third_Party/Lora/Core/lora.c **** {
54 .loc 1 526 0
55 .cfi_startproc
56 @ args = 0, pretend = 0, frame = 0
57 @ frame_needed = 0, uses_anonymous_args = 0
58 @ link register save eliminated.
59 .LVL1:
527:./Middlewares/Third_Party/Lora/Core/lora.c **** switch( mlmeConfirm->MlmeRequest )
60 .loc 1 527 0
61 0000 0378 ldrb r3, [r0]
62 0002 002B cmp r3, #0
63 0004 05D0 beq .L6
64 0006 012B cmp r3, #1
65 0008 0ED0 beq .L7
66 .L5:
528:./Middlewares/Third_Party/Lora/Core/lora.c **** {
529:./Middlewares/Third_Party/Lora/Core/lora.c **** case MLME_JOIN:
530:./Middlewares/Third_Party/Lora/Core/lora.c **** {
531:./Middlewares/Third_Party/Lora/Core/lora.c **** if( mlmeConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
532:./Middlewares/Third_Party/Lora/Core/lora.c **** {
533:./Middlewares/Third_Party/Lora/Core/lora.c **** // Status is OK, node has joined the network
534:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_JOINED;
535:./Middlewares/Third_Party/Lora/Core/lora.c **** }
536:./Middlewares/Third_Party/Lora/Core/lora.c **** else
537:./Middlewares/Third_Party/Lora/Core/lora.c **** {
538:./Middlewares/Third_Party/Lora/Core/lora.c **** // Join was not successful. Try to join again
539:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_JOIN;
540:./Middlewares/Third_Party/Lora/Core/lora.c **** }
541:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
542:./Middlewares/Third_Party/Lora/Core/lora.c **** }
543:./Middlewares/Third_Party/Lora/Core/lora.c **** case MLME_LINK_CHECK:
544:./Middlewares/Third_Party/Lora/Core/lora.c **** {
545:./Middlewares/Third_Party/Lora/Core/lora.c **** if( mlmeConfirm->Status == LORAMAC_EVENT_INFO_STATUS_OK )
546:./Middlewares/Third_Party/Lora/Core/lora.c **** {
547:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check DemodMargin
548:./Middlewares/Third_Party/Lora/Core/lora.c **** // Check NbGateways
549:./Middlewares/Third_Party/Lora/Core/lora.c **** if( ComplianceTest.Running == true )
550:./Middlewares/Third_Party/Lora/Core/lora.c **** {
551:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.LinkCheck = true;
552:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DemodMargin = mlmeConfirm->DemodMargin;
553:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.NbGateways = mlmeConfirm->NbGateways;
554:./Middlewares/Third_Party/Lora/Core/lora.c **** }
555:./Middlewares/Third_Party/Lora/Core/lora.c **** }
556:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
557:./Middlewares/Third_Party/Lora/Core/lora.c **** }
558:./Middlewares/Third_Party/Lora/Core/lora.c **** default:
559:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
560:./Middlewares/Third_Party/Lora/Core/lora.c **** }
561:./Middlewares/Third_Party/Lora/Core/lora.c **** NextTx = true;
67 .loc 1 561 0
68 000a 0F4B ldr r3, .L9
69 000c 0122 movs r2, #1
ARM GAS /tmp/ccY05lmV.s page 12
70 000e 1A70 strb r2, [r3]
562:./Middlewares/Third_Party/Lora/Core/lora.c **** }
71 .loc 1 562 0
72 @ sp needed
73 0010 7047 bx lr
74 .L6:
531:./Middlewares/Third_Party/Lora/Core/lora.c **** {
75 .loc 1 531 0
76 0012 4378 ldrb r3, [r0, #1]
77 0014 002B cmp r3, #0
78 0016 03D1 bne .L8
534:./Middlewares/Third_Party/Lora/Core/lora.c **** }
79 .loc 1 534 0
80 0018 0C4B ldr r3, .L9+4
81 001a 0222 movs r2, #2
82 001c 1A70 strb r2, [r3]
83 001e F4E7 b .L5
84 .L8:
539:./Middlewares/Third_Party/Lora/Core/lora.c **** }
85 .loc 1 539 0
86 0020 0A4B ldr r3, .L9+4
87 0022 0122 movs r2, #1
88 0024 1A70 strb r2, [r3]
89 0026 F0E7 b .L5
90 .L7:
545:./Middlewares/Third_Party/Lora/Core/lora.c **** {
91 .loc 1 545 0
92 0028 4378 ldrb r3, [r0, #1]
93 002a 002B cmp r3, #0
94 002c EDD1 bne .L5
549:./Middlewares/Third_Party/Lora/Core/lora.c **** {
95 .loc 1 549 0
96 002e 084B ldr r3, .L9+8
97 0030 1B78 ldrb r3, [r3]
98 0032 002B cmp r3, #0
99 0034 E9D0 beq .L5
551:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DemodMargin = mlmeConfirm->DemodMargin;
100 .loc 1 551 0
101 0036 064B ldr r3, .L9+8
102 0038 0122 movs r2, #1
103 003a 9A73 strb r2, [r3, #14]
552:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.NbGateways = mlmeConfirm->NbGateways;
104 .loc 1 552 0
105 003c 027A ldrb r2, [r0, #8]
106 003e DA73 strb r2, [r3, #15]
553:./Middlewares/Third_Party/Lora/Core/lora.c **** }
107 .loc 1 553 0
108 0040 427A ldrb r2, [r0, #9]
109 0042 1A74 strb r2, [r3, #16]
110 0044 E1E7 b .L5
111 .L10:
112 0046 C046 .align 2
113 .L9:
114 0048 00000000 .word .LANCHOR0
115 004c 00000000 .word .LANCHOR1
116 0050 00000000 .word .LANCHOR2
117 .cfi_endproc
ARM GAS /tmp/ccY05lmV.s page 13
118 .LFE102:
120 .section .text.McpsIndication,"ax",%progbits
121 .align 1
122 .syntax unified
123 .code 16
124 .thumb_func
125 .fpu softvfp
127 McpsIndication:
128 .LFB101:
335:./Middlewares/Third_Party/Lora/Core/lora.c **** if( mcpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
129 .loc 1 335 0
130 .cfi_startproc
131 @ args = 0, pretend = 0, frame = 32
132 @ frame_needed = 0, uses_anonymous_args = 0
133 .LVL2:
134 0000 10B5 push {r4, lr}
135 .LCFI0:
136 .cfi_def_cfa_offset 8
137 .cfi_offset 4, -8
138 .cfi_offset 14, -4
139 0002 88B0 sub sp, sp, #32
140 .LCFI1:
141 .cfi_def_cfa_offset 40
336:./Middlewares/Third_Party/Lora/Core/lora.c **** {
142 .loc 1 336 0
143 0004 4378 ldrb r3, [r0, #1]
144 0006 002B cmp r3, #0
145 0008 00D0 beq .LCB99
146 000a E1E0 b .L11 @long jump
147 .LCB99:
373:./Middlewares/Third_Party/Lora/Core/lora.c **** {
148 .loc 1 373 0
149 000c 714B ldr r3, .L34
150 000e 1B78 ldrb r3, [r3]
151 0010 002B cmp r3, #0
152 0012 03D0 beq .L13
375:./Middlewares/Third_Party/Lora/Core/lora.c **** }
153 .loc 1 375 0
154 0014 6F49 ldr r1, .L34
155 0016 8A89 ldrh r2, [r1, #12]
156 0018 0132 adds r2, r2, #1
157 001a 8A81 strh r2, [r1, #12]
158 .L13:
378:./Middlewares/Third_Party/Lora/Core/lora.c **** {
159 .loc 1 378 0
160 001c 427B ldrb r2, [r0, #13]
161 001e 002A cmp r2, #0
162 0020 00D1 bne .LCB112
163 0022 D5E0 b .L11 @long jump
164 .LCB112:
380:./Middlewares/Third_Party/Lora/Core/lora.c **** {
165 .loc 1 380 0
166 0024 C278 ldrb r2, [r0, #3]
167 0026 E02A cmp r2, #224
168 0028 00D0 beq .LCB115
169 002a C3E0 b .L31 @long jump
170 .LCB115:
ARM GAS /tmp/ccY05lmV.s page 14
383:./Middlewares/Third_Party/Lora/Core/lora.c **** {
171 .loc 1 383 0
172 002c 002B cmp r3, #0
173 002e 2DD1 bne .L16
386:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[0] == 0x01 ) &&
174 .loc 1 386 0
175 0030 037B ldrb r3, [r0, #12]
176 0032 042B cmp r3, #4
177 0034 00D0 beq .LCB120
178 0036 CBE0 b .L11 @long jump
179 .LCB120:
387:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[1] == 0x01 ) &&
180 .loc 1 387 0 discriminator 1
181 0038 8368 ldr r3, [r0, #8]
182 003a 1A78 ldrb r2, [r3]
386:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[0] == 0x01 ) &&
183 .loc 1 386 0 discriminator 1
184 003c 012A cmp r2, #1
185 003e 00D0 beq .LCB124
186 0040 C6E0 b .L11 @long jump
187 .LCB124:
388:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[2] == 0x01 ) &&
188 .loc 1 388 0
189 0042 5A78 ldrb r2, [r3, #1]
387:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[1] == 0x01 ) &&
190 .loc 1 387 0
191 0044 012A cmp r2, #1
192 0046 00D0 beq .LCB127
193 0048 C2E0 b .L11 @long jump
194 .LCB127:
389:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[3] == 0x01 ) )
195 .loc 1 389 0
196 004a 9A78 ldrb r2, [r3, #2]
388:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[2] == 0x01 ) &&
197 .loc 1 388 0
198 004c 012A cmp r2, #1
199 004e 00D0 beq .LCB130
200 0050 BEE0 b .L11 @long jump
201 .LCB130:
390:./Middlewares/Third_Party/Lora/Core/lora.c **** {
202 .loc 1 390 0
203 0052 DB78 ldrb r3, [r3, #3]
389:./Middlewares/Third_Party/Lora/Core/lora.c **** ( mcpsIndication->Buffer[3] == 0x01 ) )
204 .loc 1 389 0
205 0054 012B cmp r3, #1
206 0056 00D0 beq .LCB133
207 0058 BAE0 b .L11 @long jump
208 .LCB133:
209 .LBB2:
392:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Port = 224;
210 .loc 1 392 0
211 005a 0024 movs r4, #0
212 005c 5E4B ldr r3, .L34+4
213 005e 1C70 strb r4, [r3]
393:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = 2;
214 .loc 1 393 0
215 0060 5E4B ldr r3, .L34+8
ARM GAS /tmp/ccY05lmV.s page 15
216 0062 DF32 adds r2, r2, #223
217 0064 5A71 strb r2, [r3, #5]
394:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DownLinkCounter = 0;
218 .loc 1 394 0
219 0066 0221 movs r1, #2
220 0068 1971 strb r1, [r3, #4]
395:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.LinkCheck = false;
221 .loc 1 395 0
222 006a 5A4B ldr r3, .L34
223 006c 9C81 strh r4, [r3, #12]
396:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.DemodMargin = 0;
224 .loc 1 396 0
225 006e 9C73 strb r4, [r3, #14]
397:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.NbGateways = 0;
226 .loc 1 397 0
227 0070 DC73 strb r4, [r3, #15]
398:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.Running = true;
228 .loc 1 398 0
229 0072 1C74 strb r4, [r3, #16]
399:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
230 .loc 1 399 0
231 0074 DF3A subs r2, r2, #223
232 0076 1A70 strb r2, [r3]
400:./Middlewares/Third_Party/Lora/Core/lora.c ****
233 .loc 1 400 0
234 0078 5A70 strb r2, [r3, #1]
403:./Middlewares/Third_Party/Lora/Core/lora.c **** _mibReq.Param.AdrEnable = true;
235 .loc 1 403 0
236 007a 03A8 add r0, sp, #12
237 .LVL3:
238 007c 0170 strb r1, [r0]
404:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &_mibReq );
239 .loc 1 404 0
240 007e 0271 strb r2, [r0, #4]
405:./Middlewares/Third_Party/Lora/Core/lora.c ****
241 .loc 1 405 0
242 0080 FFF7FEFF bl LoRaMacMibSetRequestConfirm
243 .LVL4:
408:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
244 .loc 1 408 0
245 0084 2000 movs r0, r4
246 0086 FFF7FEFF bl LoRaMacTestSetDutyCycleOn
247 .LVL5:
248 008a A1E0 b .L11
249 .LVL6:
250 .L16:
251 .LBE2:
414:./Middlewares/Third_Party/Lora/Core/lora.c **** switch( ComplianceTest.State )
252 .loc 1 414 0
253 008c 8268 ldr r2, [r0, #8]
254 008e 1378 ldrb r3, [r2]
255 0090 5049 ldr r1, .L34
256 0092 4B70 strb r3, [r1, #1]
415:./Middlewares/Third_Party/Lora/Core/lora.c **** {
257 .loc 1 415 0
258 0094 072B cmp r3, #7
259 0096 00D9 bls .LCB171
ARM GAS /tmp/ccY05lmV.s page 16
260 0098 9AE0 b .L11 @long jump
261 .LCB171:
262 009a 9B00 lsls r3, r3, #2
263 009c 5049 ldr r1, .L34+12
264 009e CB58 ldr r3, [r1, r3]
265 00a0 9F46 mov pc, r3
266 .section .rodata.McpsIndication,"a",%progbits
267 .align 2
268 .L19:
269 0000 A2000000 .word .L18
270 0004 C4000000 .word .L20
271 0008 CC000000 .word .L21
272 000c D8000000 .word .L22
273 0010 E6000000 .word .L23
274 0014 10010000 .word .L24
275 0018 1C010000 .word .L25
276 001c 5A010000 .word .L26
277 .section .text.McpsIndication
278 .L18:
279 .LBB3:
418:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.Running = false;
280 .loc 1 418 0
281 00a2 4C4B ldr r3, .L34
282 00a4 0022 movs r2, #0
283 00a6 9A81 strh r2, [r3, #12]
419:./Middlewares/Third_Party/Lora/Core/lora.c ****
284 .loc 1 419 0
285 00a8 1A70 strb r2, [r3]
422:./Middlewares/Third_Party/Lora/Core/lora.c **** _mibReq.Param.AdrEnable = LoRaParamInit->AdrEnable;
286 .loc 1 422 0
287 00aa 03A8 add r0, sp, #12
288 .LVL7:
289 00ac 0223 movs r3, #2
290 00ae 0370 strb r3, [r0]
423:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &_mibReq );
291 .loc 1 423 0
292 00b0 4C4B ldr r3, .L34+16
293 00b2 1B68 ldr r3, [r3]
294 00b4 5B7A ldrb r3, [r3, #9]
295 00b6 0371 strb r3, [r0, #4]
424:./Middlewares/Third_Party/Lora/Core/lora.c **** #if defined( REGION_EU868 )
296 .loc 1 424 0
297 00b8 FFF7FEFF bl LoRaMacMibSetRequestConfirm
298 .LVL8:
426:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
299 .loc 1 426 0
300 00bc 0120 movs r0, #1
301 00be FFF7FEFF bl LoRaMacTestSetDutyCycleOn
302 .LVL9:
428:./Middlewares/Third_Party/Lora/Core/lora.c **** case 1: // (iii, iv)
303 .loc 1 428 0
304 00c2 85E0 b .L11
305 .LVL10:
306 .L20:
430:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
307 .loc 1 430 0
308 00c4 454B ldr r3, .L34+8
ARM GAS /tmp/ccY05lmV.s page 17
309 00c6 0222 movs r2, #2
310 00c8 1A71 strb r2, [r3, #4]
431:./Middlewares/Third_Party/Lora/Core/lora.c **** case 2: // Enable confirmed messages (v)
311 .loc 1 431 0
312 00ca 81E0 b .L11
313 .L21:
433:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
314 .loc 1 433 0
315 00cc 0123 movs r3, #1
316 00ce 424A ldr r2, .L34+4
317 00d0 1370 strb r3, [r2]
434:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
318 .loc 1 434 0
319 00d2 404A ldr r2, .L34
320 00d4 5370 strb r3, [r2, #1]
435:./Middlewares/Third_Party/Lora/Core/lora.c **** case 3: // Disable confirmed messages (vi)
321 .loc 1 435 0
322 00d6 7BE0 b .L11
323 .L22:
437:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
324 .loc 1 437 0
325 00d8 3F4B ldr r3, .L34+4
326 00da 0022 movs r2, #0
327 00dc 1A70 strb r2, [r3]
438:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
328 .loc 1 438 0
329 00de 3D4B ldr r3, .L34
330 00e0 0132 adds r2, r2, #1
331 00e2 5A70 strb r2, [r3, #1]
439:./Middlewares/Third_Party/Lora/Core/lora.c **** case 4: // (vii)
332 .loc 1 439 0
333 00e4 74E0 b .L11
334 .L23:
441:./Middlewares/Third_Party/Lora/Core/lora.c ****
335 .loc 1 441 0
336 00e6 027B ldrb r2, [r0, #12]
337 00e8 3C4B ldr r3, .L34+8
338 00ea 1A71 strb r2, [r3, #4]
443:./Middlewares/Third_Party/Lora/Core/lora.c **** for( uint8_t i = 1; i < AppData.BuffSize; i++ )
339 .loc 1 443 0
340 00ec 1B68 ldr r3, [r3]
341 00ee 0422 movs r2, #4
342 00f0 1A70 strb r2, [r3]
343 .LVL11:
344 .LBB4:
444:./Middlewares/Third_Party/Lora/Core/lora.c **** {
345 .loc 1 444 0
346 00f2 0123 movs r3, #1
347 00f4 07E0 b .L27
348 .LVL12:
349 .L28:
446:./Middlewares/Third_Party/Lora/Core/lora.c **** }
350 .loc 1 446 0 discriminator 3
351 00f6 8268 ldr r2, [r0, #8]
352 00f8 D25C ldrb r2, [r2, r3]
353 00fa 3849 ldr r1, .L34+8
354 00fc 0968 ldr r1, [r1]
ARM GAS /tmp/ccY05lmV.s page 18
355 00fe 0132 adds r2, r2, #1
356 0100 CA54 strb r2, [r1, r3]
444:./Middlewares/Third_Party/Lora/Core/lora.c **** {
357 .loc 1 444 0 discriminator 3
358 0102 0133 adds r3, r3, #1
359 .LVL13:
360 0104 DBB2 uxtb r3, r3
361 .LVL14:
362 .L27:
444:./Middlewares/Third_Party/Lora/Core/lora.c **** {
363 .loc 1 444 0 is_stmt 0 discriminator 1
364 0106 354A ldr r2, .L34+8
365 0108 1279 ldrb r2, [r2, #4]
366 010a 9A42 cmp r2, r3
367 010c F3D8 bhi .L28
368 010e 5FE0 b .L11
369 .LVL15:
370 .L24:
371 .LBE4:
372 .LBB5:
452:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMlmeRequest( &mlmeReq );
373 .loc 1 452 0 is_stmt 1 discriminator 4
374 0110 03A8 add r0, sp, #12
375 .LVL16:
376 0112 0123 movs r3, #1
377 0114 0370 strb r3, [r0]
453:./Middlewares/Third_Party/Lora/Core/lora.c **** }
378 .loc 1 453 0 discriminator 4
379 0116 FFF7FEFF bl LoRaMacMlmeRequest
380 .LVL17:
381 .LBE5:
455:./Middlewares/Third_Party/Lora/Core/lora.c **** case 6: // (ix)
382 .loc 1 455 0 discriminator 4
383 011a 59E0 b .L11
384 .LVL18:
385 .L25:
386 .LBB6:
462:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.Running = false;
387 .loc 1 462 0 discriminator 5
388 011c 2D4B ldr r3, .L34
389 011e 0022 movs r2, #0
390 0120 9A81 strh r2, [r3, #12]
463:./Middlewares/Third_Party/Lora/Core/lora.c ****
391 .loc 1 463 0 discriminator 5
392 0122 1A70 strb r2, [r3]
466:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.AdrEnable = LoRaParamInit->AdrEnable;
393 .loc 1 466 0 discriminator 5
394 0124 0223 movs r3, #2
395 0126 6A46 mov r2, sp
396 0128 1370 strb r3, [r2]
467:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
397 .loc 1 467 0 discriminator 5
398 012a 2E4B ldr r3, .L34+16
399 012c 1B68 ldr r3, [r3]
400 012e 5B7A ldrb r3, [r3, #9]
401 0130 1371 strb r3, [r2, #4]
468:./Middlewares/Third_Party/Lora/Core/lora.c ****
ARM GAS /tmp/ccY05lmV.s page 19
402 .loc 1 468 0 discriminator 5
403 0132 6846 mov r0, sp
404 .LVL19:
405 0134 FFF7FEFF bl LoRaMacMibSetRequestConfirm
406 .LVL20:
470:./Middlewares/Third_Party/Lora/Core/lora.c ****
407 .loc 1 470 0 discriminator 5
408 0138 03A8 add r0, sp, #12
409 013a 0023 movs r3, #0
410 013c 0370 strb r3, [r0]
472:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.AppEui = AppEui;
411 .loc 1 472 0 discriminator 5
412 013e 2A4B ldr r3, .L34+20
413 0140 4360 str r3, [r0, #4]
473:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.AppKey = AppKey;
414 .loc 1 473 0 discriminator 5
415 0142 2A4B ldr r3, .L34+24
416 0144 8360 str r3, [r0, #8]
474:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.NbTrials = 3;
417 .loc 1 474 0 discriminator 5
418 0146 2A4B ldr r3, .L34+28
419 0148 C360 str r3, [r0, #12]
475:./Middlewares/Third_Party/Lora/Core/lora.c ****
420 .loc 1 475 0 discriminator 5
421 014a 0323 movs r3, #3
422 014c 0374 strb r3, [r0, #16]
477:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_SLEEP;
423 .loc 1 477 0 discriminator 5
424 014e FFF7FEFF bl LoRaMacMlmeRequest
425 .LVL21:
478:./Middlewares/Third_Party/Lora/Core/lora.c **** }
426 .loc 1 478 0 discriminator 5
427 0152 284B ldr r3, .L34+32
428 0154 0522 movs r2, #5
429 0156 1A70 strb r2, [r3]
430 .LBE6:
480:./Middlewares/Third_Party/Lora/Core/lora.c **** case 7: // (x)
431 .loc 1 480 0 discriminator 5
432 0158 3AE0 b .L11
433 .LVL22:
434 .L26:
483:./Middlewares/Third_Party/Lora/Core/lora.c **** {
435 .loc 1 483 0
436 015a 037B ldrb r3, [r0, #12]
437 015c 032B cmp r3, #3
438 015e 05D0 beq .L32
490:./Middlewares/Third_Party/Lora/Core/lora.c **** {
439 .loc 1 490 0
440 0160 072B cmp r3, #7
441 0162 0ED0 beq .L33
442 .LVL23:
443 .L30:
499:./Middlewares/Third_Party/Lora/Core/lora.c **** }
444 .loc 1 499 0
445 0164 1B4B ldr r3, .L34
446 0166 0122 movs r2, #1
447 0168 5A70 strb r2, [r3, #1]
ARM GAS /tmp/ccY05lmV.s page 20
501:./Middlewares/Third_Party/Lora/Core/lora.c **** default:
448 .loc 1 501 0
449 016a 31E0 b .L11
450 .LVL24:
451 .L32:
452 .LBB7:
486:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.TxCw.Timeout = ( uint16_t )( ( mcpsIndication->Buffer[1] <<
453 .loc 1 486 0
454 016c 03A8 add r0, sp, #12
455 .LVL25:
456 016e 013B subs r3, r3, #1
457 0170 0370 strb r3, [r0]
487:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMlmeRequest( &mlmeReq );
458 .loc 1 487 0
459 0172 5178 ldrb r1, [r2, #1]
460 0174 0902 lsls r1, r1, #8
461 0176 9378 ldrb r3, [r2, #2]
462 0178 0B43 orrs r3, r1
463 017a 8380 strh r3, [r0, #4]
488:./Middlewares/Third_Party/Lora/Core/lora.c **** }
464 .loc 1 488 0
465 017c FFF7FEFF bl LoRaMacMlmeRequest
466 .LVL26:
467 .LBE7:
468 0180 F0E7 b .L30
469 .LVL27:
470 .L33:
471 .LBB8:
493:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.TxCw.Timeout = ( uint16_t )( ( mcpsIndication->Buffer[1] <<
472 .loc 1 493 0
473 0182 03A9 add r1, sp, #12
474 0184 043B subs r3, r3, #4
475 0186 0B70 strb r3, [r1]
494:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.TxCw.Frequency = ( uint32_t )( ( mcpsIndication->Buffer[3]
476 .loc 1 494 0
477 0188 5478 ldrb r4, [r2, #1]
478 018a 2402 lsls r4, r4, #8
479 018c 9378 ldrb r3, [r2, #2]
480 018e 2343 orrs r3, r4
481 0190 8B80 strh r3, [r1, #4]
495:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.TxCw.Power = mcpsIndication->Buffer[6];
482 .loc 1 495 0
483 0192 D378 ldrb r3, [r2, #3]
484 0194 1B04 lsls r3, r3, #16
485 0196 1479 ldrb r4, [r2, #4]
486 0198 2402 lsls r4, r4, #8
487 019a 2343 orrs r3, r4
488 019c 5279 ldrb r2, [r2, #5]
489 019e 1343 orrs r3, r2
490 01a0 6422 movs r2, #100
491 01a2 5343 muls r3, r2
492 01a4 0593 str r3, [sp, #20]
496:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMlmeRequest( &mlmeReq );
493 .loc 1 496 0
494 01a6 8368 ldr r3, [r0, #8]
495 01a8 9B79 ldrb r3, [r3, #6]
496 01aa 0B73 strb r3, [r1, #12]
ARM GAS /tmp/ccY05lmV.s page 21
497:./Middlewares/Third_Party/Lora/Core/lora.c **** }
497 .loc 1 497 0
498 01ac 0800 movs r0, r1
499 .LVL28:
500 01ae FFF7FEFF bl LoRaMacMlmeRequest
501 .LVL29:
502 01b2 D7E7 b .L30
503 .LVL30:
504 .L31:
505 .LBE8:
506 .LBE3:
509:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = mcpsIndication->BufferSize;
507 .loc 1 509 0
508 01b4 094C ldr r4, .L34+8
509 01b6 6271 strb r2, [r4, #5]
510:./Middlewares/Third_Party/Lora/Core/lora.c **** memcpy1( AppData.Buff, mcpsIndication->Buffer, AppData.BuffSize );
510 .loc 1 510 0
511 01b8 027B ldrb r2, [r0, #12]
512 01ba 2271 strb r2, [r4, #4]
511:./Middlewares/Third_Party/Lora/Core/lora.c ****
513 .loc 1 511 0
514 01bc 8168 ldr r1, [r0, #8]
515 01be 92B2 uxth r2, r2
516 01c0 2068 ldr r0, [r4]
517 .LVL31:
518 01c2 FFF7FEFF bl memcpy1
519 .LVL32:
513:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
520 .loc 1 513 0
521 01c6 0C4B ldr r3, .L34+36
522 01c8 1B68 ldr r3, [r3]
523 01ca 1B69 ldr r3, [r3, #16]
524 01cc 2000 movs r0, r4
525 01ce 9847 blx r3
526 .LVL33:
527 .L11:
517:./Middlewares/Third_Party/Lora/Core/lora.c ****
528 .loc 1 517 0
529 01d0 08B0 add sp, sp, #32
530 @ sp needed
531 01d2 10BD pop {r4, pc}
532 .L35:
533 .align 2
534 .L34:
535 01d4 00000000 .word .LANCHOR2
536 01d8 00000000 .word .LANCHOR3
537 01dc 00000000 .word .LANCHOR4
538 01e0 00000000 .word .L19
539 01e4 00000000 .word .LANCHOR5
540 01e8 00000000 .word .LANCHOR6
541 01ec 00000000 .word .LANCHOR7
542 01f0 00000000 .word .LANCHOR8
543 01f4 00000000 .word .LANCHOR1
544 01f8 00000000 .word .LANCHOR9
545 .cfi_endproc
546 .LFE101:
548 .section .text.OnSendEvent,"ax",%progbits
ARM GAS /tmp/ccY05lmV.s page 22
549 .align 1
550 .global OnSendEvent
551 .syntax unified
552 .code 16
553 .thumb_func
554 .fpu softvfp
556 OnSendEvent:
557 .LFB98:
262:./Middlewares/Third_Party/Lora/Core/lora.c **** MibRequestConfirm_t _mibReq;
558 .loc 1 262 0
559 .cfi_startproc
560 @ args = 0, pretend = 0, frame = 16
561 @ frame_needed = 0, uses_anonymous_args = 0
562 0000 00B5 push {lr}
563 .LCFI2:
564 .cfi_def_cfa_offset 4
565 .cfi_offset 14, -4
566 0002 85B0 sub sp, sp, #20
567 .LCFI3:
568 .cfi_def_cfa_offset 24
266:./Middlewares/Third_Party/Lora/Core/lora.c **** status = LoRaMacMibGetRequestConfirm( &_mibReq );
569 .loc 1 266 0
570 0004 01A8 add r0, sp, #4
571 0006 0123 movs r3, #1
572 0008 0370 strb r3, [r0]
267:./Middlewares/Third_Party/Lora/Core/lora.c ****
573 .loc 1 267 0
574 000a FFF7FEFF bl LoRaMacMibGetRequestConfirm
575 .LVL34:
269:./Middlewares/Third_Party/Lora/Core/lora.c **** {
576 .loc 1 269 0
577 000e 0028 cmp r0, #0
578 0010 06D1 bne .L36
271:./Middlewares/Third_Party/Lora/Core/lora.c **** {
579 .loc 1 271 0
580 0012 01AB add r3, sp, #4
581 0014 1B79 ldrb r3, [r3, #4]
582 0016 002B cmp r3, #0
583 0018 04D1 bne .L39
278:./Middlewares/Third_Party/Lora/Core/lora.c **** }
584 .loc 1 278 0
585 001a 064B ldr r3, .L40
586 001c 0122 movs r2, #1
587 001e 1A70 strb r2, [r3]
588 .L36:
281:./Middlewares/Third_Party/Lora/Core/lora.c **** /*!
589 .loc 1 281 0
590 0020 05B0 add sp, sp, #20
591 @ sp needed
592 0022 00BD pop {pc}
593 .L39:
273:./Middlewares/Third_Party/Lora/Core/lora.c **** NextTx = true;
594 .loc 1 273 0
595 0024 034B ldr r3, .L40
596 0026 0322 movs r2, #3
597 0028 1A70 strb r2, [r3]
274:./Middlewares/Third_Party/Lora/Core/lora.c **** }
ARM GAS /tmp/ccY05lmV.s page 23
598 .loc 1 274 0
599 002a 034B ldr r3, .L40+4
600 002c 023A subs r2, r2, #2
601 002e 1A70 strb r2, [r3]
602 0030 F6E7 b .L36
603 .L41:
604 0032 C046 .align 2
605 .L40:
606 0034 00000000 .word .LANCHOR1
607 0038 00000000 .word .LANCHOR0
608 .cfi_endproc
609 .LFE98:
611 .section .text.OnTxNextPacketTimerEvent,"ax",%progbits
612 .align 1
613 .syntax unified
614 .code 16
615 .thumb_func
616 .fpu softvfp
618 OnTxNextPacketTimerEvent:
619 .LFB99:
286:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerStop( &TxNextPacketTimer );
620 .loc 1 286 0
621 .cfi_startproc
622 @ args = 0, pretend = 0, frame = 0
623 @ frame_needed = 0, uses_anonymous_args = 0
624 0000 10B5 push {r4, lr}
625 .LCFI4:
626 .cfi_def_cfa_offset 8
627 .cfi_offset 4, -8
628 .cfi_offset 14, -4
287:./Middlewares/Third_Party/Lora/Core/lora.c **** OnSendEvent();
629 .loc 1 287 0
630 0002 0348 ldr r0, .L43
631 0004 FFF7FEFF bl TimerStop
632 .LVL35:
288:./Middlewares/Third_Party/Lora/Core/lora.c **** }
633 .loc 1 288 0
634 0008 FFF7FEFF bl OnSendEvent
635 .LVL36:
289:./Middlewares/Third_Party/Lora/Core/lora.c ****
636 .loc 1 289 0
637 @ sp needed
638 000c 10BD pop {r4, pc}
639 .L44:
640 000e C046 .align 2
641 .L43:
642 0010 00000000 .word .LANCHOR10
643 .cfi_endproc
644 .LFE99:
646 .section .text.lora_Init,"ax",%progbits
647 .align 1
648 .global lora_Init
649 .syntax unified
650 .code 16
651 .thumb_func
652 .fpu softvfp
654 lora_Init:
ARM GAS /tmp/ccY05lmV.s page 24
655 .LFB103:
563:./Middlewares/Third_Party/Lora/Core/lora.c **** /**
564:./Middlewares/Third_Party/Lora/Core/lora.c **** * lora Init
565:./Middlewares/Third_Party/Lora/Core/lora.c **** */
566:./Middlewares/Third_Party/Lora/Core/lora.c **** void lora_Init (LoRaMainCallback_t *callbacks, LoRaParam_t* LoRaParam )
567:./Middlewares/Third_Party/Lora/Core/lora.c **** {
656 .loc 1 567 0
657 .cfi_startproc
658 @ args = 0, pretend = 0, frame = 0
659 @ frame_needed = 0, uses_anonymous_args = 0
660 .LVL37:
661 0000 10B5 push {r4, lr}
662 .LCFI5:
663 .cfi_def_cfa_offset 8
664 .cfi_offset 4, -8
665 .cfi_offset 14, -4
568:./Middlewares/Third_Party/Lora/Core/lora.c **** /* init the DeviceState*/
569:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState= DEVICE_STATE_INIT;
666 .loc 1 569 0
667 0002 224B ldr r3, .L52
668 0004 0022 movs r2, #0
669 0006 1A70 strb r2, [r3]
570:./Middlewares/Third_Party/Lora/Core/lora.c ****
571:./Middlewares/Third_Party/Lora/Core/lora.c **** /* init the Tx Duty Cycle*/
572:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaParamInit = LoRaParam;
670 .loc 1 572 0
671 0008 214B ldr r3, .L52+4
672 000a 1960 str r1, [r3]
573:./Middlewares/Third_Party/Lora/Core/lora.c ****
574:./Middlewares/Third_Party/Lora/Core/lora.c **** /* init the main call backs*/
575:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMainCallbacks = callbacks;
673 .loc 1 575 0
674 000c 214B ldr r3, .L52+8
675 000e 1860 str r0, [r3]
576:./Middlewares/Third_Party/Lora/Core/lora.c ****
577:./Middlewares/Third_Party/Lora/Core/lora.c **** #if (STATIC_DEVICE_EUI != 1)
578:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMainCallbacks->BoardGetUniqueId( DevEui );
676 .loc 1 578 0
677 0010 4368 ldr r3, [r0, #4]
678 0012 214C ldr r4, .L52+12
679 0014 2000 movs r0, r4
680 .LVL38:
681 0016 9847 blx r3
682 .LVL39:
579:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
580:./Middlewares/Third_Party/Lora/Core/lora.c ****
581:./Middlewares/Third_Party/Lora/Core/lora.c **** #if( OVER_THE_AIR_ACTIVATION != 0 )
582:./Middlewares/Third_Party/Lora/Core/lora.c ****
583:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("OTAA\n\r");
683 .loc 1 583 0
684 0018 2048 ldr r0, .L52+16
685 001a FFF7FEFF bl vcom_Send
686 .LVL40:
584:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("DevEui= %02X", DevEui[0]) ;for(int i=1; i<8 ; i++) {PRINTF("-%02X", DevEui[i]); }; PRINTF
687 .loc 1 584 0
688 001e 2178 ldrb r1, [r4]
689 0020 1F48 ldr r0, .L52+20
ARM GAS /tmp/ccY05lmV.s page 25
690 0022 FFF7FEFF bl vcom_Send
691 .LVL41:
692 .LBB9:
693 0026 0124 movs r4, #1
694 0028 05E0 b .L46
695 .LVL42:
696 .L47:
697 .loc 1 584 0 is_stmt 0 discriminator 3
698 002a 1B4B ldr r3, .L52+12
699 002c 195D ldrb r1, [r3, r4]
700 002e 1D48 ldr r0, .L52+24
701 0030 FFF7FEFF bl vcom_Send
702 .LVL43:
703 0034 0134 adds r4, r4, #1
704 .LVL44:
705 .L46:
706 .loc 1 584 0 discriminator 1
707 0036 072C cmp r4, #7
708 0038 F7DD ble .L47
709 .LBE9:
710 .loc 1 584 0 discriminator 4
711 003a 1B48 ldr r0, .L52+28
712 003c FFF7FEFF bl vcom_Send
713 .LVL45:
585:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("AppEui= %02X", AppEui[0]) ;for(int i=1; i<8 ; i++) {PRINTF("-%02X", AppEui[i]); }; PRINTF
714 .loc 1 585 0 is_stmt 1 discriminator 4
715 0040 1A4B ldr r3, .L52+32
716 0042 1978 ldrb r1, [r3]
717 0044 1A48 ldr r0, .L52+36
718 0046 FFF7FEFF bl vcom_Send
719 .LVL46:
720 .LBB10:
721 004a 0124 movs r4, #1
722 .LVL47:
723 004c 05E0 b .L48
724 .LVL48:
725 .L49:
726 .loc 1 585 0 is_stmt 0 discriminator 3
727 004e 174B ldr r3, .L52+32
728 0050 195D ldrb r1, [r3, r4]
729 0052 1448 ldr r0, .L52+24
730 0054 FFF7FEFF bl vcom_Send
731 .LVL49:
732 0058 0134 adds r4, r4, #1
733 .LVL50:
734 .L48:
735 .loc 1 585 0 discriminator 1
736 005a 072C cmp r4, #7
737 005c F7DD ble .L49
738 .LBE10:
739 .loc 1 585 0 discriminator 4
740 005e 1248 ldr r0, .L52+28
741 0060 FFF7FEFF bl vcom_Send
742 .LVL51:
586:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("AppKey= %02X", AppKey[0]) ;for(int i=1; i<16; i++) {PRINTF(" %02X", AppKey[i]); }; PRINTF
743 .loc 1 586 0 is_stmt 1 discriminator 4
744 0064 134B ldr r3, .L52+40
ARM GAS /tmp/ccY05lmV.s page 26
745 0066 1978 ldrb r1, [r3]
746 0068 1348 ldr r0, .L52+44
747 006a FFF7FEFF bl vcom_Send
748 .LVL52:
749 .LBB11:
750 006e 0124 movs r4, #1
751 .LVL53:
752 0070 05E0 b .L50
753 .LVL54:
754 .L51:
755 .loc 1 586 0 is_stmt 0 discriminator 3
756 0072 104B ldr r3, .L52+40
757 0074 195D ldrb r1, [r3, r4]
758 0076 1148 ldr r0, .L52+48
759 0078 FFF7FEFF bl vcom_Send
760 .LVL55:
761 007c 0134 adds r4, r4, #1
762 .LVL56:
763 .L50:
764 .loc 1 586 0 discriminator 1
765 007e 0F2C cmp r4, #15
766 0080 F7DD ble .L51
767 .LBE11:
768 .loc 1 586 0 discriminator 4
769 0082 0F48 ldr r0, .L52+52
770 0084 FFF7FEFF bl vcom_Send
771 .LVL57:
587:./Middlewares/Third_Party/Lora/Core/lora.c **** #else
588:./Middlewares/Third_Party/Lora/Core/lora.c ****
589:./Middlewares/Third_Party/Lora/Core/lora.c **** #if (STATIC_DEVICE_ADDRESS != 1)
590:./Middlewares/Third_Party/Lora/Core/lora.c **** // Random seed initialization
591:./Middlewares/Third_Party/Lora/Core/lora.c **** srand1( LoRaMainCallbacks->BoardGetRandomSeed( ) );
592:./Middlewares/Third_Party/Lora/Core/lora.c **** // Choose a random device address
593:./Middlewares/Third_Party/Lora/Core/lora.c **** DevAddr = randr( 0, 0x01FFFFFF );
594:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
595:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("ABP\n\r");
596:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("DevEui= %02X", DevEui[0]) ;for(int i=1; i<8 ; i++) {PRINTF("-%02X", DevEui[i]); }; PRINTF
597:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("DevAdd= %08X\n\r", DevAddr) ;
598:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("NwkSKey= %02X", NwkSKey[0]) ;for(int i=1; i<16 ; i++) {PRINTF(" %02X", NwkSKey[i]); }; PR
599:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("AppSKey= %02X", AppSKey[0]) ;for(int i=1; i<16 ; i++) {PRINTF(" %02X", AppSKey[i]); }; PR
600:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
601:./Middlewares/Third_Party/Lora/Core/lora.c ****
602:./Middlewares/Third_Party/Lora/Core/lora.c **** }
772 .loc 1 602 0 is_stmt 1 discriminator 4
773 @ sp needed
774 .LVL58:
775 0088 10BD pop {r4, pc}
776 .L53:
777 008a C046 .align 2
778 .L52:
779 008c 00000000 .word .LANCHOR1
780 0090 00000000 .word .LANCHOR5
781 0094 00000000 .word .LANCHOR9
782 0098 00000000 .word .LANCHOR6
783 009c 00000000 .word .LC21
784 00a0 08000000 .word .LC23
785 00a4 18000000 .word .LC25
ARM GAS /tmp/ccY05lmV.s page 27
786 00a8 20000000 .word .LC27
787 00ac 00000000 .word .LANCHOR7
788 00b0 24000000 .word .LC30
789 00b4 00000000 .word .LANCHOR8
790 00b8 34000000 .word .LC33
791 00bc 44000000 .word .LC35
792 00c0 4C000000 .word .LC37
793 .cfi_endproc
794 .LFE103:
796 .section .text.lora_fsm,"ax",%progbits
797 .align 1
798 .global lora_fsm
799 .syntax unified
800 .code 16
801 .thumb_func
802 .fpu softvfp
804 lora_fsm:
805 .LFB104:
603:./Middlewares/Third_Party/Lora/Core/lora.c ****
604:./Middlewares/Third_Party/Lora/Core/lora.c **** /**
605:./Middlewares/Third_Party/Lora/Core/lora.c **** * lora class A state machine
606:./Middlewares/Third_Party/Lora/Core/lora.c **** */
607:./Middlewares/Third_Party/Lora/Core/lora.c ****
608:./Middlewares/Third_Party/Lora/Core/lora.c **** void lora_fsm( void)
609:./Middlewares/Third_Party/Lora/Core/lora.c **** {
806 .loc 1 609 0
807 .cfi_startproc
808 @ args = 0, pretend = 0, frame = 24
809 @ frame_needed = 0, uses_anonymous_args = 0
810 0000 30B5 push {r4, r5, lr}
811 .LCFI6:
812 .cfi_def_cfa_offset 12
813 .cfi_offset 4, -12
814 .cfi_offset 5, -8
815 .cfi_offset 14, -4
816 0002 87B0 sub sp, sp, #28
817 .LCFI7:
818 .cfi_def_cfa_offset 40
610:./Middlewares/Third_Party/Lora/Core/lora.c **** switch( DeviceState )
819 .loc 1 610 0
820 0004 7E4B ldr r3, .L82
821 0006 1A78 ldrb r2, [r3]
822 0008 052A cmp r2, #5
823 000a 00D9 bls .LCB684
824 000c F4E0 b .L55 @long jump
825 .LCB684:
826 000e 9300 lsls r3, r2, #2
827 0010 7C4A ldr r2, .L82+4
828 0012 D358 ldr r3, [r2, r3]
829 0014 9F46 mov pc, r3
830 .section .rodata.lora_fsm,"a",%progbits
831 .align 2
832 .L57:
833 0000 16000000 .word .L56
834 0004 80000000 .word .L58
835 0008 B2000000 .word .L59
836 000c C0000000 .word .L60
ARM GAS /tmp/ccY05lmV.s page 28
837 0010 F8010000 .word .L55
838 0014 7C000000 .word .L54
839 .section .text.lora_fsm
840 .L56:
611:./Middlewares/Third_Party/Lora/Core/lora.c **** {
612:./Middlewares/Third_Party/Lora/Core/lora.c **** case DEVICE_STATE_INIT:
613:./Middlewares/Third_Party/Lora/Core/lora.c **** {
614:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;
841 .loc 1 614 0
842 0016 7C48 ldr r0, .L82+8
843 0018 7C4B ldr r3, .L82+12
844 001a 0360 str r3, [r0]
615:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacPrimitives.MacMcpsIndication = McpsIndication;
845 .loc 1 615 0
846 001c 7C4B ldr r3, .L82+16
847 001e 4360 str r3, [r0, #4]
616:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;
848 .loc 1 616 0
849 0020 7C4B ldr r3, .L82+20
850 0022 8360 str r3, [r0, #8]
617:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacCallbacks.GetBatteryLevel = LoRaMainCallbacks->BoardGetBatteryLevel;
851 .loc 1 617 0
852 0024 7C4B ldr r3, .L82+24
853 0026 1B68 ldr r3, [r3]
854 0028 1B68 ldr r3, [r3]
855 002a 7C49 ldr r1, .L82+28
856 002c 0B60 str r3, [r1]
618:./Middlewares/Third_Party/Lora/Core/lora.c **** #if defined( REGION_AS923 )
619:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_AS923
620:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_AU915 )
621:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_AU915
622:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_CN470 )
623:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_CN470
624:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_CN779 )
625:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_CN779
626:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_EU433 )
627:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_EU433
628:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_IN865 )
629:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_IN865
630:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_EU868 )
631:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_EU868
857 .loc 1 631 0
858 002e 0522 movs r2, #5
859 0030 FFF7FEFF bl LoRaMacInitialization
860 .LVL59:
632:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_KR920 )
633:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_KR920
634:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_US915 )
635:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_US915
636:./Middlewares/Third_Party/Lora/Core/lora.c **** #elif defined( REGION_US915_HYBRID )
637:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacInitialization( &LoRaMacPrimitives, &LoRaMacCallbacks, LORAMAC_REGION_US915_
638:./Middlewares/Third_Party/Lora/Core/lora.c **** #else
639:./Middlewares/Third_Party/Lora/Core/lora.c **** #error "Please define a region in the compiler options."
640:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
641:./Middlewares/Third_Party/Lora/Core/lora.c ****
642:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
861 .loc 1 642 0
ARM GAS /tmp/ccY05lmV.s page 29
862 0034 7A49 ldr r1, .L82+32
863 0036 7B48 ldr r0, .L82+36
864 0038 FFF7FEFF bl TimerInit
865 .LVL60:
643:./Middlewares/Third_Party/Lora/Core/lora.c ****
644:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_ADR;
866 .loc 1 644 0
867 003c 7A4C ldr r4, .L82+40
868 003e 0223 movs r3, #2
869 0040 2370 strb r3, [r4]
645:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.AdrEnable = LoRaParamInit->AdrEnable;
870 .loc 1 645 0
871 0042 7A4D ldr r5, .L82+44
872 0044 2B68 ldr r3, [r5]
873 0046 5B7A ldrb r3, [r3, #9]
874 0048 2371 strb r3, [r4, #4]
646:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
875 .loc 1 646 0
876 004a 2000 movs r0, r4
877 004c FFF7FEFF bl LoRaMacMibSetRequestConfirm
878 .LVL61:
647:./Middlewares/Third_Party/Lora/Core/lora.c ****
648:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_PUBLIC_NETWORK;
879 .loc 1 648 0
880 0050 0723 movs r3, #7
881 0052 2370 strb r3, [r4]
649:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.EnablePublicNetwork = LoRaParamInit->EnablePublicNetwork;
882 .loc 1 649 0
883 0054 2B68 ldr r3, [r5]
884 0056 DB7A ldrb r3, [r3, #11]
885 0058 2371 strb r3, [r4, #4]
650:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
886 .loc 1 650 0
887 005a 2000 movs r0, r4
888 005c FFF7FEFF bl LoRaMacMibSetRequestConfirm
889 .LVL62:
651:./Middlewares/Third_Party/Lora/Core/lora.c ****
652:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_DEVICE_CLASS;
890 .loc 1 652 0
891 0060 0023 movs r3, #0
892 0062 2370 strb r3, [r4]
653:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.Class= LoRaParamInit->Class;
893 .loc 1 653 0
894 0064 2B68 ldr r3, [r5]
895 0066 1B7A ldrb r3, [r3, #8]
896 0068 2371 strb r3, [r4, #4]
654:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
897 .loc 1 654 0
898 006a 2000 movs r0, r4
899 006c FFF7FEFF bl LoRaMacMibSetRequestConfirm
900 .LVL63:
655:./Middlewares/Third_Party/Lora/Core/lora.c ****
656:./Middlewares/Third_Party/Lora/Core/lora.c **** #if defined( REGION_EU868 )
657:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
901 .loc 1 657 0
902 0070 0120 movs r0, #1
903 0072 FFF7FEFF bl LoRaMacTestSetDutyCycleOn
ARM GAS /tmp/ccY05lmV.s page 30
904 .LVL64:
658:./Middlewares/Third_Party/Lora/Core/lora.c ****
659:./Middlewares/Third_Party/Lora/Core/lora.c **** #if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
660:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
661:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacChannelAdd( 4, ( ChannelParams_t )LC5 );
662:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacChannelAdd( 5, ( ChannelParams_t )LC6 );
663:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacChannelAdd( 6, ( ChannelParams_t )LC7 );
664:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacChannelAdd( 7, ( ChannelParams_t )LC8 );
665:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacChannelAdd( 8, ( ChannelParams_t )LC9 );
666:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacChannelAdd( 9, ( ChannelParams_t )LC10 );
667:./Middlewares/Third_Party/Lora/Core/lora.c ****
668:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_RX2_DEFAULT_CHANNEL;
669:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.Rx2DefaultChannel = ( Rx2ChannelParams_t ){ 869525000, DR_3 };
670:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
671:./Middlewares/Third_Party/Lora/Core/lora.c ****
672:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_RX2_CHANNEL;
673:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.Rx2Channel = ( Rx2ChannelParams_t ){ 869525000, DR_3 };
674:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
675:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
676:./Middlewares/Third_Party/Lora/Core/lora.c ****
677:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
678:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_JOIN;
905 .loc 1 678 0
906 0076 624B ldr r3, .L82
907 0078 0122 movs r2, #1
908 007a 1A70 strb r2, [r3]
909 .L54:
679:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
680:./Middlewares/Third_Party/Lora/Core/lora.c **** }
681:./Middlewares/Third_Party/Lora/Core/lora.c **** case DEVICE_STATE_JOIN:
682:./Middlewares/Third_Party/Lora/Core/lora.c **** {
683:./Middlewares/Third_Party/Lora/Core/lora.c **** #if( OVER_THE_AIR_ACTIVATION != 0 )
684:./Middlewares/Third_Party/Lora/Core/lora.c **** MlmeReq_t mlmeReq;
685:./Middlewares/Third_Party/Lora/Core/lora.c ****
686:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Type = MLME_JOIN;
687:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.DevEui = DevEui;
688:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.AppEui = AppEui;
689:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.AppKey = AppKey;
690:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.NbTrials = LoRaParamInit->NbTrials;
691:./Middlewares/Third_Party/Lora/Core/lora.c ****
692:./Middlewares/Third_Party/Lora/Core/lora.c **** if( NextTx == true )
693:./Middlewares/Third_Party/Lora/Core/lora.c **** {
694:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMlmeRequest( &mlmeReq );
695:./Middlewares/Third_Party/Lora/Core/lora.c **** }
696:./Middlewares/Third_Party/Lora/Core/lora.c ****
697:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_SLEEP;
698:./Middlewares/Third_Party/Lora/Core/lora.c **** #else
699:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_NET_ID;
700:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.NetID = LORAWAN_NETWORK_ID;
701:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
702:./Middlewares/Third_Party/Lora/Core/lora.c ****
703:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_DEV_ADDR;
704:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.DevAddr = DevAddr;
705:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
706:./Middlewares/Third_Party/Lora/Core/lora.c ****
707:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_NWK_SKEY;
708:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.NwkSKey = NwkSKey;
ARM GAS /tmp/ccY05lmV.s page 31
709:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
710:./Middlewares/Third_Party/Lora/Core/lora.c ****
711:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_APP_SKEY;
712:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.AppSKey = AppSKey;
713:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
714:./Middlewares/Third_Party/Lora/Core/lora.c ****
715:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Type = MIB_NETWORK_JOINED;
716:./Middlewares/Third_Party/Lora/Core/lora.c **** mibReq.Param.IsNetworkJoined = true;
717:./Middlewares/Third_Party/Lora/Core/lora.c **** LoRaMacMibSetRequestConfirm( &mibReq );
718:./Middlewares/Third_Party/Lora/Core/lora.c ****
719:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_SEND;
720:./Middlewares/Third_Party/Lora/Core/lora.c **** #endif
721:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
722:./Middlewares/Third_Party/Lora/Core/lora.c **** }
723:./Middlewares/Third_Party/Lora/Core/lora.c **** case DEVICE_STATE_JOINED:
724:./Middlewares/Third_Party/Lora/Core/lora.c **** {
725:./Middlewares/Third_Party/Lora/Core/lora.c **** PRINTF("JOINED\n\r");
726:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_SEND;
727:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
728:./Middlewares/Third_Party/Lora/Core/lora.c **** }
729:./Middlewares/Third_Party/Lora/Core/lora.c **** case DEVICE_STATE_SEND:
730:./Middlewares/Third_Party/Lora/Core/lora.c **** {
731:./Middlewares/Third_Party/Lora/Core/lora.c **** if( NextTx == true )
732:./Middlewares/Third_Party/Lora/Core/lora.c **** {
733:./Middlewares/Third_Party/Lora/Core/lora.c **** PrepareTxFrame( );
734:./Middlewares/Third_Party/Lora/Core/lora.c ****
735:./Middlewares/Third_Party/Lora/Core/lora.c **** NextTx = SendFrame( );
736:./Middlewares/Third_Party/Lora/Core/lora.c **** }
737:./Middlewares/Third_Party/Lora/Core/lora.c **** if( ComplianceTest.Running == true )
738:./Middlewares/Third_Party/Lora/Core/lora.c **** {
739:./Middlewares/Third_Party/Lora/Core/lora.c **** // Schedule next packet transmission as soon as possible
740:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerSetValue( &TxNextPacketTimer, 5000); /* 5s */
741:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerStart( &TxNextPacketTimer );
742:./Middlewares/Third_Party/Lora/Core/lora.c **** }
743:./Middlewares/Third_Party/Lora/Core/lora.c **** else if (LoRaParamInit->TxEvent == TX_ON_TIMER )
744:./Middlewares/Third_Party/Lora/Core/lora.c **** {
745:./Middlewares/Third_Party/Lora/Core/lora.c **** // Schedule next packet transmission
746:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerSetValue( &TxNextPacketTimer, LoRaParamInit->TxDutyCycleTime );
747:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerStart( &TxNextPacketTimer );
748:./Middlewares/Third_Party/Lora/Core/lora.c **** }
749:./Middlewares/Third_Party/Lora/Core/lora.c ****
750:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_SLEEP;
751:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
752:./Middlewares/Third_Party/Lora/Core/lora.c **** }
753:./Middlewares/Third_Party/Lora/Core/lora.c **** case DEVICE_STATE_SLEEP:
754:./Middlewares/Third_Party/Lora/Core/lora.c **** {
755:./Middlewares/Third_Party/Lora/Core/lora.c **** // Wake up through events
756:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
757:./Middlewares/Third_Party/Lora/Core/lora.c **** }
758:./Middlewares/Third_Party/Lora/Core/lora.c **** default:
759:./Middlewares/Third_Party/Lora/Core/lora.c **** {
760:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_INIT;
761:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
762:./Middlewares/Third_Party/Lora/Core/lora.c **** }
763:./Middlewares/Third_Party/Lora/Core/lora.c **** }
764:./Middlewares/Third_Party/Lora/Core/lora.c **** }
910 .loc 1 764 0
ARM GAS /tmp/ccY05lmV.s page 32
911 007c 07B0 add sp, sp, #28
912 @ sp needed
913 007e 30BD pop {r4, r5, pc}
914 .L58:
915 .LBB17:
686:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.DevEui = DevEui;
916 .loc 1 686 0
917 0080 01AB add r3, sp, #4
918 0082 0022 movs r2, #0
919 0084 1A70 strb r2, [r3]
687:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.AppEui = AppEui;
920 .loc 1 687 0
921 0086 6A4A ldr r2, .L82+48
922 0088 0292 str r2, [sp, #8]
688:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.AppKey = AppKey;
923 .loc 1 688 0
924 008a 6A4A ldr r2, .L82+52
925 008c 0392 str r2, [sp, #12]
689:./Middlewares/Third_Party/Lora/Core/lora.c **** mlmeReq.Req.Join.NbTrials = LoRaParamInit->NbTrials;
926 .loc 1 689 0
927 008e 6A4A ldr r2, .L82+56
928 0090 0492 str r2, [sp, #16]
690:./Middlewares/Third_Party/Lora/Core/lora.c ****
929 .loc 1 690 0
930 0092 664A ldr r2, .L82+44
931 0094 1268 ldr r2, [r2]
932 0096 127B ldrb r2, [r2, #12]
933 0098 1A74 strb r2, [r3, #16]
692:./Middlewares/Third_Party/Lora/Core/lora.c **** {
934 .loc 1 692 0
935 009a 684B ldr r3, .L82+60
936 009c 1B78 ldrb r3, [r3]
937 009e 002B cmp r3, #0
938 00a0 03D1 bne .L75
939 .L62:
697:./Middlewares/Third_Party/Lora/Core/lora.c **** #else
940 .loc 1 697 0
941 00a2 574B ldr r3, .L82
942 00a4 0522 movs r2, #5
943 00a6 1A70 strb r2, [r3]
944 00a8 E8E7 b .L54
945 .L75:
694:./Middlewares/Third_Party/Lora/Core/lora.c **** }
946 .loc 1 694 0
947 00aa 01A8 add r0, sp, #4
948 00ac FFF7FEFF bl LoRaMacMlmeRequest
949 .LVL65:
950 00b0 F7E7 b .L62
951 .L59:
952 .LBE17:
725:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState = DEVICE_STATE_SEND;
953 .loc 1 725 0
954 00b2 6348 ldr r0, .L82+64
955 00b4 FFF7FEFF bl vcom_Send
956 .LVL66:
726:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
957 .loc 1 726 0
ARM GAS /tmp/ccY05lmV.s page 33
958 00b8 514B ldr r3, .L82
959 00ba 0322 movs r2, #3
960 00bc 1A70 strb r2, [r3]
727:./Middlewares/Third_Party/Lora/Core/lora.c **** }
961 .loc 1 727 0
962 00be DDE7 b .L54
963 .L60:
731:./Middlewares/Third_Party/Lora/Core/lora.c **** {
964 .loc 1 731 0
965 00c0 5E4B ldr r3, .L82+60
966 00c2 1C78 ldrb r4, [r3]
967 00c4 002C cmp r4, #0
968 00c6 0ED1 bne .L76
969 .L63:
737:./Middlewares/Third_Party/Lora/Core/lora.c **** {
970 .loc 1 737 0
971 00c8 5E4B ldr r3, .L82+68
972 00ca 1B78 ldrb r3, [r3]
973 00cc 002B cmp r3, #0
974 00ce 00D0 beq .LCB813
975 00d0 80E0 b .L77 @long jump
976 .LCB813:
743:./Middlewares/Third_Party/Lora/Core/lora.c **** {
977 .loc 1 743 0
978 00d2 564B ldr r3, .L82+44
979 00d4 1B68 ldr r3, [r3]
980 00d6 1A78 ldrb r2, [r3]
981 00d8 002A cmp r2, #0
982 00da 00D1 bne .LCB818
983 00dc 83E0 b .L78 @long jump
984 .LCB818:
985 .L74:
750:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
986 .loc 1 750 0
987 00de 484B ldr r3, .L82
988 00e0 0522 movs r2, #5
989 00e2 1A70 strb r2, [r3]
751:./Middlewares/Third_Party/Lora/Core/lora.c **** }
990 .loc 1 751 0
991 00e4 CAE7 b .L54
992 .L76:
993 .LBB18:
994 .LBB19:
184:./Middlewares/Third_Party/Lora/Core/lora.c **** {
995 .loc 1 184 0
996 00e6 574B ldr r3, .L82+68
997 00e8 1B78 ldrb r3, [r3]
998 00ea 002B cmp r3, #0
999 00ec 1ED1 bne .L79
212:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1000 .loc 1 212 0
1001 00ee 4A4B ldr r3, .L82+24
1002 00f0 1B68 ldr r3, [r3]
1003 00f2 DB68 ldr r3, [r3, #12]
1004 00f4 5449 ldr r1, .L82+72
1005 00f6 5548 ldr r0, .L82+76
1006 00f8 9847 blx r3
ARM GAS /tmp/ccY05lmV.s page 34
1007 .LVL67:
1008 .L66:
1009 .LBE19:
1010 .LBE18:
1011 .LBB21:
1012 .LBB22:
226:./Middlewares/Third_Party/Lora/Core/lora.c **** {
1013 .loc 1 226 0
1014 00fa 544B ldr r3, .L82+76
1015 00fc 1879 ldrb r0, [r3, #4]
1016 00fe 6946 mov r1, sp
1017 0100 FFF7FEFF bl LoRaMacQueryTxPossible
1018 .LVL68:
1019 0104 0028 cmp r0, #0
1020 0106 3DD0 beq .L69
229:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fBuffer = NULL;
1021 .loc 1 229 0
1022 0108 01AB add r3, sp, #4
1023 010a 0022 movs r2, #0
1024 010c 1A70 strb r2, [r3]
230:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fBufferSize = 0;
1025 .loc 1 230 0
1026 010e 0392 str r2, [sp, #12]
231:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.Datarate = LoRaParamInit->TxDatarate;
1027 .loc 1 231 0
1028 0110 9A81 strh r2, [r3, #12]
232:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1029 .loc 1 232 0
1030 0112 464A ldr r2, .L82+44
1031 0114 1268 ldr r2, [r2]
1032 0116 927A ldrb r2, [r2, #10]
1033 0118 52B2 sxtb r2, r2
1034 011a 9A73 strb r2, [r3, #14]
1035 .L70:
254:./Middlewares/Third_Party/Lora/Core/lora.c **** {
1036 .loc 1 254 0
1037 011c 01A8 add r0, sp, #4
1038 011e FFF7FEFF bl LoRaMacMcpsRequest
1039 .LVL69:
1040 0122 0028 cmp r0, #0
1041 0124 54D0 beq .L80
1042 .L72:
1043 .LBE22:
1044 .LBE21:
735:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1045 .loc 1 735 0
1046 0126 454B ldr r3, .L82+60
1047 0128 1C70 strb r4, [r3]
1048 012a CDE7 b .L63
1049 .L79:
1050 .LBB24:
1051 .LBB20:
186:./Middlewares/Third_Party/Lora/Core/lora.c **** {
1052 .loc 1 186 0
1053 012c 454B ldr r3, .L82+68
1054 012e 9B7B ldrb r3, [r3, #14]
1055 0130 002B cmp r3, #0
ARM GAS /tmp/ccY05lmV.s page 35
1056 0132 09D1 bne .L81
197:./Middlewares/Third_Party/Lora/Core/lora.c **** {
1057 .loc 1 197 0
1058 0134 434B ldr r3, .L82+68
1059 0136 5B78 ldrb r3, [r3, #1]
1060 0138 012B cmp r3, #1
1061 013a 17D0 beq .L67
1062 013c 042B cmp r3, #4
1063 013e DCD1 bne .L66
200:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
1064 .loc 1 200 0
1065 0140 404B ldr r3, .L82+68
1066 0142 0122 movs r2, #1
1067 0144 5A70 strb r2, [r3, #1]
1068 0146 D8E7 b .L66
1069 .L81:
188:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.BuffSize = 3;
1070 .loc 1 188 0
1071 0148 3E4B ldr r3, .L82+68
1072 014a 0022 movs r2, #0
1073 014c 9A73 strb r2, [r3, #14]
189:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[0] = 5;
1074 .loc 1 189 0
1075 014e 3F4A ldr r2, .L82+76
1076 0150 0321 movs r1, #3
1077 0152 1171 strb r1, [r2, #4]
190:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[1] = ComplianceTest.DemodMargin;
1078 .loc 1 190 0
1079 0154 0231 adds r1, r1, #2
1080 0156 1068 ldr r0, [r2]
1081 0158 0170 strb r1, [r0]
191:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[2] = ComplianceTest.NbGateways;
1082 .loc 1 191 0
1083 015a D97B ldrb r1, [r3, #15]
1084 015c 1068 ldr r0, [r2]
1085 015e 4170 strb r1, [r0, #1]
192:./Middlewares/Third_Party/Lora/Core/lora.c **** ComplianceTest.State = 1;
1086 .loc 1 192 0
1087 0160 1268 ldr r2, [r2]
1088 0162 197C ldrb r1, [r3, #16]
1089 0164 9170 strb r1, [r2, #2]
193:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1090 .loc 1 193 0
1091 0166 0122 movs r2, #1
1092 0168 5A70 strb r2, [r3, #1]
1093 016a C6E7 b .L66
1094 .L67:
203:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[0] = ComplianceTest.DownLinkCounter >> 8;
1095 .loc 1 203 0
1096 016c 374B ldr r3, .L82+76
1097 016e 0222 movs r2, #2
1098 0170 1A71 strb r2, [r3, #4]
204:./Middlewares/Third_Party/Lora/Core/lora.c **** AppData.Buff[1] = ComplianceTest.DownLinkCounter;
1099 .loc 1 204 0
1100 0172 3449 ldr r1, .L82+68
1101 0174 8A89 ldrh r2, [r1, #12]
1102 0176 120A lsrs r2, r2, #8
ARM GAS /tmp/ccY05lmV.s page 36
1103 0178 1868 ldr r0, [r3]
1104 017a 0270 strb r2, [r0]
205:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
1105 .loc 1 205 0
1106 017c 8A89 ldrh r2, [r1, #12]
1107 017e 1B68 ldr r3, [r3]
1108 0180 5A70 strb r2, [r3, #1]
1109 0182 BAE7 b .L66
1110 .L69:
1111 .LBE20:
1112 .LBE24:
1113 .LBB25:
1114 .LBB23:
236:./Middlewares/Third_Party/Lora/Core/lora.c **** {
1115 .loc 1 236 0
1116 0184 304B ldr r3, .L82+72
1117 0186 1B78 ldrb r3, [r3]
1118 0188 002B cmp r3, #0
1119 018a 0FD1 bne .L71
238:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fPort = AppData.Port;
1120 .loc 1 238 0
1121 018c 01AB add r3, sp, #4
1122 018e 0022 movs r2, #0
1123 0190 1A70 strb r2, [r3]
239:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fBuffer = AppData.Buff;
1124 .loc 1 239 0
1125 0192 2E4A ldr r2, .L82+76
1126 0194 5179 ldrb r1, [r2, #5]
1127 0196 1971 strb r1, [r3, #4]
240:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.fBufferSize = AppData.BuffSize;
1128 .loc 1 240 0
1129 0198 1168 ldr r1, [r2]
1130 019a 0391 str r1, [sp, #12]
241:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Unconfirmed.Datarate = LoRaParamInit->TxDatarate;
1131 .loc 1 241 0
1132 019c 1279 ldrb r2, [r2, #4]
1133 019e 9A81 strh r2, [r3, #12]
242:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1134 .loc 1 242 0
1135 01a0 224A ldr r2, .L82+44
1136 01a2 1268 ldr r2, [r2]
1137 01a4 927A ldrb r2, [r2, #10]
1138 01a6 52B2 sxtb r2, r2
1139 01a8 9A73 strb r2, [r3, #14]
1140 01aa B7E7 b .L70
1141 .L71:
246:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.fPort = AppData.Port;
1142 .loc 1 246 0
1143 01ac 01AB add r3, sp, #4
1144 01ae 0122 movs r2, #1
1145 01b0 1A70 strb r2, [r3]
247:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.fBuffer = AppData.Buff;
1146 .loc 1 247 0
1147 01b2 264A ldr r2, .L82+76
1148 01b4 5179 ldrb r1, [r2, #5]
1149 01b6 1971 strb r1, [r3, #4]
248:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.fBufferSize = AppData.BuffSize;
ARM GAS /tmp/ccY05lmV.s page 37
1150 .loc 1 248 0
1151 01b8 1168 ldr r1, [r2]
1152 01ba 0391 str r1, [sp, #12]
249:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.NbTrials = 8;
1153 .loc 1 249 0
1154 01bc 1279 ldrb r2, [r2, #4]
1155 01be 9A81 strh r2, [r3, #12]
250:./Middlewares/Third_Party/Lora/Core/lora.c **** mcpsReq.Req.Confirmed.Datarate = LoRaParamInit->TxDatarate;
1156 .loc 1 250 0
1157 01c0 0822 movs r2, #8
1158 01c2 DA73 strb r2, [r3, #15]
251:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1159 .loc 1 251 0
1160 01c4 194A ldr r2, .L82+44
1161 01c6 1268 ldr r2, [r2]
1162 01c8 927A ldrb r2, [r2, #10]
1163 01ca 52B2 sxtb r2, r2
1164 01cc 9A73 strb r2, [r3, #14]
1165 01ce A5E7 b .L70
1166 .L80:
256:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1167 .loc 1 256 0
1168 01d0 0024 movs r4, #0
1169 01d2 A8E7 b .L72
1170 .L77:
1171 .LBE23:
1172 .LBE25:
740:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerStart( &TxNextPacketTimer );
1173 .loc 1 740 0
1174 01d4 134C ldr r4, .L82+36
1175 01d6 1E49 ldr r1, .L82+80
1176 01d8 2000 movs r0, r4
1177 01da FFF7FEFF bl TimerSetValue
1178 .LVL70:
741:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1179 .loc 1 741 0
1180 01de 2000 movs r0, r4
1181 01e0 FFF7FEFF bl TimerStart
1182 .LVL71:
1183 01e4 7BE7 b .L74
1184 .L78:
746:./Middlewares/Third_Party/Lora/Core/lora.c **** TimerStart( &TxNextPacketTimer );
1185 .loc 1 746 0
1186 01e6 5968 ldr r1, [r3, #4]
1187 01e8 0E4C ldr r4, .L82+36
1188 01ea 2000 movs r0, r4
1189 01ec FFF7FEFF bl TimerSetValue
1190 .LVL72:
747:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1191 .loc 1 747 0
1192 01f0 2000 movs r0, r4
1193 01f2 FFF7FEFF bl TimerStart
1194 .LVL73:
1195 01f6 72E7 b .L74
1196 .L55:
760:./Middlewares/Third_Party/Lora/Core/lora.c **** break;
1197 .loc 1 760 0
ARM GAS /tmp/ccY05lmV.s page 38
1198 01f8 014B ldr r3, .L82
1199 01fa 0022 movs r2, #0
1200 01fc 1A70 strb r2, [r3]
1201 .loc 1 764 0
1202 01fe 3DE7 b .L54
1203 .L83:
1204 .align 2
1205 .L82:
1206 0200 00000000 .word .LANCHOR1
1207 0204 00000000 .word .L57
1208 0208 00000000 .word .LANCHOR11
1209 020c 00000000 .word McpsConfirm
1210 0210 00000000 .word McpsIndication
1211 0214 00000000 .word MlmeConfirm
1212 0218 00000000 .word .LANCHOR9
1213 021c 00000000 .word .LANCHOR12
1214 0220 00000000 .word OnTxNextPacketTimerEvent
1215 0224 00000000 .word .LANCHOR10
1216 0228 00000000 .word .LANCHOR13
1217 022c 00000000 .word .LANCHOR5
1218 0230 00000000 .word .LANCHOR6
1219 0234 00000000 .word .LANCHOR7
1220 0238 00000000 .word .LANCHOR8
1221 023c 00000000 .word .LANCHOR0
1222 0240 00000000 .word .LC55
1223 0244 00000000 .word .LANCHOR2
1224 0248 00000000 .word .LANCHOR3
1225 024c 00000000 .word .LANCHOR4
1226 0250 88130000 .word 5000
1227 .cfi_endproc
1228 .LFE104:
1230 .section .text.lora_getDeviceState,"ax",%progbits
1231 .align 1
1232 .global lora_getDeviceState
1233 .syntax unified
1234 .code 16
1235 .thumb_func
1236 .fpu softvfp
1238 lora_getDeviceState:
1239 .LFB105:
765:./Middlewares/Third_Party/Lora/Core/lora.c ****
766:./Middlewares/Third_Party/Lora/Core/lora.c ****
767:./Middlewares/Third_Party/Lora/Core/lora.c **** DeviceState_t lora_getDeviceState( void )
768:./Middlewares/Third_Party/Lora/Core/lora.c **** {
1240 .loc 1 768 0
1241 .cfi_startproc
1242 @ args = 0, pretend = 0, frame = 0
1243 @ frame_needed = 0, uses_anonymous_args = 0
1244 @ link register save eliminated.
769:./Middlewares/Third_Party/Lora/Core/lora.c **** return DeviceState;
1245 .loc 1 769 0
1246 0000 014B ldr r3, .L85
1247 0002 1878 ldrb r0, [r3]
770:./Middlewares/Third_Party/Lora/Core/lora.c **** }
1248 .loc 1 770 0
1249 @ sp needed
1250 0004 7047 bx lr
ARM GAS /tmp/ccY05lmV.s page 39
1251 .L86:
1252 0006 C046 .align 2
1253 .L85:
1254 0008 00000000 .word .LANCHOR1
1255 .cfi_endproc
1256 .LFE105:
1258 .global ComplianceTest
1259 .section .bss.AppDataBuff,"aw",%nobits
1260 .align 2
1263 AppDataBuff:
1264 0000 00000000 .space 64
1264 00000000
1264 00000000
1264 00000000
1264 00000000
1265 .section .bss.ComplianceTest,"aw",%nobits
1266 .align 2
1267 .set .LANCHOR2,. + 0
1270 ComplianceTest:
1271 0000 00000000 .space 20
1271 00000000
1271 00000000
1271 00000000
1271 00000000
1272 .section .bss.DeviceState,"aw",%nobits
1273 .set .LANCHOR1,. + 0
1276 DeviceState:
1277 0000 00 .space 1
1278 .section .bss.IsTxConfirmed,"aw",%nobits
1279 .set .LANCHOR3,. + 0
1282 IsTxConfirmed:
1283 0000 00 .space 1
1284 .section .bss.LoRaMacCallbacks,"aw",%nobits
1285 .align 2
1286 .set .LANCHOR12,. + 0
1289 LoRaMacCallbacks:
1290 0000 00000000 .space 4
1291 .section .bss.LoRaMacPrimitives,"aw",%nobits
1292 .align 2
1293 .set .LANCHOR11,. + 0
1296 LoRaMacPrimitives:
1297 0000 00000000 .space 12
1297 00000000
1297 00000000
1298 .section .bss.LoRaMainCallbacks,"aw",%nobits
1299 .align 2
1300 .set .LANCHOR9,. + 0
1303 LoRaMainCallbacks:
1304 0000 00000000 .space 4
1305 .section .bss.LoRaParamInit,"aw",%nobits
1306 .align 2
1307 .set .LANCHOR5,. + 0
1310 LoRaParamInit:
1311 0000 00000000 .space 4
1312 .section .bss.TxNextPacketTimer,"aw",%nobits
1313 .align 2
1314 .set .LANCHOR10,. + 0
ARM GAS /tmp/ccY05lmV.s page 40
1317 TxNextPacketTimer:
1318 0000 00000000 .space 20
1318 00000000
1318 00000000
1318 00000000
1318 00000000
1319 .section .bss.mibReq,"aw",%nobits
1320 .align 2
1321 .set .LANCHOR13,. + 0
1324 mibReq:
1325 0000 00000000 .space 12
1325 00000000
1325 00000000
1326 .section .data.AppData,"aw",%progbits
1327 .align 2
1328 .set .LANCHOR4,. + 0
1331 AppData:
1332 0000 00000000 .word AppDataBuff
1333 0004 00 .byte 0
1334 0005 00 .byte 0
1335 0006 0000 .space 2
1336 .section .data.AppEui,"aw",%progbits
1337 .align 2
1338 .set .LANCHOR7,. + 0
1341 AppEui:
1342 0000 70 .byte 112
1343 0001 B3 .byte -77
1344 0002 D5 .byte -43
1345 0003 7E .byte 126
1346 0004 D0 .byte -48
1347 0005 00 .byte 0
1348 0006 7C .byte 124
1349 0007 04 .byte 4
1350 .section .data.AppKey,"aw",%progbits
1351 .align 2
1352 .set .LANCHOR8,. + 0
1355 AppKey:
1356 0000 4F .byte 79
1357 0001 13 .byte 19
1358 0002 EF .byte -17
1359 0003 E5 .byte -27
1360 0004 D9 .byte -39
1361 0005 A9 .byte -87
1362 0006 44 .byte 68
1363 0007 93 .byte -109
1364 0008 99 .byte -103
1365 0009 25 .byte 37
1366 000a D2 .byte -46
1367 000b D9 .byte -39
1368 000c 79 .byte 121
1369 000d 77 .byte 119
1370 000e 91 .byte -111
1371 000f DC .byte -36
1372 .section .data.DevEui,"aw",%progbits
1373 .align 2
1374 .set .LANCHOR6,. + 0
1377 DevEui:
ARM GAS /tmp/ccY05lmV.s page 41
1378 0000 01 .byte 1
1379 0001 01 .byte 1
1380 0002 01 .byte 1
1381 0003 01 .byte 1
1382 0004 01 .byte 1
1383 0005 01 .byte 1
1384 0006 01 .byte 1
1385 0007 01 .byte 1
1386 .section .data.NextTx,"aw",%progbits
1387 .set .LANCHOR0,. + 0
1390 NextTx:
1391 0000 01 .byte 1
1392 .section .rodata.lora_Init.str1.4,"aMS",%progbits,1
1393 .align 2
1394 .LC21:
1395 0000 4F544141 .ascii "OTAA\012\015\000"
1395 0A0D00
1396 0007 00 .space 1
1397 .LC23:
1398 0008 44657645 .ascii "DevEui= %02X\000"
1398 75693D20
1398 25303258
1398 00
1399 0015 000000 .space 3
1400 .LC25:
1401 0018 2D253032 .ascii "-%02X\000"
1401 5800
1402 001e 0000 .space 2
1403 .LC27:
1404 0020 0A0D00 .ascii "\012\015\000"
1405 0023 00 .space 1
1406 .LC30:
1407 0024 41707045 .ascii "AppEui= %02X\000"
1407 75693D20
1407 25303258
1407 00
1408 0031 000000 .space 3
1409 .LC33:
1410 0034 4170704B .ascii "AppKey= %02X\000"
1410 65793D20
1410 25303258
1410 00
1411 0041 000000 .space 3
1412 .LC35:
1413 0044 20253032 .ascii " %02X\000"
1413 5800
1414 004a 0000 .space 2
1415 .LC37:
1416 004c 0A0A0D00 .ascii "\012\012\015\000"
1417 .section .rodata.lora_fsm.str1.4,"aMS",%progbits,1
1418 .align 2
1419 .LC55:
1420 0000 4A4F494E .ascii "JOINED\012\015\000"
1420 45440A0D
1420 00
1421 .text
1422 .Letext0:
ARM GAS /tmp/ccY05lmV.s page 42
1423 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
1424 .file 3 "/usr/arm-none-eabi/include/sys/lock.h"
1425 .file 4 "/usr/arm-none-eabi/include/sys/_types.h"
1426 .file 5 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h"
1427 .file 6 "/usr/arm-none-eabi/include/sys/reent.h"
1428 .file 7 "/usr/arm-none-eabi/include/math.h"
1429 .file 8 "/usr/arm-none-eabi/include/sys/_stdint.h"
1430 .file 9 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h"
1431 .file 10 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h"
1432 .file 11 "Middlewares/Third_Party/Lora/Utilities/utilities.h"
1433 .file 12 "Middlewares/Third_Party/Lora/Utilities/timeServer.h"
1434 .file 13 "Middlewares/Third_Party/Lora/Mac/LoRaMac.h"
1435 .file 14 "./Middlewares/Third_Party/Lora/Core/lora.h"
1436 .file 15 "Middlewares/Third_Party/Lora/Mac/LoRaMacTest.h"
1437 .file 16 "Inc/vcom.h"
ARM GAS /tmp/ccY05lmV.s page 43
DEFINED SYMBOLS
*ABS*:0000000000000000 lora.c
/tmp/ccY05lmV.s:16 .text.McpsConfirm:0000000000000000 $t
/tmp/ccY05lmV.s:22 .text.McpsConfirm:0000000000000000 McpsConfirm
/tmp/ccY05lmV.s:41 .text.McpsConfirm:0000000000000008 $d
/tmp/ccY05lmV.s:46 .text.MlmeConfirm:0000000000000000 $t
/tmp/ccY05lmV.s:52 .text.MlmeConfirm:0000000000000000 MlmeConfirm
/tmp/ccY05lmV.s:114 .text.MlmeConfirm:0000000000000048 $d
/tmp/ccY05lmV.s:121 .text.McpsIndication:0000000000000000 $t
/tmp/ccY05lmV.s:127 .text.McpsIndication:0000000000000000 McpsIndication
/tmp/ccY05lmV.s:267 .rodata.McpsIndication:0000000000000000 $d
/tmp/ccY05lmV.s:535 .text.McpsIndication:00000000000001d4 $d
/tmp/ccY05lmV.s:549 .text.OnSendEvent:0000000000000000 $t
/tmp/ccY05lmV.s:556 .text.OnSendEvent:0000000000000000 OnSendEvent
/tmp/ccY05lmV.s:606 .text.OnSendEvent:0000000000000034 $d
/tmp/ccY05lmV.s:612 .text.OnTxNextPacketTimerEvent:0000000000000000 $t
/tmp/ccY05lmV.s:618 .text.OnTxNextPacketTimerEvent:0000000000000000 OnTxNextPacketTimerEvent
/tmp/ccY05lmV.s:642 .text.OnTxNextPacketTimerEvent:0000000000000010 $d
/tmp/ccY05lmV.s:647 .text.lora_Init:0000000000000000 $t
/tmp/ccY05lmV.s:654 .text.lora_Init:0000000000000000 lora_Init
/tmp/ccY05lmV.s:779 .text.lora_Init:000000000000008c $d
/tmp/ccY05lmV.s:797 .text.lora_fsm:0000000000000000 $t
/tmp/ccY05lmV.s:804 .text.lora_fsm:0000000000000000 lora_fsm
/tmp/ccY05lmV.s:831 .rodata.lora_fsm:0000000000000000 $d
/tmp/ccY05lmV.s:1206 .text.lora_fsm:0000000000000200 $d
/tmp/ccY05lmV.s:1231 .text.lora_getDeviceState:0000000000000000 $t
/tmp/ccY05lmV.s:1238 .text.lora_getDeviceState:0000000000000000 lora_getDeviceState
/tmp/ccY05lmV.s:1254 .text.lora_getDeviceState:0000000000000008 $d
/tmp/ccY05lmV.s:1270 .bss.ComplianceTest:0000000000000000 ComplianceTest
/tmp/ccY05lmV.s:1260 .bss.AppDataBuff:0000000000000000 $d
/tmp/ccY05lmV.s:1263 .bss.AppDataBuff:0000000000000000 AppDataBuff
/tmp/ccY05lmV.s:1266 .bss.ComplianceTest:0000000000000000 $d
/tmp/ccY05lmV.s:1276 .bss.DeviceState:0000000000000000 DeviceState
/tmp/ccY05lmV.s:1277 .bss.DeviceState:0000000000000000 $d
/tmp/ccY05lmV.s:1282 .bss.IsTxConfirmed:0000000000000000 IsTxConfirmed
/tmp/ccY05lmV.s:1283 .bss.IsTxConfirmed:0000000000000000 $d
/tmp/ccY05lmV.s:1285 .bss.LoRaMacCallbacks:0000000000000000 $d
/tmp/ccY05lmV.s:1289 .bss.LoRaMacCallbacks:0000000000000000 LoRaMacCallbacks
/tmp/ccY05lmV.s:1292 .bss.LoRaMacPrimitives:0000000000000000 $d
/tmp/ccY05lmV.s:1296 .bss.LoRaMacPrimitives:0000000000000000 LoRaMacPrimitives
/tmp/ccY05lmV.s:1299 .bss.LoRaMainCallbacks:0000000000000000 $d
/tmp/ccY05lmV.s:1303 .bss.LoRaMainCallbacks:0000000000000000 LoRaMainCallbacks
/tmp/ccY05lmV.s:1306 .bss.LoRaParamInit:0000000000000000 $d
/tmp/ccY05lmV.s:1310 .bss.LoRaParamInit:0000000000000000 LoRaParamInit
/tmp/ccY05lmV.s:1313 .bss.TxNextPacketTimer:0000000000000000 $d
/tmp/ccY05lmV.s:1317 .bss.TxNextPacketTimer:0000000000000000 TxNextPacketTimer
/tmp/ccY05lmV.s:1320 .bss.mibReq:0000000000000000 $d
/tmp/ccY05lmV.s:1324 .bss.mibReq:0000000000000000 mibReq
/tmp/ccY05lmV.s:1327 .data.AppData:0000000000000000 $d
/tmp/ccY05lmV.s:1331 .data.AppData:0000000000000000 AppData
/tmp/ccY05lmV.s:1337 .data.AppEui:0000000000000000 $d
/tmp/ccY05lmV.s:1341 .data.AppEui:0000000000000000 AppEui
/tmp/ccY05lmV.s:1351 .data.AppKey:0000000000000000 $d
/tmp/ccY05lmV.s:1355 .data.AppKey:0000000000000000 AppKey
/tmp/ccY05lmV.s:1373 .data.DevEui:0000000000000000 $d
/tmp/ccY05lmV.s:1377 .data.DevEui:0000000000000000 DevEui
/tmp/ccY05lmV.s:1390 .data.NextTx:0000000000000000 NextTx
ARM GAS /tmp/ccY05lmV.s page 44
/tmp/ccY05lmV.s:1393 .rodata.lora_Init.str1.4:0000000000000000 $d
/tmp/ccY05lmV.s:1418 .rodata.lora_fsm.str1.4:0000000000000000 $d
.debug_frame:0000000000000010 $d
UNDEFINED SYMBOLS
LoRaMacMibSetRequestConfirm
LoRaMacTestSetDutyCycleOn
LoRaMacMlmeRequest
memcpy1
LoRaMacMibGetRequestConfirm
TimerStop
vcom_Send
LoRaMacInitialization
TimerInit
LoRaMacQueryTxPossible
LoRaMacMcpsRequest
TimerSetValue
TimerStart