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) 0023 536 bits: 0023 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==. 0008 551 _reportLength:: 0008 552 .ds 2 0002 553 G$reportBytesSent$0$0==. 000A 554 _reportBytesSent:: 000A 555 .ds 2 0004 556 LsendReportIfNeeded$sloc0$1$0==. 000C 557 _sendReportIfNeeded_sloc0_1_0: 000C 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) 0028 567 __start__stack: 0028 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==. F000 588 _accelprocY:: F000 589 .ds 2 0002 590 G$accelprocX$0$0==. F002 591 _accelprocX:: F002 592 .ds 2 0004 593 G$accelprocZ$0$0==. F004 594 _accelprocZ:: F004 595 .ds 2 0006 596 G$accelrawY$0$0==. F006 597 _accelrawY:: F006 598 .ds 2 0008 599 G$accelrawX$0$0==. F008 600 _accelrawX:: F008 601 .ds 2 000A 602 G$accelrawZ$0$0==. F00A 603 _accelrawZ:: F00A 604 .ds 2 000C 605 G$euler_psi$0$0==. F00C 606 _euler_psi:: F00C 607 .ds 2 000E 608 G$euler_phi$0$0==. F00E 609 _euler_phi:: F00E 610 .ds 2 0010 611 G$euler_theta$0$0==. F010 612 _euler_theta:: F010 613 .ds 2 0012 614 G$gyroprocY$0$0==. F012 615 _gyroprocY:: F012 616 .ds 2 0014 617 G$gyroprocX$0$0==. F014 618 _gyroprocX:: F014 619 .ds 2 0016 620 G$gyroprocZ$0$0==. F016 621 _gyroprocZ:: F016 622 .ds 2 0018 623 LsendReportIfNeeded$lastReport$1$1==. F018 624 _sendReportIfNeeded_lastReport_1_1: F018 625 .ds 4 001C 626 LsendReportIfNeeded$count$1$1==. F01C 627 _sendReportIfNeeded_count_1_1: F01C 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==. F06F 796 _report:: F06F 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==. F302 807 _IMU_txdata:: F302 808 .ds 8 0008 809 G$IMU_rxdata$0$0==. F30A 810 _IMU_rxdata:: F30A 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) 0400 826 __interrupt_vect: 0400 02 04 6D 827 ljmp __sdcc_gsinit_startup 0403 32 828 reti 0404 829 .ds 7 040B 32 830 reti 040C 831 .ds 7 0413 32 832 reti 0414 833 .ds 7 041B 02 10 53 834 ljmp _ISR_URX1 041E 835 .ds 5 0423 32 836 reti 0424 837 .ds 7 042B 32 838 reti 042C 839 .ds 7 0433 32 840 reti 0434 841 .ds 7 043B 32 842 reti 043C 843 .ds 7 0443 32 844 reti 0444 845 .ds 7 044B 32 846 reti 044C 847 .ds 7 0453 32 848 reti 0454 849 .ds 7 045B 32 850 reti 045C 851 .ds 7 0463 02 1B 5F 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; 04C6 78 1C 874 mov r0,#_sendReportIfNeeded_count_1_1 04C8 E4 875 clr a 04C9 F2 876 movx @r0,a 04CA 08 877 inc r0 04CB 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; 04CC E4 882 clr a 04CD F5 08 883 mov _reportLength,a 04CF F5 09 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; 04D1 E4 888 clr a 04D2 F5 0A 889 mov _reportBytesSent,a 04D4 F5 0B 890 mov (_reportBytesSent + 1),a 891 .area GSFINAL (CODE) 050F 02 04 66 892 ljmp __sdcc_program_startup 893 ;-------------------------------------------------------- 894 ; Home 895 ;-------------------------------------------------------- 896 .area HOME (CODE) 897 .area HOME (CODE) 0466 898 __sdcc_program_startup: 0466 12 0E A5 899 lcall _main 900 ; return from main will lock up 0469 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 ; ----------------------------------------- 0512 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(); 0512 12 0E BF 927 lcall _spi1MasterInit 0003 928 C$UM6.c$110$1$1 ==. 929 ; apps/test_UM6_spi/../UM6.c:110: spi_UM6MasterSetFrequency(230400); 0515 90 84 00 930 mov dptr,#0x8400 0518 75 F0 03 931 mov b,#0x03 051B E4 932 clr a 051C 12 0E D3 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 051F C2 00 936 clr _spi1MasterSetClockPolarity_PARM_1 0521 12 0F C2 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 0524 C2 01 940 clr _spi1MasterSetClockPhase_PARM_1 0526 12 0F CD 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); 0529 C2 02 944 clr _spi1MasterSetBitOrder_PARM_1 0019 945 C$UM6.c$114$1$1 ==. 0019 946 XG$spi_UM6_init$0$0 ==. 052B 02 0F D8 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 ; ----------------------------------------- 052E 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 052E 90 F3 02 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 0531 E4 964 clr a 0532 F0 965 movx @dptr,a 0533 90 F3 03 966 mov dptr,#(_IMU_txdata + 0x0001) 0536 F0 967 movx @dptr,a 0025 968 C$UM6.c$129$1$1 ==. 969 ; apps/test_UM6_spi/../UM6.c:129: IMU_CSlow; 0537 C2 F0 970 clr b[0] 0539 85 F0 23 971 mov bits,b 053C 75 82 0E 972 mov dpl,#0x0E 053F 12 24 6C 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); 0542 78 1E 976 mov r0,#_spi1MasterTransfer_PARM_2 0544 74 0A 977 mov a,#_IMU_rxdata 0546 F2 978 movx @r0,a 0547 08 979 inc r0 0548 74 F3 980 mov a,#(_IMU_rxdata >> 8) 054A F2 981 movx @r0,a 054B 78 20 982 mov r0,#_spi1MasterTransfer_PARM_3 054D 74 06 983 mov a,#0x06 054F F2 984 movx @r0,a 0550 08 985 inc r0 0551 E4 986 clr a 0552 F2 987 movx @r0,a 0553 90 F3 02 988 mov dptr,#_IMU_txdata 0556 12 0F F7 989 lcall _spi1MasterTransfer 0047 990 C$UM6.c$131$1$1 ==. 991 ; apps/test_UM6_spi/../UM6.c:131: while(spi_UM6MasterBusy()){ } 0559 992 00101$: 0559 12 0F E3 993 lcall _spi1MasterBusy 055C 40 FB 994 jc 00101$ 004C 995 C$UM6.c$132$1$1 ==. 996 ; apps/test_UM6_spi/../UM6.c:132: IMU_CShigh; 055E D2 F0 997 setb b[0] 0560 85 F0 23 998 mov bits,b 0563 75 82 0E 999 mov dpl,#0x0E 0566 12 24 6C 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)){ 0569 90 F3 0C 1003 mov dptr,#(_IMU_rxdata + 0x0002) 056C E0 1004 movx a,@dptr 056D FA 1005 mov r2,a 056E 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"); 0571 74 91 1009 mov a,#__str_0 0573 C0 E0 1010 push acc 0575 74 27 1011 mov a,#(__str_0 >> 8) 0577 C0 E0 1012 push acc 0579 74 80 1013 mov a,#0x80 057B C0 E0 1014 push acc 057D 12 1D 37 1015 lcall _printf 0580 15 81 1016 dec sp 0582 15 81 1017 dec sp 0584 15 81 1018 dec sp 0586 80 15 1019 sjmp 00106$ 0588 1020 00105$: 0076 1021 C$UM6.c$136$2$4 ==. 1022 ; apps/test_UM6_spi/../UM6.c:136: }else{ printf("Broadcast mode DISABLED \n");} 0588 74 AA 1023 mov a,#__str_1 058A C0 E0 1024 push acc 058C 74 27 1025 mov a,#(__str_1 >> 8) 058E C0 E0 1026 push acc 0590 74 80 1027 mov a,#0x80 0592 C0 E0 1028 push acc 0594 12 1D 37 1029 lcall _printf 0597 15 81 1030 dec sp 0599 15 81 1031 dec sp 059B 15 81 1032 dec sp 059D 1033 00106$: 008B 1034 C$UM6.c$137$1$1 ==. 1035 ; apps/test_UM6_spi/../UM6.c:137: if(IMU_rxdata[2] & (1<<5)){ 059D 90 F3 0C 1036 mov dptr,#(_IMU_rxdata + 0x0002) 05A0 E0 1037 movx a,@dptr 05A1 FA 1038 mov r2,a 05A2 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"); 05A5 74 C4 1042 mov a,#__str_2 05A7 C0 E0 1043 push acc 05A9 74 27 1044 mov a,#(__str_2 >> 8) 05AB C0 E0 1045 push acc 05AD 74 80 1046 mov a,#0x80 05AF C0 E0 1047 push acc 05B1 12 1D 37 1048 lcall _printf 05B4 15 81 1049 dec sp 05B6 15 81 1050 dec sp 05B8 15 81 1051 dec sp 05BA 80 15 1052 sjmp 00109$ 05BC 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");} 05BC 74 E9 1056 mov a,#__str_3 05BE C0 E0 1057 push acc 05C0 74 27 1058 mov a,#(__str_3 >> 8) 05C2 C0 E0 1059 push acc 05C4 74 80 1060 mov a,#0x80 05C6 C0 E0 1061 push acc 05C8 12 1D 37 1062 lcall _printf 05CB 15 81 1063 dec sp 05CD 15 81 1064 dec sp 05CF 15 81 1065 dec sp 05D1 1066 00109$: 00BF 1067 C$UM6.c$140$1$1 ==. 1068 ; apps/test_UM6_spi/../UM6.c:140: if(IMU_rxdata[2] & (1<<4)){ 05D1 90 F3 0C 1069 mov dptr,#(_IMU_rxdata + 0x0002) 05D4 E0 1070 movx a,@dptr 05D5 FA 1071 mov r2,a 05D6 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"); 05D9 74 0F 1075 mov a,#__str_4 05DB C0 E0 1076 push acc 05DD 74 28 1077 mov a,#(__str_4 >> 8) 05DF C0 E0 1078 push acc 05E1 74 80 1079 mov a,#0x80 05E3 C0 E0 1080 push acc 05E5 12 1D 37 1081 lcall _printf 05E8 15 81 1082 dec sp 05EA 15 81 1083 dec sp 05EC 15 81 1084 dec sp 05EE 80 15 1085 sjmp 00112$ 05F0 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");} 05F0 74 3D 1089 mov a,#__str_5 05F2 C0 E0 1090 push acc 05F4 74 28 1091 mov a,#(__str_5 >> 8) 05F6 C0 E0 1092 push acc 05F8 74 80 1093 mov a,#0x80 05FA C0 E0 1094 push acc 05FC 12 1D 37 1095 lcall _printf 05FF 15 81 1096 dec sp 0601 15 81 1097 dec sp 0603 15 81 1098 dec sp 0605 1099 00112$: 00F3 1100 C$UM6.c$143$1$1 ==. 1101 ; apps/test_UM6_spi/../UM6.c:143: if(IMU_rxdata[2] & (1<<3)){ 0605 90 F3 0C 1102 mov dptr,#(_IMU_rxdata + 0x0002) 0608 E0 1103 movx a,@dptr 0609 FA 1104 mov r2,a 060A 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"); 060D 74 6C 1108 mov a,#__str_6 060F C0 E0 1109 push acc 0611 74 28 1110 mov a,#(__str_6 >> 8) 0613 C0 E0 1111 push acc 0615 74 80 1112 mov a,#0x80 0617 C0 E0 1113 push acc 0619 12 1D 37 1114 lcall _printf 061C 15 81 1115 dec sp 061E 15 81 1116 dec sp 0620 15 81 1117 dec sp 0622 80 15 1118 sjmp 00115$ 0624 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");} 0624 74 99 1122 mov a,#__str_7 0626 C0 E0 1123 push acc 0628 74 28 1124 mov a,#(__str_7 >> 8) 062A C0 E0 1125 push acc 062C 74 80 1126 mov a,#0x80 062E C0 E0 1127 push acc 0630 12 1D 37 1128 lcall _printf 0633 15 81 1129 dec sp 0635 15 81 1130 dec sp 0637 15 81 1131 dec sp 0639 1132 00115$: 0127 1133 C$UM6.c$146$1$1 ==. 1134 ; apps/test_UM6_spi/../UM6.c:146: if(IMU_rxdata[2] & (1<<2)){ 0639 90 F3 0C 1135 mov dptr,#(_IMU_rxdata + 0x0002) 063C E0 1136 movx a,@dptr 063D FA 1137 mov r2,a 063E 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"); 0641 74 C7 1141 mov a,#__str_8 0643 C0 E0 1142 push acc 0645 74 28 1143 mov a,#(__str_8 >> 8) 0647 C0 E0 1144 push acc 0649 74 80 1145 mov a,#0x80 064B C0 E0 1146 push acc 064D 12 1D 37 1147 lcall _printf 0650 15 81 1148 dec sp 0652 15 81 1149 dec sp 0654 15 81 1150 dec sp 0656 80 15 1151 sjmp 00118$ 0658 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");} 0658 74 F2 1155 mov a,#__str_9 065A C0 E0 1156 push acc 065C 74 28 1157 mov a,#(__str_9 >> 8) 065E C0 E0 1158 push acc 0660 74 80 1159 mov a,#0x80 0662 C0 E0 1160 push acc 0664 12 1D 37 1161 lcall _printf 0667 15 81 1162 dec sp 0669 15 81 1163 dec sp 066B 15 81 1164 dec sp 066D 1165 00118$: 015B 1166 C$UM6.c$149$1$1 ==. 1167 ; apps/test_UM6_spi/../UM6.c:149: if(IMU_rxdata[2] & (1)){ 066D 90 F3 0C 1168 mov dptr,#(_IMU_rxdata + 0x0002) 0670 E0 1169 movx a,@dptr 0671 FA 1170 mov r2,a 0672 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"); 0675 74 1E 1174 mov a,#__str_10 0677 C0 E0 1175 push acc 0679 74 29 1176 mov a,#(__str_10 >> 8) 067B C0 E0 1177 push acc 067D 74 80 1178 mov a,#0x80 067F C0 E0 1179 push acc 0681 12 1D 37 1180 lcall _printf 0684 15 81 1181 dec sp 0686 15 81 1182 dec sp 0688 15 81 1183 dec sp 068A 80 15 1184 sjmp 00121$ 068C 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");} 068C 74 52 1188 mov a,#__str_11 068E C0 E0 1189 push acc 0690 74 29 1190 mov a,#(__str_11 >> 8) 0692 C0 E0 1191 push acc 0694 74 80 1192 mov a,#0x80 0696 C0 E0 1193 push acc 0698 12 1D 37 1194 lcall _printf 069B 15 81 1195 dec sp 069D 15 81 1196 dec sp 069F 15 81 1197 dec sp 06A1 1198 00121$: 018F 1199 C$UM6.c$152$1$1 ==. 1200 ; apps/test_UM6_spi/../UM6.c:152: if(IMU_rxdata[3] & (1<<7)){ 06A1 90 F3 0D 1201 mov dptr,#(_IMU_rxdata + 0x0003) 06A4 E0 1202 movx a,@dptr 06A5 FA 1203 mov r2,a 06A6 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"); 06A9 74 87 1207 mov a,#__str_12 06AB C0 E0 1208 push acc 06AD 74 29 1209 mov a,#(__str_12 >> 8) 06AF C0 E0 1210 push acc 06B1 74 80 1211 mov a,#0x80 06B3 C0 E0 1212 push acc 06B5 12 1D 37 1213 lcall _printf 06B8 15 81 1214 dec sp 06BA 15 81 1215 dec sp 06BC 15 81 1216 dec sp 06BE 80 15 1217 sjmp 00124$ 06C0 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");} 06C0 74 BA 1221 mov a,#__str_13 06C2 C0 E0 1222 push acc 06C4 74 29 1223 mov a,#(__str_13 >> 8) 06C6 C0 E0 1224 push acc 06C8 74 80 1225 mov a,#0x80 06CA C0 E0 1226 push acc 06CC 12 1D 37 1227 lcall _printf 06CF 15 81 1228 dec sp 06D1 15 81 1229 dec sp 06D3 15 81 1230 dec sp 06D5 1231 00124$: 01C3 1232 C$UM6.c$155$1$1 ==. 1233 ; apps/test_UM6_spi/../UM6.c:155: if(IMU_rxdata[3] & (1<<6)){ 06D5 90 F3 0D 1234 mov dptr,#(_IMU_rxdata + 0x0003) 06D8 E0 1235 movx a,@dptr 06D9 FA 1236 mov r2,a 06DA 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"); 06DD 74 EE 1240 mov a,#__str_14 06DF C0 E0 1241 push acc 06E1 74 29 1242 mov a,#(__str_14 >> 8) 06E3 C0 E0 1243 push acc 06E5 74 80 1244 mov a,#0x80 06E7 C0 E0 1245 push acc 06E9 12 1D 37 1246 lcall _printf 06EC 15 81 1247 dec sp 06EE 15 81 1248 dec sp 06F0 15 81 1249 dec sp 06F2 80 15 1250 sjmp 00127$ 06F4 1251 00126$: 01E2 1252 C$UM6.c$157$2$18 ==. 1253 ; apps/test_UM6_spi/../UM6.c:157: }else{ printf("Quat transmission DISABLED \n");} 06F4 74 0A 1254 mov a,#__str_15 06F6 C0 E0 1255 push acc 06F8 74 2A 1256 mov a,#(__str_15 >> 8) 06FA C0 E0 1257 push acc 06FC 74 80 1258 mov a,#0x80 06FE C0 E0 1259 push acc 0700 12 1D 37 1260 lcall _printf 0703 15 81 1261 dec sp 0705 15 81 1262 dec sp 0707 15 81 1263 dec sp 0709 1264 00127$: 01F7 1265 C$UM6.c$158$1$1 ==. 1266 ; apps/test_UM6_spi/../UM6.c:158: if(IMU_rxdata[3] & (1<<5)){ 0709 90 F3 0D 1267 mov dptr,#(_IMU_rxdata + 0x0003) 070C E0 1268 movx a,@dptr 070D FA 1269 mov r2,a 070E 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"); 0711 74 28 1273 mov a,#__str_16 0713 C0 E0 1274 push acc 0715 74 2A 1275 mov a,#(__str_16 >> 8) 0717 C0 E0 1276 push acc 0719 74 80 1277 mov a,#0x80 071B C0 E0 1278 push acc 071D 12 1D 37 1279 lcall _printf 0720 15 81 1280 dec sp 0722 15 81 1281 dec sp 0724 15 81 1282 dec sp 0726 80 15 1283 sjmp 00130$ 0728 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");} 0728 74 4B 1287 mov a,#__str_17 072A C0 E0 1288 push acc 072C 74 2A 1289 mov a,#(__str_17 >> 8) 072E C0 E0 1290 push acc 0730 74 80 1291 mov a,#0x80 0732 C0 E0 1292 push acc 0734 12 1D 37 1293 lcall _printf 0737 15 81 1294 dec sp 0739 15 81 1295 dec sp 073B 15 81 1296 dec sp 073D 1297 00130$: 022B 1298 C$UM6.c$161$1$1 ==. 1299 ; apps/test_UM6_spi/../UM6.c:161: if(IMU_rxdata[3] & (1<<4)){ 073D 90 F3 0D 1300 mov dptr,#(_IMU_rxdata + 0x0003) 0740 E0 1301 movx a,@dptr 0741 FA 1302 mov r2,a 0742 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"); 0745 74 6F 1306 mov a,#__str_18 0747 C0 E0 1307 push acc 0749 74 2A 1308 mov a,#(__str_18 >> 8) 074B C0 E0 1309 push acc 074D 74 80 1310 mov a,#0x80 074F C0 E0 1311 push acc 0751 12 1D 37 1312 lcall _printf 0754 15 81 1313 dec sp 0756 15 81 1314 dec sp 0758 15 81 1315 dec sp 075A 80 15 1316 sjmp 00133$ 075C 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");} 075C 74 8E 1320 mov a,#__str_19 075E C0 E0 1321 push acc 0760 74 2A 1322 mov a,#(__str_19 >> 8) 0762 C0 E0 1323 push acc 0764 74 80 1324 mov a,#0x80 0766 C0 E0 1325 push acc 0768 12 1D 37 1326 lcall _printf 076B 15 81 1327 dec sp 076D 15 81 1328 dec sp 076F 15 81 1329 dec sp 0771 1330 00133$: 025F 1331 C$UM6.c$165$1$1 ==. 1332 ; apps/test_UM6_spi/../UM6.c:165: IMU_txdata[0] = 0; //read command 0771 90 F3 02 1333 mov dptr,#_IMU_txdata 0774 E4 1334 clr a 0775 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 0776 90 F3 03 1338 mov dptr,#(_IMU_txdata + 0x0001) 0779 74 01 1339 mov a,#0x01 077B F0 1340 movx @dptr,a 026A 1341 C$UM6.c$167$1$1 ==. 1342 ; apps/test_UM6_spi/../UM6.c:167: IMU_CSlow; 077C C2 F0 1343 clr b[0] 077E 85 F0 23 1344 mov bits,b 0781 75 82 0E 1345 mov dpl,#0x0E 0784 12 24 6C 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); 0787 78 1E 1349 mov r0,#_spi1MasterTransfer_PARM_2 0789 74 0A 1350 mov a,#_IMU_rxdata 078B F2 1351 movx @r0,a 078C 08 1352 inc r0 078D 74 F3 1353 mov a,#(_IMU_rxdata >> 8) 078F F2 1354 movx @r0,a 0790 78 20 1355 mov r0,#_spi1MasterTransfer_PARM_3 0792 74 06 1356 mov a,#0x06 0794 F2 1357 movx @r0,a 0795 08 1358 inc r0 0796 E4 1359 clr a 0797 F2 1360 movx @r0,a 0798 90 F3 02 1361 mov dptr,#_IMU_txdata 079B 12 0F F7 1362 lcall _spi1MasterTransfer 028C 1363 C$UM6.c$169$1$1 ==. 1364 ; apps/test_UM6_spi/../UM6.c:169: while(spi_UM6MasterBusy()){ } 079E 1365 00134$: 079E 12 0F E3 1366 lcall _spi1MasterBusy 07A1 40 FB 1367 jc 00134$ 0291 1368 C$UM6.c$170$1$1 ==. 1369 ; apps/test_UM6_spi/../UM6.c:170: IMU_CShigh; 07A3 D2 F0 1370 setb b[0] 07A5 85 F0 23 1371 mov bits,b 07A8 75 82 0E 1372 mov dpl,#0x0E 07AB 12 24 6C 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)){ 07AE 90 F3 0C 1376 mov dptr,#(_IMU_rxdata + 0x0002) 07B1 E0 1377 movx a,@dptr 07B2 FA 1378 mov r2,a 07B3 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"); 07B6 74 AE 1382 mov a,#__str_20 07B8 C0 E0 1383 push acc 07BA 74 2A 1384 mov a,#(__str_20 >> 8) 07BC C0 E0 1385 push acc 07BE 74 80 1386 mov a,#0x80 07C0 C0 E0 1387 push acc 07C2 12 1D 37 1388 lcall _printf 07C5 15 81 1389 dec sp 07C7 15 81 1390 dec sp 07C9 15 81 1391 dec sp 07CB 80 15 1392 sjmp 00139$ 07CD 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");} 07CD 74 E2 1396 mov a,#__str_21 07CF C0 E0 1397 push acc 07D1 74 2A 1398 mov a,#(__str_21 >> 8) 07D3 C0 E0 1399 push acc 07D5 74 80 1400 mov a,#0x80 07D7 C0 E0 1401 push acc 07D9 12 1D 37 1402 lcall _printf 07DC 15 81 1403 dec sp 07DE 15 81 1404 dec sp 07E0 15 81 1405 dec sp 07E2 1406 00139$: 02D0 1407 C$UM6.c$174$1$1 ==. 1408 ; apps/test_UM6_spi/../UM6.c:174: if(IMU_rxdata[2] & (1<<6)){ 07E2 90 F3 0C 1409 mov dptr,#(_IMU_rxdata + 0x0002) 07E5 E0 1410 movx a,@dptr 07E6 FA 1411 mov r2,a 07E7 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"); 07EA 74 17 1415 mov a,#__str_22 07EC C0 E0 1416 push acc 07EE 74 2B 1417 mov a,#(__str_22 >> 8) 07F0 C0 E0 1418 push acc 07F2 74 80 1419 mov a,#0x80 07F4 C0 E0 1420 push acc 07F6 12 1D 37 1421 lcall _printf 07F9 15 81 1422 dec sp 07FB 15 81 1423 dec sp 07FD 15 81 1424 dec sp 07FF 80 15 1425 sjmp 00142$ 0801 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");} 0801 74 55 1429 mov a,#__str_23 0803 C0 E0 1430 push acc 0805 74 2B 1431 mov a,#(__str_23 >> 8) 0807 C0 E0 1432 push acc 0809 74 80 1433 mov a,#0x80 080B C0 E0 1434 push acc 080D 12 1D 37 1435 lcall _printf 0810 15 81 1436 dec sp 0812 15 81 1437 dec sp 0814 15 81 1438 dec sp 0816 1439 00142$: 0304 1440 C$UM6.c$177$1$1 ==. 1441 ; apps/test_UM6_spi/../UM6.c:177: if(IMU_rxdata[2] & (1<<5)){ 0816 90 F3 0C 1442 mov dptr,#(_IMU_rxdata + 0x0002) 0819 E0 1443 movx a,@dptr 081A FA 1444 mov r2,a 081B 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"); 081E 74 94 1448 mov a,#__str_24 0820 C0 E0 1449 push acc 0822 74 2B 1450 mov a,#(__str_24 >> 8) 0824 C0 E0 1451 push acc 0826 74 80 1452 mov a,#0x80 0828 C0 E0 1453 push acc 082A 12 1D 37 1454 lcall _printf 082D 15 81 1455 dec sp 082F 15 81 1456 dec sp 0831 15 81 1457 dec sp 0833 80 15 1458 sjmp 00145$ 0835 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");} 0835 74 B7 1462 mov a,#__str_25 0837 C0 E0 1463 push acc 0839 74 2B 1464 mov a,#(__str_25 >> 8) 083B C0 E0 1465 push acc 083D 74 80 1466 mov a,#0x80 083F C0 E0 1467 push acc 0841 12 1D 37 1468 lcall _printf 0844 15 81 1469 dec sp 0846 15 81 1470 dec sp 0848 15 81 1471 dec sp 084A 1472 00145$: 0338 1473 C$UM6.c$180$1$1 ==. 1474 ; apps/test_UM6_spi/../UM6.c:180: if(IMU_rxdata[2] & (1<<4)){ 084A 90 F3 0C 1475 mov dptr,#(_IMU_rxdata + 0x0002) 084D E0 1476 movx a,@dptr 084E FA 1477 mov r2,a 084F 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"); 0852 74 DB 1481 mov a,#__str_26 0854 C0 E0 1482 push acc 0856 74 2B 1483 mov a,#(__str_26 >> 8) 0858 C0 E0 1484 push acc 085A 74 80 1485 mov a,#0x80 085C C0 E0 1486 push acc 085E 12 1D 37 1487 lcall _printf 0861 15 81 1488 dec sp 0863 15 81 1489 dec sp 0865 15 81 1490 dec sp 0867 22 1491 ret 0868 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");} 0868 74 01 1495 mov a,#__str_27 086A C0 E0 1496 push acc 086C 74 2C 1497 mov a,#(__str_27 >> 8) 086E C0 E0 1498 push acc 0870 74 80 1499 mov a,#0x80 0872 C0 E0 1500 push acc 0874 12 1D 37 1501 lcall _printf 0877 15 81 1502 dec sp 0879 15 81 1503 dec sp 087B 15 81 1504 dec sp 036B 1505 C$UM6.c$183$1$1 ==. 036B 1506 XG$read_UM6config$0$0 ==. 087D 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 ; ----------------------------------------- 087E 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 087E 90 F3 02 1521 mov dptr,#_IMU_txdata 0881 74 01 1522 mov a,#0x01 0883 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 0884 90 F3 03 1526 mov dptr,#(_IMU_txdata + 0x0001) 0887 E4 1527 clr a 0888 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 0889 90 F3 04 1531 mov dptr,#(_IMU_txdata + 0x0002) 088C 74 38 1532 mov a,#0x38 088E 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 088F 90 F3 05 1536 mov dptr,#(_IMU_txdata + 0x0003) 0892 74 40 1537 mov a,#0x40 0894 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 0895 90 F3 06 1541 mov dptr,#(_IMU_txdata + 0x0004) 0898 74 05 1542 mov a,#0x05 089A 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 089B 90 F3 07 1546 mov dptr,#(_IMU_txdata + 0x0005) 089E E4 1547 clr a 089F F0 1548 movx @dptr,a 038E 1549 C$UM6.c$194$1$1 ==. 1550 ; apps/test_UM6_spi/../UM6.c:194: IMU_CSlow; 08A0 C2 F0 1551 clr b[0] 08A2 85 F0 23 1552 mov bits,b 08A5 75 82 0E 1553 mov dpl,#0x0E 08A8 12 24 6C 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); 08AB 78 1E 1557 mov r0,#_spi1MasterTransfer_PARM_2 08AD 74 0A 1558 mov a,#_IMU_rxdata 08AF F2 1559 movx @r0,a 08B0 08 1560 inc r0 08B1 74 F3 1561 mov a,#(_IMU_rxdata >> 8) 08B3 F2 1562 movx @r0,a 08B4 78 20 1563 mov r0,#_spi1MasterTransfer_PARM_3 08B6 74 06 1564 mov a,#0x06 08B8 F2 1565 movx @r0,a 08B9 08 1566 inc r0 08BA E4 1567 clr a 08BB F2 1568 movx @r0,a 08BC 90 F3 02 1569 mov dptr,#_IMU_txdata 08BF 12 0F F7 1570 lcall _spi1MasterTransfer 03B0 1571 C$UM6.c$196$1$1 ==. 1572 ; apps/test_UM6_spi/../UM6.c:196: while(spi_UM6MasterBusy()){ } 08C2 1573 00101$: 08C2 12 0F E3 1574 lcall _spi1MasterBusy 08C5 40 FB 1575 jc 00101$ 03B5 1576 C$UM6.c$197$1$1 ==. 1577 ; apps/test_UM6_spi/../UM6.c:197: IMU_CShigh; 08C7 D2 F0 1578 setb b[0] 08C9 85 F0 23 1579 mov bits,b 08CC 75 82 0E 1580 mov dpl,#0x0E 03BD 1581 C$UM6.c$198$1$1 ==. 03BD 1582 XG$write_UM6comm$0$0 ==. 08CF 02 24 6C 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 ; ----------------------------------------- 08D2 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 08D2 90 F3 0A 1597 mov dptr,#_IMU_rxdata 08D5 74 01 1598 mov a,#0x01 08D7 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 08D8 90 F3 0B 1602 mov dptr,#(_IMU_rxdata + 0x0001) 08DB 74 AC 1603 mov a,#0xAC 08DD F0 1604 movx @dptr,a 03CC 1605 C$UM6.c$206$1$1 ==. 1606 ; apps/test_UM6_spi/../UM6.c:206: IMU_CSlow; 08DE C2 F0 1607 clr b[0] 08E0 85 F0 23 1608 mov bits,b 08E3 75 82 0E 1609 mov dpl,#0x0E 08E6 12 24 6C 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); 08E9 78 1E 1613 mov r0,#_spi1MasterTransfer_PARM_2 08EB 74 0A 1614 mov a,#_IMU_rxdata 08ED F2 1615 movx @r0,a 08EE 08 1616 inc r0 08EF 74 F3 1617 mov a,#(_IMU_rxdata >> 8) 08F1 F2 1618 movx @r0,a 08F2 78 20 1619 mov r0,#_spi1MasterTransfer_PARM_3 08F4 74 06 1620 mov a,#0x06 08F6 F2 1621 movx @r0,a 08F7 08 1622 inc r0 08F8 E4 1623 clr a 08F9 F2 1624 movx @r0,a 08FA 90 F3 0A 1625 mov dptr,#_IMU_rxdata 08FD 12 0F F7 1626 lcall _spi1MasterTransfer 03EE 1627 C$UM6.c$208$1$1 ==. 1628 ; apps/test_UM6_spi/../UM6.c:208: while(spi_UM6MasterBusy()){ } 0900 1629 00101$: 0900 12 0F E3 1630 lcall _spi1MasterBusy 0903 40 FB 1631 jc 00101$ 03F3 1632 C$UM6.c$209$1$1 ==. 1633 ; apps/test_UM6_spi/../UM6.c:209: IMU_CShigh; 0905 D2 F0 1634 setb b[0] 0907 85 F0 23 1635 mov bits,b 090A 75 82 0E 1636 mov dpl,#0x0E 03FB 1637 C$UM6.c$210$1$1 ==. 03FB 1638 XG$Zero_Gyros$0$0 ==. 090D 02 24 6C 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 ; ----------------------------------------- 0910 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 0910 90 F3 0A 1653 mov dptr,#_IMU_rxdata 0913 74 01 1654 mov a,#0x01 0915 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 0916 90 F3 0B 1658 mov dptr,#(_IMU_rxdata + 0x0001) 0919 74 01 1659 mov a,#0x01 091B 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; 091C 90 F3 0C 1663 mov dptr,#(_IMU_rxdata + 0x0002) 091F 74 50 1664 mov a,#0x50 0921 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; 0922 90 F3 0D 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; 0925 E4 1673 clr a 0926 F0 1674 movx @dptr,a 0927 90 F3 0E 1675 mov dptr,#(_IMU_rxdata + 0x0004) 092A F0 1676 movx @dptr,a 092B 90 F3 0F 1677 mov dptr,#(_IMU_rxdata + 0x0005) 092E F0 1678 movx @dptr,a 041D 1679 C$UM6.c$221$1$1 ==. 1680 ; apps/test_UM6_spi/../UM6.c:221: IMU_CSlow; 092F C2 F0 1681 clr b[0] 0931 85 F0 23 1682 mov bits,b 0934 75 82 0E 1683 mov dpl,#0x0E 0937 12 24 6C 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); 093A 78 1E 1687 mov r0,#_spi1MasterTransfer_PARM_2 093C 74 0A 1688 mov a,#_IMU_rxdata 093E F2 1689 movx @r0,a 093F 08 1690 inc r0 0940 74 F3 1691 mov a,#(_IMU_rxdata >> 8) 0942 F2 1692 movx @r0,a 0943 78 20 1693 mov r0,#_spi1MasterTransfer_PARM_3 0945 74 06 1694 mov a,#0x06 0947 F2 1695 movx @r0,a 0948 08 1696 inc r0 0949 E4 1697 clr a 094A F2 1698 movx @r0,a 094B 90 F3 02 1699 mov dptr,#_IMU_txdata 094E 12 0F F7 1700 lcall _spi1MasterTransfer 043F 1701 C$UM6.c$223$1$1 ==. 1702 ; apps/test_UM6_spi/../UM6.c:223: while(spi_UM6MasterBusy()){ } 0951 1703 00101$: 0951 12 0F E3 1704 lcall _spi1MasterBusy 0954 40 FB 1705 jc 00101$ 0444 1706 C$UM6.c$224$1$1 ==. 1707 ; apps/test_UM6_spi/../UM6.c:224: IMU_CShigh; 0956 D2 F0 1708 setb b[0] 0958 85 F0 23 1709 mov bits,b 095B 75 82 0E 1710 mov dpl,#0x0E 044C 1711 C$UM6.c$225$1$1 ==. 044C 1712 XG$write_UM6_Miscconfig$0$0 ==. 095E 02 24 6C 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 ; ----------------------------------------- 0961 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 0961 90 F3 02 1727 mov dptr,#_IMU_txdata 0964 E4 1728 clr a 0965 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 0966 90 F3 03 1732 mov dptr,#(_IMU_txdata + 0x0001) 0969 74 5B 1733 mov a,#0x5B 096B F0 1734 movx @dptr,a 045A 1735 C$UM6.c$232$1$1 ==. 1736 ; apps/test_UM6_spi/../UM6.c:232: IMU_CSlow; 096C C2 F0 1737 clr b[0] 096E 85 F0 23 1738 mov bits,b 0971 75 82 0E 1739 mov dpl,#0x0E 0974 12 24 6C 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); 0977 78 1E 1743 mov r0,#_spi1MasterTransfer_PARM_2 0979 74 0A 1744 mov a,#_IMU_rxdata 097B F2 1745 movx @r0,a 097C 08 1746 inc r0 097D 74 F3 1747 mov a,#(_IMU_rxdata >> 8) 097F F2 1748 movx @r0,a 0980 78 20 1749 mov r0,#_spi1MasterTransfer_PARM_3 0982 74 06 1750 mov a,#0x06 0984 F2 1751 movx @r0,a 0985 08 1752 inc r0 0986 E4 1753 clr a 0987 F2 1754 movx @r0,a 0988 90 F3 02 1755 mov dptr,#_IMU_txdata 098B 12 0F F7 1756 lcall _spi1MasterTransfer 047C 1757 C$UM6.c$234$1$1 ==. 1758 ; apps/test_UM6_spi/../UM6.c:234: while(spi_UM6MasterBusy()){ } 098E 1759 00101$: 098E 12 0F E3 1760 lcall _spi1MasterBusy 0991 40 FB 1761 jc 00101$ 0481 1762 C$UM6.c$235$1$1 ==. 1763 ; apps/test_UM6_spi/../UM6.c:235: IMU_CShigh; 0993 D2 F0 1764 setb b[0] 0995 85 F0 23 1765 mov bits,b 0998 75 82 0E 1766 mov dpl,#0x0E 099B 12 24 6C 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]; 099E 90 F3 0D 1770 mov dptr,#(_IMU_rxdata + 0x0003) 09A1 E0 1771 movx a,@dptr 09A2 FA 1772 mov r2,a 09A3 78 0A 1773 mov r0,#_accelrawZ 09A5 EA 1774 mov a,r2 09A6 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]; 09A7 90 F3 0C 1778 mov dptr,#(_IMU_rxdata + 0x0002) 09AA E0 1779 movx a,@dptr 09AB FA 1780 mov r2,a 09AC 78 0B 1781 mov r0,#(_accelrawZ + 0x0001) 09AE EA 1782 mov a,r2 09AF F2 1783 movx @r0,a 049E 1784 C$UM6.c$239$1$1 ==. 049E 1785 XG$read_accel_rawZ$0$0 ==. 09B0 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 ; ----------------------------------------- 09B1 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 09B1 90 F3 02 1800 mov dptr,#_IMU_txdata 09B4 E4 1801 clr a 09B5 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 09B6 90 F3 03 1805 mov dptr,#(_IMU_txdata + 0x0001) 09B9 74 63 1806 mov a,#0x63 09BB F0 1807 movx @dptr,a 04AA 1808 C$UM6.c$246$1$1 ==. 1809 ; apps/test_UM6_spi/../UM6.c:246: IMU_CSlow; 09BC C2 F0 1810 clr b[0] 09BE 85 F0 23 1811 mov bits,b 09C1 75 82 0E 1812 mov dpl,#0x0E 09C4 12 24 6C 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); 09C7 78 1E 1816 mov r0,#_spi1MasterTransfer_PARM_2 09C9 74 0A 1817 mov a,#_IMU_rxdata 09CB F2 1818 movx @r0,a 09CC 08 1819 inc r0 09CD 74 F3 1820 mov a,#(_IMU_rxdata >> 8) 09CF F2 1821 movx @r0,a 09D0 78 20 1822 mov r0,#_spi1MasterTransfer_PARM_3 09D2 74 06 1823 mov a,#0x06 09D4 F2 1824 movx @r0,a 09D5 08 1825 inc r0 09D6 E4 1826 clr a 09D7 F2 1827 movx @r0,a 09D8 90 F3 02 1828 mov dptr,#_IMU_txdata 09DB 12 0F F7 1829 lcall _spi1MasterTransfer 04CC 1830 C$UM6.c$248$1$1 ==. 1831 ; apps/test_UM6_spi/../UM6.c:248: while(spi_UM6MasterBusy()){ } 09DE 1832 00101$: 09DE 12 0F E3 1833 lcall _spi1MasterBusy 09E1 40 FB 1834 jc 00101$ 04D1 1835 C$UM6.c$249$1$1 ==. 1836 ; apps/test_UM6_spi/../UM6.c:249: IMU_CShigh; 09E3 D2 F0 1837 setb b[0] 09E5 85 F0 23 1838 mov bits,b 09E8 75 82 0E 1839 mov dpl,#0x0E 09EB 12 24 6C 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]; 09EE 90 F3 0D 1843 mov dptr,#(_IMU_rxdata + 0x0003) 09F1 E0 1844 movx a,@dptr 09F2 FA 1845 mov r2,a 09F3 78 0C 1846 mov r0,#_euler_psi 09F5 EA 1847 mov a,r2 09F6 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]; 09F7 90 F3 0C 1851 mov dptr,#(_IMU_rxdata + 0x0002) 09FA E0 1852 movx a,@dptr 09FB FA 1853 mov r2,a 09FC 78 0D 1854 mov r0,#(_euler_psi + 0x0001) 09FE EA 1855 mov a,r2 09FF F2 1856 movx @r0,a 04EE 1857 C$UM6.c$253$1$1 ==. 04EE 1858 XG$read_euler_psi$0$0 ==. 0A00 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 ; ----------------------------------------- 0A01 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 0A01 90 F3 02 1873 mov dptr,#_IMU_txdata 0A04 E4 1874 clr a 0A05 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 0A06 90 F3 03 1878 mov dptr,#(_IMU_txdata + 0x0001) 0A09 74 62 1879 mov a,#0x62 0A0B F0 1880 movx @dptr,a 04FA 1881 C$UM6.c$261$1$1 ==. 1882 ; apps/test_UM6_spi/../UM6.c:261: IMU_CSlow; 0A0C C2 F0 1883 clr b[0] 0A0E 85 F0 23 1884 mov bits,b 0A11 75 82 0E 1885 mov dpl,#0x0E 0A14 12 24 6C 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); 0A17 78 1E 1889 mov r0,#_spi1MasterTransfer_PARM_2 0A19 74 0A 1890 mov a,#_IMU_rxdata 0A1B F2 1891 movx @r0,a 0A1C 08 1892 inc r0 0A1D 74 F3 1893 mov a,#(_IMU_rxdata >> 8) 0A1F F2 1894 movx @r0,a 0A20 78 20 1895 mov r0,#_spi1MasterTransfer_PARM_3 0A22 74 06 1896 mov a,#0x06 0A24 F2 1897 movx @r0,a 0A25 08 1898 inc r0 0A26 E4 1899 clr a 0A27 F2 1900 movx @r0,a 0A28 90 F3 02 1901 mov dptr,#_IMU_txdata 0A2B 12 0F F7 1902 lcall _spi1MasterTransfer 051C 1903 C$UM6.c$263$1$1 ==. 1904 ; apps/test_UM6_spi/../UM6.c:263: while(spi_UM6MasterBusy()){ } 0A2E 1905 00101$: 0A2E 12 0F E3 1906 lcall _spi1MasterBusy 0A31 40 FB 1907 jc 00101$ 0521 1908 C$UM6.c$264$1$1 ==. 1909 ; apps/test_UM6_spi/../UM6.c:264: IMU_CShigh; 0A33 D2 F0 1910 setb b[0] 0A35 85 F0 23 1911 mov bits,b 0A38 75 82 0E 1912 mov dpl,#0x0E 0A3B 12 24 6C 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]; 0A3E 90 F3 0D 1916 mov dptr,#(_IMU_rxdata + 0x0003) 0A41 E0 1917 movx a,@dptr 0A42 FA 1918 mov r2,a 0A43 78 0E 1919 mov r0,#_euler_phi 0A45 EA 1920 mov a,r2 0A46 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]; 0A47 90 F3 0C 1924 mov dptr,#(_IMU_rxdata + 0x0002) 0A4A E0 1925 movx a,@dptr 0A4B FA 1926 mov r2,a 0A4C 78 0F 1927 mov r0,#(_euler_phi + 0x0001) 0A4E EA 1928 mov a,r2 0A4F 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]; 0A50 90 F3 0F 1932 mov dptr,#(_IMU_rxdata + 0x0005) 0A53 E0 1933 movx a,@dptr 0A54 FA 1934 mov r2,a 0A55 78 10 1935 mov r0,#_euler_theta 0A57 EA 1936 mov a,r2 0A58 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]; 0A59 90 F3 0E 1940 mov dptr,#(_IMU_rxdata + 0x0004) 0A5C E0 1941 movx a,@dptr 0A5D FA 1942 mov r2,a 0A5E 78 11 1943 mov r0,#(_euler_theta + 0x0001) 0A60 EA 1944 mov a,r2 0A61 F2 1945 movx @r0,a 0550 1946 C$UM6.c$270$1$1 ==. 0550 1947 XG$read_euler_phi_theta$0$0 ==. 0A62 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 ; ----------------------------------------- 0A63 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 0A63 90 F3 02 1962 mov dptr,#_IMU_txdata 0A66 E4 1963 clr a 0A67 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 0A68 90 F3 03 1967 mov dptr,#(_IMU_txdata + 0x0001) 0A6B 74 5F 1968 mov a,#0x5F 0A6D F0 1969 movx @dptr,a 055C 1970 C$UM6.c$277$1$1 ==. 1971 ; apps/test_UM6_spi/../UM6.c:277: IMU_CSlow; 0A6E C2 F0 1972 clr b[0] 0A70 85 F0 23 1973 mov bits,b 0A73 75 82 0E 1974 mov dpl,#0x0E 0A76 12 24 6C 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); 0A79 78 1E 1978 mov r0,#_spi1MasterTransfer_PARM_2 0A7B 74 0A 1979 mov a,#_IMU_rxdata 0A7D F2 1980 movx @r0,a 0A7E 08 1981 inc r0 0A7F 74 F3 1982 mov a,#(_IMU_rxdata >> 8) 0A81 F2 1983 movx @r0,a 0A82 78 20 1984 mov r0,#_spi1MasterTransfer_PARM_3 0A84 74 06 1985 mov a,#0x06 0A86 F2 1986 movx @r0,a 0A87 08 1987 inc r0 0A88 E4 1988 clr a 0A89 F2 1989 movx @r0,a 0A8A 90 F3 02 1990 mov dptr,#_IMU_txdata 0A8D 12 0F F7 1991 lcall _spi1MasterTransfer 057E 1992 C$UM6.c$279$1$1 ==. 1993 ; apps/test_UM6_spi/../UM6.c:279: while(spi_UM6MasterBusy()){ } 0A90 1994 00101$: 0A90 12 0F E3 1995 lcall _spi1MasterBusy 0A93 40 FB 1996 jc 00101$ 0583 1997 C$UM6.c$280$1$1 ==. 1998 ; apps/test_UM6_spi/../UM6.c:280: IMU_CShigh; 0A95 D2 F0 1999 setb b[0] 0A97 85 F0 23 2000 mov bits,b 0A9A 75 82 0E 2001 mov dpl,#0x0E 0A9D 12 24 6C 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]; 0AA0 90 F3 0D 2005 mov dptr,#(_IMU_rxdata + 0x0003) 0AA3 E0 2006 movx a,@dptr 0AA4 FA 2007 mov r2,a 0AA5 78 04 2008 mov r0,#_accelprocZ 0AA7 EA 2009 mov a,r2 0AA8 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]; 0AA9 90 F3 0C 2013 mov dptr,#(_IMU_rxdata + 0x0002) 0AAC E0 2014 movx a,@dptr 0AAD FA 2015 mov r2,a 0AAE 78 05 2016 mov r0,#(_accelprocZ + 0x0001) 0AB0 EA 2017 mov a,r2 0AB1 F2 2018 movx @r0,a 05A0 2019 C$UM6.c$285$1$1 ==. 05A0 2020 XG$read_accel_procZ$0$0 ==. 0AB2 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 ; ----------------------------------------- 0AB3 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 0AB3 90 F3 02 2035 mov dptr,#_IMU_txdata 0AB6 E4 2036 clr a 0AB7 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 0AB8 90 F3 03 2040 mov dptr,#(_IMU_txdata + 0x0001) 0ABB 74 5D 2041 mov a,#0x5D 0ABD F0 2042 movx @dptr,a 05AC 2043 C$UM6.c$292$1$1 ==. 2044 ; apps/test_UM6_spi/../UM6.c:292: IMU_CSlow; 0ABE C2 F0 2045 clr b[0] 0AC0 85 F0 23 2046 mov bits,b 0AC3 75 82 0E 2047 mov dpl,#0x0E 0AC6 12 24 6C 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); 0AC9 78 1E 2051 mov r0,#_spi1MasterTransfer_PARM_2 0ACB 74 0A 2052 mov a,#_IMU_rxdata 0ACD F2 2053 movx @r0,a 0ACE 08 2054 inc r0 0ACF 74 F3 2055 mov a,#(_IMU_rxdata >> 8) 0AD1 F2 2056 movx @r0,a 0AD2 78 20 2057 mov r0,#_spi1MasterTransfer_PARM_3 0AD4 74 06 2058 mov a,#0x06 0AD6 F2 2059 movx @r0,a 0AD7 08 2060 inc r0 0AD8 E4 2061 clr a 0AD9 F2 2062 movx @r0,a 0ADA 90 F3 02 2063 mov dptr,#_IMU_txdata 0ADD 12 0F F7 2064 lcall _spi1MasterTransfer 05CE 2065 C$UM6.c$294$1$1 ==. 2066 ; apps/test_UM6_spi/../UM6.c:294: while(spi_UM6MasterBusy()){ } 0AE0 2067 00101$: 0AE0 12 0F E3 2068 lcall _spi1MasterBusy 0AE3 40 FB 2069 jc 00101$ 05D3 2070 C$UM6.c$295$1$1 ==. 2071 ; apps/test_UM6_spi/../UM6.c:295: IMU_CShigh; 0AE5 D2 F0 2072 setb b[0] 0AE7 85 F0 23 2073 mov bits,b 0AEA 75 82 0E 2074 mov dpl,#0x0E 0AED 12 24 6C 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]; 0AF0 90 F3 0D 2078 mov dptr,#(_IMU_rxdata + 0x0003) 0AF3 E0 2079 movx a,@dptr 0AF4 FA 2080 mov r2,a 0AF5 78 16 2081 mov r0,#_gyroprocZ 0AF7 EA 2082 mov a,r2 0AF8 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]; 0AF9 90 F3 0C 2086 mov dptr,#(_IMU_rxdata + 0x0002) 0AFC E0 2087 movx a,@dptr 0AFD FA 2088 mov r2,a 0AFE 78 17 2089 mov r0,#(_gyroprocZ + 0x0001) 0B00 EA 2090 mov a,r2 0B01 F2 2091 movx @r0,a 05F0 2092 C$UM6.c$300$1$1 ==. 05F0 2093 XG$read_gyro_procZ$0$0 ==. 0B02 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 ; ----------------------------------------- 0B03 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 0B03 90 F3 02 2108 mov dptr,#_IMU_txdata 0B06 E4 2109 clr a 0B07 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 0B08 90 F3 03 2113 mov dptr,#(_IMU_txdata + 0x0001) 0B0B 74 5E 2114 mov a,#0x5E 0B0D F0 2115 movx @dptr,a 05FC 2116 C$UM6.c$307$1$1 ==. 2117 ; apps/test_UM6_spi/../UM6.c:307: IMU_CSlow; 0B0E C2 F0 2118 clr b[0] 0B10 85 F0 23 2119 mov bits,b 0B13 75 82 0E 2120 mov dpl,#0x0E 0B16 12 24 6C 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); 0B19 78 1E 2124 mov r0,#_spi1MasterTransfer_PARM_2 0B1B 74 0A 2125 mov a,#_IMU_rxdata 0B1D F2 2126 movx @r0,a 0B1E 08 2127 inc r0 0B1F 74 F3 2128 mov a,#(_IMU_rxdata >> 8) 0B21 F2 2129 movx @r0,a 0B22 78 20 2130 mov r0,#_spi1MasterTransfer_PARM_3 0B24 74 06 2131 mov a,#0x06 0B26 F2 2132 movx @r0,a 0B27 08 2133 inc r0 0B28 E4 2134 clr a 0B29 F2 2135 movx @r0,a 0B2A 90 F3 02 2136 mov dptr,#_IMU_txdata 0B2D 12 0F F7 2137 lcall _spi1MasterTransfer 061E 2138 C$UM6.c$309$1$1 ==. 2139 ; apps/test_UM6_spi/../UM6.c:309: while(spi_UM6MasterBusy()){ } 0B30 2140 00101$: 0B30 12 0F E3 2141 lcall _spi1MasterBusy 0B33 40 FB 2142 jc 00101$ 0623 2143 C$UM6.c$310$1$1 ==. 2144 ; apps/test_UM6_spi/../UM6.c:310: IMU_CShigh; 0B35 D2 F0 2145 setb b[0] 0B37 85 F0 23 2146 mov bits,b 0B3A 75 82 0E 2147 mov dpl,#0x0E 0B3D 12 24 6C 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]; 0B40 90 F3 0D 2151 mov dptr,#(_IMU_rxdata + 0x0003) 0B43 E0 2152 movx a,@dptr 0B44 FA 2153 mov r2,a 0B45 78 02 2154 mov r0,#_accelprocX 0B47 EA 2155 mov a,r2 0B48 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]; 0B49 90 F3 0C 2159 mov dptr,#(_IMU_rxdata + 0x0002) 0B4C E0 2160 movx a,@dptr 0B4D FA 2161 mov r2,a 0B4E 78 03 2162 mov r0,#(_accelprocX + 0x0001) 0B50 EA 2163 mov a,r2 0B51 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]; 0B52 90 F3 0F 2167 mov dptr,#(_IMU_rxdata + 0x0005) 0B55 E0 2168 movx a,@dptr 0B56 FA 2169 mov r2,a 0B57 78 00 2170 mov r0,#_accelprocY 0B59 EA 2171 mov a,r2 0B5A 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]; 0B5B 90 F3 0E 2175 mov dptr,#(_IMU_rxdata + 0x0004) 0B5E E0 2176 movx a,@dptr 0B5F FA 2177 mov r2,a 0B60 78 01 2178 mov r0,#(_accelprocY + 0x0001) 0B62 EA 2179 mov a,r2 0B63 F2 2180 movx @r0,a 0652 2181 C$UM6.c$318$1$1 ==. 0652 2182 XG$read_accel_procXY$0$0 ==. 0B64 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 ; ----------------------------------------- 0B65 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 0B65 90 F3 02 2197 mov dptr,#_IMU_txdata 0B68 E4 2198 clr a 0B69 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 0B6A 90 F3 03 2202 mov dptr,#(_IMU_txdata + 0x0001) 0B6D 74 5C 2203 mov a,#0x5C 0B6F F0 2204 movx @dptr,a 065E 2205 C$UM6.c$325$1$1 ==. 2206 ; apps/test_UM6_spi/../UM6.c:325: IMU_CSlow; 0B70 C2 F0 2207 clr b[0] 0B72 85 F0 23 2208 mov bits,b 0B75 75 82 0E 2209 mov dpl,#0x0E 0B78 12 24 6C 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); 0B7B 78 1E 2213 mov r0,#_spi1MasterTransfer_PARM_2 0B7D 74 0A 2214 mov a,#_IMU_rxdata 0B7F F2 2215 movx @r0,a 0B80 08 2216 inc r0 0B81 74 F3 2217 mov a,#(_IMU_rxdata >> 8) 0B83 F2 2218 movx @r0,a 0B84 78 20 2219 mov r0,#_spi1MasterTransfer_PARM_3 0B86 74 06 2220 mov a,#0x06 0B88 F2 2221 movx @r0,a 0B89 08 2222 inc r0 0B8A E4 2223 clr a 0B8B F2 2224 movx @r0,a 0B8C 90 F3 02 2225 mov dptr,#_IMU_txdata 0B8F 12 0F F7 2226 lcall _spi1MasterTransfer 0680 2227 C$UM6.c$327$1$1 ==. 2228 ; apps/test_UM6_spi/../UM6.c:327: while(spi_UM6MasterBusy()){ } 0B92 2229 00101$: 0B92 12 0F E3 2230 lcall _spi1MasterBusy 0B95 40 FB 2231 jc 00101$ 0685 2232 C$UM6.c$328$1$1 ==. 2233 ; apps/test_UM6_spi/../UM6.c:328: IMU_CShigh; 0B97 D2 F0 2234 setb b[0] 0B99 85 F0 23 2235 mov bits,b 0B9C 75 82 0E 2236 mov dpl,#0x0E 0B9F 12 24 6C 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]; 0BA2 90 F3 0D 2240 mov dptr,#(_IMU_rxdata + 0x0003) 0BA5 E0 2241 movx a,@dptr 0BA6 FA 2242 mov r2,a 0BA7 78 14 2243 mov r0,#_gyroprocX 0BA9 EA 2244 mov a,r2 0BAA 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]; 0BAB 90 F3 0C 2248 mov dptr,#(_IMU_rxdata + 0x0002) 0BAE E0 2249 movx a,@dptr 0BAF FA 2250 mov r2,a 0BB0 78 15 2251 mov r0,#(_gyroprocX + 0x0001) 0BB2 EA 2252 mov a,r2 0BB3 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]; 0BB4 90 F3 0F 2256 mov dptr,#(_IMU_rxdata + 0x0005) 0BB7 E0 2257 movx a,@dptr 0BB8 FA 2258 mov r2,a 0BB9 78 12 2259 mov r0,#_gyroprocY 0BBB EA 2260 mov a,r2 0BBC 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]; 0BBD 90 F3 0E 2264 mov dptr,#(_IMU_rxdata + 0x0004) 0BC0 E0 2265 movx a,@dptr 0BC1 FA 2266 mov r2,a 0BC2 78 13 2267 mov r0,#(_gyroprocY + 0x0001) 0BC4 EA 2268 mov a,r2 0BC5 F2 2269 movx @r0,a 06B4 2270 C$UM6.c$336$1$1 ==. 06B4 2271 XG$read_gyro_procXY$0$0 ==. 0BC6 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 ; ----------------------------------------- 0BC7 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 0BC7 90 F3 02 2286 mov dptr,#_IMU_txdata 0BCA 74 01 2287 mov a,#0x01 0BCC 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) 0BCD 90 F3 03 2291 mov dptr,#(_IMU_txdata + 0x0001) 0BD0 74 AB 2292 mov a,#0xAB 0BD2 F0 2293 movx @dptr,a 06C1 2294 C$UM6.c$344$1$1 ==. 2295 ; apps/test_UM6_spi/../UM6.c:344: IMU_CSlow; 0BD3 C2 F0 2296 clr b[0] 0BD5 85 F0 23 2297 mov bits,b 0BD8 75 82 0E 2298 mov dpl,#0x0E 0BDB 12 24 6C 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); 0BDE 78 1E 2302 mov r0,#_spi1MasterTransfer_PARM_2 0BE0 74 0A 2303 mov a,#_IMU_rxdata 0BE2 F2 2304 movx @r0,a 0BE3 08 2305 inc r0 0BE4 74 F3 2306 mov a,#(_IMU_rxdata >> 8) 0BE6 F2 2307 movx @r0,a 0BE7 78 20 2308 mov r0,#_spi1MasterTransfer_PARM_3 0BE9 74 06 2309 mov a,#0x06 0BEB F2 2310 movx @r0,a 0BEC 08 2311 inc r0 0BED E4 2312 clr a 0BEE F2 2313 movx @r0,a 0BEF 90 F3 02 2314 mov dptr,#_IMU_txdata 0BF2 12 0F F7 2315 lcall _spi1MasterTransfer 06E3 2316 C$UM6.c$346$1$1 ==. 2317 ; apps/test_UM6_spi/../UM6.c:346: while(spi_UM6MasterBusy()){ } 0BF5 2318 00101$: 0BF5 12 0F E3 2319 lcall _spi1MasterBusy 0BF8 40 FB 2320 jc 00101$ 06E8 2321 C$UM6.c$347$1$1 ==. 2322 ; apps/test_UM6_spi/../UM6.c:347: IMU_CShigh; 0BFA D2 F0 2323 setb b[0] 0BFC 85 F0 23 2324 mov bits,b 0BFF 75 82 0E 2325 mov dpl,#0x0E 06F0 2326 C$UM6.c$348$1$1 ==. 06F0 2327 XG$UM6_flash_commit$0$0 ==. 0C02 02 24 6C 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 ; ----------------------------------------- 0C05 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 ==. 0C05 02 1C 87 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 ; ----------------------------------------- 0C08 2355 _putchar: 0C08 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; 0C0A E5 08 2359 mov a,_reportLength 0C0C 24 6F 2360 add a,#_report 0C0E F5 82 2361 mov dpl,a 0C10 E5 09 2362 mov a,(_reportLength + 1) 0C12 34 F0 2363 addc a,#(_report >> 8) 0C14 F5 83 2364 mov dph,a 0C16 EA 2365 mov a,r2 0C17 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++; 0C18 05 08 2369 inc _reportLength 0C1A E4 2370 clr a 0C1B B5 08 02 2371 cjne a,_reportLength,00103$ 0C1E 05 09 2372 inc (_reportLength + 1) 0C20 2373 00103$: 070E 2374 C$test_UM6_spi.c$67$1$1 ==. 070E 2375 XG$putchar$0$0 ==. 0C20 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 ; ----------------------------------------- 0C21 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) 0C21 12 1B 84 2391 lcall _getMs 0C24 AA 82 2392 mov r2,dpl 0C26 AB 83 2393 mov r3,dph 0C28 AC F0 2394 mov r4,b 0C2A FD 2395 mov r5,a 0C2B 78 18 2396 mov r0,#_sendReportIfNeeded_lastReport_1_1 0C2D D3 2397 setb c 0C2E E2 2398 movx a,@r0 0C2F 9A 2399 subb a,r2 0C30 F4 2400 cpl a 0C31 B3 2401 cpl c 0C32 F5 0C 2402 mov _sendReportIfNeeded_sloc0_1_0,a 0C34 B3 2403 cpl c 0C35 08 2404 inc r0 0C36 E2 2405 movx a,@r0 0C37 9B 2406 subb a,r3 0C38 F4 2407 cpl a 0C39 B3 2408 cpl c 0C3A F5 0D 2409 mov (_sendReportIfNeeded_sloc0_1_0 + 1),a 0C3C B3 2410 cpl c 0C3D 08 2411 inc r0 0C3E E2 2412 movx a,@r0 0C3F 9C 2413 subb a,r4 0C40 F4 2414 cpl a 0C41 B3 2415 cpl c 0C42 F5 0E 2416 mov (_sendReportIfNeeded_sloc0_1_0 + 2),a 0C44 B3 2417 cpl c 0C45 08 2418 inc r0 0C46 E2 2419 movx a,@r0 0C47 9D 2420 subb a,r5 0C48 F4 2421 cpl a 0C49 F5 0F 2422 mov (_sendReportIfNeeded_sloc0_1_0 + 3),a 0C4B 90 2C 30 2423 mov dptr,#_param_report_period_ms 0C4E E4 2424 clr a 0C4F 93 2425 movc a,@a+dptr 0C50 FE 2426 mov r6,a 0C51 74 01 2427 mov a,#0x01 0C53 93 2428 movc a,@a+dptr 0C54 FF 2429 mov r7,a 0C55 74 02 2430 mov a,#0x02 0C57 93 2431 movc a,@a+dptr 0C58 FA 2432 mov r2,a 0C59 74 03 2433 mov a,#0x03 0C5B 93 2434 movc a,@a+dptr 0C5C FB 2435 mov r3,a 0C5D C3 2436 clr c 0C5E E5 0C 2437 mov a,_sendReportIfNeeded_sloc0_1_0 0C60 9E 2438 subb a,r6 0C61 E5 0D 2439 mov a,(_sendReportIfNeeded_sloc0_1_0 + 1) 0C63 9F 2440 subb a,r7 0C64 E5 0E 2441 mov a,(_sendReportIfNeeded_sloc0_1_0 + 2) 0C66 9A 2442 subb a,r2 0C67 E5 0F 2443 mov a,(_sendReportIfNeeded_sloc0_1_0 + 3) 0C69 9B 2444 subb a,r3 0C6A 50 03 2445 jnc 00121$ 0C6C 02 0E 41 2446 ljmp 00106$ 0C6F 2447 00121$: 0C6F E5 08 2448 mov a,_reportLength 0C71 45 09 2449 orl a,(_reportLength + 1) 0C73 60 03 2450 jz 00122$ 0C75 02 0E 41 2451 ljmp 00106$ 0C78 2452 00122$: 0766 2453 C$test_UM6_spi.c$81$2$2 ==. 2454 ; apps/test_UM6_spi/test_UM6_spi.c:81: lastReport = getMs(); 0C78 12 1B 84 2455 lcall _getMs 0C7B AA 82 2456 mov r2,dpl 0C7D AB 83 2457 mov r3,dph 0C7F AC F0 2458 mov r4,b 0C81 FD 2459 mov r5,a 0C82 78 18 2460 mov r0,#_sendReportIfNeeded_lastReport_1_1 0C84 EA 2461 mov a,r2 0C85 F2 2462 movx @r0,a 0C86 08 2463 inc r0 0C87 EB 2464 mov a,r3 0C88 F2 2465 movx @r0,a 0C89 08 2466 inc r0 0C8A EC 2467 mov a,r4 0C8B F2 2468 movx @r0,a 0C8C 08 2469 inc r0 0C8D ED 2470 mov a,r5 0C8E 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; 0C8F E4 2474 clr a 0C90 F5 0A 2475 mov _reportBytesSent,a 0C92 F5 0B 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){ 0C94 78 1C 2479 mov r0,#_sendReportIfNeeded_count_1_1 0C96 C3 2480 clr c 0C97 E2 2481 movx a,@r0 0C98 F5 F0 2482 mov b,a 0C9A 74 64 2483 mov a,#0x64 0C9C 95 F0 2484 subb a,b 0C9E 08 2485 inc r0 0C9F E2 2486 movx a,@r0 0CA0 F5 F0 2487 mov b,a 0CA2 74 80 2488 mov a,#(0x00 ^ 0x80) 0CA4 63 F0 80 2489 xrl b,#0x80 0CA7 95 F0 2490 subb a,b 0CA9 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; 0CAB 78 1C 2494 mov r0,#_sendReportIfNeeded_count_1_1 0CAD E4 2495 clr a 0CAE F2 2496 movx @r0,a 0CAF 08 2497 inc r0 0CB0 F2 2498 movx @r0,a 0CB1 2499 00102$: 079F 2500 C$test_UM6_spi.c$88$2$2 ==. 2501 ; apps/test_UM6_spi/test_UM6_spi.c:88: count++; 0CB1 78 1C 2502 mov r0,#_sendReportIfNeeded_count_1_1 0CB3 E2 2503 movx a,@r0 0CB4 24 01 2504 add a,#0x01 0CB6 F2 2505 movx @r0,a 0CB7 08 2506 inc r0 0CB8 E2 2507 movx a,@r0 0CB9 34 00 2508 addc a,#0x00 0CBB 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) 0CBC 90 2C 2C 2512 mov dptr,#_param_bar_graph 0CBF E4 2513 clr a 0CC0 93 2514 movc a,@a+dptr 0CC1 FA 2515 mov r2,a 0CC2 74 01 2516 mov a,#0x01 0CC4 93 2517 movc a,@a+dptr 0CC5 FB 2518 mov r3,a 0CC6 74 02 2519 mov a,#0x02 0CC8 93 2520 movc a,@a+dptr 0CC9 FC 2521 mov r4,a 0CCA 74 03 2522 mov a,#0x03 0CCC 93 2523 movc a,@a+dptr 0CCD FD 2524 mov r5,a 0CCE EA 2525 mov a,r2 0CCF 4B 2526 orl a,r3 0CD0 4C 2527 orl a,r4 0CD1 4D 2528 orl a,r5 0CD2 70 03 2529 jnz 00124$ 0CD4 02 0E 2C 2530 ljmp 00104$ 0CD7 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" 0CD7 74 34 2534 mov a,#__str_28 0CD9 C0 E0 2535 push acc 0CDB 74 2C 2536 mov a,#(__str_28 >> 8) 0CDD C0 E0 2537 push acc 0CDF 74 80 2538 mov a,#0x80 0CE1 C0 E0 2539 push acc 0CE3 12 1D 37 2540 lcall _printf 0CE6 15 81 2541 dec sp 0CE8 15 81 2542 dec sp 0CEA 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); 0CEC 78 0A 2546 mov r0,#_accelrawZ 0CEE E2 2547 movx a,@r0 0CEF FA 2548 mov r2,a 0CF0 08 2549 inc r0 0CF1 E2 2550 movx a,@r0 0CF2 FB 2551 mov r3,a 0CF3 C0 02 2552 push ar2 0CF5 C0 03 2553 push ar3 0CF7 74 3B 2554 mov a,#__str_29 0CF9 C0 E0 2555 push acc 0CFB 74 2C 2556 mov a,#(__str_29 >> 8) 0CFD C0 E0 2557 push acc 0CFF 74 80 2558 mov a,#0x80 0D01 C0 E0 2559 push acc 0D03 12 1D 37 2560 lcall _printf 0D06 E5 81 2561 mov a,sp 0D08 24 FB 2562 add a,#0xfb 0D0A 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); 0D0C 78 04 2566 mov r0,#_accelprocZ 0D0E E2 2567 movx a,@r0 0D0F FA 2568 mov r2,a 0D10 08 2569 inc r0 0D11 E2 2570 movx a,@r0 0D12 FB 2571 mov r3,a 0D13 C0 02 2572 push ar2 0D15 C0 03 2573 push ar3 0D17 74 4F 2574 mov a,#__str_30 0D19 C0 E0 2575 push acc 0D1B 74 2C 2576 mov a,#(__str_30 >> 8) 0D1D C0 E0 2577 push acc 0D1F 74 80 2578 mov a,#0x80 0D21 C0 E0 2579 push acc 0D23 12 1D 37 2580 lcall _printf 0D26 E5 81 2581 mov a,sp 0D28 24 FB 2582 add a,#0xfb 0D2A 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); 0D2C 78 02 2586 mov r0,#_accelprocX 0D2E E2 2587 movx a,@r0 0D2F FA 2588 mov r2,a 0D30 08 2589 inc r0 0D31 E2 2590 movx a,@r0 0D32 FB 2591 mov r3,a 0D33 C0 02 2592 push ar2 0D35 C0 03 2593 push ar3 0D37 74 60 2594 mov a,#__str_31 0D39 C0 E0 2595 push acc 0D3B 74 2C 2596 mov a,#(__str_31 >> 8) 0D3D C0 E0 2597 push acc 0D3F 74 80 2598 mov a,#0x80 0D41 C0 E0 2599 push acc 0D43 12 1D 37 2600 lcall _printf 0D46 E5 81 2601 mov a,sp 0D48 24 FB 2602 add a,#0xfb 0D4A 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); 0D4C 78 00 2606 mov r0,#_accelprocY 0D4E E2 2607 movx a,@r0 0D4F FA 2608 mov r2,a 0D50 08 2609 inc r0 0D51 E2 2610 movx a,@r0 0D52 FB 2611 mov r3,a 0D53 C0 02 2612 push ar2 0D55 C0 03 2613 push ar3 0D57 74 71 2614 mov a,#__str_32 0D59 C0 E0 2615 push acc 0D5B 74 2C 2616 mov a,#(__str_32 >> 8) 0D5D C0 E0 2617 push acc 0D5F 74 80 2618 mov a,#0x80 0D61 C0 E0 2619 push acc 0D63 12 1D 37 2620 lcall _printf 0D66 E5 81 2621 mov a,sp 0D68 24 FB 2622 add a,#0xfb 0D6A 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); 0D6C 78 16 2626 mov r0,#_gyroprocZ 0D6E E2 2627 movx a,@r0 0D6F FA 2628 mov r2,a 0D70 08 2629 inc r0 0D71 E2 2630 movx a,@r0 0D72 FB 2631 mov r3,a 0D73 C0 02 2632 push ar2 0D75 C0 03 2633 push ar3 0D77 74 82 2634 mov a,#__str_33 0D79 C0 E0 2635 push acc 0D7B 74 2C 2636 mov a,#(__str_33 >> 8) 0D7D C0 E0 2637 push acc 0D7F 74 80 2638 mov a,#0x80 0D81 C0 E0 2639 push acc 0D83 12 1D 37 2640 lcall _printf 0D86 E5 81 2641 mov a,sp 0D88 24 FB 2642 add a,#0xfb 0D8A 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); 0D8C 78 14 2646 mov r0,#_gyroprocX 0D8E E2 2647 movx a,@r0 0D8F FA 2648 mov r2,a 0D90 08 2649 inc r0 0D91 E2 2650 movx a,@r0 0D92 FB 2651 mov r3,a 0D93 C0 02 2652 push ar2 0D95 C0 03 2653 push ar3 0D97 74 92 2654 mov a,#__str_34 0D99 C0 E0 2655 push acc 0D9B 74 2C 2656 mov a,#(__str_34 >> 8) 0D9D C0 E0 2657 push acc 0D9F 74 80 2658 mov a,#0x80 0DA1 C0 E0 2659 push acc 0DA3 12 1D 37 2660 lcall _printf 0DA6 E5 81 2661 mov a,sp 0DA8 24 FB 2662 add a,#0xfb 0DAA 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); 0DAC 78 12 2666 mov r0,#_gyroprocY 0DAE E2 2667 movx a,@r0 0DAF FA 2668 mov r2,a 0DB0 08 2669 inc r0 0DB1 E2 2670 movx a,@r0 0DB2 FB 2671 mov r3,a 0DB3 C0 02 2672 push ar2 0DB5 C0 03 2673 push ar3 0DB7 74 A2 2674 mov a,#__str_35 0DB9 C0 E0 2675 push acc 0DBB 74 2C 2676 mov a,#(__str_35 >> 8) 0DBD C0 E0 2677 push acc 0DBF 74 80 2678 mov a,#0x80 0DC1 C0 E0 2679 push acc 0DC3 12 1D 37 2680 lcall _printf 0DC6 E5 81 2681 mov a,sp 0DC8 24 FB 2682 add a,#0xfb 0DCA 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); 0DCC 78 0C 2686 mov r0,#_euler_psi 0DCE E2 2687 movx a,@r0 0DCF FA 2688 mov r2,a 0DD0 08 2689 inc r0 0DD1 E2 2690 movx a,@r0 0DD2 FB 2691 mov r3,a 0DD3 C0 02 2692 push ar2 0DD5 C0 03 2693 push ar3 0DD7 74 B2 2694 mov a,#__str_36 0DD9 C0 E0 2695 push acc 0DDB 74 2C 2696 mov a,#(__str_36 >> 8) 0DDD C0 E0 2697 push acc 0DDF 74 80 2698 mov a,#0x80 0DE1 C0 E0 2699 push acc 0DE3 12 1D 37 2700 lcall _printf 0DE6 E5 81 2701 mov a,sp 0DE8 24 FB 2702 add a,#0xfb 0DEA 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); 0DEC 78 0E 2706 mov r0,#_euler_phi 0DEE E2 2707 movx a,@r0 0DEF FA 2708 mov r2,a 0DF0 08 2709 inc r0 0DF1 E2 2710 movx a,@r0 0DF2 FB 2711 mov r3,a 0DF3 C0 02 2712 push ar2 0DF5 C0 03 2713 push ar3 0DF7 74 C6 2714 mov a,#__str_37 0DF9 C0 E0 2715 push acc 0DFB 74 2C 2716 mov a,#(__str_37 >> 8) 0DFD C0 E0 2717 push acc 0DFF 74 80 2718 mov a,#0x80 0E01 C0 E0 2719 push acc 0E03 12 1D 37 2720 lcall _printf 0E06 E5 81 2721 mov a,sp 0E08 24 FB 2722 add a,#0xfb 0E0A 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); 0E0C 78 10 2726 mov r0,#_euler_theta 0E0E E2 2727 movx a,@r0 0E0F FA 2728 mov r2,a 0E10 08 2729 inc r0 0E11 E2 2730 movx a,@r0 0E12 FB 2731 mov r3,a 0E13 C0 02 2732 push ar2 0E15 C0 03 2733 push ar3 0E17 74 DA 2734 mov a,#__str_38 0E19 C0 E0 2735 push acc 0E1B 74 2C 2736 mov a,#(__str_38 >> 8) 0E1D C0 E0 2737 push acc 0E1F 74 80 2738 mov a,#0x80 0E21 C0 E0 2739 push acc 0E23 12 1D 37 2740 lcall _printf 0E26 E5 81 2741 mov a,sp 0E28 24 FB 2742 add a,#0xfb 0E2A F5 81 2743 mov sp,a 0E2C 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(); 0E2C 12 0B 03 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(); 0E2F 12 0A 63 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(); 0E32 12 0B 65 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(); 0E35 12 0A B3 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(); 0E38 12 09 61 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(); 0E3B 12 09 B1 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(); 0E3E 12 0A 01 2765 lcall _read_euler_phi_theta 0E41 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) 0E41 E5 08 2769 mov a,_reportLength 0E43 45 09 2770 orl a,(_reportLength + 1) 0E45 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(); 0E47 12 12 84 2774 lcall _usbComTxAvailable 0E4A 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) 0E4C E5 08 2778 mov a,_reportLength 0E4E C3 2779 clr c 0E4F 95 0A 2780 subb a,_reportBytesSent 0E51 FB 2781 mov r3,a 0E52 E5 09 2782 mov a,(_reportLength + 1) 0E54 95 0B 2783 subb a,(_reportBytesSent + 1) 0E56 FC 2784 mov r4,a 0E57 8A 05 2785 mov ar5,r2 0E59 7E 00 2786 mov r6,#0x00 0E5B C3 2787 clr c 0E5C EB 2788 mov a,r3 0E5D 9D 2789 subb a,r5 0E5E EC 2790 mov a,r4 0E5F 9E 2791 subb a,r6 0E60 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); 0E62 E5 0A 2795 mov a,_reportBytesSent 0E64 24 6F 2796 add a,#_report 0E66 F5 82 2797 mov dpl,a 0E68 E5 0B 2798 mov a,(_reportBytesSent + 1) 0E6A 34 F0 2799 addc a,#(_report >> 8) 0E6C F5 83 2800 mov dph,a 0E6E AB 08 2801 mov r3,_reportLength 0E70 AC 0A 2802 mov r4,_reportBytesSent 0E72 EB 2803 mov a,r3 0E73 C3 2804 clr c 0E74 9C 2805 subb a,r4 0E75 78 28 2806 mov r0,#_usbComTxSend_PARM_2 0E77 F2 2807 movx @r0,a 0E78 12 12 B8 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; 0E7B E4 2811 clr a 0E7C F5 08 2812 mov _reportLength,a 0E7E F5 09 2813 mov (_reportLength + 1),a 0E80 22 2814 ret 0E81 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); 0E81 E5 0A 2818 mov a,_reportBytesSent 0E83 24 6F 2819 add a,#_report 0E85 F5 82 2820 mov dpl,a 0E87 E5 0B 2821 mov a,(_reportBytesSent + 1) 0E89 34 F0 2822 addc a,#(_report >> 8) 0E8B F5 83 2823 mov dph,a 0E8D 78 28 2824 mov r0,#_usbComTxSend_PARM_2 0E8F EA 2825 mov a,r2 0E90 F2 2826 movx @r0,a 0E91 C0 02 2827 push ar2 0E93 12 12 B8 2828 lcall _usbComTxSend 0E96 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; 0E98 7B 00 2832 mov r3,#0x00 0E9A EA 2833 mov a,r2 0E9B 25 0A 2834 add a,_reportBytesSent 0E9D F5 0A 2835 mov _reportBytesSent,a 0E9F EB 2836 mov a,r3 0EA0 35 0B 2837 addc a,(_reportBytesSent + 1) 0EA2 F5 0B 2838 mov (_reportBytesSent + 1),a 0EA4 2839 00113$: 0992 2840 C$test_UM6_spi.c$137$2$1 ==. 0992 2841 XG$sendReportIfNeeded$0$0 ==. 0EA4 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 ; ----------------------------------------- 0EA5 2853 _main: 0993 2854 C$test_UM6_spi.c$143$1$1 ==. 2855 ; apps/test_UM6_spi/test_UM6_spi.c:143: systemInit(); 0EA5 12 19 73 2856 lcall _systemInit 0996 2857 C$test_UM6_spi.c$144$1$1 ==. 2858 ; apps/test_UM6_spi/test_UM6_spi.c:144: usbInit(); 0EA8 12 13 3F 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 0EAB 12 05 12 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(); 0EAE 12 08 D2 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) 0EB1 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. 0EB1 12 19 7F 2871 lcall _boardService 09A2 2872 C$test_UM6_spi.c$153$2$2 ==. 2873 ; apps/test_UM6_spi/test_UM6_spi.c:153: updateLeds(); 0EB4 12 0C 05 2874 lcall _updateLeds 09A5 2875 C$test_UM6_spi.c$154$2$2 ==. 2876 ; apps/test_UM6_spi/test_UM6_spi.c:154: usbComService(); 0EB7 12 11 EB 2877 lcall _usbComService 09A8 2878 C$test_UM6_spi.c$159$2$2 ==. 2879 ; apps/test_UM6_spi/test_UM6_spi.c:159: sendReportIfNeeded(); 0EBA 12 0C 21 2880 lcall _sendReportIfNeeded 09AB 2881 C$test_UM6_spi.c$161$1$1 ==. 09AB 2882 XG$main$0$0 ==. 0EBD 80 F2 2883 sjmp 00102$ 2884 .area CSEG (CODE) 2885 .area CONST (CODE) 0000 2886 Ftest_UM6_spi$_str_0$0$0 == . 2791 2887 __str_0: 2791 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 27A8 0A 2889 .db 0x0A 27A9 00 2890 .db 0x00 0019 2891 Ftest_UM6_spi$_str_1$0$0 == . 27AA 2892 __str_1: 27AA 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 27C2 0A 2894 .db 0x0A 27C3 00 2895 .db 0x00 0033 2896 Ftest_UM6_spi$_str_2$0$0 == . 27C4 2897 __str_2: 27C4 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 27E7 0A 2899 .db 0x0A 27E8 00 2900 .db 0x00 0058 2901 Ftest_UM6_spi$_str_3$0$0 == . 27E9 2902 __str_3: 27E9 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 280D 0A 2904 .db 0x0A 280E 00 2905 .db 0x00 007E 2906 Ftest_UM6_spi$_str_4$0$0 == . 280F 2907 __str_4: 280F 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 283B 0A 2909 .db 0x0A 283C 00 2910 .db 0x00 00AC 2911 Ftest_UM6_spi$_str_5$0$0 == . 283D 2912 __str_5: 283D 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 286A 0A 2914 .db 0x0A 286B 00 2915 .db 0x00 00DB 2916 Ftest_UM6_spi$_str_6$0$0 == . 286C 2917 __str_6: 286C 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 2897 0A 2919 .db 0x0A 2898 00 2920 .db 0x00 0108 2921 Ftest_UM6_spi$_str_7$0$0 == . 2899 2922 __str_7: 2899 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 28C5 0A 2924 .db 0x0A 28C6 00 2925 .db 0x00 0136 2926 Ftest_UM6_spi$_str_8$0$0 == . 28C7 2927 __str_8: 28C7 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 28F0 0A 2929 .db 0x0A 28F1 00 2930 .db 0x00 0161 2931 Ftest_UM6_spi$_str_9$0$0 == . 28F2 2932 __str_9: 28F2 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 291C 0A 2934 .db 0x0A 291D 00 2935 .db 0x00 018D 2936 Ftest_UM6_spi$_str_10$0$0 == . 291E 2937 __str_10: 291E 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 2950 0A 2939 .db 0x0A 2951 00 2940 .db 0x00 01C1 2941 Ftest_UM6_spi$_str_11$0$0 == . 2952 2942 __str_11: 2952 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 2985 0A 2944 .db 0x0A 2986 00 2945 .db 0x00 01F6 2946 Ftest_UM6_spi$_str_12$0$0 == . 2987 2947 __str_12: 2987 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 29B8 0A 2949 .db 0x0A 29B9 00 2950 .db 0x00 0229 2951 Ftest_UM6_spi$_str_13$0$0 == . 29BA 2952 __str_13: 29BA 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 29EC 0A 2954 .db 0x0A 29ED 00 2955 .db 0x00 025D 2956 Ftest_UM6_spi$_str_14$0$0 == . 29EE 2957 __str_14: 29EE 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 2A08 0A 2959 .db 0x0A 2A09 00 2960 .db 0x00 0279 2961 Ftest_UM6_spi$_str_15$0$0 == . 2A0A 2962 __str_15: 2A0A 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 2A26 0A 2964 .db 0x0A 2A27 00 2965 .db 0x00 0297 2966 Ftest_UM6_spi$_str_16$0$0 == . 2A28 2967 __str_16: 2A28 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 2A49 0A 2969 .db 0x0A 2A4A 00 2970 .db 0x00 02BA 2971 Ftest_UM6_spi$_str_17$0$0 == . 2A4B 2972 __str_17: 2A4B 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 2A6D 0A 2974 .db 0x0A 2A6E 00 2975 .db 0x00 02DE 2976 Ftest_UM6_spi$_str_18$0$0 == . 2A6F 2977 __str_18: 2A6F 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 2A8C 0A 2979 .db 0x0A 2A8D 00 2980 .db 0x00 02FD 2981 Ftest_UM6_spi$_str_19$0$0 == . 2A8E 2982 __str_19: 2A8E 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 2AAC 0A 2984 .db 0x0A 2AAD 00 2985 .db 0x00 031D 2986 Ftest_UM6_spi$_str_20$0$0 == . 2AAE 2987 __str_20: 2AAE 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 2AE0 0A 2989 .db 0x0A 2AE1 00 2990 .db 0x00 0351 2991 Ftest_UM6_spi$_str_21$0$0 == . 2AE2 2992 __str_21: 2AE2 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 2B15 0A 2994 .db 0x0A 2B16 00 2995 .db 0x00 0386 2996 Ftest_UM6_spi$_str_22$0$0 == . 2B17 2997 __str_22: 2B17 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 2B53 0A 2999 .db 0x0A 2B54 00 3000 .db 0x00 03C4 3001 Ftest_UM6_spi$_str_23$0$0 == . 2B55 3002 __str_23: 2B55 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 2B91 20 3004 .ascii " " 2B92 0A 3005 .db 0x0A 2B93 00 3006 .db 0x00 0403 3007 Ftest_UM6_spi$_str_24$0$0 == . 2B94 3008 __str_24: 2B94 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 2BB5 0A 3010 .db 0x0A 2BB6 00 3011 .db 0x00 0426 3012 Ftest_UM6_spi$_str_25$0$0 == . 2BB7 3013 __str_25: 2BB7 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 2BD9 0A 3015 .db 0x0A 2BDA 00 3016 .db 0x00 044A 3017 Ftest_UM6_spi$_str_26$0$0 == . 2BDB 3018 __str_26: 2BDB 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 2BFF 0A 3020 .db 0x0A 2C00 00 3021 .db 0x00 0470 3022 Ftest_UM6_spi$_str_27$0$0 == . 2C01 3023 __str_27: 2C01 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 2C26 0A 3025 .db 0x0A 2C27 00 3026 .db 0x00 0497 3027 G$param_input_mode$0$0 == . 2C28 3028 _param_input_mode: 2C28 00 00 00 00 3029 .byte #0x00,#0x00,#0x00,#0x00 ; 0 049B 3030 G$param_bar_graph$0$0 == . 2C2C 3031 _param_bar_graph: 2C2C 01 00 00 00 3032 .byte #0x01,#0x00,#0x00,#0x00 ; 1 049F 3033 G$param_report_period_ms$0$0 == . 2C30 3034 _param_report_period_ms: 2C30 28 00 00 00 3035 .byte #0x28,#0x00,#0x00,#0x00 ; 40 04A3 3036 Ftest_UM6_spi$_str_28$0$0 == . 2C34 3037 __str_28: 2C34 1B 3038 .db 0x1B 2C35 5B 30 3B 30 48 3039 .ascii "[0;0H" 2C3A 00 3040 .db 0x00 04AA 3041 Ftest_UM6_spi$_str_29$0$0 == . 2C3B 3042 __str_29: 2C3B 61 63 63 65 6C 72 3043 .ascii "accelrawZ is : %d " 61 77 5A 20 69 73 20 3A 20 25 64 20 2C4D 0A 3044 .db 0x0A 2C4E 00 3045 .db 0x00 04BE 3046 Ftest_UM6_spi$_str_30$0$0 == . 2C4F 3047 __str_30: 2C4F 61 63 63 65 6C 5A 3048 .ascii "accelZ is : %d " 20 69 73 20 3A 20 25 64 20 2C5E 0A 3049 .db 0x0A 2C5F 00 3050 .db 0x00 04CF 3051 Ftest_UM6_spi$_str_31$0$0 == . 2C60 3052 __str_31: 2C60 61 63 63 65 6C 58 3053 .ascii "accelX is : %d " 20 69 73 20 3A 20 25 64 20 2C6F 0A 3054 .db 0x0A 2C70 00 3055 .db 0x00 04E0 3056 Ftest_UM6_spi$_str_32$0$0 == . 2C71 3057 __str_32: 2C71 61 63 63 65 6C 59 3058 .ascii "accelY is : %d " 20 69 73 20 3A 20 25 64 20 2C80 0A 3059 .db 0x0A 2C81 00 3060 .db 0x00 04F1 3061 Ftest_UM6_spi$_str_33$0$0 == . 2C82 3062 __str_33: 2C82 67 79 72 6F 5A 20 3063 .ascii "gyroZ is : %d " 69 73 20 3A 20 25 64 20 2C90 0A 3064 .db 0x0A 2C91 00 3065 .db 0x00 0501 3066 Ftest_UM6_spi$_str_34$0$0 == . 2C92 3067 __str_34: 2C92 67 79 72 6F 58 20 3068 .ascii "gyroX is : %d " 69 73 20 3A 20 25 64 20 2CA0 0A 3069 .db 0x0A 2CA1 00 3070 .db 0x00 0511 3071 Ftest_UM6_spi$_str_35$0$0 == . 2CA2 3072 __str_35: 2CA2 67 79 72 6F 59 20 3073 .ascii "gyroY is : %d " 69 73 20 3A 20 25 64 20 2CB0 0A 3074 .db 0x0A 2CB1 00 3075 .db 0x00 0521 3076 Ftest_UM6_spi$_str_36$0$0 == . 2CB2 3077 __str_36: 2CB2 65 75 6C 65 72 5F 3078 .ascii "euler_psi is : %d " 70 73 69 20 69 73 20 3A 20 25 64 20 2CC4 0A 3079 .db 0x0A 2CC5 00 3080 .db 0x00 0535 3081 Ftest_UM6_spi$_str_37$0$0 == . 2CC6 3082 __str_37: 2CC6 65 75 6C 65 72 5F 3083 .ascii "euler_phi is : %d " 70 68 69 20 69 73 20 3A 20 25 64 20 2CD8 0A 3084 .db 0x0A 2CD9 00 3085 .db 0x00 0549 3086 Ftest_UM6_spi$_str_38$0$0 == . 2CDA 3087 __str_38: 2CDA 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 2CEE 0A 3089 .db 0x0A 2CEF 00 3090 .db 0x00 3091 .area XINIT (CODE) 0000 3092 Ftest_UM6_spi$__xinit_IMU_txdata$0$0 == . 2D8F 3093 __xinit__IMU_txdata: 2D8F 00 3094 .db #0x00 ; 0 2D90 00 3095 .db 0x00 2D91 00 3096 .db 0x00 2D92 00 3097 .db 0x00 2D93 00 3098 .db 0x00 2D94 00 3099 .db 0x00 2D95 00 3100 .db 0x00 2D96 00 3101 .db 0x00 0008 3102 Ftest_UM6_spi$__xinit_IMU_rxdata$0$0 == . 2D97 3103 __xinit__IMU_rxdata: 2D97 01 3104 .db #0x01 ; 1 2D98 01 3105 .db #0x01 ; 1 2D99 01 3106 .db #0x01 ; 1 2D9A 01 3107 .db #0x01 ; 1 2D9B 01 3108 .db #0x01 ; 1 2D9C 01 3109 .db #0x01 ; 1 2D9D 01 3110 .db #0x01 ; 1 2D9E 01 3111 .db #0x01 ; 1 3112 .area CABS (ABS,CODE)