1 ;-------------------------------------------------------- 2 ; File Created by SDCC : free open source ANSI-C Compiler 3 ; Version 3.0.0 #6037 (Oct 31 2010) (Linux) 4 ; This file was generated Wed Apr 25 01:32:10 2012 5 ;-------------------------------------------------------- 6 .module test_UM6_spi 7 .optsdcc -mmcs51 --model-medium 8 9 ;-------------------------------------------------------- 10 ; Public variables in this module 11 ;-------------------------------------------------------- 12 .globl _param_report_period_ms 13 .globl _param_bar_graph 14 .globl _param_input_mode 15 .globl _main 16 .globl _sendReportIfNeeded 17 .globl _updateLeds 18 .globl _UM6_flash_commit 19 .globl _read_gyro_procXY 20 .globl _read_accel_procXY 21 .globl _read_gyro_procZ 22 .globl _read_accel_procZ 23 .globl _read_euler_phi_theta 24 .globl _read_euler_psi 25 .globl _read_accel_rawZ 26 .globl _write_UM6_Miscconfig 27 .globl _Zero_Gyros 28 .globl _write_UM6comm 29 .globl _read_UM6config 30 .globl _spi_UM6_init 31 .globl _IMU_rxdata 32 .globl _IMU_txdata 33 .globl _report 34 .globl _gyroprocZ 35 .globl _gyroprocX 36 .globl _gyroprocY 37 .globl _euler_theta 38 .globl _euler_phi 39 .globl _euler_psi 40 .globl _accelrawZ 41 .globl _accelrawX 42 .globl _accelrawY 43 .globl _accelprocZ 44 .globl _accelprocX 45 .globl _accelprocY 46 .globl _reportBytesSent 47 .globl _reportLength 48 .globl _putchar 49 ;-------------------------------------------------------- 50 ; special function registers 51 ;-------------------------------------------------------- 52 .area RSEG (ABS,DATA) 0000 53 .org 0x0000 0080 54 Ftest_UM6_spi$P0$0$0 == 0x0080 0080 55 _P0 = 0x0080 0081 56 Ftest_UM6_spi$SP$0$0 == 0x0081 0081 57 _SP = 0x0081 0082 58 Ftest_UM6_spi$DPL0$0$0 == 0x0082 0082 59 _DPL0 = 0x0082 0083 60 Ftest_UM6_spi$DPH0$0$0 == 0x0083 0083 61 _DPH0 = 0x0083 0084 62 Ftest_UM6_spi$DPL1$0$0 == 0x0084 0084 63 _DPL1 = 0x0084 0085 64 Ftest_UM6_spi$DPH1$0$0 == 0x0085 0085 65 _DPH1 = 0x0085 0086 66 Ftest_UM6_spi$U0CSR$0$0 == 0x0086 0086 67 _U0CSR = 0x0086 0087 68 Ftest_UM6_spi$PCON$0$0 == 0x0087 0087 69 _PCON = 0x0087 0088 70 Ftest_UM6_spi$TCON$0$0 == 0x0088 0088 71 _TCON = 0x0088 0089 72 Ftest_UM6_spi$P0IFG$0$0 == 0x0089 0089 73 _P0IFG = 0x0089 008A 74 Ftest_UM6_spi$P1IFG$0$0 == 0x008a 008A 75 _P1IFG = 0x008a 008B 76 Ftest_UM6_spi$P2IFG$0$0 == 0x008b 008B 77 _P2IFG = 0x008b 008C 78 Ftest_UM6_spi$PICTL$0$0 == 0x008c 008C 79 _PICTL = 0x008c 008D 80 Ftest_UM6_spi$P1IEN$0$0 == 0x008d 008D 81 _P1IEN = 0x008d 008F 82 Ftest_UM6_spi$P0INP$0$0 == 0x008f 008F 83 _P0INP = 0x008f 0090 84 Ftest_UM6_spi$P1$0$0 == 0x0090 0090 85 _P1 = 0x0090 0091 86 Ftest_UM6_spi$RFIM$0$0 == 0x0091 0091 87 _RFIM = 0x0091 0092 88 Ftest_UM6_spi$DPS$0$0 == 0x0092 0092 89 _DPS = 0x0092 0093 90 Ftest_UM6_spi$MPAGE$0$0 == 0x0093 0093 91 _MPAGE = 0x0093 0095 92 Ftest_UM6_spi$ENDIAN$0$0 == 0x0095 0095 93 _ENDIAN = 0x0095 0098 94 Ftest_UM6_spi$S0CON$0$0 == 0x0098 0098 95 _S0CON = 0x0098 009A 96 Ftest_UM6_spi$IEN2$0$0 == 0x009a 009A 97 _IEN2 = 0x009a 009B 98 Ftest_UM6_spi$S1CON$0$0 == 0x009b 009B 99 _S1CON = 0x009b 009C 100 Ftest_UM6_spi$T2CT$0$0 == 0x009c 009C 101 _T2CT = 0x009c 009D 102 Ftest_UM6_spi$T2PR$0$0 == 0x009d 009D 103 _T2PR = 0x009d 009E 104 Ftest_UM6_spi$T2CTL$0$0 == 0x009e 009E 105 _T2CTL = 0x009e 00A0 106 Ftest_UM6_spi$P2$0$0 == 0x00a0 00A0 107 _P2 = 0x00a0 00A1 108 Ftest_UM6_spi$WORIRQ$0$0 == 0x00a1 00A1 109 _WORIRQ = 0x00a1 00A2 110 Ftest_UM6_spi$WORCTRL$0$0 == 0x00a2 00A2 111 _WORCTRL = 0x00a2 00A3 112 Ftest_UM6_spi$WOREVT0$0$0 == 0x00a3 00A3 113 _WOREVT0 = 0x00a3 00A4 114 Ftest_UM6_spi$WOREVT1$0$0 == 0x00a4 00A4 115 _WOREVT1 = 0x00a4 00A5 116 Ftest_UM6_spi$WORTIME0$0$0 == 0x00a5 00A5 117 _WORTIME0 = 0x00a5 00A6 118 Ftest_UM6_spi$WORTIME1$0$0 == 0x00a6 00A6 119 _WORTIME1 = 0x00a6 00A8 120 Ftest_UM6_spi$IEN0$0$0 == 0x00a8 00A8 121 _IEN0 = 0x00a8 00A9 122 Ftest_UM6_spi$IP0$0$0 == 0x00a9 00A9 123 _IP0 = 0x00a9 00AB 124 Ftest_UM6_spi$FWT$0$0 == 0x00ab 00AB 125 _FWT = 0x00ab 00AC 126 Ftest_UM6_spi$FADDRL$0$0 == 0x00ac 00AC 127 _FADDRL = 0x00ac 00AD 128 Ftest_UM6_spi$FADDRH$0$0 == 0x00ad 00AD 129 _FADDRH = 0x00ad 00AE 130 Ftest_UM6_spi$FCTL$0$0 == 0x00ae 00AE 131 _FCTL = 0x00ae 00AF 132 Ftest_UM6_spi$FWDATA$0$0 == 0x00af 00AF 133 _FWDATA = 0x00af 00B1 134 Ftest_UM6_spi$ENCDI$0$0 == 0x00b1 00B1 135 _ENCDI = 0x00b1 00B2 136 Ftest_UM6_spi$ENCDO$0$0 == 0x00b2 00B2 137 _ENCDO = 0x00b2 00B3 138 Ftest_UM6_spi$ENCCS$0$0 == 0x00b3 00B3 139 _ENCCS = 0x00b3 00B4 140 Ftest_UM6_spi$ADCCON1$0$0 == 0x00b4 00B4 141 _ADCCON1 = 0x00b4 00B5 142 Ftest_UM6_spi$ADCCON2$0$0 == 0x00b5 00B5 143 _ADCCON2 = 0x00b5 00B6 144 Ftest_UM6_spi$ADCCON3$0$0 == 0x00b6 00B6 145 _ADCCON3 = 0x00b6 00B8 146 Ftest_UM6_spi$IEN1$0$0 == 0x00b8 00B8 147 _IEN1 = 0x00b8 00B9 148 Ftest_UM6_spi$IP1$0$0 == 0x00b9 00B9 149 _IP1 = 0x00b9 00BA 150 Ftest_UM6_spi$ADCL$0$0 == 0x00ba 00BA 151 _ADCL = 0x00ba 00BB 152 Ftest_UM6_spi$ADCH$0$0 == 0x00bb 00BB 153 _ADCH = 0x00bb 00BC 154 Ftest_UM6_spi$RNDL$0$0 == 0x00bc 00BC 155 _RNDL = 0x00bc 00BD 156 Ftest_UM6_spi$RNDH$0$0 == 0x00bd 00BD 157 _RNDH = 0x00bd 00BE 158 Ftest_UM6_spi$SLEEP$0$0 == 0x00be 00BE 159 _SLEEP = 0x00be 00C0 160 Ftest_UM6_spi$IRCON$0$0 == 0x00c0 00C0 161 _IRCON = 0x00c0 00C1 162 Ftest_UM6_spi$U0DBUF$0$0 == 0x00c1 00C1 163 _U0DBUF = 0x00c1 00C2 164 Ftest_UM6_spi$U0BAUD$0$0 == 0x00c2 00C2 165 _U0BAUD = 0x00c2 00C4 166 Ftest_UM6_spi$U0UCR$0$0 == 0x00c4 00C4 167 _U0UCR = 0x00c4 00C5 168 Ftest_UM6_spi$U0GCR$0$0 == 0x00c5 00C5 169 _U0GCR = 0x00c5 00C6 170 Ftest_UM6_spi$CLKCON$0$0 == 0x00c6 00C6 171 _CLKCON = 0x00c6 00C7 172 Ftest_UM6_spi$MEMCTR$0$0 == 0x00c7 00C7 173 _MEMCTR = 0x00c7 00C9 174 Ftest_UM6_spi$WDCTL$0$0 == 0x00c9 00C9 175 _WDCTL = 0x00c9 00CA 176 Ftest_UM6_spi$T3CNT$0$0 == 0x00ca 00CA 177 _T3CNT = 0x00ca 00CB 178 Ftest_UM6_spi$T3CTL$0$0 == 0x00cb 00CB 179 _T3CTL = 0x00cb 00CC 180 Ftest_UM6_spi$T3CCTL0$0$0 == 0x00cc 00CC 181 _T3CCTL0 = 0x00cc 00CD 182 Ftest_UM6_spi$T3CC0$0$0 == 0x00cd 00CD 183 _T3CC0 = 0x00cd 00CE 184 Ftest_UM6_spi$T3CCTL1$0$0 == 0x00ce 00CE 185 _T3CCTL1 = 0x00ce 00CF 186 Ftest_UM6_spi$T3CC1$0$0 == 0x00cf 00CF 187 _T3CC1 = 0x00cf 00D0 188 Ftest_UM6_spi$PSW$0$0 == 0x00d0 00D0 189 _PSW = 0x00d0 00D1 190 Ftest_UM6_spi$DMAIRQ$0$0 == 0x00d1 00D1 191 _DMAIRQ = 0x00d1 00D2 192 Ftest_UM6_spi$DMA1CFGL$0$0 == 0x00d2 00D2 193 _DMA1CFGL = 0x00d2 00D3 194 Ftest_UM6_spi$DMA1CFGH$0$0 == 0x00d3 00D3 195 _DMA1CFGH = 0x00d3 00D4 196 Ftest_UM6_spi$DMA0CFGL$0$0 == 0x00d4 00D4 197 _DMA0CFGL = 0x00d4 00D5 198 Ftest_UM6_spi$DMA0CFGH$0$0 == 0x00d5 00D5 199 _DMA0CFGH = 0x00d5 00D6 200 Ftest_UM6_spi$DMAARM$0$0 == 0x00d6 00D6 201 _DMAARM = 0x00d6 00D7 202 Ftest_UM6_spi$DMAREQ$0$0 == 0x00d7 00D7 203 _DMAREQ = 0x00d7 00D8 204 Ftest_UM6_spi$TIMIF$0$0 == 0x00d8 00D8 205 _TIMIF = 0x00d8 00D9 206 Ftest_UM6_spi$RFD$0$0 == 0x00d9 00D9 207 _RFD = 0x00d9 00DA 208 Ftest_UM6_spi$T1CC0L$0$0 == 0x00da 00DA 209 _T1CC0L = 0x00da 00DB 210 Ftest_UM6_spi$T1CC0H$0$0 == 0x00db 00DB 211 _T1CC0H = 0x00db 00DC 212 Ftest_UM6_spi$T1CC1L$0$0 == 0x00dc 00DC 213 _T1CC1L = 0x00dc 00DD 214 Ftest_UM6_spi$T1CC1H$0$0 == 0x00dd 00DD 215 _T1CC1H = 0x00dd 00DE 216 Ftest_UM6_spi$T1CC2L$0$0 == 0x00de 00DE 217 _T1CC2L = 0x00de 00DF 218 Ftest_UM6_spi$T1CC2H$0$0 == 0x00df 00DF 219 _T1CC2H = 0x00df 00E0 220 Ftest_UM6_spi$ACC$0$0 == 0x00e0 00E0 221 _ACC = 0x00e0 00E1 222 Ftest_UM6_spi$RFST$0$0 == 0x00e1 00E1 223 _RFST = 0x00e1 00E2 224 Ftest_UM6_spi$T1CNTL$0$0 == 0x00e2 00E2 225 _T1CNTL = 0x00e2 00E3 226 Ftest_UM6_spi$T1CNTH$0$0 == 0x00e3 00E3 227 _T1CNTH = 0x00e3 00E4 228 Ftest_UM6_spi$T1CTL$0$0 == 0x00e4 00E4 229 _T1CTL = 0x00e4 00E5 230 Ftest_UM6_spi$T1CCTL0$0$0 == 0x00e5 00E5 231 _T1CCTL0 = 0x00e5 00E6 232 Ftest_UM6_spi$T1CCTL1$0$0 == 0x00e6 00E6 233 _T1CCTL1 = 0x00e6 00E7 234 Ftest_UM6_spi$T1CCTL2$0$0 == 0x00e7 00E7 235 _T1CCTL2 = 0x00e7 00E8 236 Ftest_UM6_spi$IRCON2$0$0 == 0x00e8 00E8 237 _IRCON2 = 0x00e8 00E9 238 Ftest_UM6_spi$RFIF$0$0 == 0x00e9 00E9 239 _RFIF = 0x00e9 00EA 240 Ftest_UM6_spi$T4CNT$0$0 == 0x00ea 00EA 241 _T4CNT = 0x00ea 00EB 242 Ftest_UM6_spi$T4CTL$0$0 == 0x00eb 00EB 243 _T4CTL = 0x00eb 00EC 244 Ftest_UM6_spi$T4CCTL0$0$0 == 0x00ec 00EC 245 _T4CCTL0 = 0x00ec 00ED 246 Ftest_UM6_spi$T4CC0$0$0 == 0x00ed 00ED 247 _T4CC0 = 0x00ed 00EE 248 Ftest_UM6_spi$T4CCTL1$0$0 == 0x00ee 00EE 249 _T4CCTL1 = 0x00ee 00EF 250 Ftest_UM6_spi$T4CC1$0$0 == 0x00ef 00EF 251 _T4CC1 = 0x00ef 00F0 252 Ftest_UM6_spi$B$0$0 == 0x00f0 00F0 253 _B = 0x00f0 00F1 254 Ftest_UM6_spi$PERCFG$0$0 == 0x00f1 00F1 255 _PERCFG = 0x00f1 00F2 256 Ftest_UM6_spi$ADCCFG$0$0 == 0x00f2 00F2 257 _ADCCFG = 0x00f2 00F3 258 Ftest_UM6_spi$P0SEL$0$0 == 0x00f3 00F3 259 _P0SEL = 0x00f3 00F4 260 Ftest_UM6_spi$P1SEL$0$0 == 0x00f4 00F4 261 _P1SEL = 0x00f4 00F5 262 Ftest_UM6_spi$P2SEL$0$0 == 0x00f5 00F5 263 _P2SEL = 0x00f5 00F6 264 Ftest_UM6_spi$P1INP$0$0 == 0x00f6 00F6 265 _P1INP = 0x00f6 00F7 266 Ftest_UM6_spi$P2INP$0$0 == 0x00f7 00F7 267 _P2INP = 0x00f7 00F8 268 Ftest_UM6_spi$U1CSR$0$0 == 0x00f8 00F8 269 _U1CSR = 0x00f8 00F9 270 Ftest_UM6_spi$U1DBUF$0$0 == 0x00f9 00F9 271 _U1DBUF = 0x00f9 00FA 272 Ftest_UM6_spi$U1BAUD$0$0 == 0x00fa 00FA 273 _U1BAUD = 0x00fa 00FB 274 Ftest_UM6_spi$U1UCR$0$0 == 0x00fb 00FB 275 _U1UCR = 0x00fb 00FC 276 Ftest_UM6_spi$U1GCR$0$0 == 0x00fc 00FC 277 _U1GCR = 0x00fc 00FD 278 Ftest_UM6_spi$P0DIR$0$0 == 0x00fd 00FD 279 _P0DIR = 0x00fd 00FE 280 Ftest_UM6_spi$P1DIR$0$0 == 0x00fe 00FE 281 _P1DIR = 0x00fe 00FF 282 Ftest_UM6_spi$P2DIR$0$0 == 0x00ff 00FF 283 _P2DIR = 0x00ff FFFFD5D4 284 Ftest_UM6_spi$DMA0CFG$0$0 == 0xffffd5d4 FFFFD5D4 285 _DMA0CFG = 0xffffd5d4 FFFFD3D2 286 Ftest_UM6_spi$DMA1CFG$0$0 == 0xffffd3d2 FFFFD3D2 287 _DMA1CFG = 0xffffd3d2 FFFFADAC 288 Ftest_UM6_spi$FADDR$0$0 == 0xffffadac FFFFADAC 289 _FADDR = 0xffffadac FFFFBBBA 290 Ftest_UM6_spi$ADC$0$0 == 0xffffbbba FFFFBBBA 291 _ADC = 0xffffbbba FFFFDBDA 292 Ftest_UM6_spi$T1CC0$0$0 == 0xffffdbda FFFFDBDA 293 _T1CC0 = 0xffffdbda FFFFDDDC 294 Ftest_UM6_spi$T1CC1$0$0 == 0xffffdddc FFFFDDDC 295 _T1CC1 = 0xffffdddc FFFFDFDE 296 Ftest_UM6_spi$T1CC2$0$0 == 0xffffdfde FFFFDFDE 297 _T1CC2 = 0xffffdfde 298 ;-------------------------------------------------------- 299 ; special function bits 300 ;-------------------------------------------------------- 301 .area RSEG (ABS,DATA) 0000 302 .org 0x0000 0080 303 Ftest_UM6_spi$P0_0$0$0 == 0x0080 0080 304 _P0_0 = 0x0080 0081 305 Ftest_UM6_spi$P0_1$0$0 == 0x0081 0081 306 _P0_1 = 0x0081 0082 307 Ftest_UM6_spi$P0_2$0$0 == 0x0082 0082 308 _P0_2 = 0x0082 0083 309 Ftest_UM6_spi$P0_3$0$0 == 0x0083 0083 310 _P0_3 = 0x0083 0084 311 Ftest_UM6_spi$P0_4$0$0 == 0x0084 0084 312 _P0_4 = 0x0084 0085 313 Ftest_UM6_spi$P0_5$0$0 == 0x0085 0085 314 _P0_5 = 0x0085 0086 315 Ftest_UM6_spi$P0_6$0$0 == 0x0086 0086 316 _P0_6 = 0x0086 0087 317 Ftest_UM6_spi$P0_7$0$0 == 0x0087 0087 318 _P0_7 = 0x0087 0088 319 Ftest_UM6_spi$_TCON_0$0$0 == 0x0088 0088 320 __TCON_0 = 0x0088 0089 321 Ftest_UM6_spi$RFTXRXIF$0$0 == 0x0089 0089 322 _RFTXRXIF = 0x0089 008A 323 Ftest_UM6_spi$_TCON_2$0$0 == 0x008a 008A 324 __TCON_2 = 0x008a 008B 325 Ftest_UM6_spi$URX0IF$0$0 == 0x008b 008B 326 _URX0IF = 0x008b 008C 327 Ftest_UM6_spi$_TCON_4$0$0 == 0x008c 008C 328 __TCON_4 = 0x008c 008D 329 Ftest_UM6_spi$ADCIF$0$0 == 0x008d 008D 330 _ADCIF = 0x008d 008E 331 Ftest_UM6_spi$_TCON_6$0$0 == 0x008e 008E 332 __TCON_6 = 0x008e 008F 333 Ftest_UM6_spi$URX1IF$0$0 == 0x008f 008F 334 _URX1IF = 0x008f 0090 335 Ftest_UM6_spi$P1_0$0$0 == 0x0090 0090 336 _P1_0 = 0x0090 0091 337 Ftest_UM6_spi$P1_1$0$0 == 0x0091 0091 338 _P1_1 = 0x0091 0092 339 Ftest_UM6_spi$P1_2$0$0 == 0x0092 0092 340 _P1_2 = 0x0092 0093 341 Ftest_UM6_spi$P1_3$0$0 == 0x0093 0093 342 _P1_3 = 0x0093 0094 343 Ftest_UM6_spi$P1_4$0$0 == 0x0094 0094 344 _P1_4 = 0x0094 0095 345 Ftest_UM6_spi$P1_5$0$0 == 0x0095 0095 346 _P1_5 = 0x0095 0096 347 Ftest_UM6_spi$P1_6$0$0 == 0x0096 0096 348 _P1_6 = 0x0096 0097 349 Ftest_UM6_spi$P1_7$0$0 == 0x0097 0097 350 _P1_7 = 0x0097 0098 351 Ftest_UM6_spi$ENCIF_0$0$0 == 0x0098 0098 352 _ENCIF_0 = 0x0098 0099 353 Ftest_UM6_spi$ENCIF_1$0$0 == 0x0099 0099 354 _ENCIF_1 = 0x0099 009A 355 Ftest_UM6_spi$_SOCON2$0$0 == 0x009a 009A 356 __SOCON2 = 0x009a 009B 357 Ftest_UM6_spi$_SOCON3$0$0 == 0x009b 009B 358 __SOCON3 = 0x009b 009C 359 Ftest_UM6_spi$_SOCON4$0$0 == 0x009c 009C 360 __SOCON4 = 0x009c 009D 361 Ftest_UM6_spi$_SOCON5$0$0 == 0x009d 009D 362 __SOCON5 = 0x009d 009E 363 Ftest_UM6_spi$_SOCON6$0$0 == 0x009e 009E 364 __SOCON6 = 0x009e 009F 365 Ftest_UM6_spi$_SOCON7$0$0 == 0x009f 009F 366 __SOCON7 = 0x009f 00A0 367 Ftest_UM6_spi$P2_0$0$0 == 0x00a0 00A0 368 _P2_0 = 0x00a0 00A1 369 Ftest_UM6_spi$P2_1$0$0 == 0x00a1 00A1 370 _P2_1 = 0x00a1 00A2 371 Ftest_UM6_spi$P2_2$0$0 == 0x00a2 00A2 372 _P2_2 = 0x00a2 00A3 373 Ftest_UM6_spi$P2_3$0$0 == 0x00a3 00A3 374 _P2_3 = 0x00a3 00A4 375 Ftest_UM6_spi$P2_4$0$0 == 0x00a4 00A4 376 _P2_4 = 0x00a4 00A5 377 Ftest_UM6_spi$P2_5$0$0 == 0x00a5 00A5 378 _P2_5 = 0x00a5 00A6 379 Ftest_UM6_spi$P2_6$0$0 == 0x00a6 00A6 380 _P2_6 = 0x00a6 00A7 381 Ftest_UM6_spi$P2_7$0$0 == 0x00a7 00A7 382 _P2_7 = 0x00a7 00A8 383 Ftest_UM6_spi$RFTXRXIE$0$0 == 0x00a8 00A8 384 _RFTXRXIE = 0x00a8 00A9 385 Ftest_UM6_spi$ADCIE$0$0 == 0x00a9 00A9 386 _ADCIE = 0x00a9 00AA 387 Ftest_UM6_spi$URX0IE$0$0 == 0x00aa 00AA 388 _URX0IE = 0x00aa 00AB 389 Ftest_UM6_spi$URX1IE$0$0 == 0x00ab 00AB 390 _URX1IE = 0x00ab 00AC 391 Ftest_UM6_spi$ENCIE$0$0 == 0x00ac 00AC 392 _ENCIE = 0x00ac 00AD 393 Ftest_UM6_spi$STIE$0$0 == 0x00ad 00AD 394 _STIE = 0x00ad 00AE 395 Ftest_UM6_spi$_IEN06$0$0 == 0x00ae 00AE 396 __IEN06 = 0x00ae 00AF 397 Ftest_UM6_spi$EA$0$0 == 0x00af 00AF 398 _EA = 0x00af 00B8 399 Ftest_UM6_spi$DMAIE$0$0 == 0x00b8 00B8 400 _DMAIE = 0x00b8 00B9 401 Ftest_UM6_spi$T1IE$0$0 == 0x00b9 00B9 402 _T1IE = 0x00b9 00BA 403 Ftest_UM6_spi$T2IE$0$0 == 0x00ba 00BA 404 _T2IE = 0x00ba 00BB 405 Ftest_UM6_spi$T3IE$0$0 == 0x00bb 00BB 406 _T3IE = 0x00bb 00BC 407 Ftest_UM6_spi$T4IE$0$0 == 0x00bc 00BC 408 _T4IE = 0x00bc 00BD 409 Ftest_UM6_spi$P0IE$0$0 == 0x00bd 00BD 410 _P0IE = 0x00bd 00BE 411 Ftest_UM6_spi$_IEN16$0$0 == 0x00be 00BE 412 __IEN16 = 0x00be 00BF 413 Ftest_UM6_spi$_IEN17$0$0 == 0x00bf 00BF 414 __IEN17 = 0x00bf 00C0 415 Ftest_UM6_spi$DMAIF$0$0 == 0x00c0 00C0 416 _DMAIF = 0x00c0 00C1 417 Ftest_UM6_spi$T1IF$0$0 == 0x00c1 00C1 418 _T1IF = 0x00c1 00C2 419 Ftest_UM6_spi$T2IF$0$0 == 0x00c2 00C2 420 _T2IF = 0x00c2 00C3 421 Ftest_UM6_spi$T3IF$0$0 == 0x00c3 00C3 422 _T3IF = 0x00c3 00C4 423 Ftest_UM6_spi$T4IF$0$0 == 0x00c4 00C4 424 _T4IF = 0x00c4 00C5 425 Ftest_UM6_spi$P0IF$0$0 == 0x00c5 00C5 426 _P0IF = 0x00c5 00C6 427 Ftest_UM6_spi$_IRCON6$0$0 == 0x00c6 00C6 428 __IRCON6 = 0x00c6 00C7 429 Ftest_UM6_spi$STIF$0$0 == 0x00c7 00C7 430 _STIF = 0x00c7 00D0 431 Ftest_UM6_spi$P$0$0 == 0x00d0 00D0 432 _P = 0x00d0 00D1 433 Ftest_UM6_spi$F1$0$0 == 0x00d1 00D1 434 _F1 = 0x00d1 00D2 435 Ftest_UM6_spi$OV$0$0 == 0x00d2 00D2 436 _OV = 0x00d2 00D3 437 Ftest_UM6_spi$RS0$0$0 == 0x00d3 00D3 438 _RS0 = 0x00d3 00D4 439 Ftest_UM6_spi$RS1$0$0 == 0x00d4 00D4 440 _RS1 = 0x00d4 00D5 441 Ftest_UM6_spi$F0$0$0 == 0x00d5 00D5 442 _F0 = 0x00d5 00D6 443 Ftest_UM6_spi$AC$0$0 == 0x00d6 00D6 444 _AC = 0x00d6 00D7 445 Ftest_UM6_spi$CY$0$0 == 0x00d7 00D7 446 _CY = 0x00d7 00D8 447 Ftest_UM6_spi$T3OVFIF$0$0 == 0x00d8 00D8 448 _T3OVFIF = 0x00d8 00D9 449 Ftest_UM6_spi$T3CH0IF$0$0 == 0x00d9 00D9 450 _T3CH0IF = 0x00d9 00DA 451 Ftest_UM6_spi$T3CH1IF$0$0 == 0x00da 00DA 452 _T3CH1IF = 0x00da 00DB 453 Ftest_UM6_spi$T4OVFIF$0$0 == 0x00db 00DB 454 _T4OVFIF = 0x00db 00DC 455 Ftest_UM6_spi$T4CH0IF$0$0 == 0x00dc 00DC 456 _T4CH0IF = 0x00dc 00DD 457 Ftest_UM6_spi$T4CH1IF$0$0 == 0x00dd 00DD 458 _T4CH1IF = 0x00dd 00DE 459 Ftest_UM6_spi$OVFIM$0$0 == 0x00de 00DE 460 _OVFIM = 0x00de 00DF 461 Ftest_UM6_spi$_TIMIF7$0$0 == 0x00df 00DF 462 __TIMIF7 = 0x00df 00E0 463 Ftest_UM6_spi$ACC_0$0$0 == 0x00e0 00E0 464 _ACC_0 = 0x00e0 00E1 465 Ftest_UM6_spi$ACC_1$0$0 == 0x00e1 00E1 466 _ACC_1 = 0x00e1 00E2 467 Ftest_UM6_spi$ACC_2$0$0 == 0x00e2 00E2 468 _ACC_2 = 0x00e2 00E3 469 Ftest_UM6_spi$ACC_3$0$0 == 0x00e3 00E3 470 _ACC_3 = 0x00e3 00E4 471 Ftest_UM6_spi$ACC_4$0$0 == 0x00e4 00E4 472 _ACC_4 = 0x00e4 00E5 473 Ftest_UM6_spi$ACC_5$0$0 == 0x00e5 00E5 474 _ACC_5 = 0x00e5 00E6 475 Ftest_UM6_spi$ACC_6$0$0 == 0x00e6 00E6 476 _ACC_6 = 0x00e6 00E7 477 Ftest_UM6_spi$ACC_7$0$0 == 0x00e7 00E7 478 _ACC_7 = 0x00e7 00E8 479 Ftest_UM6_spi$P2IF$0$0 == 0x00e8 00E8 480 _P2IF = 0x00e8 00E9 481 Ftest_UM6_spi$UTX0IF$0$0 == 0x00e9 00E9 482 _UTX0IF = 0x00e9 00EA 483 Ftest_UM6_spi$UTX1IF$0$0 == 0x00ea 00EA 484 _UTX1IF = 0x00ea 00EB 485 Ftest_UM6_spi$P1IF$0$0 == 0x00eb 00EB 486 _P1IF = 0x00eb 00EC 487 Ftest_UM6_spi$WDTIF$0$0 == 0x00ec 00EC 488 _WDTIF = 0x00ec 00ED 489 Ftest_UM6_spi$_IRCON25$0$0 == 0x00ed 00ED 490 __IRCON25 = 0x00ed 00EE 491 Ftest_UM6_spi$_IRCON26$0$0 == 0x00ee 00EE 492 __IRCON26 = 0x00ee 00EF 493 Ftest_UM6_spi$_IRCON27$0$0 == 0x00ef 00EF 494 __IRCON27 = 0x00ef 00F0 495 Ftest_UM6_spi$B_0$0$0 == 0x00f0 00F0 496 _B_0 = 0x00f0 00F1 497 Ftest_UM6_spi$B_1$0$0 == 0x00f1 00F1 498 _B_1 = 0x00f1 00F2 499 Ftest_UM6_spi$B_2$0$0 == 0x00f2 00F2 500 _B_2 = 0x00f2 00F3 501 Ftest_UM6_spi$B_3$0$0 == 0x00f3 00F3 502 _B_3 = 0x00f3 00F4 503 Ftest_UM6_spi$B_4$0$0 == 0x00f4 00F4 504 _B_4 = 0x00f4 00F5 505 Ftest_UM6_spi$B_5$0$0 == 0x00f5 00F5 506 _B_5 = 0x00f5 00F6 507 Ftest_UM6_spi$B_6$0$0 == 0x00f6 00F6 508 _B_6 = 0x00f6 00F7 509 Ftest_UM6_spi$B_7$0$0 == 0x00f7 00F7 510 _B_7 = 0x00f7 00F8 511 Ftest_UM6_spi$U1ACTIVE$0$0 == 0x00f8 00F8 512 _U1ACTIVE = 0x00f8 00F9 513 Ftest_UM6_spi$U1TX_BYTE$0$0 == 0x00f9 00F9 514 _U1TX_BYTE = 0x00f9 00FA 515 Ftest_UM6_spi$U1RX_BYTE$0$0 == 0x00fa 00FA 516 _U1RX_BYTE = 0x00fa 00FB 517 Ftest_UM6_spi$U1ERR$0$0 == 0x00fb 00FB 518 _U1ERR = 0x00fb 00FC 519 Ftest_UM6_spi$U1FE$0$0 == 0x00fc 00FC 520 _U1FE = 0x00fc 00FD 521 Ftest_UM6_spi$U1SLAVE$0$0 == 0x00fd 00FD 522 _U1SLAVE = 0x00fd 00FE 523 Ftest_UM6_spi$U1RE$0$0 == 0x00fe 00FE 524 _U1RE = 0x00fe 00FF 525 Ftest_UM6_spi$U1MODE$0$0 == 0x00ff 00FF 526 _U1MODE = 0x00ff 527 ;-------------------------------------------------------- 528 ; overlayable register banks 529 ;-------------------------------------------------------- 530 .area REG_BANK_0 (REL,OVR,DATA) 0000 531 .ds 8 532 ;-------------------------------------------------------- 533 ; overlayable bit register bank 534 ;-------------------------------------------------------- 535 .area BIT_BANK (REL,OVR,DATA) 0000 536 bits: 0000 537 .ds 1 8000 538 b0 = bits[0] 8100 539 b1 = bits[1] 8200 540 b2 = bits[2] 8300 541 b3 = bits[3] 8400 542 b4 = bits[4] 8500 543 b5 = bits[5] 8600 544 b6 = bits[6] 8700 545 b7 = bits[7] 546 ;-------------------------------------------------------- 547 ; internal ram data 548 ;-------------------------------------------------------- 549 .area DSEG (DATA) 0000 550 G$reportLength$0$0==. 0000 551 _reportLength:: 0000 552 .ds 2 0002 553 G$reportBytesSent$0$0==. 0002 554 _reportBytesSent:: 0002 555 .ds 2 0004 556 LsendReportIfNeeded$sloc0$1$0==. 0004 557 _sendReportIfNeeded_sloc0_1_0: 0004 558 .ds 4 559 ;-------------------------------------------------------- 560 ; overlayable items in internal ram 561 ;-------------------------------------------------------- 562 .area OSEG (OVR,DATA) 563 ;-------------------------------------------------------- 564 ; Stack segment in internal ram 565 ;-------------------------------------------------------- 566 .area SSEG (DATA) 0000 567 __start__stack: 0000 568 .ds 1 569 570 ;-------------------------------------------------------- 571 ; indirectly addressable internal ram data 572 ;-------------------------------------------------------- 573 .area ISEG (DATA) 574 ;-------------------------------------------------------- 575 ; absolute internal ram data 576 ;-------------------------------------------------------- 577 .area IABS (ABS,DATA) 578 .area IABS (ABS,DATA) 579 ;-------------------------------------------------------- 580 ; bit data 581 ;-------------------------------------------------------- 582 .area BSEG (BIT) 583 ;-------------------------------------------------------- 584 ; paged external ram data 585 ;-------------------------------------------------------- 586 .area PSEG (PAG,XDATA) 0000 587 G$accelprocY$0$0==. 0000 588 _accelprocY:: 0000 589 .ds 2 0002 590 G$accelprocX$0$0==. 0002 591 _accelprocX:: 0002 592 .ds 2 0004 593 G$accelprocZ$0$0==. 0004 594 _accelprocZ:: 0004 595 .ds 2 0006 596 G$accelrawY$0$0==. 0006 597 _accelrawY:: 0006 598 .ds 2 0008 599 G$accelrawX$0$0==. 0008 600 _accelrawX:: 0008 601 .ds 2 000A 602 G$accelrawZ$0$0==. 000A 603 _accelrawZ:: 000A 604 .ds 2 000C 605 G$euler_psi$0$0==. 000C 606 _euler_psi:: 000C 607 .ds 2 000E 608 G$euler_phi$0$0==. 000E 609 _euler_phi:: 000E 610 .ds 2 0010 611 G$euler_theta$0$0==. 0010 612 _euler_theta:: 0010 613 .ds 2 0012 614 G$gyroprocY$0$0==. 0012 615 _gyroprocY:: 0012 616 .ds 2 0014 617 G$gyroprocX$0$0==. 0014 618 _gyroprocX:: 0014 619 .ds 2 0016 620 G$gyroprocZ$0$0==. 0016 621 _gyroprocZ:: 0016 622 .ds 2 0018 623 LsendReportIfNeeded$lastReport$1$1==. 0018 624 _sendReportIfNeeded_lastReport_1_1: 0018 625 .ds 4 001C 626 LsendReportIfNeeded$count$1$1==. 001C 627 _sendReportIfNeeded_count_1_1: 001C 628 .ds 2 629 ;-------------------------------------------------------- 630 ; external ram data 631 ;-------------------------------------------------------- 632 .area XSEG (XDATA) DF00 633 Ftest_UM6_spi$SYNC1$0$0 == 0xdf00 DF00 634 _SYNC1 = 0xdf00 DF01 635 Ftest_UM6_spi$SYNC0$0$0 == 0xdf01 DF01 636 _SYNC0 = 0xdf01 DF02 637 Ftest_UM6_spi$PKTLEN$0$0 == 0xdf02 DF02 638 _PKTLEN = 0xdf02 DF03 639 Ftest_UM6_spi$PKTCTRL1$0$0 == 0xdf03 DF03 640 _PKTCTRL1 = 0xdf03 DF04 641 Ftest_UM6_spi$PKTCTRL0$0$0 == 0xdf04 DF04 642 _PKTCTRL0 = 0xdf04 DF05 643 Ftest_UM6_spi$ADDR$0$0 == 0xdf05 DF05 644 _ADDR = 0xdf05 DF06 645 Ftest_UM6_spi$CHANNR$0$0 == 0xdf06 DF06 646 _CHANNR = 0xdf06 DF07 647 Ftest_UM6_spi$FSCTRL1$0$0 == 0xdf07 DF07 648 _FSCTRL1 = 0xdf07 DF08 649 Ftest_UM6_spi$FSCTRL0$0$0 == 0xdf08 DF08 650 _FSCTRL0 = 0xdf08 DF09 651 Ftest_UM6_spi$FREQ2$0$0 == 0xdf09 DF09 652 _FREQ2 = 0xdf09 DF0A 653 Ftest_UM6_spi$FREQ1$0$0 == 0xdf0a DF0A 654 _FREQ1 = 0xdf0a DF0B 655 Ftest_UM6_spi$FREQ0$0$0 == 0xdf0b DF0B 656 _FREQ0 = 0xdf0b DF0C 657 Ftest_UM6_spi$MDMCFG4$0$0 == 0xdf0c DF0C 658 _MDMCFG4 = 0xdf0c DF0D 659 Ftest_UM6_spi$MDMCFG3$0$0 == 0xdf0d DF0D 660 _MDMCFG3 = 0xdf0d DF0E 661 Ftest_UM6_spi$MDMCFG2$0$0 == 0xdf0e DF0E 662 _MDMCFG2 = 0xdf0e DF0F 663 Ftest_UM6_spi$MDMCFG1$0$0 == 0xdf0f DF0F 664 _MDMCFG1 = 0xdf0f DF10 665 Ftest_UM6_spi$MDMCFG0$0$0 == 0xdf10 DF10 666 _MDMCFG0 = 0xdf10 DF11 667 Ftest_UM6_spi$DEVIATN$0$0 == 0xdf11 DF11 668 _DEVIATN = 0xdf11 DF12 669 Ftest_UM6_spi$MCSM2$0$0 == 0xdf12 DF12 670 _MCSM2 = 0xdf12 DF13 671 Ftest_UM6_spi$MCSM1$0$0 == 0xdf13 DF13 672 _MCSM1 = 0xdf13 DF14 673 Ftest_UM6_spi$MCSM0$0$0 == 0xdf14 DF14 674 _MCSM0 = 0xdf14 DF15 675 Ftest_UM6_spi$FOCCFG$0$0 == 0xdf15 DF15 676 _FOCCFG = 0xdf15 DF16 677 Ftest_UM6_spi$BSCFG$0$0 == 0xdf16 DF16 678 _BSCFG = 0xdf16 DF17 679 Ftest_UM6_spi$AGCCTRL2$0$0 == 0xdf17 DF17 680 _AGCCTRL2 = 0xdf17 DF18 681 Ftest_UM6_spi$AGCCTRL1$0$0 == 0xdf18 DF18 682 _AGCCTRL1 = 0xdf18 DF19 683 Ftest_UM6_spi$AGCCTRL0$0$0 == 0xdf19 DF19 684 _AGCCTRL0 = 0xdf19 DF1A 685 Ftest_UM6_spi$FREND1$0$0 == 0xdf1a DF1A 686 _FREND1 = 0xdf1a DF1B 687 Ftest_UM6_spi$FREND0$0$0 == 0xdf1b DF1B 688 _FREND0 = 0xdf1b DF1C 689 Ftest_UM6_spi$FSCAL3$0$0 == 0xdf1c DF1C 690 _FSCAL3 = 0xdf1c DF1D 691 Ftest_UM6_spi$FSCAL2$0$0 == 0xdf1d DF1D 692 _FSCAL2 = 0xdf1d DF1E 693 Ftest_UM6_spi$FSCAL1$0$0 == 0xdf1e DF1E 694 _FSCAL1 = 0xdf1e DF1F 695 Ftest_UM6_spi$FSCAL0$0$0 == 0xdf1f DF1F 696 _FSCAL0 = 0xdf1f DF23 697 Ftest_UM6_spi$TEST2$0$0 == 0xdf23 DF23 698 _TEST2 = 0xdf23 DF24 699 Ftest_UM6_spi$TEST1$0$0 == 0xdf24 DF24 700 _TEST1 = 0xdf24 DF25 701 Ftest_UM6_spi$TEST0$0$0 == 0xdf25 DF25 702 _TEST0 = 0xdf25 DF2E 703 Ftest_UM6_spi$PA_TABLE0$0$0 == 0xdf2e DF2E 704 _PA_TABLE0 = 0xdf2e DF2F 705 Ftest_UM6_spi$IOCFG2$0$0 == 0xdf2f DF2F 706 _IOCFG2 = 0xdf2f DF30 707 Ftest_UM6_spi$IOCFG1$0$0 == 0xdf30 DF30 708 _IOCFG1 = 0xdf30 DF31 709 Ftest_UM6_spi$IOCFG0$0$0 == 0xdf31 DF31 710 _IOCFG0 = 0xdf31 DF36 711 Ftest_UM6_spi$PARTNUM$0$0 == 0xdf36 DF36 712 _PARTNUM = 0xdf36 DF37 713 Ftest_UM6_spi$VERSION$0$0 == 0xdf37 DF37 714 _VERSION = 0xdf37 DF38 715 Ftest_UM6_spi$FREQEST$0$0 == 0xdf38 DF38 716 _FREQEST = 0xdf38 DF39 717 Ftest_UM6_spi$LQI$0$0 == 0xdf39 DF39 718 _LQI = 0xdf39 DF3A 719 Ftest_UM6_spi$RSSI$0$0 == 0xdf3a DF3A 720 _RSSI = 0xdf3a DF3B 721 Ftest_UM6_spi$MARCSTATE$0$0 == 0xdf3b DF3B 722 _MARCSTATE = 0xdf3b DF3C 723 Ftest_UM6_spi$PKTSTATUS$0$0 == 0xdf3c DF3C 724 _PKTSTATUS = 0xdf3c DF3D 725 Ftest_UM6_spi$VCO_VC_DAC$0$0 == 0xdf3d DF3D 726 _VCO_VC_DAC = 0xdf3d DF40 727 Ftest_UM6_spi$I2SCFG0$0$0 == 0xdf40 DF40 728 _I2SCFG0 = 0xdf40 DF41 729 Ftest_UM6_spi$I2SCFG1$0$0 == 0xdf41 DF41 730 _I2SCFG1 = 0xdf41 DF42 731 Ftest_UM6_spi$I2SDATL$0$0 == 0xdf42 DF42 732 _I2SDATL = 0xdf42 DF43 733 Ftest_UM6_spi$I2SDATH$0$0 == 0xdf43 DF43 734 _I2SDATH = 0xdf43 DF44 735 Ftest_UM6_spi$I2SWCNT$0$0 == 0xdf44 DF44 736 _I2SWCNT = 0xdf44 DF45 737 Ftest_UM6_spi$I2SSTAT$0$0 == 0xdf45 DF45 738 _I2SSTAT = 0xdf45 DF46 739 Ftest_UM6_spi$I2SCLKF0$0$0 == 0xdf46 DF46 740 _I2SCLKF0 = 0xdf46 DF47 741 Ftest_UM6_spi$I2SCLKF1$0$0 == 0xdf47 DF47 742 _I2SCLKF1 = 0xdf47 DF48 743 Ftest_UM6_spi$I2SCLKF2$0$0 == 0xdf48 DF48 744 _I2SCLKF2 = 0xdf48 DE00 745 Ftest_UM6_spi$USBADDR$0$0 == 0xde00 DE00 746 _USBADDR = 0xde00 DE01 747 Ftest_UM6_spi$USBPOW$0$0 == 0xde01 DE01 748 _USBPOW = 0xde01 DE02 749 Ftest_UM6_spi$USBIIF$0$0 == 0xde02 DE02 750 _USBIIF = 0xde02 DE04 751 Ftest_UM6_spi$USBOIF$0$0 == 0xde04 DE04 752 _USBOIF = 0xde04 DE06 753 Ftest_UM6_spi$USBCIF$0$0 == 0xde06 DE06 754 _USBCIF = 0xde06 DE07 755 Ftest_UM6_spi$USBIIE$0$0 == 0xde07 DE07 756 _USBIIE = 0xde07 DE09 757 Ftest_UM6_spi$USBOIE$0$0 == 0xde09 DE09 758 _USBOIE = 0xde09 DE0B 759 Ftest_UM6_spi$USBCIE$0$0 == 0xde0b DE0B 760 _USBCIE = 0xde0b DE0C 761 Ftest_UM6_spi$USBFRML$0$0 == 0xde0c DE0C 762 _USBFRML = 0xde0c DE0D 763 Ftest_UM6_spi$USBFRMH$0$0 == 0xde0d DE0D 764 _USBFRMH = 0xde0d DE0E 765 Ftest_UM6_spi$USBINDEX$0$0 == 0xde0e DE0E 766 _USBINDEX = 0xde0e DE10 767 Ftest_UM6_spi$USBMAXI$0$0 == 0xde10 DE10 768 _USBMAXI = 0xde10 DE11 769 Ftest_UM6_spi$USBCSIL$0$0 == 0xde11 DE11 770 _USBCSIL = 0xde11 DE12 771 Ftest_UM6_spi$USBCSIH$0$0 == 0xde12 DE12 772 _USBCSIH = 0xde12 DE13 773 Ftest_UM6_spi$USBMAXO$0$0 == 0xde13 DE13 774 _USBMAXO = 0xde13 DE14 775 Ftest_UM6_spi$USBCSOL$0$0 == 0xde14 DE14 776 _USBCSOL = 0xde14 DE15 777 Ftest_UM6_spi$USBCSOH$0$0 == 0xde15 DE15 778 _USBCSOH = 0xde15 DE16 779 Ftest_UM6_spi$USBCNTL$0$0 == 0xde16 DE16 780 _USBCNTL = 0xde16 DE17 781 Ftest_UM6_spi$USBCNTH$0$0 == 0xde17 DE17 782 _USBCNTH = 0xde17 DE20 783 Ftest_UM6_spi$USBF0$0$0 == 0xde20 DE20 784 _USBF0 = 0xde20 DE22 785 Ftest_UM6_spi$USBF1$0$0 == 0xde22 DE22 786 _USBF1 = 0xde22 DE24 787 Ftest_UM6_spi$USBF2$0$0 == 0xde24 DE24 788 _USBF2 = 0xde24 DE26 789 Ftest_UM6_spi$USBF3$0$0 == 0xde26 DE26 790 _USBF3 = 0xde26 DE28 791 Ftest_UM6_spi$USBF4$0$0 == 0xde28 DE28 792 _USBF4 = 0xde28 DE2A 793 Ftest_UM6_spi$USBF5$0$0 == 0xde2a DE2A 794 _USBF5 = 0xde2a 0000 795 G$report$0$0==. 0000 796 _report:: 0000 797 .ds 612 798 ;-------------------------------------------------------- 799 ; absolute external ram data 800 ;-------------------------------------------------------- 801 .area XABS (ABS,XDATA) 802 ;-------------------------------------------------------- 803 ; external initialized ram data 804 ;-------------------------------------------------------- 805 .area XISEG (XDATA) 0000 806 G$IMU_txdata$0$0==. 0000 807 _IMU_txdata:: 0000 808 .ds 8 0008 809 G$IMU_rxdata$0$0==. 0008 810 _IMU_rxdata:: 0008 811 .ds 8 812 .area HOME (CODE) 813 .area GSINIT0 (CODE) 814 .area GSINIT1 (CODE) 815 .area GSINIT2 (CODE) 816 .area GSINIT3 (CODE) 817 .area GSINIT4 (CODE) 818 .area GSINIT5 (CODE) 819 .area GSINIT (CODE) 820 .area GSFINAL (CODE) 821 .area CSEG (CODE) 822 ;-------------------------------------------------------- 823 ; interrupt vector 824 ;-------------------------------------------------------- 825 .area HOME (CODE) 0000 826 __interrupt_vect: 0000 02s00r00 827 ljmp __sdcc_gsinit_startup 0003 32 828 reti 0004 829 .ds 7 000B 32 830 reti 000C 831 .ds 7 0013 32 832 reti 0014 833 .ds 7 001B 02s00r00 834 ljmp _ISR_URX1 001E 835 .ds 5 0023 32 836 reti 0024 837 .ds 7 002B 32 838 reti 002C 839 .ds 7 0033 32 840 reti 0034 841 .ds 7 003B 32 842 reti 003C 843 .ds 7 0043 32 844 reti 0044 845 .ds 7 004B 32 846 reti 004C 847 .ds 7 0053 32 848 reti 0054 849 .ds 7 005B 32 850 reti 005C 851 .ds 7 0063 02s00r00 852 ljmp _ISR_T4 853 ;-------------------------------------------------------- 854 ; global & static initialisations 855 ;-------------------------------------------------------- 856 .area HOME (CODE) 857 .area GSINIT (CODE) 858 .area GSFINAL (CODE) 859 .area GSINIT (CODE) 860 .globl __sdcc_gsinit_startup 861 .globl __sdcc_program_startup 862 .globl __start__stack 863 .globl __mcs51_genXINIT 864 .globl __mcs51_genXRAMCLEAR 865 .globl __mcs51_genRAMCLEAR 866 ;------------------------------------------------------------ 867 ;Allocation info for local variables in function 'sendReportIfNeeded' 868 ;------------------------------------------------------------ 869 ;sloc0 Allocated with name '_sendReportIfNeeded_sloc0_1_0' 870 ;------------------------------------------------------------ 0000 871 G$sendReportIfNeeded$0$0 ==. 0000 872 C$test_UM6_spi.c$76$2$1 ==. 873 ; apps/test_UM6_spi/test_UM6_spi.c:76: static count = 0; 0000 78r1C 874 mov r0,#_sendReportIfNeeded_count_1_1 0002 E4 875 clr a 0003 F2 876 movx @r0,a 0004 08 877 inc r0 0005 F2 878 movx @r0,a 0006 879 G$main$0$0 ==. 0006 880 C$test_UM6_spi.c$45$1$1 ==. 881 ; apps/test_UM6_spi/test_UM6_spi.c:45: uint16 DATA reportLength = 0; 0006 E4 882 clr a 0007 F5*00 883 mov _reportLength,a 0009 F5*01 884 mov (_reportLength + 1),a 000B 885 G$main$0$0 ==. 000B 886 C$test_UM6_spi.c$49$1$1 ==. 887 ; apps/test_UM6_spi/test_UM6_spi.c:49: uint16 DATA reportBytesSent = 0; 000B E4 888 clr a 000C F5*02 889 mov _reportBytesSent,a 000E F5*03 890 mov (_reportBytesSent + 1),a 891 .area GSFINAL (CODE) 0000 02s00r66 892 ljmp __sdcc_program_startup 893 ;-------------------------------------------------------- 894 ; Home 895 ;-------------------------------------------------------- 896 .area HOME (CODE) 897 .area HOME (CODE) 0066 898 __sdcc_program_startup: 0066 12s09r93 899 lcall _main 900 ; return from main will lock up 0069 80 FE 901 sjmp . 902 ;-------------------------------------------------------- 903 ; code 904 ;-------------------------------------------------------- 905 .area CSEG (CODE) 906 ;------------------------------------------------------------ 907 ;Allocation info for local variables in function 'spi_UM6_init' 908 ;------------------------------------------------------------ 909 ;------------------------------------------------------------ 0000 910 G$spi_UM6_init$0$0 ==. 0000 911 C$UM6.c$108$0$0 ==. 912 ; apps/test_UM6_spi/../UM6.c:108: void spi_UM6_init(){ 913 ; ----------------------------------------- 914 ; function spi_UM6_init 915 ; ----------------------------------------- 0000 916 _spi_UM6_init: 0002 917 ar2 = 0x02 0003 918 ar3 = 0x03 0004 919 ar4 = 0x04 0005 920 ar5 = 0x05 0006 921 ar6 = 0x06 0007 922 ar7 = 0x07 0000 923 ar0 = 0x00 0001 924 ar1 = 0x01 0000 925 C$UM6.c$109$1$1 ==. 926 ; apps/test_UM6_spi/../UM6.c:109: spi_UM6MasterInit(); 0000 12s00r00 927 lcall _spi1MasterInit 0003 928 C$UM6.c$110$1$1 ==. 929 ; apps/test_UM6_spi/../UM6.c:110: spi_UM6MasterSetFrequency(230400); 0003 90 84 00 930 mov dptr,#0x8400 0006 75 F0 03 931 mov b,#0x03 0009 E4 932 clr a 000A 12s00r00 933 lcall _spi1MasterSetFrequency 000D 934 C$UM6.c$111$1$1 ==. 935 ; apps/test_UM6_spi/../UM6.c:111: spi_UM6MasterSetClockPolarity(SPI_POLARITY_IDLE_LOW); // SCK LOW when no data is being transmitted 000D C2*00 936 clr _spi1MasterSetClockPolarity_PARM_1 000F 12s00r00 937 lcall _spi1MasterSetClockPolarity 0012 938 C$UM6.c$112$1$1 ==. 939 ; apps/test_UM6_spi/../UM6.c:112: spi_UM6MasterSetClockPhase(SPI_PHASE_EDGE_LEADING); // data sampled when clock goes from active to idle 0012 C2*00 940 clr _spi1MasterSetClockPhase_PARM_1 0014 12s00r00 941 lcall _spi1MasterSetClockPhase 0017 942 C$UM6.c$113$1$1 ==. 943 ; apps/test_UM6_spi/../UM6.c:113: spi_UM6MasterSetBitOrder(SPI_BIT_ORDER_MSB_FIRST); 0017 C2*00 944 clr _spi1MasterSetBitOrder_PARM_1 0019 945 C$UM6.c$114$1$1 ==. 0019 946 XG$spi_UM6_init$0$0 ==. 0019 02s00r00 947 ljmp _spi1MasterSetBitOrder 948 ;------------------------------------------------------------ 949 ;Allocation info for local variables in function 'read_UM6config' 950 ;------------------------------------------------------------ 951 ;------------------------------------------------------------ 001C 952 G$read_UM6config$0$0 ==. 001C 953 C$UM6.c$122$1$1 ==. 954 ; apps/test_UM6_spi/../UM6.c:122: void read_UM6config(){ 955 ; ----------------------------------------- 956 ; function read_UM6config 957 ; ----------------------------------------- 001C 958 _read_UM6config: 001C 959 C$UM6.c$127$1$1 ==. 960 ; apps/test_UM6_spi/../UM6.c:127: IMU_txdata[0] = 0; //read command 001C 90s00r00 961 mov dptr,#_IMU_txdata 001F 962 C$UM6.c$128$1$1 ==. 963 ; apps/test_UM6_spi/../UM6.c:128: IMU_txdata[1] = 0x00; // address = comm register 001F E4 964 clr a 0020 F0 965 movx @dptr,a 0021 90s00r01 966 mov dptr,#(_IMU_txdata + 0x0001) 0024 F0 967 movx @dptr,a 0025 968 C$UM6.c$129$1$1 ==. 969 ; apps/test_UM6_spi/../UM6.c:129: IMU_CSlow; 0025 C2 F0 970 clr b[0] 0027 85 F0*00 971 mov bits,b 002A 75 82 0E 972 mov dpl,#0x0E 002D 12s00r00 973 lcall _setDigitalOutput 0030 974 C$UM6.c$130$1$1 ==. 975 ; apps/test_UM6_spi/../UM6.c:130: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0030 78r00 976 mov r0,#_spi1MasterTransfer_PARM_2 0032 74r08 977 mov a,#_IMU_rxdata 0034 F2 978 movx @r0,a 0035 08 979 inc r0 0036 74s00 980 mov a,#(_IMU_rxdata >> 8) 0038 F2 981 movx @r0,a 0039 78r00 982 mov r0,#_spi1MasterTransfer_PARM_3 003B 74 06 983 mov a,#0x06 003D F2 984 movx @r0,a 003E 08 985 inc r0 003F E4 986 clr a 0040 F2 987 movx @r0,a 0041 90s00r00 988 mov dptr,#_IMU_txdata 0044 12s00r00 989 lcall _spi1MasterTransfer 0047 990 C$UM6.c$131$1$1 ==. 991 ; apps/test_UM6_spi/../UM6.c:131: while(spi_UM6MasterBusy()){ } 0047 992 00101$: 0047 12s00r00 993 lcall _spi1MasterBusy 004A 40 FB 994 jc 00101$ 004C 995 C$UM6.c$132$1$1 ==. 996 ; apps/test_UM6_spi/../UM6.c:132: IMU_CShigh; 004C D2 F0 997 setb b[0] 004E 85 F0*00 998 mov bits,b 0051 75 82 0E 999 mov dpl,#0x0E 0054 12s00r00 1000 lcall _setDigitalOutput 0057 1001 C$UM6.c$134$1$1 ==. 1002 ; apps/test_UM6_spi/../UM6.c:134: if(IMU_rxdata[2] & (1<<6)){ 0057 90s00r0A 1003 mov dptr,#(_IMU_rxdata + 0x0002) 005A E0 1004 movx a,@dptr 005B FA 1005 mov r2,a 005C 30 E6 17 1006 jnb acc.6,00105$ 005F 1007 C$UM6.c$135$2$3 ==. 1008 ; apps/test_UM6_spi/../UM6.c:135: printf("Broadcast mode ENABLED \n"); 005F 74r00 1009 mov a,#__str_0 0061 C0 E0 1010 push acc 0063 74s00 1011 mov a,#(__str_0 >> 8) 0065 C0 E0 1012 push acc 0067 74 80 1013 mov a,#0x80 0069 C0 E0 1014 push acc 006B 12s00r00 1015 lcall _printf 006E 15 81 1016 dec sp 0070 15 81 1017 dec sp 0072 15 81 1018 dec sp 0074 80 15 1019 sjmp 00106$ 0076 1020 00105$: 0076 1021 C$UM6.c$136$2$4 ==. 1022 ; apps/test_UM6_spi/../UM6.c:136: }else{ printf("Broadcast mode DISABLED \n");} 0076 74r19 1023 mov a,#__str_1 0078 C0 E0 1024 push acc 007A 74s00 1025 mov a,#(__str_1 >> 8) 007C C0 E0 1026 push acc 007E 74 80 1027 mov a,#0x80 0080 C0 E0 1028 push acc 0082 12s00r00 1029 lcall _printf 0085 15 81 1030 dec sp 0087 15 81 1031 dec sp 0089 15 81 1032 dec sp 008B 1033 00106$: 008B 1034 C$UM6.c$137$1$1 ==. 1035 ; apps/test_UM6_spi/../UM6.c:137: if(IMU_rxdata[2] & (1<<5)){ 008B 90s00r0A 1036 mov dptr,#(_IMU_rxdata + 0x0002) 008E E0 1037 movx a,@dptr 008F FA 1038 mov r2,a 0090 30 E5 17 1039 jnb acc.5,00108$ 0093 1040 C$UM6.c$138$2$5 ==. 1041 ; apps/test_UM6_spi/../UM6.c:138: printf("Raw Gyro data transmission ENABLED \n"); 0093 74r33 1042 mov a,#__str_2 0095 C0 E0 1043 push acc 0097 74s00 1044 mov a,#(__str_2 >> 8) 0099 C0 E0 1045 push acc 009B 74 80 1046 mov a,#0x80 009D C0 E0 1047 push acc 009F 12s00r00 1048 lcall _printf 00A2 15 81 1049 dec sp 00A4 15 81 1050 dec sp 00A6 15 81 1051 dec sp 00A8 80 15 1052 sjmp 00109$ 00AA 1053 00108$: 00AA 1054 C$UM6.c$139$2$6 ==. 1055 ; apps/test_UM6_spi/../UM6.c:139: }else{ printf("Raw Gyro data transmission DISABLED \n");} 00AA 74r58 1056 mov a,#__str_3 00AC C0 E0 1057 push acc 00AE 74s00 1058 mov a,#(__str_3 >> 8) 00B0 C0 E0 1059 push acc 00B2 74 80 1060 mov a,#0x80 00B4 C0 E0 1061 push acc 00B6 12s00r00 1062 lcall _printf 00B9 15 81 1063 dec sp 00BB 15 81 1064 dec sp 00BD 15 81 1065 dec sp 00BF 1066 00109$: 00BF 1067 C$UM6.c$140$1$1 ==. 1068 ; apps/test_UM6_spi/../UM6.c:140: if(IMU_rxdata[2] & (1<<4)){ 00BF 90s00r0A 1069 mov dptr,#(_IMU_rxdata + 0x0002) 00C2 E0 1070 movx a,@dptr 00C3 FA 1071 mov r2,a 00C4 30 E4 17 1072 jnb acc.4,00111$ 00C7 1073 C$UM6.c$141$2$7 ==. 1074 ; apps/test_UM6_spi/../UM6.c:141: printf("Raw accelerometer data transmission ENABLED \n"); 00C7 74r7E 1075 mov a,#__str_4 00C9 C0 E0 1076 push acc 00CB 74s00 1077 mov a,#(__str_4 >> 8) 00CD C0 E0 1078 push acc 00CF 74 80 1079 mov a,#0x80 00D1 C0 E0 1080 push acc 00D3 12s00r00 1081 lcall _printf 00D6 15 81 1082 dec sp 00D8 15 81 1083 dec sp 00DA 15 81 1084 dec sp 00DC 80 15 1085 sjmp 00112$ 00DE 1086 00111$: 00DE 1087 C$UM6.c$142$2$8 ==. 1088 ; apps/test_UM6_spi/../UM6.c:142: }else{ printf("Raw accelerometer data transmission DISABLED \n");} 00DE 74rAC 1089 mov a,#__str_5 00E0 C0 E0 1090 push acc 00E2 74s00 1091 mov a,#(__str_5 >> 8) 00E4 C0 E0 1092 push acc 00E6 74 80 1093 mov a,#0x80 00E8 C0 E0 1094 push acc 00EA 12s00r00 1095 lcall _printf 00ED 15 81 1096 dec sp 00EF 15 81 1097 dec sp 00F1 15 81 1098 dec sp 00F3 1099 00112$: 00F3 1100 C$UM6.c$143$1$1 ==. 1101 ; apps/test_UM6_spi/../UM6.c:143: if(IMU_rxdata[2] & (1<<3)){ 00F3 90s00r0A 1102 mov dptr,#(_IMU_rxdata + 0x0002) 00F6 E0 1103 movx a,@dptr 00F7 FA 1104 mov r2,a 00F8 30 E3 17 1105 jnb acc.3,00114$ 00FB 1106 C$UM6.c$144$2$9 ==. 1107 ; apps/test_UM6_spi/../UM6.c:144: printf("Raw magnetometer data transmission ENABLED \n"); 00FB 74rDB 1108 mov a,#__str_6 00FD C0 E0 1109 push acc 00FF 74s00 1110 mov a,#(__str_6 >> 8) 0101 C0 E0 1111 push acc 0103 74 80 1112 mov a,#0x80 0105 C0 E0 1113 push acc 0107 12s00r00 1114 lcall _printf 010A 15 81 1115 dec sp 010C 15 81 1116 dec sp 010E 15 81 1117 dec sp 0110 80 15 1118 sjmp 00115$ 0112 1119 00114$: 0112 1120 C$UM6.c$145$2$10 ==. 1121 ; apps/test_UM6_spi/../UM6.c:145: }else{ printf("Raw magnetometer data transmission DISABLED \n");} 0112 74r08 1122 mov a,#__str_7 0114 C0 E0 1123 push acc 0116 74s01 1124 mov a,#(__str_7 >> 8) 0118 C0 E0 1125 push acc 011A 74 80 1126 mov a,#0x80 011C C0 E0 1127 push acc 011E 12s00r00 1128 lcall _printf 0121 15 81 1129 dec sp 0123 15 81 1130 dec sp 0125 15 81 1131 dec sp 0127 1132 00115$: 0127 1133 C$UM6.c$146$1$1 ==. 1134 ; apps/test_UM6_spi/../UM6.c:146: if(IMU_rxdata[2] & (1<<2)){ 0127 90s00r0A 1135 mov dptr,#(_IMU_rxdata + 0x0002) 012A E0 1136 movx a,@dptr 012B FA 1137 mov r2,a 012C 30 E2 17 1138 jnb acc.2,00117$ 012F 1139 C$UM6.c$147$2$11 ==. 1140 ; apps/test_UM6_spi/../UM6.c:147: printf("Processed Gyro data transmission ENABLED \n"); 012F 74r36 1141 mov a,#__str_8 0131 C0 E0 1142 push acc 0133 74s01 1143 mov a,#(__str_8 >> 8) 0135 C0 E0 1144 push acc 0137 74 80 1145 mov a,#0x80 0139 C0 E0 1146 push acc 013B 12s00r00 1147 lcall _printf 013E 15 81 1148 dec sp 0140 15 81 1149 dec sp 0142 15 81 1150 dec sp 0144 80 15 1151 sjmp 00118$ 0146 1152 00117$: 0146 1153 C$UM6.c$148$2$12 ==. 1154 ; apps/test_UM6_spi/../UM6.c:148: }else{ printf("Processed Gyro data transmission DISABLED \n");} 0146 74r61 1155 mov a,#__str_9 0148 C0 E0 1156 push acc 014A 74s01 1157 mov a,#(__str_9 >> 8) 014C C0 E0 1158 push acc 014E 74 80 1159 mov a,#0x80 0150 C0 E0 1160 push acc 0152 12s00r00 1161 lcall _printf 0155 15 81 1162 dec sp 0157 15 81 1163 dec sp 0159 15 81 1164 dec sp 015B 1165 00118$: 015B 1166 C$UM6.c$149$1$1 ==. 1167 ; apps/test_UM6_spi/../UM6.c:149: if(IMU_rxdata[2] & (1)){ 015B 90s00r0A 1168 mov dptr,#(_IMU_rxdata + 0x0002) 015E E0 1169 movx a,@dptr 015F FA 1170 mov r2,a 0160 30 E0 17 1171 jnb acc.0,00120$ 0163 1172 C$UM6.c$150$2$13 ==. 1173 ; apps/test_UM6_spi/../UM6.c:150: printf("Processed accelerometer data transmission ENABLED \n"); 0163 74r8D 1174 mov a,#__str_10 0165 C0 E0 1175 push acc 0167 74s01 1176 mov a,#(__str_10 >> 8) 0169 C0 E0 1177 push acc 016B 74 80 1178 mov a,#0x80 016D C0 E0 1179 push acc 016F 12s00r00 1180 lcall _printf 0172 15 81 1181 dec sp 0174 15 81 1182 dec sp 0176 15 81 1183 dec sp 0178 80 15 1184 sjmp 00121$ 017A 1185 00120$: 017A 1186 C$UM6.c$151$2$14 ==. 1187 ; apps/test_UM6_spi/../UM6.c:151: }else{ printf("Processed accelerometer data transmission DISABLED \n");} 017A 74rC1 1188 mov a,#__str_11 017C C0 E0 1189 push acc 017E 74s01 1190 mov a,#(__str_11 >> 8) 0180 C0 E0 1191 push acc 0182 74 80 1192 mov a,#0x80 0184 C0 E0 1193 push acc 0186 12s00r00 1194 lcall _printf 0189 15 81 1195 dec sp 018B 15 81 1196 dec sp 018D 15 81 1197 dec sp 018F 1198 00121$: 018F 1199 C$UM6.c$152$1$1 ==. 1200 ; apps/test_UM6_spi/../UM6.c:152: if(IMU_rxdata[3] & (1<<7)){ 018F 90s00r0B 1201 mov dptr,#(_IMU_rxdata + 0x0003) 0192 E0 1202 movx a,@dptr 0193 FA 1203 mov r2,a 0194 30 E7 17 1204 jnb acc.7,00123$ 0197 1205 C$UM6.c$153$2$15 ==. 1206 ; apps/test_UM6_spi/../UM6.c:153: printf("Processed magnetometer data transmission ENABLED \n"); 0197 74rF6 1207 mov a,#__str_12 0199 C0 E0 1208 push acc 019B 74s01 1209 mov a,#(__str_12 >> 8) 019D C0 E0 1210 push acc 019F 74 80 1211 mov a,#0x80 01A1 C0 E0 1212 push acc 01A3 12s00r00 1213 lcall _printf 01A6 15 81 1214 dec sp 01A8 15 81 1215 dec sp 01AA 15 81 1216 dec sp 01AC 80 15 1217 sjmp 00124$ 01AE 1218 00123$: 01AE 1219 C$UM6.c$154$2$16 ==. 1220 ; apps/test_UM6_spi/../UM6.c:154: }else{ printf("Processed magnetometer data transmission DISABLED \n");} 01AE 74r29 1221 mov a,#__str_13 01B0 C0 E0 1222 push acc 01B2 74s02 1223 mov a,#(__str_13 >> 8) 01B4 C0 E0 1224 push acc 01B6 74 80 1225 mov a,#0x80 01B8 C0 E0 1226 push acc 01BA 12s00r00 1227 lcall _printf 01BD 15 81 1228 dec sp 01BF 15 81 1229 dec sp 01C1 15 81 1230 dec sp 01C3 1231 00124$: 01C3 1232 C$UM6.c$155$1$1 ==. 1233 ; apps/test_UM6_spi/../UM6.c:155: if(IMU_rxdata[3] & (1<<6)){ 01C3 90s00r0B 1234 mov dptr,#(_IMU_rxdata + 0x0003) 01C6 E0 1235 movx a,@dptr 01C7 FA 1236 mov r2,a 01C8 30 E6 17 1237 jnb acc.6,00126$ 01CB 1238 C$UM6.c$156$2$17 ==. 1239 ; apps/test_UM6_spi/../UM6.c:156: printf("Quat transmission ENABLED \n"); 01CB 74r5D 1240 mov a,#__str_14 01CD C0 E0 1241 push acc 01CF 74s02 1242 mov a,#(__str_14 >> 8) 01D1 C0 E0 1243 push acc 01D3 74 80 1244 mov a,#0x80 01D5 C0 E0 1245 push acc 01D7 12s00r00 1246 lcall _printf 01DA 15 81 1247 dec sp 01DC 15 81 1248 dec sp 01DE 15 81 1249 dec sp 01E0 80 15 1250 sjmp 00127$ 01E2 1251 00126$: 01E2 1252 C$UM6.c$157$2$18 ==. 1253 ; apps/test_UM6_spi/../UM6.c:157: }else{ printf("Quat transmission DISABLED \n");} 01E2 74r79 1254 mov a,#__str_15 01E4 C0 E0 1255 push acc 01E6 74s02 1256 mov a,#(__str_15 >> 8) 01E8 C0 E0 1257 push acc 01EA 74 80 1258 mov a,#0x80 01EC C0 E0 1259 push acc 01EE 12s00r00 1260 lcall _printf 01F1 15 81 1261 dec sp 01F3 15 81 1262 dec sp 01F5 15 81 1263 dec sp 01F7 1264 00127$: 01F7 1265 C$UM6.c$158$1$1 ==. 1266 ; apps/test_UM6_spi/../UM6.c:158: if(IMU_rxdata[3] & (1<<5)){ 01F7 90s00r0B 1267 mov dptr,#(_IMU_rxdata + 0x0003) 01FA E0 1268 movx a,@dptr 01FB FA 1269 mov r2,a 01FC 30 E5 17 1270 jnb acc.5,00129$ 01FF 1271 C$UM6.c$159$2$19 ==. 1272 ; apps/test_UM6_spi/../UM6.c:159: printf("Euler angle transmission ENABLED \n"); 01FF 74r97 1273 mov a,#__str_16 0201 C0 E0 1274 push acc 0203 74s02 1275 mov a,#(__str_16 >> 8) 0205 C0 E0 1276 push acc 0207 74 80 1277 mov a,#0x80 0209 C0 E0 1278 push acc 020B 12s00r00 1279 lcall _printf 020E 15 81 1280 dec sp 0210 15 81 1281 dec sp 0212 15 81 1282 dec sp 0214 80 15 1283 sjmp 00130$ 0216 1284 00129$: 0216 1285 C$UM6.c$160$2$20 ==. 1286 ; apps/test_UM6_spi/../UM6.c:160: }else{ printf("Euler angle transmission DISABLED \n");} 0216 74rBA 1287 mov a,#__str_17 0218 C0 E0 1288 push acc 021A 74s02 1289 mov a,#(__str_17 >> 8) 021C C0 E0 1290 push acc 021E 74 80 1291 mov a,#0x80 0220 C0 E0 1292 push acc 0222 12s00r00 1293 lcall _printf 0225 15 81 1294 dec sp 0227 15 81 1295 dec sp 0229 15 81 1296 dec sp 022B 1297 00130$: 022B 1298 C$UM6.c$161$1$1 ==. 1299 ; apps/test_UM6_spi/../UM6.c:161: if(IMU_rxdata[3] & (1<<4)){ 022B 90s00r0B 1300 mov dptr,#(_IMU_rxdata + 0x0003) 022E E0 1301 movx a,@dptr 022F FA 1302 mov r2,a 0230 30 E4 17 1303 jnb acc.4,00132$ 0233 1304 C$UM6.c$162$2$21 ==. 1305 ; apps/test_UM6_spi/../UM6.c:162: printf("COV mat transmission ENABLED \n"); 0233 74rDE 1306 mov a,#__str_18 0235 C0 E0 1307 push acc 0237 74s02 1308 mov a,#(__str_18 >> 8) 0239 C0 E0 1309 push acc 023B 74 80 1310 mov a,#0x80 023D C0 E0 1311 push acc 023F 12s00r00 1312 lcall _printf 0242 15 81 1313 dec sp 0244 15 81 1314 dec sp 0246 15 81 1315 dec sp 0248 80 15 1316 sjmp 00133$ 024A 1317 00132$: 024A 1318 C$UM6.c$163$2$22 ==. 1319 ; apps/test_UM6_spi/../UM6.c:163: }else{ printf("COV mat transmission DISABLED \n");} 024A 74rFD 1320 mov a,#__str_19 024C C0 E0 1321 push acc 024E 74s02 1322 mov a,#(__str_19 >> 8) 0250 C0 E0 1323 push acc 0252 74 80 1324 mov a,#0x80 0254 C0 E0 1325 push acc 0256 12s00r00 1326 lcall _printf 0259 15 81 1327 dec sp 025B 15 81 1328 dec sp 025D 15 81 1329 dec sp 025F 1330 00133$: 025F 1331 C$UM6.c$165$1$1 ==. 1332 ; apps/test_UM6_spi/../UM6.c:165: IMU_txdata[0] = 0; //read command 025F 90s00r00 1333 mov dptr,#_IMU_txdata 0262 E4 1334 clr a 0263 F0 1335 movx @dptr,a 0264 1336 C$UM6.c$166$1$1 ==. 1337 ; apps/test_UM6_spi/../UM6.c:166: IMU_txdata[1] = 0x01; // address = misc_config register 0264 90s00r01 1338 mov dptr,#(_IMU_txdata + 0x0001) 0267 74 01 1339 mov a,#0x01 0269 F0 1340 movx @dptr,a 026A 1341 C$UM6.c$167$1$1 ==. 1342 ; apps/test_UM6_spi/../UM6.c:167: IMU_CSlow; 026A C2 F0 1343 clr b[0] 026C 85 F0*00 1344 mov bits,b 026F 75 82 0E 1345 mov dpl,#0x0E 0272 12s00r00 1346 lcall _setDigitalOutput 0275 1347 C$UM6.c$168$1$1 ==. 1348 ; apps/test_UM6_spi/../UM6.c:168: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0275 78r00 1349 mov r0,#_spi1MasterTransfer_PARM_2 0277 74r08 1350 mov a,#_IMU_rxdata 0279 F2 1351 movx @r0,a 027A 08 1352 inc r0 027B 74s00 1353 mov a,#(_IMU_rxdata >> 8) 027D F2 1354 movx @r0,a 027E 78r00 1355 mov r0,#_spi1MasterTransfer_PARM_3 0280 74 06 1356 mov a,#0x06 0282 F2 1357 movx @r0,a 0283 08 1358 inc r0 0284 E4 1359 clr a 0285 F2 1360 movx @r0,a 0286 90s00r00 1361 mov dptr,#_IMU_txdata 0289 12s00r00 1362 lcall _spi1MasterTransfer 028C 1363 C$UM6.c$169$1$1 ==. 1364 ; apps/test_UM6_spi/../UM6.c:169: while(spi_UM6MasterBusy()){ } 028C 1365 00134$: 028C 12s00r00 1366 lcall _spi1MasterBusy 028F 40 FB 1367 jc 00134$ 0291 1368 C$UM6.c$170$1$1 ==. 1369 ; apps/test_UM6_spi/../UM6.c:170: IMU_CShigh; 0291 D2 F0 1370 setb b[0] 0293 85 F0*00 1371 mov bits,b 0296 75 82 0E 1372 mov dpl,#0x0E 0299 12s00r00 1373 lcall _setDigitalOutput 029C 1374 C$UM6.c$171$1$1 ==. 1375 ; apps/test_UM6_spi/../UM6.c:171: if(IMU_rxdata[2] & (1<<7)){ 029C 90s00r0A 1376 mov dptr,#(_IMU_rxdata + 0x0002) 029F E0 1377 movx a,@dptr 02A0 FA 1378 mov r2,a 02A1 30 E7 17 1379 jnb acc.7,00138$ 02A4 1380 C$UM6.c$172$2$24 ==. 1381 ; apps/test_UM6_spi/../UM6.c:172: printf("EKF magnetometer updates (yaw correction) ENABLED \n"); 02A4 74r1D 1382 mov a,#__str_20 02A6 C0 E0 1383 push acc 02A8 74s03 1384 mov a,#(__str_20 >> 8) 02AA C0 E0 1385 push acc 02AC 74 80 1386 mov a,#0x80 02AE C0 E0 1387 push acc 02B0 12s00r00 1388 lcall _printf 02B3 15 81 1389 dec sp 02B5 15 81 1390 dec sp 02B7 15 81 1391 dec sp 02B9 80 15 1392 sjmp 00139$ 02BB 1393 00138$: 02BB 1394 C$UM6.c$173$2$25 ==. 1395 ; apps/test_UM6_spi/../UM6.c:173: }else { printf("EKF magnetometer updates (yaw correction) DISABLED \n");} 02BB 74r51 1396 mov a,#__str_21 02BD C0 E0 1397 push acc 02BF 74s03 1398 mov a,#(__str_21 >> 8) 02C1 C0 E0 1399 push acc 02C3 74 80 1400 mov a,#0x80 02C5 C0 E0 1401 push acc 02C7 12s00r00 1402 lcall _printf 02CA 15 81 1403 dec sp 02CC 15 81 1404 dec sp 02CE 15 81 1405 dec sp 02D0 1406 00139$: 02D0 1407 C$UM6.c$174$1$1 ==. 1408 ; apps/test_UM6_spi/../UM6.c:174: if(IMU_rxdata[2] & (1<<6)){ 02D0 90s00r0A 1409 mov dptr,#(_IMU_rxdata + 0x0002) 02D3 E0 1410 movx a,@dptr 02D4 FA 1411 mov r2,a 02D5 30 E6 17 1412 jnb acc.6,00141$ 02D8 1413 C$UM6.c$175$2$26 ==. 1414 ; apps/test_UM6_spi/../UM6.c:175: printf("EKF accelerometer updates (roll & pitch correction) ENABLED \n"); 02D8 74r86 1415 mov a,#__str_22 02DA C0 E0 1416 push acc 02DC 74s03 1417 mov a,#(__str_22 >> 8) 02DE C0 E0 1418 push acc 02E0 74 80 1419 mov a,#0x80 02E2 C0 E0 1420 push acc 02E4 12s00r00 1421 lcall _printf 02E7 15 81 1422 dec sp 02E9 15 81 1423 dec sp 02EB 15 81 1424 dec sp 02ED 80 15 1425 sjmp 00142$ 02EF 1426 00141$: 02EF 1427 C$UM6.c$176$2$27 ==. 1428 ; apps/test_UM6_spi/../UM6.c:176: }else { printf("EKF accelerometer updates (roll & pitch correction) DISABLED \n");} 02EF 74rC4 1429 mov a,#__str_23 02F1 C0 E0 1430 push acc 02F3 74s03 1431 mov a,#(__str_23 >> 8) 02F5 C0 E0 1432 push acc 02F7 74 80 1433 mov a,#0x80 02F9 C0 E0 1434 push acc 02FB 12s00r00 1435 lcall _printf 02FE 15 81 1436 dec sp 0300 15 81 1437 dec sp 0302 15 81 1438 dec sp 0304 1439 00142$: 0304 1440 C$UM6.c$177$1$1 ==. 1441 ; apps/test_UM6_spi/../UM6.c:177: if(IMU_rxdata[2] & (1<<5)){ 0304 90s00r0A 1442 mov dptr,#(_IMU_rxdata + 0x0002) 0307 E0 1443 movx a,@dptr 0308 FA 1444 mov r2,a 0309 30 E5 17 1445 jnb acc.5,00144$ 030C 1446 C$UM6.c$178$2$28 ==. 1447 ; apps/test_UM6_spi/../UM6.c:178: printf("Startup Gyro Calibration ENABLED \n"); 030C 74r03 1448 mov a,#__str_24 030E C0 E0 1449 push acc 0310 74s04 1450 mov a,#(__str_24 >> 8) 0312 C0 E0 1451 push acc 0314 74 80 1452 mov a,#0x80 0316 C0 E0 1453 push acc 0318 12s00r00 1454 lcall _printf 031B 15 81 1455 dec sp 031D 15 81 1456 dec sp 031F 15 81 1457 dec sp 0321 80 15 1458 sjmp 00145$ 0323 1459 00144$: 0323 1460 C$UM6.c$179$2$29 ==. 1461 ; apps/test_UM6_spi/../UM6.c:179: }else { printf("Startup Gyro Calibration DISABLED \n");} 0323 74r26 1462 mov a,#__str_25 0325 C0 E0 1463 push acc 0327 74s04 1464 mov a,#(__str_25 >> 8) 0329 C0 E0 1465 push acc 032B 74 80 1466 mov a,#0x80 032D C0 E0 1467 push acc 032F 12s00r00 1468 lcall _printf 0332 15 81 1469 dec sp 0334 15 81 1470 dec sp 0336 15 81 1471 dec sp 0338 1472 00145$: 0338 1473 C$UM6.c$180$1$1 ==. 1474 ; apps/test_UM6_spi/../UM6.c:180: if(IMU_rxdata[2] & (1<<4)){ 0338 90s00r0A 1475 mov dptr,#(_IMU_rxdata + 0x0002) 033B E0 1476 movx a,@dptr 033C FA 1477 mov r2,a 033D 30 E4 16 1478 jnb acc.4,00147$ 0340 1479 C$UM6.c$181$2$30 ==. 1480 ; apps/test_UM6_spi/../UM6.c:181: printf("Quaternion state estimation ENABLED \n"); 0340 74r4A 1481 mov a,#__str_26 0342 C0 E0 1482 push acc 0344 74s04 1483 mov a,#(__str_26 >> 8) 0346 C0 E0 1484 push acc 0348 74 80 1485 mov a,#0x80 034A C0 E0 1486 push acc 034C 12s00r00 1487 lcall _printf 034F 15 81 1488 dec sp 0351 15 81 1489 dec sp 0353 15 81 1490 dec sp 0355 22 1491 ret 0356 1492 00147$: 0356 1493 C$UM6.c$182$2$31 ==. 1494 ; apps/test_UM6_spi/../UM6.c:182: }else { printf("Quaternion state estimation DISABLED \n");} 0356 74r70 1495 mov a,#__str_27 0358 C0 E0 1496 push acc 035A 74s04 1497 mov a,#(__str_27 >> 8) 035C C0 E0 1498 push acc 035E 74 80 1499 mov a,#0x80 0360 C0 E0 1500 push acc 0362 12s00r00 1501 lcall _printf 0365 15 81 1502 dec sp 0367 15 81 1503 dec sp 0369 15 81 1504 dec sp 036B 1505 C$UM6.c$183$1$1 ==. 036B 1506 XG$read_UM6config$0$0 ==. 036B 22 1507 ret 1508 ;------------------------------------------------------------ 1509 ;Allocation info for local variables in function 'write_UM6comm' 1510 ;------------------------------------------------------------ 1511 ;------------------------------------------------------------ 036C 1512 G$write_UM6comm$0$0 ==. 036C 1513 C$UM6.c$187$1$1 ==. 1514 ; apps/test_UM6_spi/../UM6.c:187: void write_UM6comm(){ 1515 ; ----------------------------------------- 1516 ; function write_UM6comm 1517 ; ----------------------------------------- 036C 1518 _write_UM6comm: 036C 1519 C$UM6.c$188$1$1 ==. 1520 ; apps/test_UM6_spi/../UM6.c:188: IMU_txdata[0] =0x01; // write command 036C 90s00r00 1521 mov dptr,#_IMU_txdata 036F 74 01 1522 mov a,#0x01 0371 F0 1523 movx @dptr,a 0372 1524 C$UM6.c$189$1$1 ==. 1525 ; apps/test_UM6_spi/../UM6.c:189: IMU_txdata[1]=0x00; // address of the UM6_Comm register 0372 90s00r01 1526 mov dptr,#(_IMU_txdata + 0x0001) 0375 E4 1527 clr a 0376 F0 1528 movx @dptr,a 0377 1529 C$UM6.c$190$1$1 ==. 1530 ; apps/test_UM6_spi/../UM6.c:190: IMU_txdata[2] = 0x38; //Byte4 0377 90s00r02 1531 mov dptr,#(_IMU_txdata + 0x0002) 037A 74 38 1532 mov a,#0x38 037C F0 1533 movx @dptr,a 037D 1534 C$UM6.c$191$1$1 ==. 1535 ; apps/test_UM6_spi/../UM6.c:191: IMU_txdata[3] = 0x40; // Byte3 037D 90s00r03 1536 mov dptr,#(_IMU_txdata + 0x0003) 0380 74 40 1537 mov a,#0x40 0382 F0 1538 movx @dptr,a 0383 1539 C$UM6.c$192$1$1 ==. 1540 ; apps/test_UM6_spi/../UM6.c:192: IMU_txdata[4]= 0x05; //Byte2 0383 90s00r04 1541 mov dptr,#(_IMU_txdata + 0x0004) 0386 74 05 1542 mov a,#0x05 0388 F0 1543 movx @dptr,a 0389 1544 C$UM6.c$193$1$1 ==. 1545 ; apps/test_UM6_spi/../UM6.c:193: IMU_txdata[5] = 0x00; //Byte1 0389 90s00r05 1546 mov dptr,#(_IMU_txdata + 0x0005) 038C E4 1547 clr a 038D F0 1548 movx @dptr,a 038E 1549 C$UM6.c$194$1$1 ==. 1550 ; apps/test_UM6_spi/../UM6.c:194: IMU_CSlow; 038E C2 F0 1551 clr b[0] 0390 85 F0*00 1552 mov bits,b 0393 75 82 0E 1553 mov dpl,#0x0E 0396 12s00r00 1554 lcall _setDigitalOutput 0399 1555 C$UM6.c$195$1$1 ==. 1556 ; apps/test_UM6_spi/../UM6.c:195: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0399 78r00 1557 mov r0,#_spi1MasterTransfer_PARM_2 039B 74r08 1558 mov a,#_IMU_rxdata 039D F2 1559 movx @r0,a 039E 08 1560 inc r0 039F 74s00 1561 mov a,#(_IMU_rxdata >> 8) 03A1 F2 1562 movx @r0,a 03A2 78r00 1563 mov r0,#_spi1MasterTransfer_PARM_3 03A4 74 06 1564 mov a,#0x06 03A6 F2 1565 movx @r0,a 03A7 08 1566 inc r0 03A8 E4 1567 clr a 03A9 F2 1568 movx @r0,a 03AA 90s00r00 1569 mov dptr,#_IMU_txdata 03AD 12s00r00 1570 lcall _spi1MasterTransfer 03B0 1571 C$UM6.c$196$1$1 ==. 1572 ; apps/test_UM6_spi/../UM6.c:196: while(spi_UM6MasterBusy()){ } 03B0 1573 00101$: 03B0 12s00r00 1574 lcall _spi1MasterBusy 03B3 40 FB 1575 jc 00101$ 03B5 1576 C$UM6.c$197$1$1 ==. 1577 ; apps/test_UM6_spi/../UM6.c:197: IMU_CShigh; 03B5 D2 F0 1578 setb b[0] 03B7 85 F0*00 1579 mov bits,b 03BA 75 82 0E 1580 mov dpl,#0x0E 03BD 1581 C$UM6.c$198$1$1 ==. 03BD 1582 XG$write_UM6comm$0$0 ==. 03BD 02s00r00 1583 ljmp _setDigitalOutput 1584 ;------------------------------------------------------------ 1585 ;Allocation info for local variables in function 'Zero_Gyros' 1586 ;------------------------------------------------------------ 1587 ;------------------------------------------------------------ 03C0 1588 G$Zero_Gyros$0$0 ==. 03C0 1589 C$UM6.c$203$1$1 ==. 1590 ; apps/test_UM6_spi/../UM6.c:203: void Zero_Gyros(){ 1591 ; ----------------------------------------- 1592 ; function Zero_Gyros 1593 ; ----------------------------------------- 03C0 1594 _Zero_Gyros: 03C0 1595 C$UM6.c$204$1$1 ==. 1596 ; apps/test_UM6_spi/../UM6.c:204: IMU_rxdata[0] =0x01; // write command 03C0 90s00r08 1597 mov dptr,#_IMU_rxdata 03C3 74 01 1598 mov a,#0x01 03C5 F0 1599 movx @dptr,a 03C6 1600 C$UM6.c$205$1$1 ==. 1601 ; apps/test_UM6_spi/../UM6.c:205: IMU_rxdata[1]=0xAC; // command byte to determine gyro biases 03C6 90s00r09 1602 mov dptr,#(_IMU_rxdata + 0x0001) 03C9 74 AC 1603 mov a,#0xAC 03CB F0 1604 movx @dptr,a 03CC 1605 C$UM6.c$206$1$1 ==. 1606 ; apps/test_UM6_spi/../UM6.c:206: IMU_CSlow; 03CC C2 F0 1607 clr b[0] 03CE 85 F0*00 1608 mov bits,b 03D1 75 82 0E 1609 mov dpl,#0x0E 03D4 12s00r00 1610 lcall _setDigitalOutput 03D7 1611 C$UM6.c$207$1$1 ==. 1612 ; apps/test_UM6_spi/../UM6.c:207: spi_UM6MasterTransfer(IMU_rxdata,IMU_rxdata,6); 03D7 78r00 1613 mov r0,#_spi1MasterTransfer_PARM_2 03D9 74r08 1614 mov a,#_IMU_rxdata 03DB F2 1615 movx @r0,a 03DC 08 1616 inc r0 03DD 74s00 1617 mov a,#(_IMU_rxdata >> 8) 03DF F2 1618 movx @r0,a 03E0 78r00 1619 mov r0,#_spi1MasterTransfer_PARM_3 03E2 74 06 1620 mov a,#0x06 03E4 F2 1621 movx @r0,a 03E5 08 1622 inc r0 03E6 E4 1623 clr a 03E7 F2 1624 movx @r0,a 03E8 90s00r08 1625 mov dptr,#_IMU_rxdata 03EB 12s00r00 1626 lcall _spi1MasterTransfer 03EE 1627 C$UM6.c$208$1$1 ==. 1628 ; apps/test_UM6_spi/../UM6.c:208: while(spi_UM6MasterBusy()){ } 03EE 1629 00101$: 03EE 12s00r00 1630 lcall _spi1MasterBusy 03F1 40 FB 1631 jc 00101$ 03F3 1632 C$UM6.c$209$1$1 ==. 1633 ; apps/test_UM6_spi/../UM6.c:209: IMU_CShigh; 03F3 D2 F0 1634 setb b[0] 03F5 85 F0*00 1635 mov bits,b 03F8 75 82 0E 1636 mov dpl,#0x0E 03FB 1637 C$UM6.c$210$1$1 ==. 03FB 1638 XG$Zero_Gyros$0$0 ==. 03FB 02s00r00 1639 ljmp _setDigitalOutput 1640 ;------------------------------------------------------------ 1641 ;Allocation info for local variables in function 'write_UM6_Miscconfig' 1642 ;------------------------------------------------------------ 1643 ;------------------------------------------------------------ 03FE 1644 G$write_UM6_Miscconfig$0$0 ==. 03FE 1645 C$UM6.c$214$1$1 ==. 1646 ; apps/test_UM6_spi/../UM6.c:214: void write_UM6_Miscconfig(){ 1647 ; ----------------------------------------- 1648 ; function write_UM6_Miscconfig 1649 ; ----------------------------------------- 03FE 1650 _write_UM6_Miscconfig: 03FE 1651 C$UM6.c$215$1$1 ==. 1652 ; apps/test_UM6_spi/../UM6.c:215: IMU_rxdata[0] =0x01; // write command 03FE 90s00r08 1653 mov dptr,#_IMU_rxdata 0401 74 01 1654 mov a,#0x01 0403 F0 1655 movx @dptr,a 0404 1656 C$UM6.c$216$1$1 ==. 1657 ; apps/test_UM6_spi/../UM6.c:216: IMU_rxdata[1]=0x01; // Address of MISC_CONFIG register 0404 90s00r09 1658 mov dptr,#(_IMU_rxdata + 0x0001) 0407 74 01 1659 mov a,#0x01 0409 F0 1660 movx @dptr,a 040A 1661 C$UM6.c$217$1$1 ==. 1662 ; apps/test_UM6_spi/../UM6.c:217: IMU_rxdata[2] = 0x50; 040A 90s00r0A 1663 mov dptr,#(_IMU_rxdata + 0x0002) 040D 74 50 1664 mov a,#0x50 040F F0 1665 movx @dptr,a 0410 1666 C$UM6.c$218$1$1 ==. 1667 ; apps/test_UM6_spi/../UM6.c:218: IMU_rxdata[3] = 0x0; 0410 90s00r0B 1668 mov dptr,#(_IMU_rxdata + 0x0003) 0413 1669 C$UM6.c$219$1$1 ==. 1670 ; apps/test_UM6_spi/../UM6.c:219: IMU_rxdata[4]= 0x0; 0413 1671 C$UM6.c$220$1$1 ==. 1672 ; apps/test_UM6_spi/../UM6.c:220: IMU_rxdata[5] = 0x0; 0413 E4 1673 clr a 0414 F0 1674 movx @dptr,a 0415 90s00r0C 1675 mov dptr,#(_IMU_rxdata + 0x0004) 0418 F0 1676 movx @dptr,a 0419 90s00r0D 1677 mov dptr,#(_IMU_rxdata + 0x0005) 041C F0 1678 movx @dptr,a 041D 1679 C$UM6.c$221$1$1 ==. 1680 ; apps/test_UM6_spi/../UM6.c:221: IMU_CSlow; 041D C2 F0 1681 clr b[0] 041F 85 F0*00 1682 mov bits,b 0422 75 82 0E 1683 mov dpl,#0x0E 0425 12s00r00 1684 lcall _setDigitalOutput 0428 1685 C$UM6.c$222$1$1 ==. 1686 ; apps/test_UM6_spi/../UM6.c:222: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0428 78r00 1687 mov r0,#_spi1MasterTransfer_PARM_2 042A 74r08 1688 mov a,#_IMU_rxdata 042C F2 1689 movx @r0,a 042D 08 1690 inc r0 042E 74s00 1691 mov a,#(_IMU_rxdata >> 8) 0430 F2 1692 movx @r0,a 0431 78r00 1693 mov r0,#_spi1MasterTransfer_PARM_3 0433 74 06 1694 mov a,#0x06 0435 F2 1695 movx @r0,a 0436 08 1696 inc r0 0437 E4 1697 clr a 0438 F2 1698 movx @r0,a 0439 90s00r00 1699 mov dptr,#_IMU_txdata 043C 12s00r00 1700 lcall _spi1MasterTransfer 043F 1701 C$UM6.c$223$1$1 ==. 1702 ; apps/test_UM6_spi/../UM6.c:223: while(spi_UM6MasterBusy()){ } 043F 1703 00101$: 043F 12s00r00 1704 lcall _spi1MasterBusy 0442 40 FB 1705 jc 00101$ 0444 1706 C$UM6.c$224$1$1 ==. 1707 ; apps/test_UM6_spi/../UM6.c:224: IMU_CShigh; 0444 D2 F0 1708 setb b[0] 0446 85 F0*00 1709 mov bits,b 0449 75 82 0E 1710 mov dpl,#0x0E 044C 1711 C$UM6.c$225$1$1 ==. 044C 1712 XG$write_UM6_Miscconfig$0$0 ==. 044C 02s00r00 1713 ljmp _setDigitalOutput 1714 ;------------------------------------------------------------ 1715 ;Allocation info for local variables in function 'read_accel_rawZ' 1716 ;------------------------------------------------------------ 1717 ;------------------------------------------------------------ 044F 1718 G$read_accel_rawZ$0$0 ==. 044F 1719 C$UM6.c$229$1$1 ==. 1720 ; apps/test_UM6_spi/../UM6.c:229: void read_accel_rawZ(){ 1721 ; ----------------------------------------- 1722 ; function read_accel_rawZ 1723 ; ----------------------------------------- 044F 1724 _read_accel_rawZ: 044F 1725 C$UM6.c$230$1$1 ==. 1726 ; apps/test_UM6_spi/../UM6.c:230: IMU_txdata[0] = 0; //read command 044F 90s00r00 1727 mov dptr,#_IMU_txdata 0452 E4 1728 clr a 0453 F0 1729 movx @dptr,a 0454 1730 C$UM6.c$231$1$1 ==. 1731 ; apps/test_UM6_spi/../UM6.c:231: IMU_txdata[1] = 0x5b; // address of accelrawZ 0454 90s00r01 1732 mov dptr,#(_IMU_txdata + 0x0001) 0457 74 5B 1733 mov a,#0x5B 0459 F0 1734 movx @dptr,a 045A 1735 C$UM6.c$232$1$1 ==. 1736 ; apps/test_UM6_spi/../UM6.c:232: IMU_CSlow; 045A C2 F0 1737 clr b[0] 045C 85 F0*00 1738 mov bits,b 045F 75 82 0E 1739 mov dpl,#0x0E 0462 12s00r00 1740 lcall _setDigitalOutput 0465 1741 C$UM6.c$233$1$1 ==. 1742 ; apps/test_UM6_spi/../UM6.c:233: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0465 78r00 1743 mov r0,#_spi1MasterTransfer_PARM_2 0467 74r08 1744 mov a,#_IMU_rxdata 0469 F2 1745 movx @r0,a 046A 08 1746 inc r0 046B 74s00 1747 mov a,#(_IMU_rxdata >> 8) 046D F2 1748 movx @r0,a 046E 78r00 1749 mov r0,#_spi1MasterTransfer_PARM_3 0470 74 06 1750 mov a,#0x06 0472 F2 1751 movx @r0,a 0473 08 1752 inc r0 0474 E4 1753 clr a 0475 F2 1754 movx @r0,a 0476 90s00r00 1755 mov dptr,#_IMU_txdata 0479 12s00r00 1756 lcall _spi1MasterTransfer 047C 1757 C$UM6.c$234$1$1 ==. 1758 ; apps/test_UM6_spi/../UM6.c:234: while(spi_UM6MasterBusy()){ } 047C 1759 00101$: 047C 12s00r00 1760 lcall _spi1MasterBusy 047F 40 FB 1761 jc 00101$ 0481 1762 C$UM6.c$235$1$1 ==. 1763 ; apps/test_UM6_spi/../UM6.c:235: IMU_CShigh; 0481 D2 F0 1764 setb b[0] 0483 85 F0*00 1765 mov bits,b 0486 75 82 0E 1766 mov dpl,#0x0E 0489 12s00r00 1767 lcall _setDigitalOutput 048C 1768 C$UM6.c$236$1$1 ==. 1769 ; apps/test_UM6_spi/../UM6.c:236: accelrawZ.temp[0] = IMU_rxdata[3]; 048C 90s00r0B 1770 mov dptr,#(_IMU_rxdata + 0x0003) 048F E0 1771 movx a,@dptr 0490 FA 1772 mov r2,a 0491 78r0A 1773 mov r0,#_accelrawZ 0493 EA 1774 mov a,r2 0494 F2 1775 movx @r0,a 0495 1776 C$UM6.c$237$1$1 ==. 1777 ; apps/test_UM6_spi/../UM6.c:237: accelrawZ.temp[1] = IMU_rxdata[2]; 0495 90s00r0A 1778 mov dptr,#(_IMU_rxdata + 0x0002) 0498 E0 1779 movx a,@dptr 0499 FA 1780 mov r2,a 049A 78r0B 1781 mov r0,#(_accelrawZ + 0x0001) 049C EA 1782 mov a,r2 049D F2 1783 movx @r0,a 049E 1784 C$UM6.c$239$1$1 ==. 049E 1785 XG$read_accel_rawZ$0$0 ==. 049E 22 1786 ret 1787 ;------------------------------------------------------------ 1788 ;Allocation info for local variables in function 'read_euler_psi' 1789 ;------------------------------------------------------------ 1790 ;------------------------------------------------------------ 049F 1791 G$read_euler_psi$0$0 ==. 049F 1792 C$UM6.c$243$1$1 ==. 1793 ; apps/test_UM6_spi/../UM6.c:243: void read_euler_psi(){ 1794 ; ----------------------------------------- 1795 ; function read_euler_psi 1796 ; ----------------------------------------- 049F 1797 _read_euler_psi: 049F 1798 C$UM6.c$244$1$1 ==. 1799 ; apps/test_UM6_spi/../UM6.c:244: IMU_txdata[0] = 0; //read command 049F 90s00r00 1800 mov dptr,#_IMU_txdata 04A2 E4 1801 clr a 04A3 F0 1802 movx @dptr,a 04A4 1803 C$UM6.c$245$1$1 ==. 1804 ; apps/test_UM6_spi/../UM6.c:245: IMU_txdata[1] = 0x63; // address = accelrawz 04A4 90s00r01 1805 mov dptr,#(_IMU_txdata + 0x0001) 04A7 74 63 1806 mov a,#0x63 04A9 F0 1807 movx @dptr,a 04AA 1808 C$UM6.c$246$1$1 ==. 1809 ; apps/test_UM6_spi/../UM6.c:246: IMU_CSlow; 04AA C2 F0 1810 clr b[0] 04AC 85 F0*00 1811 mov bits,b 04AF 75 82 0E 1812 mov dpl,#0x0E 04B2 12s00r00 1813 lcall _setDigitalOutput 04B5 1814 C$UM6.c$247$1$1 ==. 1815 ; apps/test_UM6_spi/../UM6.c:247: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 04B5 78r00 1816 mov r0,#_spi1MasterTransfer_PARM_2 04B7 74r08 1817 mov a,#_IMU_rxdata 04B9 F2 1818 movx @r0,a 04BA 08 1819 inc r0 04BB 74s00 1820 mov a,#(_IMU_rxdata >> 8) 04BD F2 1821 movx @r0,a 04BE 78r00 1822 mov r0,#_spi1MasterTransfer_PARM_3 04C0 74 06 1823 mov a,#0x06 04C2 F2 1824 movx @r0,a 04C3 08 1825 inc r0 04C4 E4 1826 clr a 04C5 F2 1827 movx @r0,a 04C6 90s00r00 1828 mov dptr,#_IMU_txdata 04C9 12s00r00 1829 lcall _spi1MasterTransfer 04CC 1830 C$UM6.c$248$1$1 ==. 1831 ; apps/test_UM6_spi/../UM6.c:248: while(spi_UM6MasterBusy()){ } 04CC 1832 00101$: 04CC 12s00r00 1833 lcall _spi1MasterBusy 04CF 40 FB 1834 jc 00101$ 04D1 1835 C$UM6.c$249$1$1 ==. 1836 ; apps/test_UM6_spi/../UM6.c:249: IMU_CShigh; 04D1 D2 F0 1837 setb b[0] 04D3 85 F0*00 1838 mov bits,b 04D6 75 82 0E 1839 mov dpl,#0x0E 04D9 12s00r00 1840 lcall _setDigitalOutput 04DC 1841 C$UM6.c$250$1$1 ==. 1842 ; apps/test_UM6_spi/../UM6.c:250: euler_psi.temp[0] = IMU_rxdata[3]; 04DC 90s00r0B 1843 mov dptr,#(_IMU_rxdata + 0x0003) 04DF E0 1844 movx a,@dptr 04E0 FA 1845 mov r2,a 04E1 78r0C 1846 mov r0,#_euler_psi 04E3 EA 1847 mov a,r2 04E4 F2 1848 movx @r0,a 04E5 1849 C$UM6.c$251$1$1 ==. 1850 ; apps/test_UM6_spi/../UM6.c:251: euler_psi.temp[1] = IMU_rxdata[2]; 04E5 90s00r0A 1851 mov dptr,#(_IMU_rxdata + 0x0002) 04E8 E0 1852 movx a,@dptr 04E9 FA 1853 mov r2,a 04EA 78r0D 1854 mov r0,#(_euler_psi + 0x0001) 04EC EA 1855 mov a,r2 04ED F2 1856 movx @r0,a 04EE 1857 C$UM6.c$253$1$1 ==. 04EE 1858 XG$read_euler_psi$0$0 ==. 04EE 22 1859 ret 1860 ;------------------------------------------------------------ 1861 ;Allocation info for local variables in function 'read_euler_phi_theta' 1862 ;------------------------------------------------------------ 1863 ;------------------------------------------------------------ 04EF 1864 G$read_euler_phi_theta$0$0 ==. 04EF 1865 C$UM6.c$258$1$1 ==. 1866 ; apps/test_UM6_spi/../UM6.c:258: void read_euler_phi_theta(){ 1867 ; ----------------------------------------- 1868 ; function read_euler_phi_theta 1869 ; ----------------------------------------- 04EF 1870 _read_euler_phi_theta: 04EF 1871 C$UM6.c$259$1$1 ==. 1872 ; apps/test_UM6_spi/../UM6.c:259: IMU_txdata[0] = 0; //read command 04EF 90s00r00 1873 mov dptr,#_IMU_txdata 04F2 E4 1874 clr a 04F3 F0 1875 movx @dptr,a 04F4 1876 C$UM6.c$260$1$1 ==. 1877 ; apps/test_UM6_spi/../UM6.c:260: IMU_txdata[1] = 0x62; // address = accelrawz 04F4 90s00r01 1878 mov dptr,#(_IMU_txdata + 0x0001) 04F7 74 62 1879 mov a,#0x62 04F9 F0 1880 movx @dptr,a 04FA 1881 C$UM6.c$261$1$1 ==. 1882 ; apps/test_UM6_spi/../UM6.c:261: IMU_CSlow; 04FA C2 F0 1883 clr b[0] 04FC 85 F0*00 1884 mov bits,b 04FF 75 82 0E 1885 mov dpl,#0x0E 0502 12s00r00 1886 lcall _setDigitalOutput 0505 1887 C$UM6.c$262$1$1 ==. 1888 ; apps/test_UM6_spi/../UM6.c:262: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0505 78r00 1889 mov r0,#_spi1MasterTransfer_PARM_2 0507 74r08 1890 mov a,#_IMU_rxdata 0509 F2 1891 movx @r0,a 050A 08 1892 inc r0 050B 74s00 1893 mov a,#(_IMU_rxdata >> 8) 050D F2 1894 movx @r0,a 050E 78r00 1895 mov r0,#_spi1MasterTransfer_PARM_3 0510 74 06 1896 mov a,#0x06 0512 F2 1897 movx @r0,a 0513 08 1898 inc r0 0514 E4 1899 clr a 0515 F2 1900 movx @r0,a 0516 90s00r00 1901 mov dptr,#_IMU_txdata 0519 12s00r00 1902 lcall _spi1MasterTransfer 051C 1903 C$UM6.c$263$1$1 ==. 1904 ; apps/test_UM6_spi/../UM6.c:263: while(spi_UM6MasterBusy()){ } 051C 1905 00101$: 051C 12s00r00 1906 lcall _spi1MasterBusy 051F 40 FB 1907 jc 00101$ 0521 1908 C$UM6.c$264$1$1 ==. 1909 ; apps/test_UM6_spi/../UM6.c:264: IMU_CShigh; 0521 D2 F0 1910 setb b[0] 0523 85 F0*00 1911 mov bits,b 0526 75 82 0E 1912 mov dpl,#0x0E 0529 12s00r00 1913 lcall _setDigitalOutput 052C 1914 C$UM6.c$265$1$1 ==. 1915 ; apps/test_UM6_spi/../UM6.c:265: euler_phi.temp[0] = IMU_rxdata[3]; 052C 90s00r0B 1916 mov dptr,#(_IMU_rxdata + 0x0003) 052F E0 1917 movx a,@dptr 0530 FA 1918 mov r2,a 0531 78r0E 1919 mov r0,#_euler_phi 0533 EA 1920 mov a,r2 0534 F2 1921 movx @r0,a 0535 1922 C$UM6.c$266$1$1 ==. 1923 ; apps/test_UM6_spi/../UM6.c:266: euler_phi.temp[1] = IMU_rxdata[2]; 0535 90s00r0A 1924 mov dptr,#(_IMU_rxdata + 0x0002) 0538 E0 1925 movx a,@dptr 0539 FA 1926 mov r2,a 053A 78r0F 1927 mov r0,#(_euler_phi + 0x0001) 053C EA 1928 mov a,r2 053D F2 1929 movx @r0,a 053E 1930 C$UM6.c$267$1$1 ==. 1931 ; apps/test_UM6_spi/../UM6.c:267: euler_theta.temp[0] = IMU_rxdata[5]; 053E 90s00r0D 1932 mov dptr,#(_IMU_rxdata + 0x0005) 0541 E0 1933 movx a,@dptr 0542 FA 1934 mov r2,a 0543 78r10 1935 mov r0,#_euler_theta 0545 EA 1936 mov a,r2 0546 F2 1937 movx @r0,a 0547 1938 C$UM6.c$268$1$1 ==. 1939 ; apps/test_UM6_spi/../UM6.c:268: euler_theta.temp[1] = IMU_rxdata[4]; 0547 90s00r0C 1940 mov dptr,#(_IMU_rxdata + 0x0004) 054A E0 1941 movx a,@dptr 054B FA 1942 mov r2,a 054C 78r11 1943 mov r0,#(_euler_theta + 0x0001) 054E EA 1944 mov a,r2 054F F2 1945 movx @r0,a 0550 1946 C$UM6.c$270$1$1 ==. 0550 1947 XG$read_euler_phi_theta$0$0 ==. 0550 22 1948 ret 1949 ;------------------------------------------------------------ 1950 ;Allocation info for local variables in function 'read_accel_procZ' 1951 ;------------------------------------------------------------ 1952 ;------------------------------------------------------------ 0551 1953 G$read_accel_procZ$0$0 ==. 0551 1954 C$UM6.c$274$1$1 ==. 1955 ; apps/test_UM6_spi/../UM6.c:274: void read_accel_procZ(){ 1956 ; ----------------------------------------- 1957 ; function read_accel_procZ 1958 ; ----------------------------------------- 0551 1959 _read_accel_procZ: 0551 1960 C$UM6.c$275$1$1 ==. 1961 ; apps/test_UM6_spi/../UM6.c:275: IMU_txdata[0] = 0; //read command 0551 90s00r00 1962 mov dptr,#_IMU_txdata 0554 E4 1963 clr a 0555 F0 1964 movx @dptr,a 0556 1965 C$UM6.c$276$1$1 ==. 1966 ; apps/test_UM6_spi/../UM6.c:276: IMU_txdata[1] = 0x5f; // address of processed accelZ register 0556 90s00r01 1967 mov dptr,#(_IMU_txdata + 0x0001) 0559 74 5F 1968 mov a,#0x5F 055B F0 1969 movx @dptr,a 055C 1970 C$UM6.c$277$1$1 ==. 1971 ; apps/test_UM6_spi/../UM6.c:277: IMU_CSlow; 055C C2 F0 1972 clr b[0] 055E 85 F0*00 1973 mov bits,b 0561 75 82 0E 1974 mov dpl,#0x0E 0564 12s00r00 1975 lcall _setDigitalOutput 0567 1976 C$UM6.c$278$1$1 ==. 1977 ; apps/test_UM6_spi/../UM6.c:278: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0567 78r00 1978 mov r0,#_spi1MasterTransfer_PARM_2 0569 74r08 1979 mov a,#_IMU_rxdata 056B F2 1980 movx @r0,a 056C 08 1981 inc r0 056D 74s00 1982 mov a,#(_IMU_rxdata >> 8) 056F F2 1983 movx @r0,a 0570 78r00 1984 mov r0,#_spi1MasterTransfer_PARM_3 0572 74 06 1985 mov a,#0x06 0574 F2 1986 movx @r0,a 0575 08 1987 inc r0 0576 E4 1988 clr a 0577 F2 1989 movx @r0,a 0578 90s00r00 1990 mov dptr,#_IMU_txdata 057B 12s00r00 1991 lcall _spi1MasterTransfer 057E 1992 C$UM6.c$279$1$1 ==. 1993 ; apps/test_UM6_spi/../UM6.c:279: while(spi_UM6MasterBusy()){ } 057E 1994 00101$: 057E 12s00r00 1995 lcall _spi1MasterBusy 0581 40 FB 1996 jc 00101$ 0583 1997 C$UM6.c$280$1$1 ==. 1998 ; apps/test_UM6_spi/../UM6.c:280: IMU_CShigh; 0583 D2 F0 1999 setb b[0] 0585 85 F0*00 2000 mov bits,b 0588 75 82 0E 2001 mov dpl,#0x0E 058B 12s00r00 2002 lcall _setDigitalOutput 058E 2003 C$UM6.c$282$1$1 ==. 2004 ; apps/test_UM6_spi/../UM6.c:282: accelprocZ.temp[0] = IMU_rxdata[3]; 058E 90s00r0B 2005 mov dptr,#(_IMU_rxdata + 0x0003) 0591 E0 2006 movx a,@dptr 0592 FA 2007 mov r2,a 0593 78r04 2008 mov r0,#_accelprocZ 0595 EA 2009 mov a,r2 0596 F2 2010 movx @r0,a 0597 2011 C$UM6.c$283$1$1 ==. 2012 ; apps/test_UM6_spi/../UM6.c:283: accelprocZ.temp[1] = IMU_rxdata[2]; 0597 90s00r0A 2013 mov dptr,#(_IMU_rxdata + 0x0002) 059A E0 2014 movx a,@dptr 059B FA 2015 mov r2,a 059C 78r05 2016 mov r0,#(_accelprocZ + 0x0001) 059E EA 2017 mov a,r2 059F F2 2018 movx @r0,a 05A0 2019 C$UM6.c$285$1$1 ==. 05A0 2020 XG$read_accel_procZ$0$0 ==. 05A0 22 2021 ret 2022 ;------------------------------------------------------------ 2023 ;Allocation info for local variables in function 'read_gyro_procZ' 2024 ;------------------------------------------------------------ 2025 ;------------------------------------------------------------ 05A1 2026 G$read_gyro_procZ$0$0 ==. 05A1 2027 C$UM6.c$289$1$1 ==. 2028 ; apps/test_UM6_spi/../UM6.c:289: void read_gyro_procZ(){ 2029 ; ----------------------------------------- 2030 ; function read_gyro_procZ 2031 ; ----------------------------------------- 05A1 2032 _read_gyro_procZ: 05A1 2033 C$UM6.c$290$1$1 ==. 2034 ; apps/test_UM6_spi/../UM6.c:290: IMU_txdata[0] = 0; //read command 05A1 90s00r00 2035 mov dptr,#_IMU_txdata 05A4 E4 2036 clr a 05A5 F0 2037 movx @dptr,a 05A6 2038 C$UM6.c$291$1$1 ==. 2039 ; apps/test_UM6_spi/../UM6.c:291: IMU_txdata[1] = 0x5d; // address of processed gyroZ register 05A6 90s00r01 2040 mov dptr,#(_IMU_txdata + 0x0001) 05A9 74 5D 2041 mov a,#0x5D 05AB F0 2042 movx @dptr,a 05AC 2043 C$UM6.c$292$1$1 ==. 2044 ; apps/test_UM6_spi/../UM6.c:292: IMU_CSlow; 05AC C2 F0 2045 clr b[0] 05AE 85 F0*00 2046 mov bits,b 05B1 75 82 0E 2047 mov dpl,#0x0E 05B4 12s00r00 2048 lcall _setDigitalOutput 05B7 2049 C$UM6.c$293$1$1 ==. 2050 ; apps/test_UM6_spi/../UM6.c:293: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 05B7 78r00 2051 mov r0,#_spi1MasterTransfer_PARM_2 05B9 74r08 2052 mov a,#_IMU_rxdata 05BB F2 2053 movx @r0,a 05BC 08 2054 inc r0 05BD 74s00 2055 mov a,#(_IMU_rxdata >> 8) 05BF F2 2056 movx @r0,a 05C0 78r00 2057 mov r0,#_spi1MasterTransfer_PARM_3 05C2 74 06 2058 mov a,#0x06 05C4 F2 2059 movx @r0,a 05C5 08 2060 inc r0 05C6 E4 2061 clr a 05C7 F2 2062 movx @r0,a 05C8 90s00r00 2063 mov dptr,#_IMU_txdata 05CB 12s00r00 2064 lcall _spi1MasterTransfer 05CE 2065 C$UM6.c$294$1$1 ==. 2066 ; apps/test_UM6_spi/../UM6.c:294: while(spi_UM6MasterBusy()){ } 05CE 2067 00101$: 05CE 12s00r00 2068 lcall _spi1MasterBusy 05D1 40 FB 2069 jc 00101$ 05D3 2070 C$UM6.c$295$1$1 ==. 2071 ; apps/test_UM6_spi/../UM6.c:295: IMU_CShigh; 05D3 D2 F0 2072 setb b[0] 05D5 85 F0*00 2073 mov bits,b 05D8 75 82 0E 2074 mov dpl,#0x0E 05DB 12s00r00 2075 lcall _setDigitalOutput 05DE 2076 C$UM6.c$297$1$1 ==. 2077 ; apps/test_UM6_spi/../UM6.c:297: gyroprocZ.temp[0] = IMU_rxdata[3]; 05DE 90s00r0B 2078 mov dptr,#(_IMU_rxdata + 0x0003) 05E1 E0 2079 movx a,@dptr 05E2 FA 2080 mov r2,a 05E3 78r16 2081 mov r0,#_gyroprocZ 05E5 EA 2082 mov a,r2 05E6 F2 2083 movx @r0,a 05E7 2084 C$UM6.c$298$1$1 ==. 2085 ; apps/test_UM6_spi/../UM6.c:298: gyroprocZ.temp[1] = IMU_rxdata[2]; 05E7 90s00r0A 2086 mov dptr,#(_IMU_rxdata + 0x0002) 05EA E0 2087 movx a,@dptr 05EB FA 2088 mov r2,a 05EC 78r17 2089 mov r0,#(_gyroprocZ + 0x0001) 05EE EA 2090 mov a,r2 05EF F2 2091 movx @r0,a 05F0 2092 C$UM6.c$300$1$1 ==. 05F0 2093 XG$read_gyro_procZ$0$0 ==. 05F0 22 2094 ret 2095 ;------------------------------------------------------------ 2096 ;Allocation info for local variables in function 'read_accel_procXY' 2097 ;------------------------------------------------------------ 2098 ;------------------------------------------------------------ 05F1 2099 G$read_accel_procXY$0$0 ==. 05F1 2100 C$UM6.c$304$1$1 ==. 2101 ; apps/test_UM6_spi/../UM6.c:304: void read_accel_procXY(){ 2102 ; ----------------------------------------- 2103 ; function read_accel_procXY 2104 ; ----------------------------------------- 05F1 2105 _read_accel_procXY: 05F1 2106 C$UM6.c$305$1$1 ==. 2107 ; apps/test_UM6_spi/../UM6.c:305: IMU_txdata[0] = 0; //read command 05F1 90s00r00 2108 mov dptr,#_IMU_txdata 05F4 E4 2109 clr a 05F5 F0 2110 movx @dptr,a 05F6 2111 C$UM6.c$306$1$1 ==. 2112 ; apps/test_UM6_spi/../UM6.c:306: IMU_txdata[1] = 0x5E; // address = accelprocxy 05F6 90s00r01 2113 mov dptr,#(_IMU_txdata + 0x0001) 05F9 74 5E 2114 mov a,#0x5E 05FB F0 2115 movx @dptr,a 05FC 2116 C$UM6.c$307$1$1 ==. 2117 ; apps/test_UM6_spi/../UM6.c:307: IMU_CSlow; 05FC C2 F0 2118 clr b[0] 05FE 85 F0*00 2119 mov bits,b 0601 75 82 0E 2120 mov dpl,#0x0E 0604 12s00r00 2121 lcall _setDigitalOutput 0607 2122 C$UM6.c$308$1$1 ==. 2123 ; apps/test_UM6_spi/../UM6.c:308: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0607 78r00 2124 mov r0,#_spi1MasterTransfer_PARM_2 0609 74r08 2125 mov a,#_IMU_rxdata 060B F2 2126 movx @r0,a 060C 08 2127 inc r0 060D 74s00 2128 mov a,#(_IMU_rxdata >> 8) 060F F2 2129 movx @r0,a 0610 78r00 2130 mov r0,#_spi1MasterTransfer_PARM_3 0612 74 06 2131 mov a,#0x06 0614 F2 2132 movx @r0,a 0615 08 2133 inc r0 0616 E4 2134 clr a 0617 F2 2135 movx @r0,a 0618 90s00r00 2136 mov dptr,#_IMU_txdata 061B 12s00r00 2137 lcall _spi1MasterTransfer 061E 2138 C$UM6.c$309$1$1 ==. 2139 ; apps/test_UM6_spi/../UM6.c:309: while(spi_UM6MasterBusy()){ } 061E 2140 00101$: 061E 12s00r00 2141 lcall _spi1MasterBusy 0621 40 FB 2142 jc 00101$ 0623 2143 C$UM6.c$310$1$1 ==. 2144 ; apps/test_UM6_spi/../UM6.c:310: IMU_CShigh; 0623 D2 F0 2145 setb b[0] 0625 85 F0*00 2146 mov bits,b 0628 75 82 0E 2147 mov dpl,#0x0E 062B 12s00r00 2148 lcall _setDigitalOutput 062E 2149 C$UM6.c$312$1$1 ==. 2150 ; apps/test_UM6_spi/../UM6.c:312: accelprocX.temp[0] = IMU_rxdata[3]; 062E 90s00r0B 2151 mov dptr,#(_IMU_rxdata + 0x0003) 0631 E0 2152 movx a,@dptr 0632 FA 2153 mov r2,a 0633 78r02 2154 mov r0,#_accelprocX 0635 EA 2155 mov a,r2 0636 F2 2156 movx @r0,a 0637 2157 C$UM6.c$313$1$1 ==. 2158 ; apps/test_UM6_spi/../UM6.c:313: accelprocX.temp[1] = IMU_rxdata[2]; 0637 90s00r0A 2159 mov dptr,#(_IMU_rxdata + 0x0002) 063A E0 2160 movx a,@dptr 063B FA 2161 mov r2,a 063C 78r03 2162 mov r0,#(_accelprocX + 0x0001) 063E EA 2163 mov a,r2 063F F2 2164 movx @r0,a 0640 2165 C$UM6.c$314$1$1 ==. 2166 ; apps/test_UM6_spi/../UM6.c:314: accelprocY.temp[0] = IMU_rxdata[5]; 0640 90s00r0D 2167 mov dptr,#(_IMU_rxdata + 0x0005) 0643 E0 2168 movx a,@dptr 0644 FA 2169 mov r2,a 0645 78r00 2170 mov r0,#_accelprocY 0647 EA 2171 mov a,r2 0648 F2 2172 movx @r0,a 0649 2173 C$UM6.c$315$1$1 ==. 2174 ; apps/test_UM6_spi/../UM6.c:315: accelprocY.temp[1] = IMU_rxdata[4]; 0649 90s00r0C 2175 mov dptr,#(_IMU_rxdata + 0x0004) 064C E0 2176 movx a,@dptr 064D FA 2177 mov r2,a 064E 78r01 2178 mov r0,#(_accelprocY + 0x0001) 0650 EA 2179 mov a,r2 0651 F2 2180 movx @r0,a 0652 2181 C$UM6.c$318$1$1 ==. 0652 2182 XG$read_accel_procXY$0$0 ==. 0652 22 2183 ret 2184 ;------------------------------------------------------------ 2185 ;Allocation info for local variables in function 'read_gyro_procXY' 2186 ;------------------------------------------------------------ 2187 ;------------------------------------------------------------ 0653 2188 G$read_gyro_procXY$0$0 ==. 0653 2189 C$UM6.c$322$1$1 ==. 2190 ; apps/test_UM6_spi/../UM6.c:322: void read_gyro_procXY(){ 2191 ; ----------------------------------------- 2192 ; function read_gyro_procXY 2193 ; ----------------------------------------- 0653 2194 _read_gyro_procXY: 0653 2195 C$UM6.c$323$1$1 ==. 2196 ; apps/test_UM6_spi/../UM6.c:323: IMU_txdata[0] = 0; //read command 0653 90s00r00 2197 mov dptr,#_IMU_txdata 0656 E4 2198 clr a 0657 F0 2199 movx @dptr,a 0658 2200 C$UM6.c$324$1$1 ==. 2201 ; apps/test_UM6_spi/../UM6.c:324: IMU_txdata[1] = 0x5C; // address = accelprocxy 0658 90s00r01 2202 mov dptr,#(_IMU_txdata + 0x0001) 065B 74 5C 2203 mov a,#0x5C 065D F0 2204 movx @dptr,a 065E 2205 C$UM6.c$325$1$1 ==. 2206 ; apps/test_UM6_spi/../UM6.c:325: IMU_CSlow; 065E C2 F0 2207 clr b[0] 0660 85 F0*00 2208 mov bits,b 0663 75 82 0E 2209 mov dpl,#0x0E 0666 12s00r00 2210 lcall _setDigitalOutput 0669 2211 C$UM6.c$326$1$1 ==. 2212 ; apps/test_UM6_spi/../UM6.c:326: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 0669 78r00 2213 mov r0,#_spi1MasterTransfer_PARM_2 066B 74r08 2214 mov a,#_IMU_rxdata 066D F2 2215 movx @r0,a 066E 08 2216 inc r0 066F 74s00 2217 mov a,#(_IMU_rxdata >> 8) 0671 F2 2218 movx @r0,a 0672 78r00 2219 mov r0,#_spi1MasterTransfer_PARM_3 0674 74 06 2220 mov a,#0x06 0676 F2 2221 movx @r0,a 0677 08 2222 inc r0 0678 E4 2223 clr a 0679 F2 2224 movx @r0,a 067A 90s00r00 2225 mov dptr,#_IMU_txdata 067D 12s00r00 2226 lcall _spi1MasterTransfer 0680 2227 C$UM6.c$327$1$1 ==. 2228 ; apps/test_UM6_spi/../UM6.c:327: while(spi_UM6MasterBusy()){ } 0680 2229 00101$: 0680 12s00r00 2230 lcall _spi1MasterBusy 0683 40 FB 2231 jc 00101$ 0685 2232 C$UM6.c$328$1$1 ==. 2233 ; apps/test_UM6_spi/../UM6.c:328: IMU_CShigh; 0685 D2 F0 2234 setb b[0] 0687 85 F0*00 2235 mov bits,b 068A 75 82 0E 2236 mov dpl,#0x0E 068D 12s00r00 2237 lcall _setDigitalOutput 0690 2238 C$UM6.c$330$1$1 ==. 2239 ; apps/test_UM6_spi/../UM6.c:330: gyroprocX.temp[0] = IMU_rxdata[3]; 0690 90s00r0B 2240 mov dptr,#(_IMU_rxdata + 0x0003) 0693 E0 2241 movx a,@dptr 0694 FA 2242 mov r2,a 0695 78r14 2243 mov r0,#_gyroprocX 0697 EA 2244 mov a,r2 0698 F2 2245 movx @r0,a 0699 2246 C$UM6.c$331$1$1 ==. 2247 ; apps/test_UM6_spi/../UM6.c:331: gyroprocX.temp[1] = IMU_rxdata[2]; 0699 90s00r0A 2248 mov dptr,#(_IMU_rxdata + 0x0002) 069C E0 2249 movx a,@dptr 069D FA 2250 mov r2,a 069E 78r15 2251 mov r0,#(_gyroprocX + 0x0001) 06A0 EA 2252 mov a,r2 06A1 F2 2253 movx @r0,a 06A2 2254 C$UM6.c$332$1$1 ==. 2255 ; apps/test_UM6_spi/../UM6.c:332: gyroprocY.temp[0] = IMU_rxdata[5]; 06A2 90s00r0D 2256 mov dptr,#(_IMU_rxdata + 0x0005) 06A5 E0 2257 movx a,@dptr 06A6 FA 2258 mov r2,a 06A7 78r12 2259 mov r0,#_gyroprocY 06A9 EA 2260 mov a,r2 06AA F2 2261 movx @r0,a 06AB 2262 C$UM6.c$333$1$1 ==. 2263 ; apps/test_UM6_spi/../UM6.c:333: gyroprocY.temp[1] = IMU_rxdata[4]; 06AB 90s00r0C 2264 mov dptr,#(_IMU_rxdata + 0x0004) 06AE E0 2265 movx a,@dptr 06AF FA 2266 mov r2,a 06B0 78r13 2267 mov r0,#(_gyroprocY + 0x0001) 06B2 EA 2268 mov a,r2 06B3 F2 2269 movx @r0,a 06B4 2270 C$UM6.c$336$1$1 ==. 06B4 2271 XG$read_gyro_procXY$0$0 ==. 06B4 22 2272 ret 2273 ;------------------------------------------------------------ 2274 ;Allocation info for local variables in function 'UM6_flash_commit' 2275 ;------------------------------------------------------------ 2276 ;------------------------------------------------------------ 06B5 2277 G$UM6_flash_commit$0$0 ==. 06B5 2278 C$UM6.c$341$1$1 ==. 2279 ; apps/test_UM6_spi/../UM6.c:341: void UM6_flash_commit(){ 2280 ; ----------------------------------------- 2281 ; function UM6_flash_commit 2282 ; ----------------------------------------- 06B5 2283 _UM6_flash_commit: 06B5 2284 C$UM6.c$342$1$1 ==. 2285 ; apps/test_UM6_spi/../UM6.c:342: IMU_txdata[0] = 1; //write command 06B5 90s00r00 2286 mov dptr,#_IMU_txdata 06B8 74 01 2287 mov a,#0x01 06BA F0 2288 movx @dptr,a 06BB 2289 C$UM6.c$343$1$1 ==. 2290 ; apps/test_UM6_spi/../UM6.c:343: IMU_txdata[1] = 0xAB; // UM6_Flash_commit command (nothing is written to the register) 06BB 90s00r01 2291 mov dptr,#(_IMU_txdata + 0x0001) 06BE 74 AB 2292 mov a,#0xAB 06C0 F0 2293 movx @dptr,a 06C1 2294 C$UM6.c$344$1$1 ==. 2295 ; apps/test_UM6_spi/../UM6.c:344: IMU_CSlow; 06C1 C2 F0 2296 clr b[0] 06C3 85 F0*00 2297 mov bits,b 06C6 75 82 0E 2298 mov dpl,#0x0E 06C9 12s00r00 2299 lcall _setDigitalOutput 06CC 2300 C$UM6.c$345$1$1 ==. 2301 ; apps/test_UM6_spi/../UM6.c:345: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); 06CC 78r00 2302 mov r0,#_spi1MasterTransfer_PARM_2 06CE 74r08 2303 mov a,#_IMU_rxdata 06D0 F2 2304 movx @r0,a 06D1 08 2305 inc r0 06D2 74s00 2306 mov a,#(_IMU_rxdata >> 8) 06D4 F2 2307 movx @r0,a 06D5 78r00 2308 mov r0,#_spi1MasterTransfer_PARM_3 06D7 74 06 2309 mov a,#0x06 06D9 F2 2310 movx @r0,a 06DA 08 2311 inc r0 06DB E4 2312 clr a 06DC F2 2313 movx @r0,a 06DD 90s00r00 2314 mov dptr,#_IMU_txdata 06E0 12s00r00 2315 lcall _spi1MasterTransfer 06E3 2316 C$UM6.c$346$1$1 ==. 2317 ; apps/test_UM6_spi/../UM6.c:346: while(spi_UM6MasterBusy()){ } 06E3 2318 00101$: 06E3 12s00r00 2319 lcall _spi1MasterBusy 06E6 40 FB 2320 jc 00101$ 06E8 2321 C$UM6.c$347$1$1 ==. 2322 ; apps/test_UM6_spi/../UM6.c:347: IMU_CShigh; 06E8 D2 F0 2323 setb b[0] 06EA 85 F0*00 2324 mov bits,b 06ED 75 82 0E 2325 mov dpl,#0x0E 06F0 2326 C$UM6.c$348$1$1 ==. 06F0 2327 XG$UM6_flash_commit$0$0 ==. 06F0 02s00r00 2328 ljmp _setDigitalOutput 2329 ;------------------------------------------------------------ 2330 ;Allocation info for local variables in function 'updateLeds' 2331 ;------------------------------------------------------------ 2332 ;------------------------------------------------------------ 06F3 2333 G$updateLeds$0$0 ==. 06F3 2334 C$test_UM6_spi.c$54$1$1 ==. 2335 ; apps/test_UM6_spi/test_UM6_spi.c:54: void updateLeds() 2336 ; ----------------------------------------- 2337 ; function updateLeds 2338 ; ----------------------------------------- 06F3 2339 _updateLeds: 06F3 2340 C$test_UM6_spi.c$56$1$1 ==. 2341 ; apps/test_UM6_spi/test_UM6_spi.c:56: usbShowStatusWithGreenLed(); 06F3 2342 C$test_UM6_spi.c$59$1$1 ==. 06F3 2343 XG$updateLeds$0$0 ==. 06F3 02s00r00 2344 ljmp _usbShowStatusWithGreenLed 2345 ;------------------------------------------------------------ 2346 ;Allocation info for local variables in function 'putchar' 2347 ;------------------------------------------------------------ 2348 ;------------------------------------------------------------ 06F6 2349 G$putchar$0$0 ==. 06F6 2350 C$test_UM6_spi.c$63$1$1 ==. 2351 ; apps/test_UM6_spi/test_UM6_spi.c:63: void putchar(char c) 2352 ; ----------------------------------------- 2353 ; function putchar 2354 ; ----------------------------------------- 06F6 2355 _putchar: 06F6 AA 82 2356 mov r2,dpl 06F8 2357 C$test_UM6_spi.c$65$1$1 ==. 2358 ; apps/test_UM6_spi/test_UM6_spi.c:65: report[reportLength] = c; 06F8 E5*00 2359 mov a,_reportLength 06FA 24r00 2360 add a,#_report 06FC F5 82 2361 mov dpl,a 06FE E5*01 2362 mov a,(_reportLength + 1) 0700 34s00 2363 addc a,#(_report >> 8) 0702 F5 83 2364 mov dph,a 0704 EA 2365 mov a,r2 0705 F0 2366 movx @dptr,a 0706 2367 C$test_UM6_spi.c$66$1$1 ==. 2368 ; apps/test_UM6_spi/test_UM6_spi.c:66: reportLength++; 0706 05*00 2369 inc _reportLength 0708 E4 2370 clr a 0709 B5*00 02 2371 cjne a,_reportLength,00103$ 070C 05*01 2372 inc (_reportLength + 1) 070E 2373 00103$: 070E 2374 C$test_UM6_spi.c$67$1$1 ==. 070E 2375 XG$putchar$0$0 ==. 070E 22 2376 ret 2377 ;------------------------------------------------------------ 2378 ;Allocation info for local variables in function 'sendReportIfNeeded' 2379 ;------------------------------------------------------------ 2380 ;sloc0 Allocated with name '_sendReportIfNeeded_sloc0_1_0' 2381 ;------------------------------------------------------------ 070F 2382 G$sendReportIfNeeded$0$0 ==. 070F 2383 C$test_UM6_spi.c$71$1$1 ==. 2384 ; apps/test_UM6_spi/test_UM6_spi.c:71: void sendReportIfNeeded() 2385 ; ----------------------------------------- 2386 ; function sendReportIfNeeded 2387 ; ----------------------------------------- 070F 2388 _sendReportIfNeeded: 070F 2389 C$test_UM6_spi.c$79$1$1 ==. 2390 ; apps/test_UM6_spi/test_UM6_spi.c:79: if (getMs() - lastReport >= param_report_period_ms && reportLength == 0) 070F 12s00r00 2391 lcall _getMs 0712 AA 82 2392 mov r2,dpl 0714 AB 83 2393 mov r3,dph 0716 AC F0 2394 mov r4,b 0718 FD 2395 mov r5,a 0719 78r18 2396 mov r0,#_sendReportIfNeeded_lastReport_1_1 071B D3 2397 setb c 071C E2 2398 movx a,@r0 071D 9A 2399 subb a,r2 071E F4 2400 cpl a 071F B3 2401 cpl c 0720 F5*04 2402 mov _sendReportIfNeeded_sloc0_1_0,a 0722 B3 2403 cpl c 0723 08 2404 inc r0 0724 E2 2405 movx a,@r0 0725 9B 2406 subb a,r3 0726 F4 2407 cpl a 0727 B3 2408 cpl c 0728 F5*05 2409 mov (_sendReportIfNeeded_sloc0_1_0 + 1),a 072A B3 2410 cpl c 072B 08 2411 inc r0 072C E2 2412 movx a,@r0 072D 9C 2413 subb a,r4 072E F4 2414 cpl a 072F B3 2415 cpl c 0730 F5*06 2416 mov (_sendReportIfNeeded_sloc0_1_0 + 2),a 0732 B3 2417 cpl c 0733 08 2418 inc r0 0734 E2 2419 movx a,@r0 0735 9D 2420 subb a,r5 0736 F4 2421 cpl a 0737 F5*07 2422 mov (_sendReportIfNeeded_sloc0_1_0 + 3),a 0739 90s04r9F 2423 mov dptr,#_param_report_period_ms 073C E4 2424 clr a 073D 93 2425 movc a,@a+dptr 073E FE 2426 mov r6,a 073F 74 01 2427 mov a,#0x01 0741 93 2428 movc a,@a+dptr 0742 FF 2429 mov r7,a 0743 74 02 2430 mov a,#0x02 0745 93 2431 movc a,@a+dptr 0746 FA 2432 mov r2,a 0747 74 03 2433 mov a,#0x03 0749 93 2434 movc a,@a+dptr 074A FB 2435 mov r3,a 074B C3 2436 clr c 074C E5*04 2437 mov a,_sendReportIfNeeded_sloc0_1_0 074E 9E 2438 subb a,r6 074F E5*05 2439 mov a,(_sendReportIfNeeded_sloc0_1_0 + 1) 0751 9F 2440 subb a,r7 0752 E5*06 2441 mov a,(_sendReportIfNeeded_sloc0_1_0 + 2) 0754 9A 2442 subb a,r2 0755 E5*07 2443 mov a,(_sendReportIfNeeded_sloc0_1_0 + 3) 0757 9B 2444 subb a,r3 0758 50 03 2445 jnc 00121$ 075A 02s09r2F 2446 ljmp 00106$ 075D 2447 00121$: 075D E5*00 2448 mov a,_reportLength 075F 45*01 2449 orl a,(_reportLength + 1) 0761 60 03 2450 jz 00122$ 0763 02s09r2F 2451 ljmp 00106$ 0766 2452 00122$: 0766 2453 C$test_UM6_spi.c$81$2$2 ==. 2454 ; apps/test_UM6_spi/test_UM6_spi.c:81: lastReport = getMs(); 0766 12s00r00 2455 lcall _getMs 0769 AA 82 2456 mov r2,dpl 076B AB 83 2457 mov r3,dph 076D AC F0 2458 mov r4,b 076F FD 2459 mov r5,a 0770 78r18 2460 mov r0,#_sendReportIfNeeded_lastReport_1_1 0772 EA 2461 mov a,r2 0773 F2 2462 movx @r0,a 0774 08 2463 inc r0 0775 EB 2464 mov a,r3 0776 F2 2465 movx @r0,a 0777 08 2466 inc r0 0778 EC 2467 mov a,r4 0779 F2 2468 movx @r0,a 077A 08 2469 inc r0 077B ED 2470 mov a,r5 077C F2 2471 movx @r0,a 077D 2472 C$test_UM6_spi.c$82$2$2 ==. 2473 ; apps/test_UM6_spi/test_UM6_spi.c:82: reportBytesSent = 0; 077D E4 2474 clr a 077E F5*02 2475 mov _reportBytesSent,a 0780 F5*03 2476 mov (_reportBytesSent + 1),a 0782 2477 C$test_UM6_spi.c$83$2$2 ==. 2478 ; apps/test_UM6_spi/test_UM6_spi.c:83: if(count > 100){ 0782 78r1C 2479 mov r0,#_sendReportIfNeeded_count_1_1 0784 C3 2480 clr c 0785 E2 2481 movx a,@r0 0786 F5 F0 2482 mov b,a 0788 74 64 2483 mov a,#0x64 078A 95 F0 2484 subb a,b 078C 08 2485 inc r0 078D E2 2486 movx a,@r0 078E F5 F0 2487 mov b,a 0790 74 80 2488 mov a,#(0x00 ^ 0x80) 0792 63 F0 80 2489 xrl b,#0x80 0795 95 F0 2490 subb a,b 0797 50 06 2491 jnc 00102$ 0799 2492 C$test_UM6_spi.c$86$3$3 ==. 2493 ; apps/test_UM6_spi/test_UM6_spi.c:86: count = 0; 0799 78r1C 2494 mov r0,#_sendReportIfNeeded_count_1_1 079B E4 2495 clr a 079C F2 2496 movx @r0,a 079D 08 2497 inc r0 079E F2 2498 movx @r0,a 079F 2499 00102$: 079F 2500 C$test_UM6_spi.c$88$2$2 ==. 2501 ; apps/test_UM6_spi/test_UM6_spi.c:88: count++; 079F 78r1C 2502 mov r0,#_sendReportIfNeeded_count_1_1 07A1 E2 2503 movx a,@r0 07A2 24 01 2504 add a,#0x01 07A4 F2 2505 movx @r0,a 07A5 08 2506 inc r0 07A6 E2 2507 movx a,@r0 07A7 34 00 2508 addc a,#0x00 07A9 F2 2509 movx @r0,a 07AA 2510 C$test_UM6_spi.c$91$2$2 ==. 2511 ; apps/test_UM6_spi/test_UM6_spi.c:91: if (param_bar_graph) 07AA 90s04r9B 2512 mov dptr,#_param_bar_graph 07AD E4 2513 clr a 07AE 93 2514 movc a,@a+dptr 07AF FA 2515 mov r2,a 07B0 74 01 2516 mov a,#0x01 07B2 93 2517 movc a,@a+dptr 07B3 FB 2518 mov r3,a 07B4 74 02 2519 mov a,#0x02 07B6 93 2520 movc a,@a+dptr 07B7 FC 2521 mov r4,a 07B8 74 03 2522 mov a,#0x03 07BA 93 2523 movc a,@a+dptr 07BB FD 2524 mov r5,a 07BC EA 2525 mov a,r2 07BD 4B 2526 orl a,r3 07BE 4C 2527 orl a,r4 07BF 4D 2528 orl a,r5 07C0 70 03 2529 jnz 00124$ 07C2 02s09r1A 2530 ljmp 00104$ 07C5 2531 00124$: 07C5 2532 C$test_UM6_spi.c$93$3$4 ==. 2533 ; apps/test_UM6_spi/test_UM6_spi.c:93: printf("\x1B[0;0H"); // VT100 command for "go to 0,0" 07C5 74rA3 2534 mov a,#__str_28 07C7 C0 E0 2535 push acc 07C9 74s04 2536 mov a,#(__str_28 >> 8) 07CB C0 E0 2537 push acc 07CD 74 80 2538 mov a,#0x80 07CF C0 E0 2539 push acc 07D1 12s00r00 2540 lcall _printf 07D4 15 81 2541 dec sp 07D6 15 81 2542 dec sp 07D8 15 81 2543 dec sp 07DA 2544 C$test_UM6_spi.c$96$3$4 ==. 2545 ; apps/test_UM6_spi/test_UM6_spi.c:96: printf("accelrawZ is : %d \n",accelrawZ.val); 07DA 78r0A 2546 mov r0,#_accelrawZ 07DC E2 2547 movx a,@r0 07DD FA 2548 mov r2,a 07DE 08 2549 inc r0 07DF E2 2550 movx a,@r0 07E0 FB 2551 mov r3,a 07E1 C0 02 2552 push ar2 07E3 C0 03 2553 push ar3 07E5 74rAA 2554 mov a,#__str_29 07E7 C0 E0 2555 push acc 07E9 74s04 2556 mov a,#(__str_29 >> 8) 07EB C0 E0 2557 push acc 07ED 74 80 2558 mov a,#0x80 07EF C0 E0 2559 push acc 07F1 12s00r00 2560 lcall _printf 07F4 E5 81 2561 mov a,sp 07F6 24 FB 2562 add a,#0xfb 07F8 F5 81 2563 mov sp,a 07FA 2564 C$test_UM6_spi.c$97$3$4 ==. 2565 ; apps/test_UM6_spi/test_UM6_spi.c:97: printf("accelZ is : %d \n",accelprocZ.val); 07FA 78r04 2566 mov r0,#_accelprocZ 07FC E2 2567 movx a,@r0 07FD FA 2568 mov r2,a 07FE 08 2569 inc r0 07FF E2 2570 movx a,@r0 0800 FB 2571 mov r3,a 0801 C0 02 2572 push ar2 0803 C0 03 2573 push ar3 0805 74rBE 2574 mov a,#__str_30 0807 C0 E0 2575 push acc 0809 74s04 2576 mov a,#(__str_30 >> 8) 080B C0 E0 2577 push acc 080D 74 80 2578 mov a,#0x80 080F C0 E0 2579 push acc 0811 12s00r00 2580 lcall _printf 0814 E5 81 2581 mov a,sp 0816 24 FB 2582 add a,#0xfb 0818 F5 81 2583 mov sp,a 081A 2584 C$test_UM6_spi.c$98$3$4 ==. 2585 ; apps/test_UM6_spi/test_UM6_spi.c:98: printf("accelX is : %d \n",accelprocX.val); 081A 78r02 2586 mov r0,#_accelprocX 081C E2 2587 movx a,@r0 081D FA 2588 mov r2,a 081E 08 2589 inc r0 081F E2 2590 movx a,@r0 0820 FB 2591 mov r3,a 0821 C0 02 2592 push ar2 0823 C0 03 2593 push ar3 0825 74rCF 2594 mov a,#__str_31 0827 C0 E0 2595 push acc 0829 74s04 2596 mov a,#(__str_31 >> 8) 082B C0 E0 2597 push acc 082D 74 80 2598 mov a,#0x80 082F C0 E0 2599 push acc 0831 12s00r00 2600 lcall _printf 0834 E5 81 2601 mov a,sp 0836 24 FB 2602 add a,#0xfb 0838 F5 81 2603 mov sp,a 083A 2604 C$test_UM6_spi.c$99$3$4 ==. 2605 ; apps/test_UM6_spi/test_UM6_spi.c:99: printf("accelY is : %d \n",accelprocY.val); 083A 78r00 2606 mov r0,#_accelprocY 083C E2 2607 movx a,@r0 083D FA 2608 mov r2,a 083E 08 2609 inc r0 083F E2 2610 movx a,@r0 0840 FB 2611 mov r3,a 0841 C0 02 2612 push ar2 0843 C0 03 2613 push ar3 0845 74rE0 2614 mov a,#__str_32 0847 C0 E0 2615 push acc 0849 74s04 2616 mov a,#(__str_32 >> 8) 084B C0 E0 2617 push acc 084D 74 80 2618 mov a,#0x80 084F C0 E0 2619 push acc 0851 12s00r00 2620 lcall _printf 0854 E5 81 2621 mov a,sp 0856 24 FB 2622 add a,#0xfb 0858 F5 81 2623 mov sp,a 085A 2624 C$test_UM6_spi.c$100$3$4 ==. 2625 ; apps/test_UM6_spi/test_UM6_spi.c:100: printf("gyroZ is : %d \n",gyroprocZ.val); 085A 78r16 2626 mov r0,#_gyroprocZ 085C E2 2627 movx a,@r0 085D FA 2628 mov r2,a 085E 08 2629 inc r0 085F E2 2630 movx a,@r0 0860 FB 2631 mov r3,a 0861 C0 02 2632 push ar2 0863 C0 03 2633 push ar3 0865 74rF1 2634 mov a,#__str_33 0867 C0 E0 2635 push acc 0869 74s04 2636 mov a,#(__str_33 >> 8) 086B C0 E0 2637 push acc 086D 74 80 2638 mov a,#0x80 086F C0 E0 2639 push acc 0871 12s00r00 2640 lcall _printf 0874 E5 81 2641 mov a,sp 0876 24 FB 2642 add a,#0xfb 0878 F5 81 2643 mov sp,a 087A 2644 C$test_UM6_spi.c$101$3$4 ==. 2645 ; apps/test_UM6_spi/test_UM6_spi.c:101: printf("gyroX is : %d \n",gyroprocX.val); 087A 78r14 2646 mov r0,#_gyroprocX 087C E2 2647 movx a,@r0 087D FA 2648 mov r2,a 087E 08 2649 inc r0 087F E2 2650 movx a,@r0 0880 FB 2651 mov r3,a 0881 C0 02 2652 push ar2 0883 C0 03 2653 push ar3 0885 74r01 2654 mov a,#__str_34 0887 C0 E0 2655 push acc 0889 74s05 2656 mov a,#(__str_34 >> 8) 088B C0 E0 2657 push acc 088D 74 80 2658 mov a,#0x80 088F C0 E0 2659 push acc 0891 12s00r00 2660 lcall _printf 0894 E5 81 2661 mov a,sp 0896 24 FB 2662 add a,#0xfb 0898 F5 81 2663 mov sp,a 089A 2664 C$test_UM6_spi.c$102$3$4 ==. 2665 ; apps/test_UM6_spi/test_UM6_spi.c:102: printf("gyroY is : %d \n",gyroprocY.val); 089A 78r12 2666 mov r0,#_gyroprocY 089C E2 2667 movx a,@r0 089D FA 2668 mov r2,a 089E 08 2669 inc r0 089F E2 2670 movx a,@r0 08A0 FB 2671 mov r3,a 08A1 C0 02 2672 push ar2 08A3 C0 03 2673 push ar3 08A5 74r11 2674 mov a,#__str_35 08A7 C0 E0 2675 push acc 08A9 74s05 2676 mov a,#(__str_35 >> 8) 08AB C0 E0 2677 push acc 08AD 74 80 2678 mov a,#0x80 08AF C0 E0 2679 push acc 08B1 12s00r00 2680 lcall _printf 08B4 E5 81 2681 mov a,sp 08B6 24 FB 2682 add a,#0xfb 08B8 F5 81 2683 mov sp,a 08BA 2684 C$test_UM6_spi.c$103$3$4 ==. 2685 ; apps/test_UM6_spi/test_UM6_spi.c:103: printf("euler_psi is : %d \n",euler_psi.val); 08BA 78r0C 2686 mov r0,#_euler_psi 08BC E2 2687 movx a,@r0 08BD FA 2688 mov r2,a 08BE 08 2689 inc r0 08BF E2 2690 movx a,@r0 08C0 FB 2691 mov r3,a 08C1 C0 02 2692 push ar2 08C3 C0 03 2693 push ar3 08C5 74r21 2694 mov a,#__str_36 08C7 C0 E0 2695 push acc 08C9 74s05 2696 mov a,#(__str_36 >> 8) 08CB C0 E0 2697 push acc 08CD 74 80 2698 mov a,#0x80 08CF C0 E0 2699 push acc 08D1 12s00r00 2700 lcall _printf 08D4 E5 81 2701 mov a,sp 08D6 24 FB 2702 add a,#0xfb 08D8 F5 81 2703 mov sp,a 08DA 2704 C$test_UM6_spi.c$104$3$4 ==. 2705 ; apps/test_UM6_spi/test_UM6_spi.c:104: printf("euler_phi is : %d \n",euler_phi.val); 08DA 78r0E 2706 mov r0,#_euler_phi 08DC E2 2707 movx a,@r0 08DD FA 2708 mov r2,a 08DE 08 2709 inc r0 08DF E2 2710 movx a,@r0 08E0 FB 2711 mov r3,a 08E1 C0 02 2712 push ar2 08E3 C0 03 2713 push ar3 08E5 74r35 2714 mov a,#__str_37 08E7 C0 E0 2715 push acc 08E9 74s05 2716 mov a,#(__str_37 >> 8) 08EB C0 E0 2717 push acc 08ED 74 80 2718 mov a,#0x80 08EF C0 E0 2719 push acc 08F1 12s00r00 2720 lcall _printf 08F4 E5 81 2721 mov a,sp 08F6 24 FB 2722 add a,#0xfb 08F8 F5 81 2723 mov sp,a 08FA 2724 C$test_UM6_spi.c$105$3$4 ==. 2725 ; apps/test_UM6_spi/test_UM6_spi.c:105: printf("euler_theta is : %d \n",euler_theta.val); 08FA 78r10 2726 mov r0,#_euler_theta 08FC E2 2727 movx a,@r0 08FD FA 2728 mov r2,a 08FE 08 2729 inc r0 08FF E2 2730 movx a,@r0 0900 FB 2731 mov r3,a 0901 C0 02 2732 push ar2 0903 C0 03 2733 push ar3 0905 74r49 2734 mov a,#__str_38 0907 C0 E0 2735 push acc 0909 74s05 2736 mov a,#(__str_38 >> 8) 090B C0 E0 2737 push acc 090D 74 80 2738 mov a,#0x80 090F C0 E0 2739 push acc 0911 12s00r00 2740 lcall _printf 0914 E5 81 2741 mov a,sp 0916 24 FB 2742 add a,#0xfb 0918 F5 81 2743 mov sp,a 091A 2744 00104$: 091A 2745 C$test_UM6_spi.c$111$2$2 ==. 2746 ; apps/test_UM6_spi/test_UM6_spi.c:111: read_accel_procXY(); 091A 12s05rF1 2747 lcall _read_accel_procXY 091D 2748 C$test_UM6_spi.c$112$2$2 ==. 2749 ; apps/test_UM6_spi/test_UM6_spi.c:112: read_accel_procZ(); 091D 12s05r51 2750 lcall _read_accel_procZ 0920 2751 C$test_UM6_spi.c$113$2$2 ==. 2752 ; apps/test_UM6_spi/test_UM6_spi.c:113: read_gyro_procXY(); 0920 12s06r53 2753 lcall _read_gyro_procXY 0923 2754 C$test_UM6_spi.c$114$2$2 ==. 2755 ; apps/test_UM6_spi/test_UM6_spi.c:114: read_gyro_procZ(); 0923 12s05rA1 2756 lcall _read_gyro_procZ 0926 2757 C$test_UM6_spi.c$115$2$2 ==. 2758 ; apps/test_UM6_spi/test_UM6_spi.c:115: read_accel_rawZ(); 0926 12s04r4F 2759 lcall _read_accel_rawZ 0929 2760 C$test_UM6_spi.c$116$2$2 ==. 2761 ; apps/test_UM6_spi/test_UM6_spi.c:116: read_euler_psi(); 0929 12s04r9F 2762 lcall _read_euler_psi 092C 2763 C$test_UM6_spi.c$117$2$2 ==. 2764 ; apps/test_UM6_spi/test_UM6_spi.c:117: read_euler_phi_theta(); 092C 12s04rEF 2765 lcall _read_euler_phi_theta 092F 2766 00106$: 092F 2767 C$test_UM6_spi.c$121$1$1 ==. 2768 ; apps/test_UM6_spi/test_UM6_spi.c:121: if (reportLength > 0) 092F E5*00 2769 mov a,_reportLength 0931 45*01 2770 orl a,(_reportLength + 1) 0933 60 5D 2771 jz 00113$ 0935 2772 C$test_UM6_spi.c$123$2$5 ==. 2773 ; apps/test_UM6_spi/test_UM6_spi.c:123: bytesToSend = usbComTxAvailable(); 0935 12s00r00 2774 lcall _usbComTxAvailable 0938 AA 82 2775 mov r2,dpl 093A 2776 C$test_UM6_spi.c$124$2$5 ==. 2777 ; apps/test_UM6_spi/test_UM6_spi.c:124: if (bytesToSend > reportLength - reportBytesSent) 093A E5*00 2778 mov a,_reportLength 093C C3 2779 clr c 093D 95*02 2780 subb a,_reportBytesSent 093F FB 2781 mov r3,a 0940 E5*01 2782 mov a,(_reportLength + 1) 0942 95*03 2783 subb a,(_reportBytesSent + 1) 0944 FC 2784 mov r4,a 0945 8A 05 2785 mov ar5,r2 0947 7E 00 2786 mov r6,#0x00 0949 C3 2787 clr c 094A EB 2788 mov a,r3 094B 9D 2789 subb a,r5 094C EC 2790 mov a,r4 094D 9E 2791 subb a,r6 094E 50 1F 2792 jnc 00109$ 0950 2793 C$test_UM6_spi.c$127$3$6 ==. 2794 ; apps/test_UM6_spi/test_UM6_spi.c:127: usbComTxSend(report+reportBytesSent, reportLength - reportBytesSent); 0950 E5*02 2795 mov a,_reportBytesSent 0952 24r00 2796 add a,#_report 0954 F5 82 2797 mov dpl,a 0956 E5*03 2798 mov a,(_reportBytesSent + 1) 0958 34s00 2799 addc a,#(_report >> 8) 095A F5 83 2800 mov dph,a 095C AB*00 2801 mov r3,_reportLength 095E AC*02 2802 mov r4,_reportBytesSent 0960 EB 2803 mov a,r3 0961 C3 2804 clr c 0962 9C 2805 subb a,r4 0963 78r00 2806 mov r0,#_usbComTxSend_PARM_2 0965 F2 2807 movx @r0,a 0966 12s00r00 2808 lcall _usbComTxSend 0969 2809 C$test_UM6_spi.c$128$3$6 ==. 2810 ; apps/test_UM6_spi/test_UM6_spi.c:128: reportLength = 0; 0969 E4 2811 clr a 096A F5*00 2812 mov _reportLength,a 096C F5*01 2813 mov (_reportLength + 1),a 096E 22 2814 ret 096F 2815 00109$: 096F 2816 C$test_UM6_spi.c$132$3$7 ==. 2817 ; apps/test_UM6_spi/test_UM6_spi.c:132: usbComTxSend(report+reportBytesSent, bytesToSend); 096F E5*02 2818 mov a,_reportBytesSent 0971 24r00 2819 add a,#_report 0973 F5 82 2820 mov dpl,a 0975 E5*03 2821 mov a,(_reportBytesSent + 1) 0977 34s00 2822 addc a,#(_report >> 8) 0979 F5 83 2823 mov dph,a 097B 78r00 2824 mov r0,#_usbComTxSend_PARM_2 097D EA 2825 mov a,r2 097E F2 2826 movx @r0,a 097F C0 02 2827 push ar2 0981 12s00r00 2828 lcall _usbComTxSend 0984 D0 02 2829 pop ar2 0986 2830 C$test_UM6_spi.c$133$3$7 ==. 2831 ; apps/test_UM6_spi/test_UM6_spi.c:133: reportBytesSent += bytesToSend; 0986 7B 00 2832 mov r3,#0x00 0988 EA 2833 mov a,r2 0989 25*02 2834 add a,_reportBytesSent 098B F5*02 2835 mov _reportBytesSent,a 098D EB 2836 mov a,r3 098E 35*03 2837 addc a,(_reportBytesSent + 1) 0990 F5*03 2838 mov (_reportBytesSent + 1),a 0992 2839 00113$: 0992 2840 C$test_UM6_spi.c$137$2$1 ==. 0992 2841 XG$sendReportIfNeeded$0$0 ==. 0992 22 2842 ret 2843 ;------------------------------------------------------------ 2844 ;Allocation info for local variables in function 'main' 2845 ;------------------------------------------------------------ 2846 ;------------------------------------------------------------ 0993 2847 G$main$0$0 ==. 0993 2848 C$test_UM6_spi.c$141$2$1 ==. 2849 ; apps/test_UM6_spi/test_UM6_spi.c:141: void main() 2850 ; ----------------------------------------- 2851 ; function main 2852 ; ----------------------------------------- 0993 2853 _main: 0993 2854 C$test_UM6_spi.c$143$1$1 ==. 2855 ; apps/test_UM6_spi/test_UM6_spi.c:143: systemInit(); 0993 12s00r00 2856 lcall _systemInit 0996 2857 C$test_UM6_spi.c$144$1$1 ==. 2858 ; apps/test_UM6_spi/test_UM6_spi.c:144: usbInit(); 0996 12s00r00 2859 lcall _usbInit 0999 2860 C$test_UM6_spi.c$146$1$1 ==. 2861 ; apps/test_UM6_spi/test_UM6_spi.c:146: spi_UM6_init(); // Initialize SPI for communicating with UM6 0999 12s00r00 2862 lcall _spi_UM6_init 099C 2863 C$test_UM6_spi.c$147$1$1 ==. 2864 ; apps/test_UM6_spi/test_UM6_spi.c:147: Zero_Gyros(); 099C 12s03rC0 2865 lcall _Zero_Gyros 099F 2866 C$test_UM6_spi.c$150$1$1 ==. 2867 ; apps/test_UM6_spi/test_UM6_spi.c:150: while(1) 099F 2868 00102$: 099F 2869 C$test_UM6_spi.c$152$2$2 ==. 2870 ; apps/test_UM6_spi/test_UM6_spi.c:152: boardService(); //Checks to see if the yellow LED line (P2_2) is connected to 3V3. If they are connected, then it starts the bootloader by calling boardStartBootloader. This function is called by boardService. If you call this function regularly, then it provides a relatively easy way to get into bootloader mode if you can't do it with a USB command. Currently this function only works while the yellow LED is off. 099F 12s00r00 2871 lcall _boardService 09A2 2872 C$test_UM6_spi.c$153$2$2 ==. 2873 ; apps/test_UM6_spi/test_UM6_spi.c:153: updateLeds(); 09A2 12s06rF3 2874 lcall _updateLeds 09A5 2875 C$test_UM6_spi.c$154$2$2 ==. 2876 ; apps/test_UM6_spi/test_UM6_spi.c:154: usbComService(); 09A5 12s00r00 2877 lcall _usbComService 09A8 2878 C$test_UM6_spi.c$159$2$2 ==. 2879 ; apps/test_UM6_spi/test_UM6_spi.c:159: sendReportIfNeeded(); 09A8 12s07r0F 2880 lcall _sendReportIfNeeded 09AB 2881 C$test_UM6_spi.c$161$1$1 ==. 09AB 2882 XG$main$0$0 ==. 09AB 80 F2 2883 sjmp 00102$ 2884 .area CSEG (CODE) 2885 .area CONST (CODE) 0000 2886 Ftest_UM6_spi$_str_0$0$0 == . 0000 2887 __str_0: 0000 42 72 6F 61 64 63 2888 .ascii "Broadcast mode ENABLED " 61 73 74 20 6D 6F 64 65 20 45 4E 41 42 4C 45 44 20 0017 0A 2889 .db 0x0A 0018 00 2890 .db 0x00 0019 2891 Ftest_UM6_spi$_str_1$0$0 == . 0019 2892 __str_1: 0019 42 72 6F 61 64 63 2893 .ascii "Broadcast mode DISABLED " 61 73 74 20 6D 6F 64 65 20 44 49 53 41 42 4C 45 44 20 0031 0A 2894 .db 0x0A 0032 00 2895 .db 0x00 0033 2896 Ftest_UM6_spi$_str_2$0$0 == . 0033 2897 __str_2: 0033 52 61 77 20 47 79 2898 .ascii "Raw Gyro data transmission ENABLED " 72 6F 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 0056 0A 2899 .db 0x0A 0057 00 2900 .db 0x00 0058 2901 Ftest_UM6_spi$_str_3$0$0 == . 0058 2902 __str_3: 0058 52 61 77 20 47 79 2903 .ascii "Raw Gyro data transmission DISABLED " 72 6F 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 007C 0A 2904 .db 0x0A 007D 00 2905 .db 0x00 007E 2906 Ftest_UM6_spi$_str_4$0$0 == . 007E 2907 __str_4: 007E 52 61 77 20 61 63 2908 .ascii "Raw accelerometer data transmission ENABLED " 63 65 6C 65 72 6F 6D 65 74 65 72 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 00AA 0A 2909 .db 0x0A 00AB 00 2910 .db 0x00 00AC 2911 Ftest_UM6_spi$_str_5$0$0 == . 00AC 2912 __str_5: 00AC 52 61 77 20 61 63 2913 .ascii "Raw accelerometer data transmission DISABLED " 63 65 6C 65 72 6F 6D 65 74 65 72 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 00D9 0A 2914 .db 0x0A 00DA 00 2915 .db 0x00 00DB 2916 Ftest_UM6_spi$_str_6$0$0 == . 00DB 2917 __str_6: 00DB 52 61 77 20 6D 61 2918 .ascii "Raw magnetometer data transmission ENABLED " 67 6E 65 74 6F 6D 65 74 65 72 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 0106 0A 2919 .db 0x0A 0107 00 2920 .db 0x00 0108 2921 Ftest_UM6_spi$_str_7$0$0 == . 0108 2922 __str_7: 0108 52 61 77 20 6D 61 2923 .ascii "Raw magnetometer data transmission DISABLED " 67 6E 65 74 6F 6D 65 74 65 72 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 0134 0A 2924 .db 0x0A 0135 00 2925 .db 0x00 0136 2926 Ftest_UM6_spi$_str_8$0$0 == . 0136 2927 __str_8: 0136 50 72 6F 63 65 73 2928 .ascii "Processed Gyro data transmission ENABLED " 73 65 64 20 47 79 72 6F 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 015F 0A 2929 .db 0x0A 0160 00 2930 .db 0x00 0161 2931 Ftest_UM6_spi$_str_9$0$0 == . 0161 2932 __str_9: 0161 50 72 6F 63 65 73 2933 .ascii "Processed Gyro data transmission DISABLED " 73 65 64 20 47 79 72 6F 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 018B 0A 2934 .db 0x0A 018C 00 2935 .db 0x00 018D 2936 Ftest_UM6_spi$_str_10$0$0 == . 018D 2937 __str_10: 018D 50 72 6F 63 65 73 2938 .ascii "Processed accelerometer data transmission ENABLED " 73 65 64 20 61 63 63 65 6C 65 72 6F 6D 65 74 65 72 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 01BF 0A 2939 .db 0x0A 01C0 00 2940 .db 0x00 01C1 2941 Ftest_UM6_spi$_str_11$0$0 == . 01C1 2942 __str_11: 01C1 50 72 6F 63 65 73 2943 .ascii "Processed accelerometer data transmission DISABLED " 73 65 64 20 61 63 63 65 6C 65 72 6F 6D 65 74 65 72 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 01F4 0A 2944 .db 0x0A 01F5 00 2945 .db 0x00 01F6 2946 Ftest_UM6_spi$_str_12$0$0 == . 01F6 2947 __str_12: 01F6 50 72 6F 63 65 73 2948 .ascii "Processed magnetometer data transmission ENABLED " 73 65 64 20 6D 61 67 6E 65 74 6F 6D 65 74 65 72 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 0227 0A 2949 .db 0x0A 0228 00 2950 .db 0x00 0229 2951 Ftest_UM6_spi$_str_13$0$0 == . 0229 2952 __str_13: 0229 50 72 6F 63 65 73 2953 .ascii "Processed magnetometer data transmission DISABLED " 73 65 64 20 6D 61 67 6E 65 74 6F 6D 65 74 65 72 20 64 61 74 61 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 025B 0A 2954 .db 0x0A 025C 00 2955 .db 0x00 025D 2956 Ftest_UM6_spi$_str_14$0$0 == . 025D 2957 __str_14: 025D 51 75 61 74 20 74 2958 .ascii "Quat transmission ENABLED " 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 0277 0A 2959 .db 0x0A 0278 00 2960 .db 0x00 0279 2961 Ftest_UM6_spi$_str_15$0$0 == . 0279 2962 __str_15: 0279 51 75 61 74 20 74 2963 .ascii "Quat transmission DISABLED " 72 61 6E 73 6D 69 73 73 69 6F 6E 20 20 44 49 53 41 42 4C 45 44 20 0295 0A 2964 .db 0x0A 0296 00 2965 .db 0x00 0297 2966 Ftest_UM6_spi$_str_16$0$0 == . 0297 2967 __str_16: 0297 45 75 6C 65 72 20 2968 .ascii "Euler angle transmission ENABLED " 61 6E 67 6C 65 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 02B8 0A 2969 .db 0x0A 02B9 00 2970 .db 0x00 02BA 2971 Ftest_UM6_spi$_str_17$0$0 == . 02BA 2972 __str_17: 02BA 45 75 6C 65 72 20 2973 .ascii "Euler angle transmission DISABLED " 61 6E 67 6C 65 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 02DC 0A 2974 .db 0x0A 02DD 00 2975 .db 0x00 02DE 2976 Ftest_UM6_spi$_str_18$0$0 == . 02DE 2977 __str_18: 02DE 43 4F 56 20 6D 61 2978 .ascii "COV mat transmission ENABLED " 74 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 45 4E 41 42 4C 45 44 20 02FB 0A 2979 .db 0x0A 02FC 00 2980 .db 0x00 02FD 2981 Ftest_UM6_spi$_str_19$0$0 == . 02FD 2982 __str_19: 02FD 43 4F 56 20 6D 61 2983 .ascii "COV mat transmission DISABLED " 74 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 031B 0A 2984 .db 0x0A 031C 00 2985 .db 0x00 031D 2986 Ftest_UM6_spi$_str_20$0$0 == . 031D 2987 __str_20: 031D 45 4B 46 20 6D 61 2988 .ascii "EKF magnetometer updates (yaw correction) ENABLED " 67 6E 65 74 6F 6D 65 74 65 72 20 75 70 64 61 74 65 73 20 28 79 61 77 20 63 6F 72 72 65 63 74 69 6F 6E 29 20 45 4E 41 42 4C 45 44 20 034F 0A 2989 .db 0x0A 0350 00 2990 .db 0x00 0351 2991 Ftest_UM6_spi$_str_21$0$0 == . 0351 2992 __str_21: 0351 45 4B 46 20 6D 61 2993 .ascii "EKF magnetometer updates (yaw correction) DISABLED " 67 6E 65 74 6F 6D 65 74 65 72 20 75 70 64 61 74 65 73 20 28 79 61 77 20 63 6F 72 72 65 63 74 69 6F 6E 29 20 44 49 53 41 42 4C 45 44 20 0384 0A 2994 .db 0x0A 0385 00 2995 .db 0x00 0386 2996 Ftest_UM6_spi$_str_22$0$0 == . 0386 2997 __str_22: 0386 45 4B 46 20 61 63 2998 .ascii "EKF accelerometer updates (roll & pitch correction) ENABLED " 63 65 6C 65 72 6F 6D 65 74 65 72 20 75 70 64 61 74 65 73 20 28 72 6F 6C 6C 20 26 20 70 69 74 63 68 20 63 6F 72 72 65 63 74 69 6F 6E 29 20 45 4E 41 42 4C 45 44 20 03C2 0A 2999 .db 0x0A 03C3 00 3000 .db 0x00 03C4 3001 Ftest_UM6_spi$_str_23$0$0 == . 03C4 3002 __str_23: 03C4 45 4B 46 20 61 63 3003 .ascii "EKF accelerometer updates (roll & pitch correction) DISABLED" 63 65 6C 65 72 6F 6D 65 74 65 72 20 75 70 64 61 74 65 73 20 28 72 6F 6C 6C 20 26 20 70 69 74 63 68 20 63 6F 72 72 65 63 74 69 6F 6E 29 20 44 49 53 41 42 4C 45 44 0400 20 3004 .ascii " " 0401 0A 3005 .db 0x0A 0402 00 3006 .db 0x00 0403 3007 Ftest_UM6_spi$_str_24$0$0 == . 0403 3008 __str_24: 0403 53 74 61 72 74 75 3009 .ascii "Startup Gyro Calibration ENABLED " 70 20 47 79 72 6F 20 43 61 6C 69 62 72 61 74 69 6F 6E 20 45 4E 41 42 4C 45 44 20 0424 0A 3010 .db 0x0A 0425 00 3011 .db 0x00 0426 3012 Ftest_UM6_spi$_str_25$0$0 == . 0426 3013 __str_25: 0426 53 74 61 72 74 75 3014 .ascii "Startup Gyro Calibration DISABLED " 70 20 47 79 72 6F 20 43 61 6C 69 62 72 61 74 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 0448 0A 3015 .db 0x0A 0449 00 3016 .db 0x00 044A 3017 Ftest_UM6_spi$_str_26$0$0 == . 044A 3018 __str_26: 044A 51 75 61 74 65 72 3019 .ascii "Quaternion state estimation ENABLED " 6E 69 6F 6E 20 73 74 61 74 65 20 65 73 74 69 6D 61 74 69 6F 6E 20 45 4E 41 42 4C 45 44 20 046E 0A 3020 .db 0x0A 046F 00 3021 .db 0x00 0470 3022 Ftest_UM6_spi$_str_27$0$0 == . 0470 3023 __str_27: 0470 51 75 61 74 65 72 3024 .ascii "Quaternion state estimation DISABLED " 6E 69 6F 6E 20 73 74 61 74 65 20 65 73 74 69 6D 61 74 69 6F 6E 20 44 49 53 41 42 4C 45 44 20 0495 0A 3025 .db 0x0A 0496 00 3026 .db 0x00 0497 3027 G$param_input_mode$0$0 == . 0497 3028 _param_input_mode: 0497 00 00 00 00 3029 .byte #0x00,#0x00,#0x00,#0x00 ; 0 049B 3030 G$param_bar_graph$0$0 == . 049B 3031 _param_bar_graph: 049B 01 00 00 00 3032 .byte #0x01,#0x00,#0x00,#0x00 ; 1 049F 3033 G$param_report_period_ms$0$0 == . 049F 3034 _param_report_period_ms: 049F 28 00 00 00 3035 .byte #0x28,#0x00,#0x00,#0x00 ; 40 04A3 3036 Ftest_UM6_spi$_str_28$0$0 == . 04A3 3037 __str_28: 04A3 1B 3038 .db 0x1B 04A4 5B 30 3B 30 48 3039 .ascii "[0;0H" 04A9 00 3040 .db 0x00 04AA 3041 Ftest_UM6_spi$_str_29$0$0 == . 04AA 3042 __str_29: 04AA 61 63 63 65 6C 72 3043 .ascii "accelrawZ is : %d " 61 77 5A 20 69 73 20 3A 20 25 64 20 04BC 0A 3044 .db 0x0A 04BD 00 3045 .db 0x00 04BE 3046 Ftest_UM6_spi$_str_30$0$0 == . 04BE 3047 __str_30: 04BE 61 63 63 65 6C 5A 3048 .ascii "accelZ is : %d " 20 69 73 20 3A 20 25 64 20 04CD 0A 3049 .db 0x0A 04CE 00 3050 .db 0x00 04CF 3051 Ftest_UM6_spi$_str_31$0$0 == . 04CF 3052 __str_31: 04CF 61 63 63 65 6C 58 3053 .ascii "accelX is : %d " 20 69 73 20 3A 20 25 64 20 04DE 0A 3054 .db 0x0A 04DF 00 3055 .db 0x00 04E0 3056 Ftest_UM6_spi$_str_32$0$0 == . 04E0 3057 __str_32: 04E0 61 63 63 65 6C 59 3058 .ascii "accelY is : %d " 20 69 73 20 3A 20 25 64 20 04EF 0A 3059 .db 0x0A 04F0 00 3060 .db 0x00 04F1 3061 Ftest_UM6_spi$_str_33$0$0 == . 04F1 3062 __str_33: 04F1 67 79 72 6F 5A 20 3063 .ascii "gyroZ is : %d " 69 73 20 3A 20 25 64 20 04FF 0A 3064 .db 0x0A 0500 00 3065 .db 0x00 0501 3066 Ftest_UM6_spi$_str_34$0$0 == . 0501 3067 __str_34: 0501 67 79 72 6F 58 20 3068 .ascii "gyroX is : %d " 69 73 20 3A 20 25 64 20 050F 0A 3069 .db 0x0A 0510 00 3070 .db 0x00 0511 3071 Ftest_UM6_spi$_str_35$0$0 == . 0511 3072 __str_35: 0511 67 79 72 6F 59 20 3073 .ascii "gyroY is : %d " 69 73 20 3A 20 25 64 20 051F 0A 3074 .db 0x0A 0520 00 3075 .db 0x00 0521 3076 Ftest_UM6_spi$_str_36$0$0 == . 0521 3077 __str_36: 0521 65 75 6C 65 72 5F 3078 .ascii "euler_psi is : %d " 70 73 69 20 69 73 20 3A 20 25 64 20 0533 0A 3079 .db 0x0A 0534 00 3080 .db 0x00 0535 3081 Ftest_UM6_spi$_str_37$0$0 == . 0535 3082 __str_37: 0535 65 75 6C 65 72 5F 3083 .ascii "euler_phi is : %d " 70 68 69 20 69 73 20 3A 20 25 64 20 0547 0A 3084 .db 0x0A 0548 00 3085 .db 0x00 0549 3086 Ftest_UM6_spi$_str_38$0$0 == . 0549 3087 __str_38: 0549 65 75 6C 65 72 5F 3088 .ascii "euler_theta is : %d " 74 68 65 74 61 20 69 73 20 3A 20 25 64 20 055D 0A 3089 .db 0x0A 055E 00 3090 .db 0x00 3091 .area XINIT (CODE) 0000 3092 Ftest_UM6_spi$__xinit_IMU_txdata$0$0 == . 0000 3093 __xinit__IMU_txdata: 0000 00 3094 .db #0x00 ; 0 0001 00 3095 .db 0x00 0002 00 3096 .db 0x00 0003 00 3097 .db 0x00 0004 00 3098 .db 0x00 0005 00 3099 .db 0x00 0006 00 3100 .db 0x00 0007 00 3101 .db 0x00 0008 3102 Ftest_UM6_spi$__xinit_IMU_rxdata$0$0 == . 0008 3103 __xinit__IMU_rxdata: 0008 01 3104 .db #0x01 ; 1 0009 01 3105 .db #0x01 ; 1 000A 01 3106 .db #0x01 ; 1 000B 01 3107 .db #0x01 ; 1 000C 01 3108 .db #0x01 ; 1 000D 01 3109 .db #0x01 ; 1 000E 01 3110 .db #0x01 ; 1 000F 01 3111 .db #0x01 ; 1 3112 .area CABS (ABS,CODE)