;-------------------------------------------------------- ; File Created by SDCC : free open source ANSI-C Compiler ; Version 3.0.0 #6037 (Oct 31 2010) (Linux) ; This file was generated Sat May 26 21:02:12 2012 ;-------------------------------------------------------- .module debugint .optsdcc -mmcs51 --model-medium ;-------------------------------------------------------- ; Public variables in this module ;-------------------------------------------------------- .globl _main .globl _UM6_flash_commit .globl _read_gyro_procXY .globl _read_accel_procXY .globl _read_gyro_procZ .globl _read_accel_procZ .globl _read_euler_phi_theta .globl _read_euler_psi .globl _read_accel_rawZ .globl _write_UM6_Miscconfig .globl _Zero_Gyros .globl _write_UM6comm .globl _spi_UM6_init .globl _read_rxbuf0 .globl _load_can_txbuf2 .globl _load_can_txbuf1 .globl _load_can_txbuf0 .globl _IMU_rxdata .globl _IMU_txdata .globl _txdata .globl _rxdata .globl _txdata2 .globl _txpkt .globl _gyroprocZ .globl _gyroprocX .globl _gyroprocY .globl _euler_theta .globl _euler_phi .globl _euler_psi .globl _accelrawZ .globl _accelrawX .globl _accelrawY .globl _accelprocZ .globl _accelprocX .globl _accelprocY .globl _write_can_reg_PARM_2 .globl _msg2 .globl _Can_init .globl _Can_setnormalmode .globl _Can_setconfigmode .globl _Can_reset .globl _read_can_reg .globl _write_can_reg .globl _buf0ovfbuf1 .globl _setmask0 .globl _setrxfil0 .globl _setrxfil1 .globl _set_Can_baudrate .globl _send_Canmsg_wait .globl _get_Canmsg .globl _rxbuf0_full .globl _testfun ;-------------------------------------------------------- ; special function registers ;-------------------------------------------------------- .area RSEG (ABS,DATA) .org 0x0000 Fdebugint$P0$0$0 == 0x0080 _P0 = 0x0080 Fdebugint$SP$0$0 == 0x0081 _SP = 0x0081 Fdebugint$DPL0$0$0 == 0x0082 _DPL0 = 0x0082 Fdebugint$DPH0$0$0 == 0x0083 _DPH0 = 0x0083 Fdebugint$DPL1$0$0 == 0x0084 _DPL1 = 0x0084 Fdebugint$DPH1$0$0 == 0x0085 _DPH1 = 0x0085 Fdebugint$U0CSR$0$0 == 0x0086 _U0CSR = 0x0086 Fdebugint$PCON$0$0 == 0x0087 _PCON = 0x0087 Fdebugint$TCON$0$0 == 0x0088 _TCON = 0x0088 Fdebugint$P0IFG$0$0 == 0x0089 _P0IFG = 0x0089 Fdebugint$P1IFG$0$0 == 0x008a _P1IFG = 0x008a Fdebugint$P2IFG$0$0 == 0x008b _P2IFG = 0x008b Fdebugint$PICTL$0$0 == 0x008c _PICTL = 0x008c Fdebugint$P1IEN$0$0 == 0x008d _P1IEN = 0x008d Fdebugint$P0INP$0$0 == 0x008f _P0INP = 0x008f Fdebugint$P1$0$0 == 0x0090 _P1 = 0x0090 Fdebugint$RFIM$0$0 == 0x0091 _RFIM = 0x0091 Fdebugint$DPS$0$0 == 0x0092 _DPS = 0x0092 Fdebugint$MPAGE$0$0 == 0x0093 _MPAGE = 0x0093 Fdebugint$ENDIAN$0$0 == 0x0095 _ENDIAN = 0x0095 Fdebugint$S0CON$0$0 == 0x0098 _S0CON = 0x0098 Fdebugint$IEN2$0$0 == 0x009a _IEN2 = 0x009a Fdebugint$S1CON$0$0 == 0x009b _S1CON = 0x009b Fdebugint$T2CT$0$0 == 0x009c _T2CT = 0x009c Fdebugint$T2PR$0$0 == 0x009d _T2PR = 0x009d Fdebugint$T2CTL$0$0 == 0x009e _T2CTL = 0x009e Fdebugint$P2$0$0 == 0x00a0 _P2 = 0x00a0 Fdebugint$WORIRQ$0$0 == 0x00a1 _WORIRQ = 0x00a1 Fdebugint$WORCTRL$0$0 == 0x00a2 _WORCTRL = 0x00a2 Fdebugint$WOREVT0$0$0 == 0x00a3 _WOREVT0 = 0x00a3 Fdebugint$WOREVT1$0$0 == 0x00a4 _WOREVT1 = 0x00a4 Fdebugint$WORTIME0$0$0 == 0x00a5 _WORTIME0 = 0x00a5 Fdebugint$WORTIME1$0$0 == 0x00a6 _WORTIME1 = 0x00a6 Fdebugint$IEN0$0$0 == 0x00a8 _IEN0 = 0x00a8 Fdebugint$IP0$0$0 == 0x00a9 _IP0 = 0x00a9 Fdebugint$FWT$0$0 == 0x00ab _FWT = 0x00ab Fdebugint$FADDRL$0$0 == 0x00ac _FADDRL = 0x00ac Fdebugint$FADDRH$0$0 == 0x00ad _FADDRH = 0x00ad Fdebugint$FCTL$0$0 == 0x00ae _FCTL = 0x00ae Fdebugint$FWDATA$0$0 == 0x00af _FWDATA = 0x00af Fdebugint$ENCDI$0$0 == 0x00b1 _ENCDI = 0x00b1 Fdebugint$ENCDO$0$0 == 0x00b2 _ENCDO = 0x00b2 Fdebugint$ENCCS$0$0 == 0x00b3 _ENCCS = 0x00b3 Fdebugint$ADCCON1$0$0 == 0x00b4 _ADCCON1 = 0x00b4 Fdebugint$ADCCON2$0$0 == 0x00b5 _ADCCON2 = 0x00b5 Fdebugint$ADCCON3$0$0 == 0x00b6 _ADCCON3 = 0x00b6 Fdebugint$IEN1$0$0 == 0x00b8 _IEN1 = 0x00b8 Fdebugint$IP1$0$0 == 0x00b9 _IP1 = 0x00b9 Fdebugint$ADCL$0$0 == 0x00ba _ADCL = 0x00ba Fdebugint$ADCH$0$0 == 0x00bb _ADCH = 0x00bb Fdebugint$RNDL$0$0 == 0x00bc _RNDL = 0x00bc Fdebugint$RNDH$0$0 == 0x00bd _RNDH = 0x00bd Fdebugint$SLEEP$0$0 == 0x00be _SLEEP = 0x00be Fdebugint$IRCON$0$0 == 0x00c0 _IRCON = 0x00c0 Fdebugint$U0DBUF$0$0 == 0x00c1 _U0DBUF = 0x00c1 Fdebugint$U0BAUD$0$0 == 0x00c2 _U0BAUD = 0x00c2 Fdebugint$U0UCR$0$0 == 0x00c4 _U0UCR = 0x00c4 Fdebugint$U0GCR$0$0 == 0x00c5 _U0GCR = 0x00c5 Fdebugint$CLKCON$0$0 == 0x00c6 _CLKCON = 0x00c6 Fdebugint$MEMCTR$0$0 == 0x00c7 _MEMCTR = 0x00c7 Fdebugint$WDCTL$0$0 == 0x00c9 _WDCTL = 0x00c9 Fdebugint$T3CNT$0$0 == 0x00ca _T3CNT = 0x00ca Fdebugint$T3CTL$0$0 == 0x00cb _T3CTL = 0x00cb Fdebugint$T3CCTL0$0$0 == 0x00cc _T3CCTL0 = 0x00cc Fdebugint$T3CC0$0$0 == 0x00cd _T3CC0 = 0x00cd Fdebugint$T3CCTL1$0$0 == 0x00ce _T3CCTL1 = 0x00ce Fdebugint$T3CC1$0$0 == 0x00cf _T3CC1 = 0x00cf Fdebugint$PSW$0$0 == 0x00d0 _PSW = 0x00d0 Fdebugint$DMAIRQ$0$0 == 0x00d1 _DMAIRQ = 0x00d1 Fdebugint$DMA1CFGL$0$0 == 0x00d2 _DMA1CFGL = 0x00d2 Fdebugint$DMA1CFGH$0$0 == 0x00d3 _DMA1CFGH = 0x00d3 Fdebugint$DMA0CFGL$0$0 == 0x00d4 _DMA0CFGL = 0x00d4 Fdebugint$DMA0CFGH$0$0 == 0x00d5 _DMA0CFGH = 0x00d5 Fdebugint$DMAARM$0$0 == 0x00d6 _DMAARM = 0x00d6 Fdebugint$DMAREQ$0$0 == 0x00d7 _DMAREQ = 0x00d7 Fdebugint$TIMIF$0$0 == 0x00d8 _TIMIF = 0x00d8 Fdebugint$RFD$0$0 == 0x00d9 _RFD = 0x00d9 Fdebugint$T1CC0L$0$0 == 0x00da _T1CC0L = 0x00da Fdebugint$T1CC0H$0$0 == 0x00db _T1CC0H = 0x00db Fdebugint$T1CC1L$0$0 == 0x00dc _T1CC1L = 0x00dc Fdebugint$T1CC1H$0$0 == 0x00dd _T1CC1H = 0x00dd Fdebugint$T1CC2L$0$0 == 0x00de _T1CC2L = 0x00de Fdebugint$T1CC2H$0$0 == 0x00df _T1CC2H = 0x00df Fdebugint$ACC$0$0 == 0x00e0 _ACC = 0x00e0 Fdebugint$RFST$0$0 == 0x00e1 _RFST = 0x00e1 Fdebugint$T1CNTL$0$0 == 0x00e2 _T1CNTL = 0x00e2 Fdebugint$T1CNTH$0$0 == 0x00e3 _T1CNTH = 0x00e3 Fdebugint$T1CTL$0$0 == 0x00e4 _T1CTL = 0x00e4 Fdebugint$T1CCTL0$0$0 == 0x00e5 _T1CCTL0 = 0x00e5 Fdebugint$T1CCTL1$0$0 == 0x00e6 _T1CCTL1 = 0x00e6 Fdebugint$T1CCTL2$0$0 == 0x00e7 _T1CCTL2 = 0x00e7 Fdebugint$IRCON2$0$0 == 0x00e8 _IRCON2 = 0x00e8 Fdebugint$RFIF$0$0 == 0x00e9 _RFIF = 0x00e9 Fdebugint$T4CNT$0$0 == 0x00ea _T4CNT = 0x00ea Fdebugint$T4CTL$0$0 == 0x00eb _T4CTL = 0x00eb Fdebugint$T4CCTL0$0$0 == 0x00ec _T4CCTL0 = 0x00ec Fdebugint$T4CC0$0$0 == 0x00ed _T4CC0 = 0x00ed Fdebugint$T4CCTL1$0$0 == 0x00ee _T4CCTL1 = 0x00ee Fdebugint$T4CC1$0$0 == 0x00ef _T4CC1 = 0x00ef Fdebugint$B$0$0 == 0x00f0 _B = 0x00f0 Fdebugint$PERCFG$0$0 == 0x00f1 _PERCFG = 0x00f1 Fdebugint$ADCCFG$0$0 == 0x00f2 _ADCCFG = 0x00f2 Fdebugint$P0SEL$0$0 == 0x00f3 _P0SEL = 0x00f3 Fdebugint$P1SEL$0$0 == 0x00f4 _P1SEL = 0x00f4 Fdebugint$P2SEL$0$0 == 0x00f5 _P2SEL = 0x00f5 Fdebugint$P1INP$0$0 == 0x00f6 _P1INP = 0x00f6 Fdebugint$P2INP$0$0 == 0x00f7 _P2INP = 0x00f7 Fdebugint$U1CSR$0$0 == 0x00f8 _U1CSR = 0x00f8 Fdebugint$U1DBUF$0$0 == 0x00f9 _U1DBUF = 0x00f9 Fdebugint$U1BAUD$0$0 == 0x00fa _U1BAUD = 0x00fa Fdebugint$U1UCR$0$0 == 0x00fb _U1UCR = 0x00fb Fdebugint$U1GCR$0$0 == 0x00fc _U1GCR = 0x00fc Fdebugint$P0DIR$0$0 == 0x00fd _P0DIR = 0x00fd Fdebugint$P1DIR$0$0 == 0x00fe _P1DIR = 0x00fe Fdebugint$P2DIR$0$0 == 0x00ff _P2DIR = 0x00ff Fdebugint$DMA0CFG$0$0 == 0xffffd5d4 _DMA0CFG = 0xffffd5d4 Fdebugint$DMA1CFG$0$0 == 0xffffd3d2 _DMA1CFG = 0xffffd3d2 Fdebugint$FADDR$0$0 == 0xffffadac _FADDR = 0xffffadac Fdebugint$ADC$0$0 == 0xffffbbba _ADC = 0xffffbbba Fdebugint$T1CC0$0$0 == 0xffffdbda _T1CC0 = 0xffffdbda Fdebugint$T1CC1$0$0 == 0xffffdddc _T1CC1 = 0xffffdddc Fdebugint$T1CC2$0$0 == 0xffffdfde _T1CC2 = 0xffffdfde ;-------------------------------------------------------- ; special function bits ;-------------------------------------------------------- .area RSEG (ABS,DATA) .org 0x0000 Fdebugint$P0_0$0$0 == 0x0080 _P0_0 = 0x0080 Fdebugint$P0_1$0$0 == 0x0081 _P0_1 = 0x0081 Fdebugint$P0_2$0$0 == 0x0082 _P0_2 = 0x0082 Fdebugint$P0_3$0$0 == 0x0083 _P0_3 = 0x0083 Fdebugint$P0_4$0$0 == 0x0084 _P0_4 = 0x0084 Fdebugint$P0_5$0$0 == 0x0085 _P0_5 = 0x0085 Fdebugint$P0_6$0$0 == 0x0086 _P0_6 = 0x0086 Fdebugint$P0_7$0$0 == 0x0087 _P0_7 = 0x0087 Fdebugint$_TCON_0$0$0 == 0x0088 __TCON_0 = 0x0088 Fdebugint$RFTXRXIF$0$0 == 0x0089 _RFTXRXIF = 0x0089 Fdebugint$_TCON_2$0$0 == 0x008a __TCON_2 = 0x008a Fdebugint$URX0IF$0$0 == 0x008b _URX0IF = 0x008b Fdebugint$_TCON_4$0$0 == 0x008c __TCON_4 = 0x008c Fdebugint$ADCIF$0$0 == 0x008d _ADCIF = 0x008d Fdebugint$_TCON_6$0$0 == 0x008e __TCON_6 = 0x008e Fdebugint$URX1IF$0$0 == 0x008f _URX1IF = 0x008f Fdebugint$P1_0$0$0 == 0x0090 _P1_0 = 0x0090 Fdebugint$P1_1$0$0 == 0x0091 _P1_1 = 0x0091 Fdebugint$P1_2$0$0 == 0x0092 _P1_2 = 0x0092 Fdebugint$P1_3$0$0 == 0x0093 _P1_3 = 0x0093 Fdebugint$P1_4$0$0 == 0x0094 _P1_4 = 0x0094 Fdebugint$P1_5$0$0 == 0x0095 _P1_5 = 0x0095 Fdebugint$P1_6$0$0 == 0x0096 _P1_6 = 0x0096 Fdebugint$P1_7$0$0 == 0x0097 _P1_7 = 0x0097 Fdebugint$ENCIF_0$0$0 == 0x0098 _ENCIF_0 = 0x0098 Fdebugint$ENCIF_1$0$0 == 0x0099 _ENCIF_1 = 0x0099 Fdebugint$_SOCON2$0$0 == 0x009a __SOCON2 = 0x009a Fdebugint$_SOCON3$0$0 == 0x009b __SOCON3 = 0x009b Fdebugint$_SOCON4$0$0 == 0x009c __SOCON4 = 0x009c Fdebugint$_SOCON5$0$0 == 0x009d __SOCON5 = 0x009d Fdebugint$_SOCON6$0$0 == 0x009e __SOCON6 = 0x009e Fdebugint$_SOCON7$0$0 == 0x009f __SOCON7 = 0x009f Fdebugint$P2_0$0$0 == 0x00a0 _P2_0 = 0x00a0 Fdebugint$P2_1$0$0 == 0x00a1 _P2_1 = 0x00a1 Fdebugint$P2_2$0$0 == 0x00a2 _P2_2 = 0x00a2 Fdebugint$P2_3$0$0 == 0x00a3 _P2_3 = 0x00a3 Fdebugint$P2_4$0$0 == 0x00a4 _P2_4 = 0x00a4 Fdebugint$P2_5$0$0 == 0x00a5 _P2_5 = 0x00a5 Fdebugint$P2_6$0$0 == 0x00a6 _P2_6 = 0x00a6 Fdebugint$P2_7$0$0 == 0x00a7 _P2_7 = 0x00a7 Fdebugint$RFTXRXIE$0$0 == 0x00a8 _RFTXRXIE = 0x00a8 Fdebugint$ADCIE$0$0 == 0x00a9 _ADCIE = 0x00a9 Fdebugint$URX0IE$0$0 == 0x00aa _URX0IE = 0x00aa Fdebugint$URX1IE$0$0 == 0x00ab _URX1IE = 0x00ab Fdebugint$ENCIE$0$0 == 0x00ac _ENCIE = 0x00ac Fdebugint$STIE$0$0 == 0x00ad _STIE = 0x00ad Fdebugint$_IEN06$0$0 == 0x00ae __IEN06 = 0x00ae Fdebugint$EA$0$0 == 0x00af _EA = 0x00af Fdebugint$DMAIE$0$0 == 0x00b8 _DMAIE = 0x00b8 Fdebugint$T1IE$0$0 == 0x00b9 _T1IE = 0x00b9 Fdebugint$T2IE$0$0 == 0x00ba _T2IE = 0x00ba Fdebugint$T3IE$0$0 == 0x00bb _T3IE = 0x00bb Fdebugint$T4IE$0$0 == 0x00bc _T4IE = 0x00bc Fdebugint$P0IE$0$0 == 0x00bd _P0IE = 0x00bd Fdebugint$_IEN16$0$0 == 0x00be __IEN16 = 0x00be Fdebugint$_IEN17$0$0 == 0x00bf __IEN17 = 0x00bf Fdebugint$DMAIF$0$0 == 0x00c0 _DMAIF = 0x00c0 Fdebugint$T1IF$0$0 == 0x00c1 _T1IF = 0x00c1 Fdebugint$T2IF$0$0 == 0x00c2 _T2IF = 0x00c2 Fdebugint$T3IF$0$0 == 0x00c3 _T3IF = 0x00c3 Fdebugint$T4IF$0$0 == 0x00c4 _T4IF = 0x00c4 Fdebugint$P0IF$0$0 == 0x00c5 _P0IF = 0x00c5 Fdebugint$_IRCON6$0$0 == 0x00c6 __IRCON6 = 0x00c6 Fdebugint$STIF$0$0 == 0x00c7 _STIF = 0x00c7 Fdebugint$P$0$0 == 0x00d0 _P = 0x00d0 Fdebugint$F1$0$0 == 0x00d1 _F1 = 0x00d1 Fdebugint$OV$0$0 == 0x00d2 _OV = 0x00d2 Fdebugint$RS0$0$0 == 0x00d3 _RS0 = 0x00d3 Fdebugint$RS1$0$0 == 0x00d4 _RS1 = 0x00d4 Fdebugint$F0$0$0 == 0x00d5 _F0 = 0x00d5 Fdebugint$AC$0$0 == 0x00d6 _AC = 0x00d6 Fdebugint$CY$0$0 == 0x00d7 _CY = 0x00d7 Fdebugint$T3OVFIF$0$0 == 0x00d8 _T3OVFIF = 0x00d8 Fdebugint$T3CH0IF$0$0 == 0x00d9 _T3CH0IF = 0x00d9 Fdebugint$T3CH1IF$0$0 == 0x00da _T3CH1IF = 0x00da Fdebugint$T4OVFIF$0$0 == 0x00db _T4OVFIF = 0x00db Fdebugint$T4CH0IF$0$0 == 0x00dc _T4CH0IF = 0x00dc Fdebugint$T4CH1IF$0$0 == 0x00dd _T4CH1IF = 0x00dd Fdebugint$OVFIM$0$0 == 0x00de _OVFIM = 0x00de Fdebugint$_TIMIF7$0$0 == 0x00df __TIMIF7 = 0x00df Fdebugint$ACC_0$0$0 == 0x00e0 _ACC_0 = 0x00e0 Fdebugint$ACC_1$0$0 == 0x00e1 _ACC_1 = 0x00e1 Fdebugint$ACC_2$0$0 == 0x00e2 _ACC_2 = 0x00e2 Fdebugint$ACC_3$0$0 == 0x00e3 _ACC_3 = 0x00e3 Fdebugint$ACC_4$0$0 == 0x00e4 _ACC_4 = 0x00e4 Fdebugint$ACC_5$0$0 == 0x00e5 _ACC_5 = 0x00e5 Fdebugint$ACC_6$0$0 == 0x00e6 _ACC_6 = 0x00e6 Fdebugint$ACC_7$0$0 == 0x00e7 _ACC_7 = 0x00e7 Fdebugint$P2IF$0$0 == 0x00e8 _P2IF = 0x00e8 Fdebugint$UTX0IF$0$0 == 0x00e9 _UTX0IF = 0x00e9 Fdebugint$UTX1IF$0$0 == 0x00ea _UTX1IF = 0x00ea Fdebugint$P1IF$0$0 == 0x00eb _P1IF = 0x00eb Fdebugint$WDTIF$0$0 == 0x00ec _WDTIF = 0x00ec Fdebugint$_IRCON25$0$0 == 0x00ed __IRCON25 = 0x00ed Fdebugint$_IRCON26$0$0 == 0x00ee __IRCON26 = 0x00ee Fdebugint$_IRCON27$0$0 == 0x00ef __IRCON27 = 0x00ef Fdebugint$B_0$0$0 == 0x00f0 _B_0 = 0x00f0 Fdebugint$B_1$0$0 == 0x00f1 _B_1 = 0x00f1 Fdebugint$B_2$0$0 == 0x00f2 _B_2 = 0x00f2 Fdebugint$B_3$0$0 == 0x00f3 _B_3 = 0x00f3 Fdebugint$B_4$0$0 == 0x00f4 _B_4 = 0x00f4 Fdebugint$B_5$0$0 == 0x00f5 _B_5 = 0x00f5 Fdebugint$B_6$0$0 == 0x00f6 _B_6 = 0x00f6 Fdebugint$B_7$0$0 == 0x00f7 _B_7 = 0x00f7 Fdebugint$U1ACTIVE$0$0 == 0x00f8 _U1ACTIVE = 0x00f8 Fdebugint$U1TX_BYTE$0$0 == 0x00f9 _U1TX_BYTE = 0x00f9 Fdebugint$U1RX_BYTE$0$0 == 0x00fa _U1RX_BYTE = 0x00fa Fdebugint$U1ERR$0$0 == 0x00fb _U1ERR = 0x00fb Fdebugint$U1FE$0$0 == 0x00fc _U1FE = 0x00fc Fdebugint$U1SLAVE$0$0 == 0x00fd _U1SLAVE = 0x00fd Fdebugint$U1RE$0$0 == 0x00fe _U1RE = 0x00fe Fdebugint$U1MODE$0$0 == 0x00ff _U1MODE = 0x00ff ;-------------------------------------------------------- ; overlayable register banks ;-------------------------------------------------------- .area REG_BANK_0 (REL,OVR,DATA) .ds 8 ;-------------------------------------------------------- ; overlayable bit register bank ;-------------------------------------------------------- .area BIT_BANK (REL,OVR,DATA) bits: .ds 1 b0 = bits[0] b1 = bits[1] b2 = bits[2] b3 = bits[3] b4 = bits[4] b5 = bits[5] b6 = bits[6] b7 = bits[7] ;-------------------------------------------------------- ; internal ram data ;-------------------------------------------------------- .area DSEG (DATA) Lsend_Canmsg_wait$sloc0$1$0==. _send_Canmsg_wait_sloc0_1_0: .ds 2 Lget_Canmsg$sloc0$1$0==. _get_Canmsg_sloc0_1_0: .ds 3 Lget_Canmsg$sloc1$1$0==. _get_Canmsg_sloc1_1_0: .ds 1 Lget_Canmsg$sloc2$1$0==. _get_Canmsg_sloc2_1_0: .ds 1 Lget_Canmsg$sloc3$1$0==. _get_Canmsg_sloc3_1_0: .ds 1 Lget_Canmsg$sloc4$1$0==. _get_Canmsg_sloc4_1_0: .ds 2 Lget_Canmsg$sloc5$1$0==. _get_Canmsg_sloc5_1_0: .ds 3 G$msg2$0$0==. _msg2:: .ds 11 Lmain$sloc0$1$0==. _main_sloc0_1_0: .ds 1 Lmain$sloc1$1$0==. _main_sloc1_1_0: .ds 4 Lmain$sloc2$1$0==. _main_sloc2_1_0: .ds 2 ;-------------------------------------------------------- ; overlayable items in internal ram ;-------------------------------------------------------- .area OSEG (OVR,DATA) ;-------------------------------------------------------- ; Stack segment in internal ram ;-------------------------------------------------------- .area SSEG (DATA) __start__stack: .ds 1 ;-------------------------------------------------------- ; indirectly addressable internal ram data ;-------------------------------------------------------- .area ISEG (DATA) ;-------------------------------------------------------- ; absolute internal ram data ;-------------------------------------------------------- .area IABS (ABS,DATA) .area IABS (ABS,DATA) ;-------------------------------------------------------- ; bit data ;-------------------------------------------------------- .area BSEG (BIT) ;-------------------------------------------------------- ; paged external ram data ;-------------------------------------------------------- .area PSEG (PAG,XDATA) Lwrite_can_reg$val$1$1==. _write_can_reg_PARM_2: .ds 1 Lsend_Canmsg_wait$msg$1$1==. _send_Canmsg_wait_msg_1_1: .ds 3 Lsend_Canmsg_wait$i$1$1==. _send_Canmsg_wait_i_1_1: .ds 2 Lsend_Canmsg_wait$sent$1$1==. _send_Canmsg_wait_sent_1_1: .ds 1 Lget_Canmsg$msg$1$1==. _get_Canmsg_msg_1_1: .ds 3 G$accelprocY$0$0==. _accelprocY:: .ds 2 G$accelprocX$0$0==. _accelprocX:: .ds 2 G$accelprocZ$0$0==. _accelprocZ:: .ds 2 G$accelrawY$0$0==. _accelrawY:: .ds 2 G$accelrawX$0$0==. _accelrawX:: .ds 2 G$accelrawZ$0$0==. _accelrawZ:: .ds 2 G$euler_psi$0$0==. _euler_psi:: .ds 2 G$euler_phi$0$0==. _euler_phi:: .ds 2 G$euler_theta$0$0==. _euler_theta:: .ds 2 G$gyroprocY$0$0==. _gyroprocY:: .ds 2 G$gyroprocX$0$0==. _gyroprocX:: .ds 2 G$gyroprocZ$0$0==. _gyroprocZ:: .ds 2 G$txpkt$0$0==. _txpkt:: .ds 2 ;-------------------------------------------------------- ; external ram data ;-------------------------------------------------------- .area XSEG (XDATA) Fdebugint$SYNC1$0$0 == 0xdf00 _SYNC1 = 0xdf00 Fdebugint$SYNC0$0$0 == 0xdf01 _SYNC0 = 0xdf01 Fdebugint$PKTLEN$0$0 == 0xdf02 _PKTLEN = 0xdf02 Fdebugint$PKTCTRL1$0$0 == 0xdf03 _PKTCTRL1 = 0xdf03 Fdebugint$PKTCTRL0$0$0 == 0xdf04 _PKTCTRL0 = 0xdf04 Fdebugint$ADDR$0$0 == 0xdf05 _ADDR = 0xdf05 Fdebugint$CHANNR$0$0 == 0xdf06 _CHANNR = 0xdf06 Fdebugint$FSCTRL1$0$0 == 0xdf07 _FSCTRL1 = 0xdf07 Fdebugint$FSCTRL0$0$0 == 0xdf08 _FSCTRL0 = 0xdf08 Fdebugint$FREQ2$0$0 == 0xdf09 _FREQ2 = 0xdf09 Fdebugint$FREQ1$0$0 == 0xdf0a _FREQ1 = 0xdf0a Fdebugint$FREQ0$0$0 == 0xdf0b _FREQ0 = 0xdf0b Fdebugint$MDMCFG4$0$0 == 0xdf0c _MDMCFG4 = 0xdf0c Fdebugint$MDMCFG3$0$0 == 0xdf0d _MDMCFG3 = 0xdf0d Fdebugint$MDMCFG2$0$0 == 0xdf0e _MDMCFG2 = 0xdf0e Fdebugint$MDMCFG1$0$0 == 0xdf0f _MDMCFG1 = 0xdf0f Fdebugint$MDMCFG0$0$0 == 0xdf10 _MDMCFG0 = 0xdf10 Fdebugint$DEVIATN$0$0 == 0xdf11 _DEVIATN = 0xdf11 Fdebugint$MCSM2$0$0 == 0xdf12 _MCSM2 = 0xdf12 Fdebugint$MCSM1$0$0 == 0xdf13 _MCSM1 = 0xdf13 Fdebugint$MCSM0$0$0 == 0xdf14 _MCSM0 = 0xdf14 Fdebugint$FOCCFG$0$0 == 0xdf15 _FOCCFG = 0xdf15 Fdebugint$BSCFG$0$0 == 0xdf16 _BSCFG = 0xdf16 Fdebugint$AGCCTRL2$0$0 == 0xdf17 _AGCCTRL2 = 0xdf17 Fdebugint$AGCCTRL1$0$0 == 0xdf18 _AGCCTRL1 = 0xdf18 Fdebugint$AGCCTRL0$0$0 == 0xdf19 _AGCCTRL0 = 0xdf19 Fdebugint$FREND1$0$0 == 0xdf1a _FREND1 = 0xdf1a Fdebugint$FREND0$0$0 == 0xdf1b _FREND0 = 0xdf1b Fdebugint$FSCAL3$0$0 == 0xdf1c _FSCAL3 = 0xdf1c Fdebugint$FSCAL2$0$0 == 0xdf1d _FSCAL2 = 0xdf1d Fdebugint$FSCAL1$0$0 == 0xdf1e _FSCAL1 = 0xdf1e Fdebugint$FSCAL0$0$0 == 0xdf1f _FSCAL0 = 0xdf1f Fdebugint$TEST2$0$0 == 0xdf23 _TEST2 = 0xdf23 Fdebugint$TEST1$0$0 == 0xdf24 _TEST1 = 0xdf24 Fdebugint$TEST0$0$0 == 0xdf25 _TEST0 = 0xdf25 Fdebugint$PA_TABLE0$0$0 == 0xdf2e _PA_TABLE0 = 0xdf2e Fdebugint$IOCFG2$0$0 == 0xdf2f _IOCFG2 = 0xdf2f Fdebugint$IOCFG1$0$0 == 0xdf30 _IOCFG1 = 0xdf30 Fdebugint$IOCFG0$0$0 == 0xdf31 _IOCFG0 = 0xdf31 Fdebugint$PARTNUM$0$0 == 0xdf36 _PARTNUM = 0xdf36 Fdebugint$VERSION$0$0 == 0xdf37 _VERSION = 0xdf37 Fdebugint$FREQEST$0$0 == 0xdf38 _FREQEST = 0xdf38 Fdebugint$LQI$0$0 == 0xdf39 _LQI = 0xdf39 Fdebugint$RSSI$0$0 == 0xdf3a _RSSI = 0xdf3a Fdebugint$MARCSTATE$0$0 == 0xdf3b _MARCSTATE = 0xdf3b Fdebugint$PKTSTATUS$0$0 == 0xdf3c _PKTSTATUS = 0xdf3c Fdebugint$VCO_VC_DAC$0$0 == 0xdf3d _VCO_VC_DAC = 0xdf3d Fdebugint$I2SCFG0$0$0 == 0xdf40 _I2SCFG0 = 0xdf40 Fdebugint$I2SCFG1$0$0 == 0xdf41 _I2SCFG1 = 0xdf41 Fdebugint$I2SDATL$0$0 == 0xdf42 _I2SDATL = 0xdf42 Fdebugint$I2SDATH$0$0 == 0xdf43 _I2SDATH = 0xdf43 Fdebugint$I2SWCNT$0$0 == 0xdf44 _I2SWCNT = 0xdf44 Fdebugint$I2SSTAT$0$0 == 0xdf45 _I2SSTAT = 0xdf45 Fdebugint$I2SCLKF0$0$0 == 0xdf46 _I2SCLKF0 = 0xdf46 Fdebugint$I2SCLKF1$0$0 == 0xdf47 _I2SCLKF1 = 0xdf47 Fdebugint$I2SCLKF2$0$0 == 0xdf48 _I2SCLKF2 = 0xdf48 Fdebugint$USBADDR$0$0 == 0xde00 _USBADDR = 0xde00 Fdebugint$USBPOW$0$0 == 0xde01 _USBPOW = 0xde01 Fdebugint$USBIIF$0$0 == 0xde02 _USBIIF = 0xde02 Fdebugint$USBOIF$0$0 == 0xde04 _USBOIF = 0xde04 Fdebugint$USBCIF$0$0 == 0xde06 _USBCIF = 0xde06 Fdebugint$USBIIE$0$0 == 0xde07 _USBIIE = 0xde07 Fdebugint$USBOIE$0$0 == 0xde09 _USBOIE = 0xde09 Fdebugint$USBCIE$0$0 == 0xde0b _USBCIE = 0xde0b Fdebugint$USBFRML$0$0 == 0xde0c _USBFRML = 0xde0c Fdebugint$USBFRMH$0$0 == 0xde0d _USBFRMH = 0xde0d Fdebugint$USBINDEX$0$0 == 0xde0e _USBINDEX = 0xde0e Fdebugint$USBMAXI$0$0 == 0xde10 _USBMAXI = 0xde10 Fdebugint$USBCSIL$0$0 == 0xde11 _USBCSIL = 0xde11 Fdebugint$USBCSIH$0$0 == 0xde12 _USBCSIH = 0xde12 Fdebugint$USBMAXO$0$0 == 0xde13 _USBMAXO = 0xde13 Fdebugint$USBCSOL$0$0 == 0xde14 _USBCSOL = 0xde14 Fdebugint$USBCSOH$0$0 == 0xde15 _USBCSOH = 0xde15 Fdebugint$USBCNTL$0$0 == 0xde16 _USBCNTL = 0xde16 Fdebugint$USBCNTH$0$0 == 0xde17 _USBCNTH = 0xde17 Fdebugint$USBF0$0$0 == 0xde20 _USBF0 = 0xde20 Fdebugint$USBF1$0$0 == 0xde22 _USBF1 = 0xde22 Fdebugint$USBF2$0$0 == 0xde24 _USBF2 = 0xde24 Fdebugint$USBF3$0$0 == 0xde26 _USBF3 = 0xde26 Fdebugint$USBF4$0$0 == 0xde28 _USBF4 = 0xde28 Fdebugint$USBF5$0$0 == 0xde2a _USBF5 = 0xde2a ;-------------------------------------------------------- ; absolute external ram data ;-------------------------------------------------------- .area XABS (ABS,XDATA) ;-------------------------------------------------------- ; external initialized ram data ;-------------------------------------------------------- .area XISEG (XDATA) G$txdata2$0$0==. _txdata2:: .ds 14 G$rxdata$0$0==. _rxdata:: .ds 14 G$txdata$0$0==. _txdata:: .ds 14 G$IMU_txdata$0$0==. _IMU_txdata:: .ds 8 G$IMU_rxdata$0$0==. _IMU_rxdata:: .ds 8 .area HOME (CODE) .area GSINIT0 (CODE) .area GSINIT1 (CODE) .area GSINIT2 (CODE) .area GSINIT3 (CODE) .area GSINIT4 (CODE) .area GSINIT5 (CODE) .area GSINIT (CODE) .area GSFINAL (CODE) .area CSEG (CODE) ;-------------------------------------------------------- ; interrupt vector ;-------------------------------------------------------- .area HOME (CODE) __interrupt_vect: ljmp __sdcc_gsinit_startup reti .ds 7 reti .ds 7 ljmp _ISR_URX0 .ds 5 ljmp _ISR_URX1 .ds 5 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 ljmp _ISR_T4 .ds 5 reti .ds 7 reti .ds 7 reti .ds 7 ljmp _ISR_RF ;-------------------------------------------------------- ; global & static initialisations ;-------------------------------------------------------- .area HOME (CODE) .area GSINIT (CODE) .area GSFINAL (CODE) .area GSINIT (CODE) .globl __sdcc_gsinit_startup .globl __sdcc_program_startup .globl __start__stack .globl __mcs51_genXINIT .globl __mcs51_genXRAMCLEAR .globl __mcs51_genRAMCLEAR G$main$0$0 ==. C$debugint.c$13$1$1 ==. ; apps/debugint/debugint.c:13: uint8 XDATA *txpkt = 0; mov r0,#_txpkt clr a movx @r0,a inc r0 movx @r0,a .area GSFINAL (CODE) ljmp __sdcc_program_startup ;-------------------------------------------------------- ; Home ;-------------------------------------------------------- .area HOME (CODE) .area HOME (CODE) __sdcc_program_startup: lcall _main ; return from main will lock up sjmp . ;-------------------------------------------------------- ; code ;-------------------------------------------------------- .area CSEG (CODE) ;------------------------------------------------------------ ;Allocation info for local variables in function 'Can_init' ;------------------------------------------------------------ ;------------------------------------------------------------ G$Can_init$0$0 ==. C$CAN.c$38$0$0 ==. ; apps/debugint/../CAN.c:38: void Can_init(uint8 baudrate){ ; ----------------------------------------- ; function Can_init ; ----------------------------------------- _Can_init: ar2 = 0x02 ar3 = 0x03 ar4 = 0x04 ar5 = 0x05 ar6 = 0x06 ar7 = 0x07 ar0 = 0x00 ar1 = 0x01 mov r2,dpl C$CAN.c$43$1$1 ==. ; apps/debugint/../CAN.c:43: spiCANMasterInit(); push ar2 lcall _spi0MasterInit C$CAN.c$44$1$1 ==. ; apps/debugint/../CAN.c:44: spiCANMasterSetFrequency(230400); mov dptr,#0x8400 mov b,#0x03 clr a lcall _spi0MasterSetFrequency C$CAN.c$45$1$1 ==. ; apps/debugint/../CAN.c:45: spiCANMasterSetClockPolarity(SPI_POLARITY_IDLE_HIGH); // idle when high setb _spi0MasterSetClockPolarity_PARM_1 lcall _spi0MasterSetClockPolarity C$CAN.c$46$1$1 ==. ; apps/debugint/../CAN.c:46: spiCANMasterSetClockPhase(SPI_PHASE_EDGE_TRAILING); // data sampled when clock goes from active to idle setb _spi0MasterSetClockPhase_PARM_1 lcall _spi0MasterSetClockPhase C$CAN.c$47$1$1 ==. ; apps/debugint/../CAN.c:47: spiCANMasterSetBitOrder(SPI_BIT_ORDER_MSB_FIRST); clr _spi0MasterSetBitOrder_PARM_1 lcall _spi0MasterSetBitOrder pop ar2 C$CAN.c$48$1$1 ==. ; apps/debugint/../CAN.c:48: for (i=1;i<10000;i++){ mov r3,#0x01 mov r4,#0x0F mov r5,#0x27 00103$: C$CAN.c$49$2$2 ==. ; apps/debugint/../CAN.c:49: a = a+1; inc r3 dec r4 cjne r4,#0xff,00109$ dec r5 00109$: C$CAN.c$48$2$2 ==. ; apps/debugint/../CAN.c:48: for (i=1;i<10000;i++){ mov a,r4 orl a,r5 jnz 00103$ C$CAN.c$51$1$1 ==. ; apps/debugint/../CAN.c:51: Can_reset(); //Reset CAN Controller & bring to CONFIG mode push ar2 lcall _Can_reset pop ar2 C$CAN.c$52$1$1 ==. ; apps/debugint/../CAN.c:52: set_Can_baudrate(baudrate); mov dpl,r2 lcall _set_Can_baudrate C$CAN.c$53$1$1 ==. ; apps/debugint/../CAN.c:53: write_can_reg(0x0F,0x03);// set CAN CTRL in normal mode mov r0,#_write_can_reg_PARM_2 mov a,#0x03 movx @r0,a mov dpl,#0x0F C$CAN.c$56$1$1 ==. XG$Can_init$0$0 ==. ljmp _write_can_reg ;------------------------------------------------------------ ;Allocation info for local variables in function 'Can_setnormalmode' ;------------------------------------------------------------ ;------------------------------------------------------------ G$Can_setnormalmode$0$0 ==. C$CAN.c$59$1$1 ==. ; apps/debugint/../CAN.c:59: void Can_setnormalmode(){ ; ----------------------------------------- ; function Can_setnormalmode ; ----------------------------------------- _Can_setnormalmode: C$CAN.c$60$1$1 ==. ; apps/debugint/../CAN.c:60: uint8 val = read_can_reg(0x0F); mov dpl,#0x0F lcall _read_can_reg mov r2,dpl C$CAN.c$61$1$1 ==. ; apps/debugint/../CAN.c:61: val = val & 0x1F; mov r0,#_write_can_reg_PARM_2 mov a,#0x1F anl a,r2 movx @r0,a C$CAN.c$62$1$1 ==. ; apps/debugint/../CAN.c:62: write_can_reg(0x0F,val); // set CAN CTRL in normal mode mov dpl,#0x0F C$CAN.c$63$1$1 ==. XG$Can_setnormalmode$0$0 ==. ljmp _write_can_reg ;------------------------------------------------------------ ;Allocation info for local variables in function 'Can_setconfigmode' ;------------------------------------------------------------ ;------------------------------------------------------------ G$Can_setconfigmode$0$0 ==. C$CAN.c$65$1$1 ==. ; apps/debugint/../CAN.c:65: void Can_setconfigmode(){ ; ----------------------------------------- ; function Can_setconfigmode ; ----------------------------------------- _Can_setconfigmode: C$CAN.c$66$1$1 ==. ; apps/debugint/../CAN.c:66: uint8 val = read_can_reg(0x0F); mov dpl,#0x0F lcall _read_can_reg mov r2,dpl C$CAN.c$67$1$1 ==. ; apps/debugint/../CAN.c:67: val = val | 0x80; mov r0,#_write_can_reg_PARM_2 mov a,#0x80 orl a,r2 movx @r0,a C$CAN.c$68$1$1 ==. ; apps/debugint/../CAN.c:68: write_can_reg(0x0F,val); // set CAN CTRL in config mode mov dpl,#0x0F C$CAN.c$69$1$1 ==. XG$Can_setconfigmode$0$0 ==. ljmp _write_can_reg ;------------------------------------------------------------ ;Allocation info for local variables in function 'Can_reset' ;------------------------------------------------------------ ;------------------------------------------------------------ G$Can_reset$0$0 ==. C$CAN.c$74$1$1 ==. ; apps/debugint/../CAN.c:74: void Can_reset(){ ; ----------------------------------------- ; function Can_reset ; ----------------------------------------- _Can_reset: C$CAN.c$75$1$1 ==. ; apps/debugint/../CAN.c:75: txdata[0] = 0xC0; mov dptr,#_txdata mov a,#0xC0 movx @dptr,a C$CAN.c$76$1$1 ==. ; apps/debugint/../CAN.c:76: CSlow; clr b[0] mov bits,b mov dpl,#0x04 lcall _setDigitalOutput C$CAN.c$77$1$1 ==. ; apps/debugint/../CAN.c:77: spiCANMasterTransfer(txdata,rxdata,1); mov r0,#_spi0MasterTransfer_PARM_2 mov a,#_rxdata movx @r0,a inc r0 mov a,#(_rxdata >> 8) movx @r0,a mov r0,#_spi0MasterTransfer_PARM_3 mov a,#0x01 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_txdata lcall _spi0MasterTransfer C$CAN.c$78$1$1 ==. ; apps/debugint/../CAN.c:78: while(spiCANMasterBusy()){ } 00101$: lcall _spi0MasterBusy jc 00101$ C$CAN.c$79$1$1 ==. ; apps/debugint/../CAN.c:79: CShigh; setb b[0] mov bits,b mov dpl,#0x04 C$CAN.c$80$1$1 ==. XG$Can_reset$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_can_reg' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_can_reg$0$0 ==. C$CAN.c$82$1$1 ==. ; apps/debugint/../CAN.c:82: uint8 read_can_reg(uint8 addr){ ; ----------------------------------------- ; function read_can_reg ; ----------------------------------------- _read_can_reg: mov r2,dpl C$CAN.c$84$1$1 ==. ; apps/debugint/../CAN.c:84: txdata[0] = 0x03; // read instruction mov dptr,#_txdata mov a,#0x03 movx @dptr,a C$CAN.c$85$1$1 ==. ; apps/debugint/../CAN.c:85: txdata[1] = addr; // read reg at address mov dptr,#(_txdata + 0x0001) mov a,r2 movx @dptr,a C$CAN.c$86$1$1 ==. ; apps/debugint/../CAN.c:86: CSlow; clr b[0] mov bits,b mov dpl,#0x04 lcall _setDigitalOutput C$CAN.c$87$1$1 ==. ; apps/debugint/../CAN.c:87: spiCANMasterTransfer(txdata,rxdata,3); mov r0,#_spi0MasterTransfer_PARM_2 mov a,#_rxdata movx @r0,a inc r0 mov a,#(_rxdata >> 8) movx @r0,a mov r0,#_spi0MasterTransfer_PARM_3 mov a,#0x03 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_txdata lcall _spi0MasterTransfer C$CAN.c$88$1$1 ==. ; apps/debugint/../CAN.c:88: while(spiCANMasterBusy()){ } 00101$: lcall _spi0MasterBusy jc 00101$ C$CAN.c$89$1$1 ==. ; apps/debugint/../CAN.c:89: CShigh; setb b[0] mov bits,b mov dpl,#0x04 lcall _setDigitalOutput C$CAN.c$90$1$1 ==. ; apps/debugint/../CAN.c:90: return rxdata[2]; mov dptr,#(_rxdata + 0x0002) movx a,@dptr C$CAN.c$91$1$1 ==. XG$read_can_reg$0$0 ==. mov dpl,a ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'write_can_reg' ;------------------------------------------------------------ ;------------------------------------------------------------ G$write_can_reg$0$0 ==. C$CAN.c$93$1$1 ==. ; apps/debugint/../CAN.c:93: void write_can_reg(uint8 addr,uint8 val){ ; ----------------------------------------- ; function write_can_reg ; ----------------------------------------- _write_can_reg: mov r2,dpl C$CAN.c$94$1$1 ==. ; apps/debugint/../CAN.c:94: txdata[0] = 0x02; // write instruction mov dptr,#_txdata mov a,#0x02 movx @dptr,a C$CAN.c$95$1$1 ==. ; apps/debugint/../CAN.c:95: txdata[1] = addr; // write to addr mov dptr,#(_txdata + 0x0001) mov a,r2 movx @dptr,a C$CAN.c$96$1$1 ==. ; apps/debugint/../CAN.c:96: txdata[2] = val; // write val mov dptr,#(_txdata + 0x0002) mov r0,#_write_can_reg_PARM_2 movx a,@r0 movx @dptr,a C$CAN.c$97$1$1 ==. ; apps/debugint/../CAN.c:97: CSlow; clr b[0] mov bits,b mov dpl,#0x04 lcall _setDigitalOutput C$CAN.c$98$1$1 ==. ; apps/debugint/../CAN.c:98: spiCANMasterTransfer(txdata,rxdata,3); mov r0,#_spi0MasterTransfer_PARM_2 mov a,#_rxdata movx @r0,a inc r0 mov a,#(_rxdata >> 8) movx @r0,a mov r0,#_spi0MasterTransfer_PARM_3 mov a,#0x03 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_txdata lcall _spi0MasterTransfer C$CAN.c$99$1$1 ==. ; apps/debugint/../CAN.c:99: while(spiCANMasterBusy()){ } 00101$: lcall _spi0MasterBusy jc 00101$ C$CAN.c$100$1$1 ==. ; apps/debugint/../CAN.c:100: CShigh; setb b[0] mov bits,b mov dpl,#0x04 C$CAN.c$101$1$1 ==. XG$write_can_reg$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'buf0ovfbuf1' ;------------------------------------------------------------ ;------------------------------------------------------------ G$buf0ovfbuf1$0$0 ==. C$CAN.c$105$1$1 ==. ; apps/debugint/../CAN.c:105: void buf0ovfbuf1(uint8 stat){ ; ----------------------------------------- ; function buf0ovfbuf1 ; ----------------------------------------- _buf0ovfbuf1: mov r2,dpl C$CAN.c$106$1$1 ==. ; apps/debugint/../CAN.c:106: uint8 val = read_can_reg(0x60); mov dpl,#0x60 push ar2 lcall _read_can_reg mov r3,dpl pop ar2 C$CAN.c$107$1$1 ==. ; apps/debugint/../CAN.c:107: if(stat){ mov a,r2 jz 00102$ C$CAN.c$108$2$2 ==. ; apps/debugint/../CAN.c:108: val = val | (1<<2); // Write to BUKT orl ar3,#0x04 C$CAN.c$109$2$2 ==. ; apps/debugint/../CAN.c:109: write_can_reg(0x60,val); mov r0,#_write_can_reg_PARM_2 mov a,r3 movx @r0,a mov dpl,#0x60 ljmp _write_can_reg 00102$: C$CAN.c$111$2$3 ==. ; apps/debugint/../CAN.c:111: val = val & (0xFB); // Write to BUKT mov r0,#_write_can_reg_PARM_2 mov a,#0xFB anl a,r3 movx @r0,a C$CAN.c$112$2$3 ==. ; apps/debugint/../CAN.c:112: write_can_reg(0x60,val); mov dpl,#0x60 C$CAN.c$114$1$1 ==. XG$buf0ovfbuf1$0$0 ==. ljmp _write_can_reg ;------------------------------------------------------------ ;Allocation info for local variables in function 'setmask0' ;------------------------------------------------------------ ;------------------------------------------------------------ G$setmask0$0$0 ==. C$CAN.c$116$1$1 ==. ; apps/debugint/../CAN.c:116: void setmask0(uint16 mask){ ; ----------------------------------------- ; function setmask0 ; ----------------------------------------- _setmask0: mov r2,dpl mov r3,dph C$CAN.c$117$1$1 ==. ; apps/debugint/../CAN.c:117: write_can_reg(0x20,(uint8) (mask>>3)); mov ar4,r2 mov a,r3 swap a rl a xch a,r4 swap a rl a anl a,#0x1f xrl a,r4 xch a,r4 anl a,#0x1f xch a,r4 xrl a,r4 xch a,r4 mov r0,#_write_can_reg_PARM_2 mov a,r4 movx @r0,a mov dpl,#0x20 push ar2 push ar3 lcall _write_can_reg pop ar3 pop ar2 C$CAN.c$118$1$1 ==. ; apps/debugint/../CAN.c:118: write_can_reg(0x21,(uint8) (mask<<5)); mov r0,#_write_can_reg_PARM_2 mov a,r2 swap a rl a anl a,#0xe0 movx @r0,a mov dpl,#0x21 C$CAN.c$119$1$1 ==. XG$setmask0$0$0 ==. ljmp _write_can_reg ;------------------------------------------------------------ ;Allocation info for local variables in function 'setrxfil0' ;------------------------------------------------------------ ;------------------------------------------------------------ G$setrxfil0$0$0 ==. C$CAN.c$121$1$1 ==. ; apps/debugint/../CAN.c:121: void setrxfil0(uint16 fil){ ; ----------------------------------------- ; function setrxfil0 ; ----------------------------------------- _setrxfil0: mov r2,dpl mov r3,dph C$CAN.c$122$1$1 ==. ; apps/debugint/../CAN.c:122: write_can_reg(0x00,(uint8) (fil>>3)); mov ar4,r2 mov a,r3 swap a rl a xch a,r4 swap a rl a anl a,#0x1f xrl a,r4 xch a,r4 anl a,#0x1f xch a,r4 xrl a,r4 xch a,r4 mov r0,#_write_can_reg_PARM_2 mov a,r4 movx @r0,a mov dpl,#0x00 push ar2 push ar3 lcall _write_can_reg pop ar3 pop ar2 C$CAN.c$123$1$1 ==. ; apps/debugint/../CAN.c:123: write_can_reg(0x01,(uint8) (fil<<5)); mov r0,#_write_can_reg_PARM_2 mov a,r2 swap a rl a anl a,#0xe0 movx @r0,a mov dpl,#0x01 C$CAN.c$124$1$1 ==. XG$setrxfil0$0$0 ==. ljmp _write_can_reg ;------------------------------------------------------------ ;Allocation info for local variables in function 'setrxfil1' ;------------------------------------------------------------ ;------------------------------------------------------------ G$setrxfil1$0$0 ==. C$CAN.c$126$1$1 ==. ; apps/debugint/../CAN.c:126: void setrxfil1(uint16 fil){ ; ----------------------------------------- ; function setrxfil1 ; ----------------------------------------- _setrxfil1: mov r2,dpl mov r3,dph C$CAN.c$127$1$1 ==. ; apps/debugint/../CAN.c:127: write_can_reg(0x04,(uint8) (fil>>3)); mov ar4,r2 mov a,r3 swap a rl a xch a,r4 swap a rl a anl a,#0x1f xrl a,r4 xch a,r4 anl a,#0x1f xch a,r4 xrl a,r4 xch a,r4 mov r0,#_write_can_reg_PARM_2 mov a,r4 movx @r0,a mov dpl,#0x04 push ar2 push ar3 lcall _write_can_reg pop ar3 pop ar2 C$CAN.c$128$1$1 ==. ; apps/debugint/../CAN.c:128: write_can_reg(0x05,(uint8) (fil<<5)); mov r0,#_write_can_reg_PARM_2 mov a,r2 swap a rl a anl a,#0xe0 movx @r0,a mov dpl,#0x05 C$CAN.c$129$1$1 ==. XG$setrxfil1$0$0 ==. ljmp _write_can_reg ;------------------------------------------------------------ ;Allocation info for local variables in function 'set_Can_baudrate' ;------------------------------------------------------------ ;------------------------------------------------------------ G$set_Can_baudrate$0$0 ==. C$CAN.c$134$1$1 ==. ; apps/debugint/../CAN.c:134: void set_Can_baudrate(uint8 A){ ; ----------------------------------------- ; function set_Can_baudrate ; ----------------------------------------- _set_Can_baudrate: mov r2,dpl C$CAN.c$135$1$1 ==. ; apps/debugint/../CAN.c:135: switch(A){ cjne r2,#0x01,00109$ sjmp 00101$ 00109$: C$CAN.c$136$2$2 ==. ; apps/debugint/../CAN.c:136: case 1: //125kbit/s BRP = 04h cjne r2,#0x02,00103$ sjmp 00102$ 00101$: C$CAN.c$138$2$2 ==. ; apps/debugint/../CAN.c:138: write_can_reg(0x2A,0x04); // write to CNF1 mov r0,#_write_can_reg_PARM_2 mov a,#0x04 movx @r0,a mov dpl,#0x2A lcall _write_can_reg C$CAN.c$139$2$2 ==. ; apps/debugint/../CAN.c:139: write_can_reg(0x29,0xB1); // write to CNF2 mov r0,#_write_can_reg_PARM_2 mov a,#0xB1 movx @r0,a mov dpl,#0x29 lcall _write_can_reg C$CAN.c$140$2$2 ==. ; apps/debugint/../CAN.c:140: write_can_reg(0x28,0x05); // write to CNF3 mov r0,#_write_can_reg_PARM_2 mov a,#0x05 movx @r0,a mov dpl,#0x28 C$CAN.c$141$2$2 ==. ; apps/debugint/../CAN.c:141: break; C$CAN.c$142$2$2 ==. ; apps/debugint/../CAN.c:142: case 2: ljmp _write_can_reg 00102$: C$CAN.c$145$2$2 ==. ; apps/debugint/../CAN.c:145: write_can_reg(0x2A,0x03); // write to CNF1 mov r0,#_write_can_reg_PARM_2 mov a,#0x03 movx @r0,a mov dpl,#0x2A lcall _write_can_reg C$CAN.c$146$2$2 ==. ; apps/debugint/../CAN.c:146: write_can_reg(0x29,0x91); // write to CNF2 mov r0,#_write_can_reg_PARM_2 mov a,#0x91 movx @r0,a mov dpl,#0x29 lcall _write_can_reg C$CAN.c$147$2$2 ==. ; apps/debugint/../CAN.c:147: write_can_reg(0x28,0x03); // write to CNF3 mov r0,#_write_can_reg_PARM_2 mov a,#0x03 movx @r0,a mov dpl,#0x28 C$CAN.c$148$2$2 ==. ; apps/debugint/../CAN.c:148: break; C$CAN.c$149$2$2 ==. ; apps/debugint/../CAN.c:149: default: ljmp _write_can_reg 00103$: C$CAN.c$152$2$2 ==. ; apps/debugint/../CAN.c:152: write_can_reg(0x2A,0x03); // write to CNF1 mov r0,#_write_can_reg_PARM_2 mov a,#0x03 movx @r0,a mov dpl,#0x2A lcall _write_can_reg C$CAN.c$153$2$2 ==. ; apps/debugint/../CAN.c:153: write_can_reg(0x29,0x91); // write to CNF2 mov r0,#_write_can_reg_PARM_2 mov a,#0x91 movx @r0,a mov dpl,#0x29 lcall _write_can_reg C$CAN.c$154$2$2 ==. ; apps/debugint/../CAN.c:154: write_can_reg(0x28,0x03); // write to CNF3 mov r0,#_write_can_reg_PARM_2 mov a,#0x03 movx @r0,a mov dpl,#0x28 C$CAN.c$156$1$1 ==. ; apps/debugint/../CAN.c:156: } C$CAN.c$157$1$1 ==. XG$set_Can_baudrate$0$0 ==. ljmp _write_can_reg ;------------------------------------------------------------ ;Allocation info for local variables in function 'load_can_txbuf0' ;------------------------------------------------------------ ;------------------------------------------------------------ G$load_can_txbuf0$0$0 ==. C$CAN.c$161$1$1 ==. ; apps/debugint/../CAN.c:161: void load_can_txbuf0(){ ; ----------------------------------------- ; function load_can_txbuf0 ; ----------------------------------------- _load_can_txbuf0: C$CAN.c$162$1$1 ==. ; apps/debugint/../CAN.c:162: CSlow; clr b[0] mov bits,b mov dpl,#0x04 lcall _setDigitalOutput C$CAN.c$163$1$1 ==. ; apps/debugint/../CAN.c:163: txdata[0] = 0x40; //tx buffer0 SIDH mov dptr,#_txdata mov a,#0x40 movx @dptr,a C$CAN.c$165$1$1 ==. ; apps/debugint/../CAN.c:165: spiCANMasterTransfer(txdata2,rxdata,14); mov r0,#_spi0MasterTransfer_PARM_2 mov a,#_rxdata movx @r0,a inc r0 mov a,#(_rxdata >> 8) movx @r0,a mov r0,#_spi0MasterTransfer_PARM_3 mov a,#0x0E movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_txdata2 lcall _spi0MasterTransfer C$CAN.c$166$1$1 ==. ; apps/debugint/../CAN.c:166: while(spiCANMasterBusy()){ } 00101$: lcall _spi0MasterBusy jc 00101$ C$CAN.c$167$1$1 ==. ; apps/debugint/../CAN.c:167: CShigh; setb b[0] mov bits,b mov dpl,#0x04 C$CAN.c$168$1$1 ==. XG$load_can_txbuf0$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'load_can_txbuf1' ;------------------------------------------------------------ ;------------------------------------------------------------ G$load_can_txbuf1$0$0 ==. C$CAN.c$170$1$1 ==. ; apps/debugint/../CAN.c:170: void load_can_txbuf1(){ ; ----------------------------------------- ; function load_can_txbuf1 ; ----------------------------------------- _load_can_txbuf1: C$CAN.c$171$1$1 ==. ; apps/debugint/../CAN.c:171: CSlow; clr b[0] mov bits,b mov dpl,#0x04 lcall _setDigitalOutput C$CAN.c$172$1$1 ==. ; apps/debugint/../CAN.c:172: txdata2[0] = 0x42; //tx buffer1 SIDH mov dptr,#_txdata2 mov a,#0x42 movx @dptr,a C$CAN.c$173$1$1 ==. ; apps/debugint/../CAN.c:173: spiCANMasterTransfer(txdata2,rxdata,14); mov r0,#_spi0MasterTransfer_PARM_2 mov a,#_rxdata movx @r0,a inc r0 mov a,#(_rxdata >> 8) movx @r0,a mov r0,#_spi0MasterTransfer_PARM_3 mov a,#0x0E movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_txdata2 lcall _spi0MasterTransfer C$CAN.c$174$1$1 ==. ; apps/debugint/../CAN.c:174: while(spiCANMasterBusy()){ } 00101$: lcall _spi0MasterBusy jc 00101$ C$CAN.c$175$1$1 ==. ; apps/debugint/../CAN.c:175: CShigh; setb b[0] mov bits,b mov dpl,#0x04 C$CAN.c$176$1$1 ==. XG$load_can_txbuf1$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'load_can_txbuf2' ;------------------------------------------------------------ ;------------------------------------------------------------ G$load_can_txbuf2$0$0 ==. C$CAN.c$178$1$1 ==. ; apps/debugint/../CAN.c:178: void load_can_txbuf2(){ ; ----------------------------------------- ; function load_can_txbuf2 ; ----------------------------------------- _load_can_txbuf2: C$CAN.c$179$1$1 ==. ; apps/debugint/../CAN.c:179: CSlow; clr b[0] mov bits,b mov dpl,#0x04 lcall _setDigitalOutput C$CAN.c$180$1$1 ==. ; apps/debugint/../CAN.c:180: txdata2[0] = 0x44; //tx buffer2 SIDH mov dptr,#_txdata2 mov a,#0x44 movx @dptr,a C$CAN.c$181$1$1 ==. ; apps/debugint/../CAN.c:181: spiCANMasterTransfer(txdata2,rxdata,14); mov r0,#_spi0MasterTransfer_PARM_2 mov a,#_rxdata movx @r0,a inc r0 mov a,#(_rxdata >> 8) movx @r0,a mov r0,#_spi0MasterTransfer_PARM_3 mov a,#0x0E movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_txdata2 lcall _spi0MasterTransfer C$CAN.c$182$1$1 ==. ; apps/debugint/../CAN.c:182: while(spiCANMasterBusy()){ } 00101$: lcall _spi0MasterBusy jc 00101$ C$CAN.c$183$1$1 ==. ; apps/debugint/../CAN.c:183: CShigh; setb b[0] mov bits,b mov dpl,#0x04 C$CAN.c$184$1$1 ==. XG$load_can_txbuf2$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_rxbuf0' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_rxbuf0$0$0 ==. C$CAN.c$186$1$1 ==. ; apps/debugint/../CAN.c:186: void read_rxbuf0(){ ; ----------------------------------------- ; function read_rxbuf0 ; ----------------------------------------- _read_rxbuf0: C$CAN.c$188$1$1 ==. ; apps/debugint/../CAN.c:188: txdata2[0] = 0x90; // receive buffer0 starting with SIDH mov dptr,#_txdata2 mov a,#0x90 movx @dptr,a C$CAN.c$189$1$1 ==. ; apps/debugint/../CAN.c:189: CSlow; clr b[0] mov bits,b mov dpl,#0x04 lcall _setDigitalOutput C$CAN.c$190$1$1 ==. ; apps/debugint/../CAN.c:190: spiCANMasterTransfer(txdata2,rxdata,14); mov r0,#_spi0MasterTransfer_PARM_2 mov a,#_rxdata movx @r0,a inc r0 mov a,#(_rxdata >> 8) movx @r0,a mov r0,#_spi0MasterTransfer_PARM_3 mov a,#0x0E movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_txdata2 lcall _spi0MasterTransfer C$CAN.c$191$1$1 ==. ; apps/debugint/../CAN.c:191: while(spiCANMasterBusy()){ } 00101$: lcall _spi0MasterBusy jc 00101$ C$CAN.c$192$1$1 ==. ; apps/debugint/../CAN.c:192: CShigh; setb b[0] mov bits,b mov dpl,#0x04 C$CAN.c$193$1$1 ==. XG$read_rxbuf0$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'send_Canmsg_wait' ;------------------------------------------------------------ ;sloc0 Allocated with name '_send_Canmsg_wait_sloc0_1_0' ;------------------------------------------------------------ G$send_Canmsg_wait$0$0 ==. C$CAN.c$199$1$1 ==. ; apps/debugint/../CAN.c:199: void send_Canmsg_wait(Can_msg *msg){ ; ----------------------------------------- ; function send_Canmsg_wait ; ----------------------------------------- _send_Canmsg_wait: mov r2,b mov r3,dph mov a,dpl mov r0,#_send_Canmsg_wait_msg_1_1 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov a,r2 movx @r0,a C$CAN.c$201$1$1 ==. ; apps/debugint/../CAN.c:201: uint8 sent=0; mov r0,#_send_Canmsg_wait_sent_1_1 clr a movx @r0,a C$CAN.c$203$1$1 ==. ; apps/debugint/../CAN.c:203: txdata2[1] =(uint8) (msg->id >> 3); mov r0,#_send_Canmsg_wait_msg_1_1 movx a,@r0 mov dpl,a inc r0 movx a,@r0 mov dph,a inc r0 movx a,@r0 mov b,a lcall __gptrget mov r6,a inc dptr lcall __gptrget mov r7,a mov ar5,r6 swap a rl a xch a,r5 swap a rl a anl a,#0x1f xrl a,r5 xch a,r5 anl a,#0x1f xch a,r5 xrl a,r5 xch a,r5 mov dptr,#(_txdata2 + 0x0001) mov a,r5 movx @dptr,a C$CAN.c$204$1$1 ==. ; apps/debugint/../CAN.c:204: txdata2[2] = (uint8) (msg->id << 5); mov a,r6 swap a rl a anl a,#0xe0 mov r6,a mov dptr,#(_txdata2 + 0x0002) movx @dptr,a C$CAN.c$206$1$1 ==. ; apps/debugint/../CAN.c:206: txdata2[5] = msg->len;// data len mov r0,#_send_Canmsg_wait_msg_1_1 movx a,@r0 add a,#0x02 mov r2,a inc r0 movx a,@r0 addc a,#0x00 mov r3,a inc r0 movx a,@r0 mov r4,a mov dpl,r2 mov dph,r3 mov b,r4 lcall __gptrget mov r2,a mov dptr,#(_txdata2 + 0x0005) movx @dptr,a C$CAN.c$207$2$2 ==. ; apps/debugint/../CAN.c:207: for(i = 0;i < msg->len; i++){ mov r0,#_send_Canmsg_wait_msg_1_1 movx a,@r0 add a,#0x03 mov r3,a inc r0 movx a,@r0 addc a,#0x00 mov r4,a inc r0 movx a,@r0 mov r5,a mov r0,#_send_Canmsg_wait_i_1_1 clr a movx @r0,a inc r0 movx @r0,a 00112$: push ar3 push ar4 push ar5 mov ar3,r2 mov r4,#0x00 mov r0,#_send_Canmsg_wait_i_1_1 clr c movx a,@r0 subb a,r3 inc r0 movx a,@r0 xrl a,#0x80 mov b,r4 xrl b,#0x80 subb a,b pop ar5 pop ar4 pop ar3 jnc 00109$ C$CAN.c$208$1$1 ==. ; apps/debugint/../CAN.c:208: txdata2[6+i] = msg->dat[i]; push ar2 mov r0,#_send_Canmsg_wait_i_1_1 movx a,@r0 add a,#0x06 add a,#_txdata2 mov _send_Canmsg_wait_sloc0_1_0,a clr a addc a,#(_txdata2 >> 8) mov (_send_Canmsg_wait_sloc0_1_0 + 1),a mov r0,#_send_Canmsg_wait_i_1_1 movx a,@r0 add a,r3 mov r7,a inc r0 movx a,@r0 addc a,r4 mov r2,a mov ar6,r5 mov dpl,r7 mov dph,r2 mov b,r6 lcall __gptrget mov r7,a mov dpl,_send_Canmsg_wait_sloc0_1_0 mov dph,(_send_Canmsg_wait_sloc0_1_0 + 1) movx @dptr,a C$CAN.c$207$1$1 ==. ; apps/debugint/../CAN.c:207: for(i = 0;i < msg->len; i++){ mov r0,#_send_Canmsg_wait_i_1_1 movx a,@r0 add a,#0x01 movx @r0,a inc r0 movx a,@r0 addc a,#0x00 movx @r0,a pop ar2 C$CAN.c$211$1$1 ==. ; apps/debugint/../CAN.c:211: while(!sent){ sjmp 00112$ 00109$: mov r0,#_send_Canmsg_wait_sent_1_1 movx a,@r0 jnz 00116$ C$CAN.c$212$2$3 ==. ; apps/debugint/../CAN.c:212: if((read_can_reg(0x30) & (1<<3)) == 0){ // check if message in txbuf0 is pending transmission mov dpl,#0x30 lcall _read_can_reg mov a,dpl jb acc.3,00107$ C$CAN.c$213$3$4 ==. ; apps/debugint/../CAN.c:213: load_can_txbuf0(); lcall _load_can_txbuf0 C$CAN.c$214$3$4 ==. ; apps/debugint/../CAN.c:214: write_can_reg(0x30,0x0B);// initiate tx from txbuf0 mov r0,#_write_can_reg_PARM_2 mov a,#0x0B movx @r0,a mov dpl,#0x30 lcall _write_can_reg C$CAN.c$215$2$3 ==. ; apps/debugint/../CAN.c:215: sent=1; sjmp 00108$ 00107$: C$CAN.c$216$2$3 ==. ; apps/debugint/../CAN.c:216: }else if((read_can_reg(0x40) & (1<<3)) == 0){ // check if message in txbuf1 is pending transmission mov dpl,#0x40 lcall _read_can_reg mov a,dpl jb acc.3,00104$ C$CAN.c$217$3$5 ==. ; apps/debugint/../CAN.c:217: load_can_txbuf1(); lcall _load_can_txbuf1 C$CAN.c$218$3$5 ==. ; apps/debugint/../CAN.c:218: write_can_reg(0x40,0x0B);// initiate tx from txbuf1 mov r0,#_write_can_reg_PARM_2 mov a,#0x0B movx @r0,a mov dpl,#0x40 lcall _write_can_reg C$CAN.c$219$2$3 ==. ; apps/debugint/../CAN.c:219: sent=1; sjmp 00108$ 00104$: C$CAN.c$220$2$3 ==. ; apps/debugint/../CAN.c:220: }else if((read_can_reg(0x50) & (1<<3)) == 0){// check if message in txbuf2 is pending transmission mov dpl,#0x50 lcall _read_can_reg mov a,dpl jb acc.3,00108$ C$CAN.c$221$3$6 ==. ; apps/debugint/../CAN.c:221: load_can_txbuf2(); lcall _load_can_txbuf2 C$CAN.c$222$3$6 ==. ; apps/debugint/../CAN.c:222: write_can_reg(0x50,0x0B);// initiate tx from txbuf2 mov r0,#_write_can_reg_PARM_2 mov a,#0x0B movx @r0,a mov dpl,#0x50 lcall _write_can_reg C$CAN.c$223$2$3 ==. ; apps/debugint/../CAN.c:223: sent=1; 00108$: C$CAN.c$225$2$3 ==. ; apps/debugint/../CAN.c:225: sent = 1; mov r0,#_send_Canmsg_wait_sent_1_1 mov a,#0x01 movx @r0,a sjmp 00109$ 00116$: C$CAN.c$227$1$1 ==. XG$send_Canmsg_wait$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'get_Canmsg' ;------------------------------------------------------------ ;sloc0 Allocated with name '_get_Canmsg_sloc0_1_0' ;sloc1 Allocated with name '_get_Canmsg_sloc1_1_0' ;sloc2 Allocated with name '_get_Canmsg_sloc2_1_0' ;sloc3 Allocated with name '_get_Canmsg_sloc3_1_0' ;sloc4 Allocated with name '_get_Canmsg_sloc4_1_0' ;sloc5 Allocated with name '_get_Canmsg_sloc5_1_0' ;------------------------------------------------------------ G$get_Canmsg$0$0 ==. C$CAN.c$231$1$1 ==. ; apps/debugint/../CAN.c:231: uint8 get_Canmsg(Can_msg *msg){ ; ----------------------------------------- ; function get_Canmsg ; ----------------------------------------- _get_Canmsg: mov r2,b mov r3,dph mov a,dpl mov r0,#_get_Canmsg_msg_1_1 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov a,r2 movx @r0,a C$CAN.c$232$1$1 ==. ; apps/debugint/../CAN.c:232: uint8 nmsg = 0,i; mov r5,#0x00 C$CAN.c$233$1$1 ==. ; apps/debugint/../CAN.c:233: if((read_can_reg(0x2c) & 1) == 1){ // rxbuf0 is full mov dpl,#0x2C push ar5 lcall _read_can_reg mov a,dpl pop ar5 anl a,#0x01 mov r6,a cjne r6,#0x01,00113$ sjmp 00114$ 00113$: ljmp 00102$ 00114$: C$CAN.c$234$2$2 ==. ; apps/debugint/../CAN.c:234: read_rxbuf0(); //takes care of clearing interrupt lcall _read_rxbuf0 C$CAN.c$235$2$2 ==. ; apps/debugint/../CAN.c:235: msg->len = rxdata[5] & 0x0F; mov r0,#_get_Canmsg_msg_1_1 movx a,@r0 add a,#0x02 mov _get_Canmsg_sloc0_1_0,a inc r0 movx a,@r0 addc a,#0x00 mov (_get_Canmsg_sloc0_1_0 + 1),a inc r0 movx a,@r0 mov (_get_Canmsg_sloc0_1_0 + 2),a mov dptr,#(_rxdata + 0x0005) movx a,@dptr mov _get_Canmsg_sloc1_1_0,a mov a,#0x0F anl a,_get_Canmsg_sloc1_1_0 mov _get_Canmsg_sloc2_1_0,a mov dpl,_get_Canmsg_sloc0_1_0 mov dph,(_get_Canmsg_sloc0_1_0 + 1) mov b,(_get_Canmsg_sloc0_1_0 + 2) lcall __gptrput C$CAN.c$236$2$2 ==. ; apps/debugint/../CAN.c:236: msg->id = (rxdata[1] << 3) + (rxdata[2] >> 5); mov dptr,#(_rxdata + 0x0001) movx a,@dptr mov _get_Canmsg_sloc3_1_0,a mov _get_Canmsg_sloc4_1_0,_get_Canmsg_sloc3_1_0 mov (_get_Canmsg_sloc4_1_0 + 1),#0x00 mov r3,_get_Canmsg_sloc4_1_0 mov a,(_get_Canmsg_sloc4_1_0 + 1) swap a rr a anl a,#0xf8 xch a,r3 swap a rr a xch a,r3 xrl a,r3 xch a,r3 anl a,#0xf8 xch a,r3 xrl a,r3 mov r4,a mov dptr,#(_rxdata + 0x0002) movx a,@dptr swap a rr a anl a,#0x07 mov r6,a mov r7,#0x00 add a,r3 mov r3,a mov a,r7 addc a,r4 mov r4,a mov r0,#_get_Canmsg_msg_1_1 movx a,@r0 mov dpl,a inc r0 movx a,@r0 mov dph,a inc r0 movx a,@r0 mov b,a mov a,r3 lcall __gptrput inc dptr mov a,r4 lcall __gptrput C$CAN.c$237$3$3 ==. ; apps/debugint/../CAN.c:237: for( i = 0;ilen;i++){ mov r0,#_get_Canmsg_msg_1_1 movx a,@r0 add a,#0x03 mov _get_Canmsg_sloc5_1_0,a inc r0 movx a,@r0 addc a,#0x00 mov (_get_Canmsg_sloc5_1_0 + 1),a inc r0 movx a,@r0 mov (_get_Canmsg_sloc5_1_0 + 2),a mov r2,#0x00 00103$: mov dpl,_get_Canmsg_sloc0_1_0 mov dph,(_get_Canmsg_sloc0_1_0 + 1) mov b,(_get_Canmsg_sloc0_1_0 + 2) lcall __gptrget mov r3,a mov a,r2 cjne a,ar3,00115$ 00115$: jnc 00106$ C$CAN.c$238$3$3 ==. ; apps/debugint/../CAN.c:238: msg->dat[i] = rxdata[6+i]; mov a,r2 add a,_get_Canmsg_sloc5_1_0 mov r7,a clr a addc a,(_get_Canmsg_sloc5_1_0 + 1) mov r3,a mov r4,(_get_Canmsg_sloc5_1_0 + 2) mov a,#0x06 add a,r2 add a,#_rxdata mov dpl,a clr a addc a,#(_rxdata >> 8) mov dph,a movx a,@dptr mov r6,a mov dpl,r7 mov dph,r3 mov b,r4 lcall __gptrput C$CAN.c$237$2$2 ==. ; apps/debugint/../CAN.c:237: for( i = 0;ilen;i++){ inc r2 sjmp 00103$ 00106$: C$CAN.c$240$2$2 ==. ; apps/debugint/../CAN.c:240: nmsg += 1; mov r5,#0x01 00102$: C$CAN.c$244$1$1 ==. ; apps/debugint/../CAN.c:244: return nmsg; mov dpl,r5 C$CAN.c$245$1$1 ==. XG$get_Canmsg$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'rxbuf0_full' ;------------------------------------------------------------ ;------------------------------------------------------------ G$rxbuf0_full$0$0 ==. C$CAN.c$247$1$1 ==. ; apps/debugint/../CAN.c:247: uint8 rxbuf0_full() ; ----------------------------------------- ; function rxbuf0_full ; ----------------------------------------- _rxbuf0_full: C$CAN.c$249$1$1 ==. ; apps/debugint/../CAN.c:249: if((read_can_reg(0x2c) & 1) == 1){ mov dpl,#0x2C lcall _read_can_reg mov a,dpl anl a,#0x01 mov r2,a cjne r2,#0x01,00102$ C$CAN.c$250$2$2 ==. ; apps/debugint/../CAN.c:250: return 1; mov dpl,#0x01 C$CAN.c$252$1$1 ==. ; apps/debugint/../CAN.c:252: return 0; C$CAN.c$253$1$1 ==. XG$rxbuf0_full$0$0 ==. ret 00102$: mov dpl,#0x00 ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'testfun' ;------------------------------------------------------------ ;------------------------------------------------------------ G$testfun$0$0 ==. C$CAN.c$255$1$1 ==. ; apps/debugint/../CAN.c:255: uint8 testfun(){ ; ----------------------------------------- ; function testfun ; ----------------------------------------- _testfun: C$CAN.c$256$1$1 ==. ; apps/debugint/../CAN.c:256: return 88; mov dpl,#0x58 C$CAN.c$257$1$1 ==. XG$testfun$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'spi_UM6_init' ;------------------------------------------------------------ ;------------------------------------------------------------ G$spi_UM6_init$0$0 ==. C$UM6.c$108$1$1 ==. ; apps/debugint/../UM6.c:108: void spi_UM6_init(){ ; ----------------------------------------- ; function spi_UM6_init ; ----------------------------------------- _spi_UM6_init: C$UM6.c$109$1$1 ==. ; apps/debugint/../UM6.c:109: spi_UM6MasterInit(); lcall _spi1MasterInit C$UM6.c$110$1$1 ==. ; apps/debugint/../UM6.c:110: spi_UM6MasterSetFrequency(230400); mov dptr,#0x8400 mov b,#0x03 clr a lcall _spi1MasterSetFrequency C$UM6.c$111$1$1 ==. ; apps/debugint/../UM6.c:111: spi_UM6MasterSetClockPolarity(SPI_POLARITY_IDLE_LOW); // SCK LOW when no data is being transmitted clr _spi1MasterSetClockPolarity_PARM_1 lcall _spi1MasterSetClockPolarity C$UM6.c$112$1$1 ==. ; apps/debugint/../UM6.c:112: spi_UM6MasterSetClockPhase(SPI_PHASE_EDGE_LEADING); // data sampled when clock goes from active to idle clr _spi1MasterSetClockPhase_PARM_1 lcall _spi1MasterSetClockPhase C$UM6.c$113$1$1 ==. ; apps/debugint/../UM6.c:113: spi_UM6MasterSetBitOrder(SPI_BIT_ORDER_MSB_FIRST); clr _spi1MasterSetBitOrder_PARM_1 C$UM6.c$114$1$1 ==. XG$spi_UM6_init$0$0 ==. ljmp _spi1MasterSetBitOrder ;------------------------------------------------------------ ;Allocation info for local variables in function 'write_UM6comm' ;------------------------------------------------------------ ;------------------------------------------------------------ G$write_UM6comm$0$0 ==. C$UM6.c$187$1$1 ==. ; apps/debugint/../UM6.c:187: void write_UM6comm(){ ; ----------------------------------------- ; function write_UM6comm ; ----------------------------------------- _write_UM6comm: C$UM6.c$188$1$1 ==. ; apps/debugint/../UM6.c:188: IMU_txdata[0] =0x01; // write command mov dptr,#_IMU_txdata mov a,#0x01 movx @dptr,a C$UM6.c$189$1$1 ==. ; apps/debugint/../UM6.c:189: IMU_txdata[1]=0x00; // address of the UM6_Comm register mov dptr,#(_IMU_txdata + 0x0001) clr a movx @dptr,a C$UM6.c$190$1$1 ==. ; apps/debugint/../UM6.c:190: IMU_txdata[2] = 0x38; //Byte4 mov dptr,#(_IMU_txdata + 0x0002) mov a,#0x38 movx @dptr,a C$UM6.c$191$1$1 ==. ; apps/debugint/../UM6.c:191: IMU_txdata[3] = 0x40; // Byte3 mov dptr,#(_IMU_txdata + 0x0003) mov a,#0x40 movx @dptr,a C$UM6.c$192$1$1 ==. ; apps/debugint/../UM6.c:192: IMU_txdata[4]= 0x05; //Byte2 mov dptr,#(_IMU_txdata + 0x0004) mov a,#0x05 movx @dptr,a C$UM6.c$193$1$1 ==. ; apps/debugint/../UM6.c:193: IMU_txdata[5] = 0x00; //Byte1 mov dptr,#(_IMU_txdata + 0x0005) clr a movx @dptr,a C$UM6.c$194$1$1 ==. ; apps/debugint/../UM6.c:194: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$195$1$1 ==. ; apps/debugint/../UM6.c:195: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$196$1$1 ==. ; apps/debugint/../UM6.c:196: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$197$1$1 ==. ; apps/debugint/../UM6.c:197: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E C$UM6.c$198$1$1 ==. XG$write_UM6comm$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'Zero_Gyros' ;------------------------------------------------------------ ;------------------------------------------------------------ G$Zero_Gyros$0$0 ==. C$UM6.c$203$1$1 ==. ; apps/debugint/../UM6.c:203: void Zero_Gyros(){ ; ----------------------------------------- ; function Zero_Gyros ; ----------------------------------------- _Zero_Gyros: C$UM6.c$204$1$1 ==. ; apps/debugint/../UM6.c:204: IMU_rxdata[0] =0x01; // write command mov dptr,#_IMU_rxdata mov a,#0x01 movx @dptr,a C$UM6.c$205$1$1 ==. ; apps/debugint/../UM6.c:205: IMU_rxdata[1]=0xAC; // command byte to determine gyro biases mov dptr,#(_IMU_rxdata + 0x0001) mov a,#0xAC movx @dptr,a C$UM6.c$206$1$1 ==. ; apps/debugint/../UM6.c:206: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$207$1$1 ==. ; apps/debugint/../UM6.c:207: spi_UM6MasterTransfer(IMU_rxdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_rxdata lcall _spi1MasterTransfer C$UM6.c$208$1$1 ==. ; apps/debugint/../UM6.c:208: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$209$1$1 ==. ; apps/debugint/../UM6.c:209: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E C$UM6.c$210$1$1 ==. XG$Zero_Gyros$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'write_UM6_Miscconfig' ;------------------------------------------------------------ ;------------------------------------------------------------ G$write_UM6_Miscconfig$0$0 ==. C$UM6.c$214$1$1 ==. ; apps/debugint/../UM6.c:214: void write_UM6_Miscconfig(){ ; ----------------------------------------- ; function write_UM6_Miscconfig ; ----------------------------------------- _write_UM6_Miscconfig: C$UM6.c$215$1$1 ==. ; apps/debugint/../UM6.c:215: IMU_rxdata[0] =0x01; // write command mov dptr,#_IMU_rxdata mov a,#0x01 movx @dptr,a C$UM6.c$216$1$1 ==. ; apps/debugint/../UM6.c:216: IMU_rxdata[1]=0x01; // Address of MISC_CONFIG register mov dptr,#(_IMU_rxdata + 0x0001) mov a,#0x01 movx @dptr,a C$UM6.c$217$1$1 ==. ; apps/debugint/../UM6.c:217: IMU_rxdata[2] = 0x50; mov dptr,#(_IMU_rxdata + 0x0002) mov a,#0x50 movx @dptr,a C$UM6.c$218$1$1 ==. ; apps/debugint/../UM6.c:218: IMU_rxdata[3] = 0x0; mov dptr,#(_IMU_rxdata + 0x0003) C$UM6.c$219$1$1 ==. ; apps/debugint/../UM6.c:219: IMU_rxdata[4]= 0x0; C$UM6.c$220$1$1 ==. ; apps/debugint/../UM6.c:220: IMU_rxdata[5] = 0x0; clr a movx @dptr,a mov dptr,#(_IMU_rxdata + 0x0004) movx @dptr,a mov dptr,#(_IMU_rxdata + 0x0005) movx @dptr,a C$UM6.c$221$1$1 ==. ; apps/debugint/../UM6.c:221: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$222$1$1 ==. ; apps/debugint/../UM6.c:222: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$223$1$1 ==. ; apps/debugint/../UM6.c:223: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$224$1$1 ==. ; apps/debugint/../UM6.c:224: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E C$UM6.c$225$1$1 ==. XG$write_UM6_Miscconfig$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_accel_rawZ' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_accel_rawZ$0$0 ==. C$UM6.c$229$1$1 ==. ; apps/debugint/../UM6.c:229: void read_accel_rawZ(){ ; ----------------------------------------- ; function read_accel_rawZ ; ----------------------------------------- _read_accel_rawZ: C$UM6.c$230$1$1 ==. ; apps/debugint/../UM6.c:230: IMU_txdata[0] = 0; //read command mov dptr,#_IMU_txdata clr a movx @dptr,a C$UM6.c$231$1$1 ==. ; apps/debugint/../UM6.c:231: IMU_txdata[1] = 0x5b; // address of accelrawZ mov dptr,#(_IMU_txdata + 0x0001) mov a,#0x5B movx @dptr,a C$UM6.c$232$1$1 ==. ; apps/debugint/../UM6.c:232: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$233$1$1 ==. ; apps/debugint/../UM6.c:233: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$234$1$1 ==. ; apps/debugint/../UM6.c:234: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$235$1$1 ==. ; apps/debugint/../UM6.c:235: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$236$1$1 ==. ; apps/debugint/../UM6.c:236: accelrawZ.temp[0] = IMU_rxdata[3]; mov dptr,#(_IMU_rxdata + 0x0003) movx a,@dptr mov r2,a mov r0,#_accelrawZ mov a,r2 movx @r0,a C$UM6.c$237$1$1 ==. ; apps/debugint/../UM6.c:237: accelrawZ.temp[1] = IMU_rxdata[2]; mov dptr,#(_IMU_rxdata + 0x0002) movx a,@dptr mov r2,a mov r0,#(_accelrawZ + 0x0001) mov a,r2 movx @r0,a C$UM6.c$239$1$1 ==. XG$read_accel_rawZ$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_euler_psi' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_euler_psi$0$0 ==. C$UM6.c$243$1$1 ==. ; apps/debugint/../UM6.c:243: void read_euler_psi(){ ; ----------------------------------------- ; function read_euler_psi ; ----------------------------------------- _read_euler_psi: C$UM6.c$244$1$1 ==. ; apps/debugint/../UM6.c:244: IMU_txdata[0] = 0; //read command mov dptr,#_IMU_txdata clr a movx @dptr,a C$UM6.c$245$1$1 ==. ; apps/debugint/../UM6.c:245: IMU_txdata[1] = 0x63; // address = accelrawz mov dptr,#(_IMU_txdata + 0x0001) mov a,#0x63 movx @dptr,a C$UM6.c$246$1$1 ==. ; apps/debugint/../UM6.c:246: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$247$1$1 ==. ; apps/debugint/../UM6.c:247: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$248$1$1 ==. ; apps/debugint/../UM6.c:248: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$249$1$1 ==. ; apps/debugint/../UM6.c:249: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$250$1$1 ==. ; apps/debugint/../UM6.c:250: euler_psi.temp[0] = IMU_rxdata[3]; mov dptr,#(_IMU_rxdata + 0x0003) movx a,@dptr mov r2,a mov r0,#_euler_psi mov a,r2 movx @r0,a C$UM6.c$251$1$1 ==. ; apps/debugint/../UM6.c:251: euler_psi.temp[1] = IMU_rxdata[2]; mov dptr,#(_IMU_rxdata + 0x0002) movx a,@dptr mov r2,a mov r0,#(_euler_psi + 0x0001) mov a,r2 movx @r0,a C$UM6.c$253$1$1 ==. XG$read_euler_psi$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_euler_phi_theta' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_euler_phi_theta$0$0 ==. C$UM6.c$258$1$1 ==. ; apps/debugint/../UM6.c:258: void read_euler_phi_theta(){ ; ----------------------------------------- ; function read_euler_phi_theta ; ----------------------------------------- _read_euler_phi_theta: C$UM6.c$259$1$1 ==. ; apps/debugint/../UM6.c:259: IMU_txdata[0] = 0; //read command mov dptr,#_IMU_txdata clr a movx @dptr,a C$UM6.c$260$1$1 ==. ; apps/debugint/../UM6.c:260: IMU_txdata[1] = 0x62; // address = accelrawz mov dptr,#(_IMU_txdata + 0x0001) mov a,#0x62 movx @dptr,a C$UM6.c$261$1$1 ==. ; apps/debugint/../UM6.c:261: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$262$1$1 ==. ; apps/debugint/../UM6.c:262: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$263$1$1 ==. ; apps/debugint/../UM6.c:263: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$264$1$1 ==. ; apps/debugint/../UM6.c:264: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$265$1$1 ==. ; apps/debugint/../UM6.c:265: euler_phi.temp[0] = IMU_rxdata[3]; mov dptr,#(_IMU_rxdata + 0x0003) movx a,@dptr mov r2,a mov r0,#_euler_phi mov a,r2 movx @r0,a C$UM6.c$266$1$1 ==. ; apps/debugint/../UM6.c:266: euler_phi.temp[1] = IMU_rxdata[2]; mov dptr,#(_IMU_rxdata + 0x0002) movx a,@dptr mov r2,a mov r0,#(_euler_phi + 0x0001) mov a,r2 movx @r0,a C$UM6.c$267$1$1 ==. ; apps/debugint/../UM6.c:267: euler_theta.temp[0] = IMU_rxdata[5]; mov dptr,#(_IMU_rxdata + 0x0005) movx a,@dptr mov r2,a mov r0,#_euler_theta mov a,r2 movx @r0,a C$UM6.c$268$1$1 ==. ; apps/debugint/../UM6.c:268: euler_theta.temp[1] = IMU_rxdata[4]; mov dptr,#(_IMU_rxdata + 0x0004) movx a,@dptr mov r2,a mov r0,#(_euler_theta + 0x0001) mov a,r2 movx @r0,a C$UM6.c$270$1$1 ==. XG$read_euler_phi_theta$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_accel_procZ' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_accel_procZ$0$0 ==. C$UM6.c$274$1$1 ==. ; apps/debugint/../UM6.c:274: void read_accel_procZ(){ ; ----------------------------------------- ; function read_accel_procZ ; ----------------------------------------- _read_accel_procZ: C$UM6.c$275$1$1 ==. ; apps/debugint/../UM6.c:275: IMU_txdata[0] = 0; //read command mov dptr,#_IMU_txdata clr a movx @dptr,a C$UM6.c$276$1$1 ==. ; apps/debugint/../UM6.c:276: IMU_txdata[1] = 0x5f; // address of processed accelZ register mov dptr,#(_IMU_txdata + 0x0001) mov a,#0x5F movx @dptr,a C$UM6.c$277$1$1 ==. ; apps/debugint/../UM6.c:277: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$278$1$1 ==. ; apps/debugint/../UM6.c:278: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$279$1$1 ==. ; apps/debugint/../UM6.c:279: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$280$1$1 ==. ; apps/debugint/../UM6.c:280: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$282$1$1 ==. ; apps/debugint/../UM6.c:282: accelprocZ.temp[0] = IMU_rxdata[3]; mov dptr,#(_IMU_rxdata + 0x0003) movx a,@dptr mov r2,a mov r0,#_accelprocZ mov a,r2 movx @r0,a C$UM6.c$283$1$1 ==. ; apps/debugint/../UM6.c:283: accelprocZ.temp[1] = IMU_rxdata[2]; mov dptr,#(_IMU_rxdata + 0x0002) movx a,@dptr mov r2,a mov r0,#(_accelprocZ + 0x0001) mov a,r2 movx @r0,a C$UM6.c$285$1$1 ==. XG$read_accel_procZ$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_gyro_procZ' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_gyro_procZ$0$0 ==. C$UM6.c$289$1$1 ==. ; apps/debugint/../UM6.c:289: void read_gyro_procZ(){ ; ----------------------------------------- ; function read_gyro_procZ ; ----------------------------------------- _read_gyro_procZ: C$UM6.c$290$1$1 ==. ; apps/debugint/../UM6.c:290: IMU_txdata[0] = 0; //read command mov dptr,#_IMU_txdata clr a movx @dptr,a C$UM6.c$291$1$1 ==. ; apps/debugint/../UM6.c:291: IMU_txdata[1] = 0x5d; // address of processed gyroZ register mov dptr,#(_IMU_txdata + 0x0001) mov a,#0x5D movx @dptr,a C$UM6.c$292$1$1 ==. ; apps/debugint/../UM6.c:292: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$293$1$1 ==. ; apps/debugint/../UM6.c:293: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$294$1$1 ==. ; apps/debugint/../UM6.c:294: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$295$1$1 ==. ; apps/debugint/../UM6.c:295: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$297$1$1 ==. ; apps/debugint/../UM6.c:297: gyroprocZ.temp[0] = IMU_rxdata[3]; mov dptr,#(_IMU_rxdata + 0x0003) movx a,@dptr mov r2,a mov r0,#_gyroprocZ mov a,r2 movx @r0,a C$UM6.c$298$1$1 ==. ; apps/debugint/../UM6.c:298: gyroprocZ.temp[1] = IMU_rxdata[2]; mov dptr,#(_IMU_rxdata + 0x0002) movx a,@dptr mov r2,a mov r0,#(_gyroprocZ + 0x0001) mov a,r2 movx @r0,a C$UM6.c$300$1$1 ==. XG$read_gyro_procZ$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_accel_procXY' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_accel_procXY$0$0 ==. C$UM6.c$304$1$1 ==. ; apps/debugint/../UM6.c:304: void read_accel_procXY(){ ; ----------------------------------------- ; function read_accel_procXY ; ----------------------------------------- _read_accel_procXY: C$UM6.c$305$1$1 ==. ; apps/debugint/../UM6.c:305: IMU_txdata[0] = 0; //read command mov dptr,#_IMU_txdata clr a movx @dptr,a C$UM6.c$306$1$1 ==. ; apps/debugint/../UM6.c:306: IMU_txdata[1] = 0x5E; // address = accelprocxy mov dptr,#(_IMU_txdata + 0x0001) mov a,#0x5E movx @dptr,a C$UM6.c$307$1$1 ==. ; apps/debugint/../UM6.c:307: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$308$1$1 ==. ; apps/debugint/../UM6.c:308: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$309$1$1 ==. ; apps/debugint/../UM6.c:309: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$310$1$1 ==. ; apps/debugint/../UM6.c:310: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$312$1$1 ==. ; apps/debugint/../UM6.c:312: accelprocX.temp[0] = IMU_rxdata[3]; mov dptr,#(_IMU_rxdata + 0x0003) movx a,@dptr mov r2,a mov r0,#_accelprocX mov a,r2 movx @r0,a C$UM6.c$313$1$1 ==. ; apps/debugint/../UM6.c:313: accelprocX.temp[1] = IMU_rxdata[2]; mov dptr,#(_IMU_rxdata + 0x0002) movx a,@dptr mov r2,a mov r0,#(_accelprocX + 0x0001) mov a,r2 movx @r0,a C$UM6.c$314$1$1 ==. ; apps/debugint/../UM6.c:314: accelprocY.temp[0] = IMU_rxdata[5]; mov dptr,#(_IMU_rxdata + 0x0005) movx a,@dptr mov r2,a mov r0,#_accelprocY mov a,r2 movx @r0,a C$UM6.c$315$1$1 ==. ; apps/debugint/../UM6.c:315: accelprocY.temp[1] = IMU_rxdata[4]; mov dptr,#(_IMU_rxdata + 0x0004) movx a,@dptr mov r2,a mov r0,#(_accelprocY + 0x0001) mov a,r2 movx @r0,a C$UM6.c$318$1$1 ==. XG$read_accel_procXY$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'read_gyro_procXY' ;------------------------------------------------------------ ;------------------------------------------------------------ G$read_gyro_procXY$0$0 ==. C$UM6.c$322$1$1 ==. ; apps/debugint/../UM6.c:322: void read_gyro_procXY(){ ; ----------------------------------------- ; function read_gyro_procXY ; ----------------------------------------- _read_gyro_procXY: C$UM6.c$323$1$1 ==. ; apps/debugint/../UM6.c:323: IMU_txdata[0] = 0; //read command mov dptr,#_IMU_txdata clr a movx @dptr,a C$UM6.c$324$1$1 ==. ; apps/debugint/../UM6.c:324: IMU_txdata[1] = 0x5C; // address = accelprocxy mov dptr,#(_IMU_txdata + 0x0001) mov a,#0x5C movx @dptr,a C$UM6.c$325$1$1 ==. ; apps/debugint/../UM6.c:325: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$326$1$1 ==. ; apps/debugint/../UM6.c:326: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$327$1$1 ==. ; apps/debugint/../UM6.c:327: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$328$1$1 ==. ; apps/debugint/../UM6.c:328: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$330$1$1 ==. ; apps/debugint/../UM6.c:330: gyroprocX.temp[0] = IMU_rxdata[3]; mov dptr,#(_IMU_rxdata + 0x0003) movx a,@dptr mov r2,a mov r0,#_gyroprocX mov a,r2 movx @r0,a C$UM6.c$331$1$1 ==. ; apps/debugint/../UM6.c:331: gyroprocX.temp[1] = IMU_rxdata[2]; mov dptr,#(_IMU_rxdata + 0x0002) movx a,@dptr mov r2,a mov r0,#(_gyroprocX + 0x0001) mov a,r2 movx @r0,a C$UM6.c$332$1$1 ==. ; apps/debugint/../UM6.c:332: gyroprocY.temp[0] = IMU_rxdata[5]; mov dptr,#(_IMU_rxdata + 0x0005) movx a,@dptr mov r2,a mov r0,#_gyroprocY mov a,r2 movx @r0,a C$UM6.c$333$1$1 ==. ; apps/debugint/../UM6.c:333: gyroprocY.temp[1] = IMU_rxdata[4]; mov dptr,#(_IMU_rxdata + 0x0004) movx a,@dptr mov r2,a mov r0,#(_gyroprocY + 0x0001) mov a,r2 movx @r0,a C$UM6.c$336$1$1 ==. XG$read_gyro_procXY$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'UM6_flash_commit' ;------------------------------------------------------------ ;------------------------------------------------------------ G$UM6_flash_commit$0$0 ==. C$UM6.c$341$1$1 ==. ; apps/debugint/../UM6.c:341: void UM6_flash_commit(){ ; ----------------------------------------- ; function UM6_flash_commit ; ----------------------------------------- _UM6_flash_commit: C$UM6.c$342$1$1 ==. ; apps/debugint/../UM6.c:342: IMU_txdata[0] = 1; //write command mov dptr,#_IMU_txdata mov a,#0x01 movx @dptr,a C$UM6.c$343$1$1 ==. ; apps/debugint/../UM6.c:343: IMU_txdata[1] = 0xAB; // UM6_Flash_commit command (nothing is written to the register) mov dptr,#(_IMU_txdata + 0x0001) mov a,#0xAB movx @dptr,a C$UM6.c$344$1$1 ==. ; apps/debugint/../UM6.c:344: IMU_CSlow; clr b[0] mov bits,b mov dpl,#0x0E lcall _setDigitalOutput C$UM6.c$345$1$1 ==. ; apps/debugint/../UM6.c:345: spi_UM6MasterTransfer(IMU_txdata,IMU_rxdata,6); mov r0,#_spi1MasterTransfer_PARM_2 mov a,#_IMU_rxdata movx @r0,a inc r0 mov a,#(_IMU_rxdata >> 8) movx @r0,a mov r0,#_spi1MasterTransfer_PARM_3 mov a,#0x06 movx @r0,a inc r0 clr a movx @r0,a mov dptr,#_IMU_txdata lcall _spi1MasterTransfer C$UM6.c$346$1$1 ==. ; apps/debugint/../UM6.c:346: while(spi_UM6MasterBusy()){ } 00101$: lcall _spi1MasterBusy jc 00101$ C$UM6.c$347$1$1 ==. ; apps/debugint/../UM6.c:347: IMU_CShigh; setb b[0] mov bits,b mov dpl,#0x0E C$UM6.c$348$1$1 ==. XG$UM6_flash_commit$0$0 ==. ljmp _setDigitalOutput ;------------------------------------------------------------ ;Allocation info for local variables in function 'main' ;------------------------------------------------------------ ;sloc0 Allocated with name '_main_sloc0_1_0' ;sloc1 Allocated with name '_main_sloc1_1_0' ;sloc2 Allocated with name '_main_sloc2_1_0' ;------------------------------------------------------------ G$main$0$0 ==. C$debugint.c$18$1$1 ==. ; apps/debugint/debugint.c:18: void main(){ ; ----------------------------------------- ; function main ; ----------------------------------------- _main: C$debugint.c$21$1$1 ==. ; apps/debugint/debugint.c:21: uint32 lastReport= 0; clr a mov _main_sloc1_1_0,a mov (_main_sloc1_1_0 + 1),a mov (_main_sloc1_1_0 + 2),a mov (_main_sloc1_1_0 + 3),a C$debugint.c$22$1$1 ==. ; apps/debugint/debugint.c:22: msg2.id = 0x222; mov (_msg2 + 0),#0x22 mov (_msg2 + 1),#0x02 C$debugint.c$23$1$1 ==. ; apps/debugint/debugint.c:23: msg2.len = 2; mov (_msg2 + 0x0002),#0x02 C$debugint.c$25$1$1 ==. ; apps/debugint/debugint.c:25: systemInit(); lcall _systemInit C$debugint.c$26$1$1 ==. ; apps/debugint/debugint.c:26: usbInit(); lcall _usbInit C$debugint.c$27$1$1 ==. ; apps/debugint/debugint.c:27: Can_init(2); // Initialize CAN at 250kbps and set in normal mode mov dpl,#0x02 lcall _Can_init C$debugint.c$28$1$1 ==. ; apps/debugint/debugint.c:28: spi_UM6_init(); // Initialize SPI for communicating with UM6 lcall _spi_UM6_init C$debugint.c$29$1$1 ==. ; apps/debugint/debugint.c:29: Zero_Gyros(); // zero the gyro readings lcall _Zero_Gyros C$debugint.c$31$1$1 ==. ; apps/debugint/debugint.c:31: radioLinkInit(); lcall _radioLinkInit C$debugint.c$32$1$1 ==. ; apps/debugint/debugint.c:32: while(!radioLinkConnected()){ 00101$: lcall _radioLinkConnected jc 00103$ C$debugint.c$33$2$2 ==. ; apps/debugint/debugint.c:33: boardService(); lcall _boardService C$debugint.c$34$2$2 ==. ; apps/debugint/debugint.c:34: usbComService(); lcall _usbComService C$debugint.c$35$3$3 ==. ; apps/debugint/debugint.c:35: LED_RED(1); orl _P2DIR,#0x02 sjmp 00101$ 00103$: C$debugint.c$37$2$4 ==. ; apps/debugint/debugint.c:37: LED_RED(0); anl _P2DIR,#0xFD C$debugint.c$42$1$1 ==. ; apps/debugint/debugint.c:42: while(1){ 00117$: C$debugint.c$43$2$5 ==. ; apps/debugint/debugint.c:43: usbComService(); lcall _usbComService C$debugint.c$44$2$5 ==. ; apps/debugint/debugint.c:44: boardService(); lcall _boardService C$debugint.c$45$2$5 ==. ; apps/debugint/debugint.c:45: if(rxbuf0_full()){ // check if rxbuf0 has msg lcall _rxbuf0_full mov a,dpl jnz 00138$ ljmp 00109$ 00138$: C$debugint.c$46$3$6 ==. ; apps/debugint/debugint.c:46: get_Canmsg(&msg2); mov dptr,#_msg2 mov b,#0x40 lcall _get_Canmsg C$debugint.c$47$3$6 ==. ; apps/debugint/debugint.c:47: if(radioLinkTxAvailable()){ lcall _radioLinkTxAvailable mov a,dpl jz 00109$ C$debugint.c$48$4$7 ==. ; apps/debugint/debugint.c:48: txpkt = radioLinkTxCurrentPacket(); lcall _radioLinkTxCurrentPacket mov r6,dpl mov r7,dph mov r0,#_txpkt mov a,r6 movx @r0,a inc r0 mov a,r7 movx @r0,a C$debugint.c$50$4$7 ==. ; apps/debugint/debugint.c:50: if(txpkt != 0){ mov a,r6 orl a,r7 jz 00105$ C$debugint.c$51$1$1 ==. ; apps/debugint/debugint.c:51: txpkt[0]=3 + msg2.len; mov _main_sloc0_1_0,(_msg2 + 0x0002) mov a,#0x03 add a,_main_sloc0_1_0 mov dpl,r6 mov dph,r7 movx @dptr,a C$debugint.c$52$5$8 ==. ; apps/debugint/debugint.c:52: txpkt[1] = (uint8) msg2.id; mov dpl,r6 mov dph,r7 inc dptr mov a,_msg2 movx @dptr,a C$debugint.c$53$5$8 ==. ; apps/debugint/debugint.c:53: txpkt[2] = (uint8) (msg2.id >> 8); mov dpl,r6 mov dph,r7 inc dptr inc dptr mov a,(_msg2 + 1) mov r2,a movx @dptr,a C$debugint.c$54$5$8 ==. ; apps/debugint/debugint.c:54: txpkt[3] = msg2.len; mov dpl,r6 mov dph,r7 inc dptr inc dptr inc dptr mov a,_main_sloc0_1_0 movx @dptr,a C$debugint.c$87$1$1 ==. ; apps/debugint/debugint.c:87: LED_RED_TOGGLE(); C$debugint.c$55$6$9 ==. ; apps/debugint/debugint.c:55: for(i=0;i= 100) // read the UM6 lcall _getMs mov r6,dpl mov r7,dph mov r2,b mov r3,a mov a,r6 clr c subb a,_main_sloc1_1_0 mov r6,a mov a,r7 subb a,(_main_sloc1_1_0 + 1) mov r7,a mov a,r2 subb a,(_main_sloc1_1_0 + 2) mov r2,a mov a,r3 subb a,(_main_sloc1_1_0 + 3) mov r3,a clr c mov a,r6 subb a,#0x64 mov a,r7 subb a,#0x00 mov a,r2 subb a,#0x00 mov a,r3 subb a,#0x00 jnc 00143$ ljmp 00117$ 00143$: C$debugint.c$69$3$11 ==. ; apps/debugint/debugint.c:69: lastReport = getMs(); lcall _getMs mov _main_sloc1_1_0,dpl mov (_main_sloc1_1_0 + 1),dph mov (_main_sloc1_1_0 + 2),b mov (_main_sloc1_1_0 + 3),a C$debugint.c$70$3$11 ==. ; apps/debugint/debugint.c:70: read_accel_procZ(); lcall _read_accel_procZ C$debugint.c$71$3$11 ==. ; apps/debugint/debugint.c:71: read_accel_procXY(); lcall _read_accel_procXY C$debugint.c$73$3$11 ==. ; apps/debugint/debugint.c:73: if(radioLinkTxAvailable()){ lcall _radioLinkTxAvailable mov a,dpl jnz 00144$ ljmp 00117$ 00144$: C$debugint.c$74$4$12 ==. ; apps/debugint/debugint.c:74: txpkt = radioLinkTxCurrentPacket(); lcall _radioLinkTxCurrentPacket mov r2,dpl mov r3,dph mov r0,#_txpkt mov a,r2 movx @r0,a inc r0 mov a,r3 movx @r0,a C$debugint.c$76$4$12 ==. ; apps/debugint/debugint.c:76: if(txpkt != 0){ mov a,r2 orl a,r3 jnz 00145$ ljmp 00111$ 00145$: C$debugint.c$77$5$13 ==. ; apps/debugint/debugint.c:77: txpkt[0]=6; mov dpl,r2 mov dph,r3 mov a,#0x06 movx @dptr,a C$debugint.c$78$5$13 ==. ; apps/debugint/debugint.c:78: txpkt[1] = (uint8) accelprocX.val; mov a,#0x01 add a,r2 mov _main_sloc2_1_0,a clr a addc a,r3 mov (_main_sloc2_1_0 + 1),a mov r0,#_accelprocX movx a,@r0 mov r6,a inc r0 movx a,@r0 mov r7,a mov ar4,r6 mov dpl,_main_sloc2_1_0 mov dph,(_main_sloc2_1_0 + 1) mov a,r4 movx @dptr,a C$debugint.c$79$5$13 ==. ; apps/debugint/debugint.c:79: txpkt[2] = (uint8) (accelprocX.val >> 8); mov a,#0x02 add a,r2 mov r4,a clr a addc a,r3 mov r5,a mov ar6,r7 mov dpl,r4 mov dph,r5 mov a,r6 movx @dptr,a C$debugint.c$80$5$13 ==. ; apps/debugint/debugint.c:80: txpkt[3] = (uint8) accelprocY.val; mov a,#0x03 add a,r2 mov _main_sloc2_1_0,a clr a addc a,r3 mov (_main_sloc2_1_0 + 1),a mov r0,#_accelprocY movx a,@r0 mov r6,a inc r0 movx a,@r0 mov r7,a mov ar4,r6 mov dpl,_main_sloc2_1_0 mov dph,(_main_sloc2_1_0 + 1) mov a,r4 movx @dptr,a C$debugint.c$81$5$13 ==. ; apps/debugint/debugint.c:81: txpkt[4] = (uint8) (accelprocY.val >> 8); mov a,#0x04 add a,r2 mov r4,a clr a addc a,r3 mov r5,a mov ar6,r7 mov dpl,r4 mov dph,r5 mov a,r6 movx @dptr,a C$debugint.c$82$5$13 ==. ; apps/debugint/debugint.c:82: txpkt[5] = (uint8) accelprocZ.val; mov a,#0x05 add a,r2 mov _main_sloc2_1_0,a clr a addc a,r3 mov (_main_sloc2_1_0 + 1),a mov r0,#_accelprocZ movx a,@r0 mov r6,a inc r0 movx a,@r0 mov r7,a mov ar4,r6 mov dpl,_main_sloc2_1_0 mov dph,(_main_sloc2_1_0 + 1) mov a,r4 movx @dptr,a C$debugint.c$83$5$13 ==. ; apps/debugint/debugint.c:83: txpkt[6] = (uint8) (accelprocZ.val >> 8); mov a,#0x06 add a,r2 mov r2,a clr a addc a,r3 mov r3,a mov ar6,r7 mov dpl,r2 mov dph,r3 mov a,r6 movx @dptr,a 00111$: C$debugint.c$86$4$12 ==. ; apps/debugint/debugint.c:86: radioLinkTxSendPacket(1); mov dpl,#0x01 lcall _radioLinkTxSendPacket C$debugint.c$87$5$14 ==. ; apps/debugint/debugint.c:87: LED_RED_TOGGLE(); xrl _P2DIR,#0x02 C$debugint.c$91$1$1 ==. XG$main$0$0 ==. ljmp 00117$ .area CSEG (CODE) .area CONST (CODE) .area XINIT (CODE) Fdebugint$__xinit_txdata2$0$0 == . __xinit__txdata2: .db #0x40 ; 64 .db #0x20 ; 32 .db #0x20 ; 32 .db #0x00 ; 0 .db #0x00 ; 0 .db #0x04 ; 4 .db #0x01 ; 1 .db #0x02 ; 2 .db #0x03 ; 3 .db #0x04 ; 4 .db #0x00 ; 0 .db #0x00 ; 0 .db #0x00 ; 0 .db #0x00 ; 0 Fdebugint$__xinit_rxdata$0$0 == . __xinit__rxdata: .db #0x00 ; 0 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 Fdebugint$__xinit_txdata$0$0 == . __xinit__txdata: .db #0x40 ; 64 .db #0x20 ; 32 .db #0x20 ; 32 .db #0x00 ; 0 .db #0x00 ; 0 .db #0x04 ; 4 .db #0x01 ; 1 .db #0x02 ; 2 .db #0x03 ; 3 .db #0x04 ; 4 .db #0x00 ; 0 .db #0x00 ; 0 .db #0x00 ; 0 .db #0x00 ; 0 Fdebugint$__xinit_IMU_txdata$0$0 == . __xinit__IMU_txdata: .db #0x00 ; 0 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 .db 0x00 Fdebugint$__xinit_IMU_rxdata$0$0 == . __xinit__IMU_rxdata: .db #0x01 ; 1 .db #0x01 ; 1 .db #0x01 ; 1 .db #0x01 ; 1 .db #0x01 ; 1 .db #0x01 ; 1 .db #0x01 ; 1 .db #0x01 ; 1 .area CABS (ABS,CODE)