;-------------------------------------------------------- ; File Created by SDCC : free open source ANSI-C Compiler ; Version 3.0.0 #6037 (Oct 31 2010) (Linux) ; This file was generated Sun Feb 26 03:56:09 2012 ;-------------------------------------------------------- .module radio_link .optsdcc -mmcs51 --model-medium ;-------------------------------------------------------- ; Public variables in this module ;-------------------------------------------------------- .globl _param_radio_channel .globl _shortTxPacket .globl _radioLinkActivityOccurred .globl _radioLinkResetPacketReceived .globl _radioLinkTxCurrentPacketTries .globl _radioLinkTxInterruptIndex .globl _radioLinkTxMainLoopIndex .globl _radioLinkRxInterruptIndex .globl _radioLinkRxMainLoopIndex .globl _radioLinkInit .globl _radioLinkConnected .globl _radioLinkTxAvailable .globl _radioLinkTxQueued .globl _radioLinkTxCurrentPacket .globl _radioLinkTxSendPacket .globl _radioLinkRxCurrentPacket .globl _radioLinkRxCurrentPayloadType .globl _radioLinkRxDoneWithPacket .globl _radioMacEventHandler ;-------------------------------------------------------- ; special function registers ;-------------------------------------------------------- .area RSEG (ABS,DATA) .org 0x0000 Fradio_link$P0$0$0 == 0x0080 _P0 = 0x0080 Fradio_link$SP$0$0 == 0x0081 _SP = 0x0081 Fradio_link$DPL0$0$0 == 0x0082 _DPL0 = 0x0082 Fradio_link$DPH0$0$0 == 0x0083 _DPH0 = 0x0083 Fradio_link$DPL1$0$0 == 0x0084 _DPL1 = 0x0084 Fradio_link$DPH1$0$0 == 0x0085 _DPH1 = 0x0085 Fradio_link$U0CSR$0$0 == 0x0086 _U0CSR = 0x0086 Fradio_link$PCON$0$0 == 0x0087 _PCON = 0x0087 Fradio_link$TCON$0$0 == 0x0088 _TCON = 0x0088 Fradio_link$P0IFG$0$0 == 0x0089 _P0IFG = 0x0089 Fradio_link$P1IFG$0$0 == 0x008a _P1IFG = 0x008a Fradio_link$P2IFG$0$0 == 0x008b _P2IFG = 0x008b Fradio_link$PICTL$0$0 == 0x008c _PICTL = 0x008c Fradio_link$P1IEN$0$0 == 0x008d _P1IEN = 0x008d Fradio_link$P0INP$0$0 == 0x008f _P0INP = 0x008f Fradio_link$P1$0$0 == 0x0090 _P1 = 0x0090 Fradio_link$RFIM$0$0 == 0x0091 _RFIM = 0x0091 Fradio_link$DPS$0$0 == 0x0092 _DPS = 0x0092 Fradio_link$MPAGE$0$0 == 0x0093 _MPAGE = 0x0093 Fradio_link$ENDIAN$0$0 == 0x0095 _ENDIAN = 0x0095 Fradio_link$S0CON$0$0 == 0x0098 _S0CON = 0x0098 Fradio_link$IEN2$0$0 == 0x009a _IEN2 = 0x009a Fradio_link$S1CON$0$0 == 0x009b _S1CON = 0x009b Fradio_link$T2CT$0$0 == 0x009c _T2CT = 0x009c Fradio_link$T2PR$0$0 == 0x009d _T2PR = 0x009d Fradio_link$T2CTL$0$0 == 0x009e _T2CTL = 0x009e Fradio_link$P2$0$0 == 0x00a0 _P2 = 0x00a0 Fradio_link$WORIRQ$0$0 == 0x00a1 _WORIRQ = 0x00a1 Fradio_link$WORCTRL$0$0 == 0x00a2 _WORCTRL = 0x00a2 Fradio_link$WOREVT0$0$0 == 0x00a3 _WOREVT0 = 0x00a3 Fradio_link$WOREVT1$0$0 == 0x00a4 _WOREVT1 = 0x00a4 Fradio_link$WORTIME0$0$0 == 0x00a5 _WORTIME0 = 0x00a5 Fradio_link$WORTIME1$0$0 == 0x00a6 _WORTIME1 = 0x00a6 Fradio_link$IEN0$0$0 == 0x00a8 _IEN0 = 0x00a8 Fradio_link$IP0$0$0 == 0x00a9 _IP0 = 0x00a9 Fradio_link$FWT$0$0 == 0x00ab _FWT = 0x00ab Fradio_link$FADDRL$0$0 == 0x00ac _FADDRL = 0x00ac Fradio_link$FADDRH$0$0 == 0x00ad _FADDRH = 0x00ad Fradio_link$FCTL$0$0 == 0x00ae _FCTL = 0x00ae Fradio_link$FWDATA$0$0 == 0x00af _FWDATA = 0x00af Fradio_link$ENCDI$0$0 == 0x00b1 _ENCDI = 0x00b1 Fradio_link$ENCDO$0$0 == 0x00b2 _ENCDO = 0x00b2 Fradio_link$ENCCS$0$0 == 0x00b3 _ENCCS = 0x00b3 Fradio_link$ADCCON1$0$0 == 0x00b4 _ADCCON1 = 0x00b4 Fradio_link$ADCCON2$0$0 == 0x00b5 _ADCCON2 = 0x00b5 Fradio_link$ADCCON3$0$0 == 0x00b6 _ADCCON3 = 0x00b6 Fradio_link$IEN1$0$0 == 0x00b8 _IEN1 = 0x00b8 Fradio_link$IP1$0$0 == 0x00b9 _IP1 = 0x00b9 Fradio_link$ADCL$0$0 == 0x00ba _ADCL = 0x00ba Fradio_link$ADCH$0$0 == 0x00bb _ADCH = 0x00bb Fradio_link$RNDL$0$0 == 0x00bc _RNDL = 0x00bc Fradio_link$RNDH$0$0 == 0x00bd _RNDH = 0x00bd Fradio_link$SLEEP$0$0 == 0x00be _SLEEP = 0x00be Fradio_link$IRCON$0$0 == 0x00c0 _IRCON = 0x00c0 Fradio_link$U0DBUF$0$0 == 0x00c1 _U0DBUF = 0x00c1 Fradio_link$U0BAUD$0$0 == 0x00c2 _U0BAUD = 0x00c2 Fradio_link$U0UCR$0$0 == 0x00c4 _U0UCR = 0x00c4 Fradio_link$U0GCR$0$0 == 0x00c5 _U0GCR = 0x00c5 Fradio_link$CLKCON$0$0 == 0x00c6 _CLKCON = 0x00c6 Fradio_link$MEMCTR$0$0 == 0x00c7 _MEMCTR = 0x00c7 Fradio_link$WDCTL$0$0 == 0x00c9 _WDCTL = 0x00c9 Fradio_link$T3CNT$0$0 == 0x00ca _T3CNT = 0x00ca Fradio_link$T3CTL$0$0 == 0x00cb _T3CTL = 0x00cb Fradio_link$T3CCTL0$0$0 == 0x00cc _T3CCTL0 = 0x00cc Fradio_link$T3CC0$0$0 == 0x00cd _T3CC0 = 0x00cd Fradio_link$T3CCTL1$0$0 == 0x00ce _T3CCTL1 = 0x00ce Fradio_link$T3CC1$0$0 == 0x00cf _T3CC1 = 0x00cf Fradio_link$PSW$0$0 == 0x00d0 _PSW = 0x00d0 Fradio_link$DMAIRQ$0$0 == 0x00d1 _DMAIRQ = 0x00d1 Fradio_link$DMA1CFGL$0$0 == 0x00d2 _DMA1CFGL = 0x00d2 Fradio_link$DMA1CFGH$0$0 == 0x00d3 _DMA1CFGH = 0x00d3 Fradio_link$DMA0CFGL$0$0 == 0x00d4 _DMA0CFGL = 0x00d4 Fradio_link$DMA0CFGH$0$0 == 0x00d5 _DMA0CFGH = 0x00d5 Fradio_link$DMAARM$0$0 == 0x00d6 _DMAARM = 0x00d6 Fradio_link$DMAREQ$0$0 == 0x00d7 _DMAREQ = 0x00d7 Fradio_link$TIMIF$0$0 == 0x00d8 _TIMIF = 0x00d8 Fradio_link$RFD$0$0 == 0x00d9 _RFD = 0x00d9 Fradio_link$T1CC0L$0$0 == 0x00da _T1CC0L = 0x00da Fradio_link$T1CC0H$0$0 == 0x00db _T1CC0H = 0x00db Fradio_link$T1CC1L$0$0 == 0x00dc _T1CC1L = 0x00dc Fradio_link$T1CC1H$0$0 == 0x00dd _T1CC1H = 0x00dd Fradio_link$T1CC2L$0$0 == 0x00de _T1CC2L = 0x00de Fradio_link$T1CC2H$0$0 == 0x00df _T1CC2H = 0x00df Fradio_link$ACC$0$0 == 0x00e0 _ACC = 0x00e0 Fradio_link$RFST$0$0 == 0x00e1 _RFST = 0x00e1 Fradio_link$T1CNTL$0$0 == 0x00e2 _T1CNTL = 0x00e2 Fradio_link$T1CNTH$0$0 == 0x00e3 _T1CNTH = 0x00e3 Fradio_link$T1CTL$0$0 == 0x00e4 _T1CTL = 0x00e4 Fradio_link$T1CCTL0$0$0 == 0x00e5 _T1CCTL0 = 0x00e5 Fradio_link$T1CCTL1$0$0 == 0x00e6 _T1CCTL1 = 0x00e6 Fradio_link$T1CCTL2$0$0 == 0x00e7 _T1CCTL2 = 0x00e7 Fradio_link$IRCON2$0$0 == 0x00e8 _IRCON2 = 0x00e8 Fradio_link$RFIF$0$0 == 0x00e9 _RFIF = 0x00e9 Fradio_link$T4CNT$0$0 == 0x00ea _T4CNT = 0x00ea Fradio_link$T4CTL$0$0 == 0x00eb _T4CTL = 0x00eb Fradio_link$T4CCTL0$0$0 == 0x00ec _T4CCTL0 = 0x00ec Fradio_link$T4CC0$0$0 == 0x00ed _T4CC0 = 0x00ed Fradio_link$T4CCTL1$0$0 == 0x00ee _T4CCTL1 = 0x00ee Fradio_link$T4CC1$0$0 == 0x00ef _T4CC1 = 0x00ef Fradio_link$B$0$0 == 0x00f0 _B = 0x00f0 Fradio_link$PERCFG$0$0 == 0x00f1 _PERCFG = 0x00f1 Fradio_link$ADCCFG$0$0 == 0x00f2 _ADCCFG = 0x00f2 Fradio_link$P0SEL$0$0 == 0x00f3 _P0SEL = 0x00f3 Fradio_link$P1SEL$0$0 == 0x00f4 _P1SEL = 0x00f4 Fradio_link$P2SEL$0$0 == 0x00f5 _P2SEL = 0x00f5 Fradio_link$P1INP$0$0 == 0x00f6 _P1INP = 0x00f6 Fradio_link$P2INP$0$0 == 0x00f7 _P2INP = 0x00f7 Fradio_link$U1CSR$0$0 == 0x00f8 _U1CSR = 0x00f8 Fradio_link$U1DBUF$0$0 == 0x00f9 _U1DBUF = 0x00f9 Fradio_link$U1BAUD$0$0 == 0x00fa _U1BAUD = 0x00fa Fradio_link$U1UCR$0$0 == 0x00fb _U1UCR = 0x00fb Fradio_link$U1GCR$0$0 == 0x00fc _U1GCR = 0x00fc Fradio_link$P0DIR$0$0 == 0x00fd _P0DIR = 0x00fd Fradio_link$P1DIR$0$0 == 0x00fe _P1DIR = 0x00fe Fradio_link$P2DIR$0$0 == 0x00ff _P2DIR = 0x00ff Fradio_link$DMA0CFG$0$0 == 0xffffd5d4 _DMA0CFG = 0xffffd5d4 Fradio_link$DMA1CFG$0$0 == 0xffffd3d2 _DMA1CFG = 0xffffd3d2 Fradio_link$FADDR$0$0 == 0xffffadac _FADDR = 0xffffadac Fradio_link$ADC$0$0 == 0xffffbbba _ADC = 0xffffbbba Fradio_link$T1CC0$0$0 == 0xffffdbda _T1CC0 = 0xffffdbda Fradio_link$T1CC1$0$0 == 0xffffdddc _T1CC1 = 0xffffdddc Fradio_link$T1CC2$0$0 == 0xffffdfde _T1CC2 = 0xffffdfde ;-------------------------------------------------------- ; special function bits ;-------------------------------------------------------- .area RSEG (ABS,DATA) .org 0x0000 Fradio_link$P0_0$0$0 == 0x0080 _P0_0 = 0x0080 Fradio_link$P0_1$0$0 == 0x0081 _P0_1 = 0x0081 Fradio_link$P0_2$0$0 == 0x0082 _P0_2 = 0x0082 Fradio_link$P0_3$0$0 == 0x0083 _P0_3 = 0x0083 Fradio_link$P0_4$0$0 == 0x0084 _P0_4 = 0x0084 Fradio_link$P0_5$0$0 == 0x0085 _P0_5 = 0x0085 Fradio_link$P0_6$0$0 == 0x0086 _P0_6 = 0x0086 Fradio_link$P0_7$0$0 == 0x0087 _P0_7 = 0x0087 Fradio_link$_TCON_0$0$0 == 0x0088 __TCON_0 = 0x0088 Fradio_link$RFTXRXIF$0$0 == 0x0089 _RFTXRXIF = 0x0089 Fradio_link$_TCON_2$0$0 == 0x008a __TCON_2 = 0x008a Fradio_link$URX0IF$0$0 == 0x008b _URX0IF = 0x008b Fradio_link$_TCON_4$0$0 == 0x008c __TCON_4 = 0x008c Fradio_link$ADCIF$0$0 == 0x008d _ADCIF = 0x008d Fradio_link$_TCON_6$0$0 == 0x008e __TCON_6 = 0x008e Fradio_link$URX1IF$0$0 == 0x008f _URX1IF = 0x008f Fradio_link$P1_0$0$0 == 0x0090 _P1_0 = 0x0090 Fradio_link$P1_1$0$0 == 0x0091 _P1_1 = 0x0091 Fradio_link$P1_2$0$0 == 0x0092 _P1_2 = 0x0092 Fradio_link$P1_3$0$0 == 0x0093 _P1_3 = 0x0093 Fradio_link$P1_4$0$0 == 0x0094 _P1_4 = 0x0094 Fradio_link$P1_5$0$0 == 0x0095 _P1_5 = 0x0095 Fradio_link$P1_6$0$0 == 0x0096 _P1_6 = 0x0096 Fradio_link$P1_7$0$0 == 0x0097 _P1_7 = 0x0097 Fradio_link$ENCIF_0$0$0 == 0x0098 _ENCIF_0 = 0x0098 Fradio_link$ENCIF_1$0$0 == 0x0099 _ENCIF_1 = 0x0099 Fradio_link$_SOCON2$0$0 == 0x009a __SOCON2 = 0x009a Fradio_link$_SOCON3$0$0 == 0x009b __SOCON3 = 0x009b Fradio_link$_SOCON4$0$0 == 0x009c __SOCON4 = 0x009c Fradio_link$_SOCON5$0$0 == 0x009d __SOCON5 = 0x009d Fradio_link$_SOCON6$0$0 == 0x009e __SOCON6 = 0x009e Fradio_link$_SOCON7$0$0 == 0x009f __SOCON7 = 0x009f Fradio_link$P2_0$0$0 == 0x00a0 _P2_0 = 0x00a0 Fradio_link$P2_1$0$0 == 0x00a1 _P2_1 = 0x00a1 Fradio_link$P2_2$0$0 == 0x00a2 _P2_2 = 0x00a2 Fradio_link$P2_3$0$0 == 0x00a3 _P2_3 = 0x00a3 Fradio_link$P2_4$0$0 == 0x00a4 _P2_4 = 0x00a4 Fradio_link$P2_5$0$0 == 0x00a5 _P2_5 = 0x00a5 Fradio_link$P2_6$0$0 == 0x00a6 _P2_6 = 0x00a6 Fradio_link$P2_7$0$0 == 0x00a7 _P2_7 = 0x00a7 Fradio_link$RFTXRXIE$0$0 == 0x00a8 _RFTXRXIE = 0x00a8 Fradio_link$ADCIE$0$0 == 0x00a9 _ADCIE = 0x00a9 Fradio_link$URX0IE$0$0 == 0x00aa _URX0IE = 0x00aa Fradio_link$URX1IE$0$0 == 0x00ab _URX1IE = 0x00ab Fradio_link$ENCIE$0$0 == 0x00ac _ENCIE = 0x00ac Fradio_link$STIE$0$0 == 0x00ad _STIE = 0x00ad Fradio_link$_IEN06$0$0 == 0x00ae __IEN06 = 0x00ae Fradio_link$EA$0$0 == 0x00af _EA = 0x00af Fradio_link$DMAIE$0$0 == 0x00b8 _DMAIE = 0x00b8 Fradio_link$T1IE$0$0 == 0x00b9 _T1IE = 0x00b9 Fradio_link$T2IE$0$0 == 0x00ba _T2IE = 0x00ba Fradio_link$T3IE$0$0 == 0x00bb _T3IE = 0x00bb Fradio_link$T4IE$0$0 == 0x00bc _T4IE = 0x00bc Fradio_link$P0IE$0$0 == 0x00bd _P0IE = 0x00bd Fradio_link$_IEN16$0$0 == 0x00be __IEN16 = 0x00be Fradio_link$_IEN17$0$0 == 0x00bf __IEN17 = 0x00bf Fradio_link$DMAIF$0$0 == 0x00c0 _DMAIF = 0x00c0 Fradio_link$T1IF$0$0 == 0x00c1 _T1IF = 0x00c1 Fradio_link$T2IF$0$0 == 0x00c2 _T2IF = 0x00c2 Fradio_link$T3IF$0$0 == 0x00c3 _T3IF = 0x00c3 Fradio_link$T4IF$0$0 == 0x00c4 _T4IF = 0x00c4 Fradio_link$P0IF$0$0 == 0x00c5 _P0IF = 0x00c5 Fradio_link$_IRCON6$0$0 == 0x00c6 __IRCON6 = 0x00c6 Fradio_link$STIF$0$0 == 0x00c7 _STIF = 0x00c7 Fradio_link$P$0$0 == 0x00d0 _P = 0x00d0 Fradio_link$F1$0$0 == 0x00d1 _F1 = 0x00d1 Fradio_link$OV$0$0 == 0x00d2 _OV = 0x00d2 Fradio_link$RS0$0$0 == 0x00d3 _RS0 = 0x00d3 Fradio_link$RS1$0$0 == 0x00d4 _RS1 = 0x00d4 Fradio_link$F0$0$0 == 0x00d5 _F0 = 0x00d5 Fradio_link$AC$0$0 == 0x00d6 _AC = 0x00d6 Fradio_link$CY$0$0 == 0x00d7 _CY = 0x00d7 Fradio_link$T3OVFIF$0$0 == 0x00d8 _T3OVFIF = 0x00d8 Fradio_link$T3CH0IF$0$0 == 0x00d9 _T3CH0IF = 0x00d9 Fradio_link$T3CH1IF$0$0 == 0x00da _T3CH1IF = 0x00da Fradio_link$T4OVFIF$0$0 == 0x00db _T4OVFIF = 0x00db Fradio_link$T4CH0IF$0$0 == 0x00dc _T4CH0IF = 0x00dc Fradio_link$T4CH1IF$0$0 == 0x00dd _T4CH1IF = 0x00dd Fradio_link$OVFIM$0$0 == 0x00de _OVFIM = 0x00de Fradio_link$_TIMIF7$0$0 == 0x00df __TIMIF7 = 0x00df Fradio_link$ACC_0$0$0 == 0x00e0 _ACC_0 = 0x00e0 Fradio_link$ACC_1$0$0 == 0x00e1 _ACC_1 = 0x00e1 Fradio_link$ACC_2$0$0 == 0x00e2 _ACC_2 = 0x00e2 Fradio_link$ACC_3$0$0 == 0x00e3 _ACC_3 = 0x00e3 Fradio_link$ACC_4$0$0 == 0x00e4 _ACC_4 = 0x00e4 Fradio_link$ACC_5$0$0 == 0x00e5 _ACC_5 = 0x00e5 Fradio_link$ACC_6$0$0 == 0x00e6 _ACC_6 = 0x00e6 Fradio_link$ACC_7$0$0 == 0x00e7 _ACC_7 = 0x00e7 Fradio_link$P2IF$0$0 == 0x00e8 _P2IF = 0x00e8 Fradio_link$UTX0IF$0$0 == 0x00e9 _UTX0IF = 0x00e9 Fradio_link$UTX1IF$0$0 == 0x00ea _UTX1IF = 0x00ea Fradio_link$P1IF$0$0 == 0x00eb _P1IF = 0x00eb Fradio_link$WDTIF$0$0 == 0x00ec _WDTIF = 0x00ec Fradio_link$_IRCON25$0$0 == 0x00ed __IRCON25 = 0x00ed Fradio_link$_IRCON26$0$0 == 0x00ee __IRCON26 = 0x00ee Fradio_link$_IRCON27$0$0 == 0x00ef __IRCON27 = 0x00ef Fradio_link$B_0$0$0 == 0x00f0 _B_0 = 0x00f0 Fradio_link$B_1$0$0 == 0x00f1 _B_1 = 0x00f1 Fradio_link$B_2$0$0 == 0x00f2 _B_2 = 0x00f2 Fradio_link$B_3$0$0 == 0x00f3 _B_3 = 0x00f3 Fradio_link$B_4$0$0 == 0x00f4 _B_4 = 0x00f4 Fradio_link$B_5$0$0 == 0x00f5 _B_5 = 0x00f5 Fradio_link$B_6$0$0 == 0x00f6 _B_6 = 0x00f6 Fradio_link$B_7$0$0 == 0x00f7 _B_7 = 0x00f7 Fradio_link$U1ACTIVE$0$0 == 0x00f8 _U1ACTIVE = 0x00f8 Fradio_link$U1TX_BYTE$0$0 == 0x00f9 _U1TX_BYTE = 0x00f9 Fradio_link$U1RX_BYTE$0$0 == 0x00fa _U1RX_BYTE = 0x00fa Fradio_link$U1ERR$0$0 == 0x00fb _U1ERR = 0x00fb Fradio_link$U1FE$0$0 == 0x00fc _U1FE = 0x00fc Fradio_link$U1SLAVE$0$0 == 0x00fd _U1SLAVE = 0x00fd Fradio_link$U1RE$0$0 == 0x00fe _U1RE = 0x00fe Fradio_link$U1MODE$0$0 == 0x00ff _U1MODE = 0x00ff ;-------------------------------------------------------- ; overlayable register banks ;-------------------------------------------------------- .area REG_BANK_0 (REL,OVR,DATA) .ds 8 ;-------------------------------------------------------- ; internal ram data ;-------------------------------------------------------- .area DSEG (DATA) G$radioLinkRxMainLoopIndex$0$0==. _radioLinkRxMainLoopIndex:: .ds 1 G$radioLinkRxInterruptIndex$0$0==. _radioLinkRxInterruptIndex:: .ds 1 G$radioLinkTxMainLoopIndex$0$0==. _radioLinkTxMainLoopIndex:: .ds 1 G$radioLinkTxInterruptIndex$0$0==. _radioLinkTxInterruptIndex:: .ds 1 G$radioLinkTxCurrentPacketTries$0$0==. _radioLinkTxCurrentPacketTries:: .ds 1 LradioMacEventHandler$sloc0$1$0==. _radioMacEventHandler_sloc0_1_0: .ds 1 ;-------------------------------------------------------- ; overlayable items in internal ram ;-------------------------------------------------------- .area OSEG (OVR,DATA) ;-------------------------------------------------------- ; 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) Fradio_link$sendingReset$0$0==. _sendingReset: .ds 1 Fradio_link$acceptAnySequenceBit$0$0==. _acceptAnySequenceBit: .ds 1 G$radioLinkResetPacketReceived$0$0==. _radioLinkResetPacketReceived:: .ds 1 Fradio_link$rxSequenceBit$0$0==. _rxSequenceBit: .ds 1 Fradio_link$txSequenceBit$0$0==. _txSequenceBit: .ds 1 G$radioLinkActivityOccurred$0$0==. _radioLinkActivityOccurred:: .ds 1 ;-------------------------------------------------------- ; paged external ram data ;-------------------------------------------------------- .area PSEG (PAG,XDATA) LradioMacEventHandler$currentRxPacket$2$4==. _radioMacEventHandler_currentRxPacket_2_4: .ds 2 ;-------------------------------------------------------- ; external ram data ;-------------------------------------------------------- .area XSEG (XDATA) Fradio_link$SYNC1$0$0 == 0xdf00 _SYNC1 = 0xdf00 Fradio_link$SYNC0$0$0 == 0xdf01 _SYNC0 = 0xdf01 Fradio_link$PKTLEN$0$0 == 0xdf02 _PKTLEN = 0xdf02 Fradio_link$PKTCTRL1$0$0 == 0xdf03 _PKTCTRL1 = 0xdf03 Fradio_link$PKTCTRL0$0$0 == 0xdf04 _PKTCTRL0 = 0xdf04 Fradio_link$ADDR$0$0 == 0xdf05 _ADDR = 0xdf05 Fradio_link$CHANNR$0$0 == 0xdf06 _CHANNR = 0xdf06 Fradio_link$FSCTRL1$0$0 == 0xdf07 _FSCTRL1 = 0xdf07 Fradio_link$FSCTRL0$0$0 == 0xdf08 _FSCTRL0 = 0xdf08 Fradio_link$FREQ2$0$0 == 0xdf09 _FREQ2 = 0xdf09 Fradio_link$FREQ1$0$0 == 0xdf0a _FREQ1 = 0xdf0a Fradio_link$FREQ0$0$0 == 0xdf0b _FREQ0 = 0xdf0b Fradio_link$MDMCFG4$0$0 == 0xdf0c _MDMCFG4 = 0xdf0c Fradio_link$MDMCFG3$0$0 == 0xdf0d _MDMCFG3 = 0xdf0d Fradio_link$MDMCFG2$0$0 == 0xdf0e _MDMCFG2 = 0xdf0e Fradio_link$MDMCFG1$0$0 == 0xdf0f _MDMCFG1 = 0xdf0f Fradio_link$MDMCFG0$0$0 == 0xdf10 _MDMCFG0 = 0xdf10 Fradio_link$DEVIATN$0$0 == 0xdf11 _DEVIATN = 0xdf11 Fradio_link$MCSM2$0$0 == 0xdf12 _MCSM2 = 0xdf12 Fradio_link$MCSM1$0$0 == 0xdf13 _MCSM1 = 0xdf13 Fradio_link$MCSM0$0$0 == 0xdf14 _MCSM0 = 0xdf14 Fradio_link$FOCCFG$0$0 == 0xdf15 _FOCCFG = 0xdf15 Fradio_link$BSCFG$0$0 == 0xdf16 _BSCFG = 0xdf16 Fradio_link$AGCCTRL2$0$0 == 0xdf17 _AGCCTRL2 = 0xdf17 Fradio_link$AGCCTRL1$0$0 == 0xdf18 _AGCCTRL1 = 0xdf18 Fradio_link$AGCCTRL0$0$0 == 0xdf19 _AGCCTRL0 = 0xdf19 Fradio_link$FREND1$0$0 == 0xdf1a _FREND1 = 0xdf1a Fradio_link$FREND0$0$0 == 0xdf1b _FREND0 = 0xdf1b Fradio_link$FSCAL3$0$0 == 0xdf1c _FSCAL3 = 0xdf1c Fradio_link$FSCAL2$0$0 == 0xdf1d _FSCAL2 = 0xdf1d Fradio_link$FSCAL1$0$0 == 0xdf1e _FSCAL1 = 0xdf1e Fradio_link$FSCAL0$0$0 == 0xdf1f _FSCAL0 = 0xdf1f Fradio_link$TEST2$0$0 == 0xdf23 _TEST2 = 0xdf23 Fradio_link$TEST1$0$0 == 0xdf24 _TEST1 = 0xdf24 Fradio_link$TEST0$0$0 == 0xdf25 _TEST0 = 0xdf25 Fradio_link$PA_TABLE0$0$0 == 0xdf2e _PA_TABLE0 = 0xdf2e Fradio_link$IOCFG2$0$0 == 0xdf2f _IOCFG2 = 0xdf2f Fradio_link$IOCFG1$0$0 == 0xdf30 _IOCFG1 = 0xdf30 Fradio_link$IOCFG0$0$0 == 0xdf31 _IOCFG0 = 0xdf31 Fradio_link$PARTNUM$0$0 == 0xdf36 _PARTNUM = 0xdf36 Fradio_link$VERSION$0$0 == 0xdf37 _VERSION = 0xdf37 Fradio_link$FREQEST$0$0 == 0xdf38 _FREQEST = 0xdf38 Fradio_link$LQI$0$0 == 0xdf39 _LQI = 0xdf39 Fradio_link$RSSI$0$0 == 0xdf3a _RSSI = 0xdf3a Fradio_link$MARCSTATE$0$0 == 0xdf3b _MARCSTATE = 0xdf3b Fradio_link$PKTSTATUS$0$0 == 0xdf3c _PKTSTATUS = 0xdf3c Fradio_link$VCO_VC_DAC$0$0 == 0xdf3d _VCO_VC_DAC = 0xdf3d Fradio_link$I2SCFG0$0$0 == 0xdf40 _I2SCFG0 = 0xdf40 Fradio_link$I2SCFG1$0$0 == 0xdf41 _I2SCFG1 = 0xdf41 Fradio_link$I2SDATL$0$0 == 0xdf42 _I2SDATL = 0xdf42 Fradio_link$I2SDATH$0$0 == 0xdf43 _I2SDATH = 0xdf43 Fradio_link$I2SWCNT$0$0 == 0xdf44 _I2SWCNT = 0xdf44 Fradio_link$I2SSTAT$0$0 == 0xdf45 _I2SSTAT = 0xdf45 Fradio_link$I2SCLKF0$0$0 == 0xdf46 _I2SCLKF0 = 0xdf46 Fradio_link$I2SCLKF1$0$0 == 0xdf47 _I2SCLKF1 = 0xdf47 Fradio_link$I2SCLKF2$0$0 == 0xdf48 _I2SCLKF2 = 0xdf48 Fradio_link$USBADDR$0$0 == 0xde00 _USBADDR = 0xde00 Fradio_link$USBPOW$0$0 == 0xde01 _USBPOW = 0xde01 Fradio_link$USBIIF$0$0 == 0xde02 _USBIIF = 0xde02 Fradio_link$USBOIF$0$0 == 0xde04 _USBOIF = 0xde04 Fradio_link$USBCIF$0$0 == 0xde06 _USBCIF = 0xde06 Fradio_link$USBIIE$0$0 == 0xde07 _USBIIE = 0xde07 Fradio_link$USBOIE$0$0 == 0xde09 _USBOIE = 0xde09 Fradio_link$USBCIE$0$0 == 0xde0b _USBCIE = 0xde0b Fradio_link$USBFRML$0$0 == 0xde0c _USBFRML = 0xde0c Fradio_link$USBFRMH$0$0 == 0xde0d _USBFRMH = 0xde0d Fradio_link$USBINDEX$0$0 == 0xde0e _USBINDEX = 0xde0e Fradio_link$USBMAXI$0$0 == 0xde10 _USBMAXI = 0xde10 Fradio_link$USBCSIL$0$0 == 0xde11 _USBCSIL = 0xde11 Fradio_link$USBCSIH$0$0 == 0xde12 _USBCSIH = 0xde12 Fradio_link$USBMAXO$0$0 == 0xde13 _USBMAXO = 0xde13 Fradio_link$USBCSOL$0$0 == 0xde14 _USBCSOL = 0xde14 Fradio_link$USBCSOH$0$0 == 0xde15 _USBCSOH = 0xde15 Fradio_link$USBCNTL$0$0 == 0xde16 _USBCNTL = 0xde16 Fradio_link$USBCNTH$0$0 == 0xde17 _USBCNTH = 0xde17 Fradio_link$USBF0$0$0 == 0xde20 _USBF0 = 0xde20 Fradio_link$USBF1$0$0 == 0xde22 _USBF1 = 0xde22 Fradio_link$USBF2$0$0 == 0xde24 _USBF2 = 0xde24 Fradio_link$USBF3$0$0 == 0xde26 _USBF3 = 0xde26 Fradio_link$USBF4$0$0 == 0xde28 _USBF4 = 0xde28 Fradio_link$USBF5$0$0 == 0xde2a _USBF5 = 0xde2a Fradio_link$radioLinkRxPacket$0$0==. _radioLinkRxPacket: .ds 66 Fradio_link$radioLinkTxPacket$0$0==. _radioLinkTxPacket: .ds 320 G$shortTxPacket$0$0==. _shortTxPacket:: .ds 2 ;-------------------------------------------------------- ; absolute external ram data ;-------------------------------------------------------- .area XABS (ABS,XDATA) ;-------------------------------------------------------- ; external initialized ram data ;-------------------------------------------------------- .area XISEG (XDATA) .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) ;-------------------------------------------------------- ; global & static initialisations ;-------------------------------------------------------- .area HOME (CODE) .area GSINIT (CODE) .area GSFINAL (CODE) .area GSINIT (CODE) G$radioMacEventHandler$0$0 ==. C$radio_link.c$62$2$1 ==. ; libraries/src/radio_link/radio_link.c:62: volatile uint8 DATA radioLinkRxMainLoopIndex = 0; // The index of the next rxBuffer to read from the main loop. mov _radioLinkRxMainLoopIndex,#0x00 G$radioMacEventHandler$0$0 ==. C$radio_link.c$63$2$1 ==. ; libraries/src/radio_link/radio_link.c:63: volatile uint8 DATA radioLinkRxInterruptIndex = 0; // The index of the next rxBuffer to write to when a packet comes from the radio. mov _radioLinkRxInterruptIndex,#0x00 G$radioMacEventHandler$0$0 ==. C$radio_link.c$68$2$1 ==. ; libraries/src/radio_link/radio_link.c:68: volatile uint8 DATA radioLinkTxMainLoopIndex = 0; // The index of the next txPacket to write to in the main loop. mov _radioLinkTxMainLoopIndex,#0x00 G$radioMacEventHandler$0$0 ==. C$radio_link.c$69$2$1 ==. ; libraries/src/radio_link/radio_link.c:69: volatile uint8 DATA radioLinkTxInterruptIndex = 0; // The index of the current txPacket we are trying to send on the radio. mov _radioLinkTxInterruptIndex,#0x00 G$radioMacEventHandler$0$0 ==. C$radio_link.c$76$2$1 ==. ; libraries/src/radio_link/radio_link.c:76: uint8 DATA radioLinkTxCurrentPacketTries = 0; mov _radioLinkTxCurrentPacketTries,#0x00 G$radioMacEventHandler$0$0 ==. C$radio_link.c$78$2$1 ==. ; libraries/src/radio_link/radio_link.c:78: static volatile BIT sendingReset = 0; clr _sendingReset G$radioMacEventHandler$0$0 ==. C$radio_link.c$79$2$1 ==. ; libraries/src/radio_link/radio_link.c:79: static volatile BIT acceptAnySequenceBit = 0; clr _acceptAnySequenceBit ;-------------------------------------------------------- ; Home ;-------------------------------------------------------- .area HOME (CODE) .area HOME (CODE) ;-------------------------------------------------------- ; code ;-------------------------------------------------------- .area CSEG (CODE) ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkInit' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkInit$0$0 ==. C$radio_link.c$105$0$0 ==. ; libraries/src/radio_link/radio_link.c:105: void radioLinkInit() ; ----------------------------------------- ; function radioLinkInit ; ----------------------------------------- _radioLinkInit: ar2 = 0x02 ar3 = 0x03 ar4 = 0x04 ar5 = 0x05 ar6 = 0x06 ar7 = 0x07 ar0 = 0x00 ar1 = 0x01 C$radio_link.c$107$1$1 ==. ; libraries/src/radio_link/radio_link.c:107: randomSeedFromSerialNumber(); lcall _randomSeedFromSerialNumber C$radio_link.c$109$1$1 ==. ; libraries/src/radio_link/radio_link.c:109: rxSequenceBit = 1; setb _rxSequenceBit C$radio_link.c$111$1$1 ==. ; libraries/src/radio_link/radio_link.c:111: txSequenceBit = 0; clr _txSequenceBit C$radio_link.c$113$1$1 ==. ; libraries/src/radio_link/radio_link.c:113: PKTLEN = RADIO_MAX_PACKET_SIZE; mov dptr,#_PKTLEN mov a,#0x13 movx @dptr,a C$radio_link.c$114$1$1 ==. ; libraries/src/radio_link/radio_link.c:114: CHANNR = param_radio_channel; mov dptr,#_param_radio_channel clr a movc a,@a+dptr mov r2,a mov a,#0x01 movc a,@a+dptr mov a,#0x02 movc a,@a+dptr mov a,#0x03 movc a,@a+dptr mov dptr,#_CHANNR mov a,r2 movx @dptr,a C$radio_link.c$116$1$1 ==. ; libraries/src/radio_link/radio_link.c:116: acceptAnySequenceBit = 1; setb _acceptAnySequenceBit C$radio_link.c$117$1$1 ==. ; libraries/src/radio_link/radio_link.c:117: radioMacInit(); lcall _radioMacInit C$radio_link.c$120$1$1 ==. ; libraries/src/radio_link/radio_link.c:120: sendingReset = 1; setb _sendingReset C$radio_link.c$121$1$1 ==. ; libraries/src/radio_link/radio_link.c:121: radioMacStrobe(); C$radio_link.c$122$1$1 ==. XG$radioLinkInit$0$0 ==. ljmp _radioMacStrobe ;------------------------------------------------------------ ;Allocation info for local variables in function 'randomTxDelay' ;------------------------------------------------------------ ;------------------------------------------------------------ Fradio_link$randomTxDelay$0$0 ==. C$radio_link.c$132$1$1 ==. ; libraries/src/radio_link/radio_link.c:132: static uint8 randomTxDelay() ; ----------------------------------------- ; function randomTxDelay ; ----------------------------------------- _randomTxDelay: C$radio_link.c$135$1$1 ==. ; libraries/src/radio_link/radio_link.c:135: return (radioLinkTxCurrentPacketTries > 200 ? 250 : 1) + (randomNumber() & 3); mov a,#0xC8 cjne a,_radioLinkTxCurrentPacketTries,00106$ 00106$: jnc 00103$ mov r2,#0xFA sjmp 00104$ 00103$: mov r2,#0x01 00104$: push ar2 lcall _randomNumber mov a,dpl pop ar2 anl a,#0x03 add a,r2 mov dpl,a C$radio_link.c$136$1$1 ==. XFradio_link$randomTxDelay$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkConnected' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkConnected$0$0 ==. C$radio_link.c$138$1$1 ==. ; libraries/src/radio_link/radio_link.c:138: BIT radioLinkConnected() ; ----------------------------------------- ; function radioLinkConnected ; ----------------------------------------- _radioLinkConnected: C$radio_link.c$140$1$1 ==. ; libraries/src/radio_link/radio_link.c:140: return !sendingReset; mov c,_sendingReset cpl c C$radio_link.c$141$1$1 ==. XG$radioLinkConnected$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkTxAvailable' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkTxAvailable$0$0 ==. C$radio_link.c$145$1$1 ==. ; libraries/src/radio_link/radio_link.c:145: uint8 radioLinkTxAvailable(void) ; ----------------------------------------- ; function radioLinkTxAvailable ; ----------------------------------------- _radioLinkTxAvailable: C$radio_link.c$148$1$1 ==. ; libraries/src/radio_link/radio_link.c:148: return (radioLinkTxInterruptIndex - radioLinkTxMainLoopIndex - 1) & (TX_PACKET_COUNT - 1); mov a,_radioLinkTxInterruptIndex clr c subb a,_radioLinkTxMainLoopIndex dec a anl a,#0x0F mov dpl,a C$radio_link.c$149$1$1 ==. XG$radioLinkTxAvailable$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkTxQueued' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkTxQueued$0$0 ==. C$radio_link.c$151$1$1 ==. ; libraries/src/radio_link/radio_link.c:151: uint8 radioLinkTxQueued(void) ; ----------------------------------------- ; function radioLinkTxQueued ; ----------------------------------------- _radioLinkTxQueued: C$radio_link.c$153$1$1 ==. ; libraries/src/radio_link/radio_link.c:153: return (radioLinkTxMainLoopIndex - radioLinkTxInterruptIndex) & (TX_PACKET_COUNT - 1); mov a,_radioLinkTxMainLoopIndex clr c subb a,_radioLinkTxInterruptIndex anl a,#0x0F mov dpl,a C$radio_link.c$154$1$1 ==. XG$radioLinkTxQueued$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkTxCurrentPacket' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkTxCurrentPacket$0$0 ==. C$radio_link.c$156$1$1 ==. ; libraries/src/radio_link/radio_link.c:156: uint8 XDATA * radioLinkTxCurrentPacket() ; ----------------------------------------- ; function radioLinkTxCurrentPacket ; ----------------------------------------- _radioLinkTxCurrentPacket: C$radio_link.c$158$1$1 ==. ; libraries/src/radio_link/radio_link.c:158: if (!radioLinkTxAvailable()) lcall _radioLinkTxAvailable mov a,dpl jnz 00102$ C$radio_link.c$160$2$2 ==. ; libraries/src/radio_link/radio_link.c:160: return 0; mov dptr,#0x0000 ret 00102$: C$radio_link.c$163$1$1 ==. ; libraries/src/radio_link/radio_link.c:163: return radioLinkTxPacket[radioLinkTxMainLoopIndex] + RADIO_LINK_PACKET_HEADER_LENGTH; mov a,_radioLinkTxMainLoopIndex mov b,#0x14 mul ab add a,#_radioLinkTxPacket mov r2,a mov a,#(_radioLinkTxPacket >> 8) addc a,b mov r3,a inc r2 cjne r2,#0x00,00107$ inc r3 00107$: mov dpl,r2 mov dph,r3 C$radio_link.c$164$1$1 ==. XG$radioLinkTxCurrentPacket$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkTxSendPacket' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkTxSendPacket$0$0 ==. C$radio_link.c$166$1$1 ==. ; libraries/src/radio_link/radio_link.c:166: void radioLinkTxSendPacket(uint8 payloadType) ; ----------------------------------------- ; function radioLinkTxSendPacket ; ----------------------------------------- _radioLinkTxSendPacket: mov r2,dpl C$radio_link.c$169$1$1 ==. ; libraries/src/radio_link/radio_link.c:169: radioLinkTxPacket[radioLinkTxMainLoopIndex][0] = radioLinkTxPacket[radioLinkTxMainLoopIndex][RADIO_LINK_PACKET_HEADER_LENGTH] + RADIO_LINK_PACKET_HEADER_LENGTH; mov a,_radioLinkTxMainLoopIndex mov b,#0x14 mul ab add a,#_radioLinkTxPacket mov r3,a mov a,#(_radioLinkTxPacket >> 8) addc a,b mov r4,a mov a,_radioLinkTxMainLoopIndex mov b,#0x14 mul ab add a,#_radioLinkTxPacket mov r5,a mov a,#(_radioLinkTxPacket >> 8) addc a,b mov r6,a mov dpl,r5 mov dph,r6 inc dptr movx a,@dptr mov r5,a inc r5 mov dpl,r3 mov dph,r4 mov a,r5 movx @dptr,a C$radio_link.c$172$1$1 ==. ; libraries/src/radio_link/radio_link.c:172: radioLinkTxPacket[radioLinkTxMainLoopIndex][RADIO_LINK_PACKET_TYPE_OFFSET] = payloadType << RADIO_LINK_PAYLOAD_TYPE_BIT_OFFSET; mov a,_radioLinkTxMainLoopIndex mov b,#0x14 mul ab add a,#_radioLinkTxPacket mov r3,a mov a,#(_radioLinkTxPacket >> 8) addc a,b mov r4,a mov dpl,r3 mov dph,r4 inc dptr mov a,r2 add a,r2 mov r2,a movx @dptr,a C$radio_link.c$175$1$1 ==. ; libraries/src/radio_link/radio_link.c:175: if (radioLinkTxMainLoopIndex == TX_PACKET_COUNT - 1) mov a,#0x0F cjne a,_radioLinkTxMainLoopIndex,00102$ C$radio_link.c$177$2$2 ==. ; libraries/src/radio_link/radio_link.c:177: radioLinkTxMainLoopIndex = 0; mov _radioLinkTxMainLoopIndex,#0x00 sjmp 00103$ 00102$: C$radio_link.c$181$2$3 ==. ; libraries/src/radio_link/radio_link.c:181: radioLinkTxMainLoopIndex++; inc _radioLinkTxMainLoopIndex 00103$: C$radio_link.c$186$1$1 ==. ; libraries/src/radio_link/radio_link.c:186: radioMacStrobe(); C$radio_link.c$187$1$1 ==. XG$radioLinkTxSendPacket$0$0 ==. ljmp _radioMacStrobe ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkRxCurrentPacket' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkRxCurrentPacket$0$0 ==. C$radio_link.c$191$1$1 ==. ; libraries/src/radio_link/radio_link.c:191: uint8 XDATA * radioLinkRxCurrentPacket(void) ; ----------------------------------------- ; function radioLinkRxCurrentPacket ; ----------------------------------------- _radioLinkRxCurrentPacket: C$radio_link.c$193$1$1 ==. ; libraries/src/radio_link/radio_link.c:193: if (radioLinkRxMainLoopIndex == radioLinkRxInterruptIndex) mov a,_radioLinkRxInterruptIndex cjne a,_radioLinkRxMainLoopIndex,00102$ C$radio_link.c$195$2$2 ==. ; libraries/src/radio_link/radio_link.c:195: return 0; mov dptr,#0x0000 ret 00102$: C$radio_link.c$198$1$1 ==. ; libraries/src/radio_link/radio_link.c:198: return radioLinkRxPacket[radioLinkRxMainLoopIndex] + RADIO_LINK_PACKET_HEADER_LENGTH; mov a,_radioLinkRxMainLoopIndex mov b,#0x16 mul ab add a,#_radioLinkRxPacket mov r2,a clr a addc a,#(_radioLinkRxPacket >> 8) mov r3,a inc r2 cjne r2,#0x00,00108$ inc r3 00108$: mov dpl,r2 mov dph,r3 C$radio_link.c$199$1$1 ==. XG$radioLinkRxCurrentPacket$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkRxCurrentPayloadType' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkRxCurrentPayloadType$0$0 ==. C$radio_link.c$201$1$1 ==. ; libraries/src/radio_link/radio_link.c:201: uint8 radioLinkRxCurrentPayloadType(void) ; ----------------------------------------- ; function radioLinkRxCurrentPayloadType ; ----------------------------------------- _radioLinkRxCurrentPayloadType: C$radio_link.c$203$1$1 ==. ; libraries/src/radio_link/radio_link.c:203: return radioLinkRxPacket[radioLinkRxMainLoopIndex][0]; mov a,_radioLinkRxMainLoopIndex mov b,#0x16 mul ab add a,#_radioLinkRxPacket mov dpl,a clr a addc a,#(_radioLinkRxPacket >> 8) mov dph,a movx a,@dptr C$radio_link.c$204$1$1 ==. XG$radioLinkRxCurrentPayloadType$0$0 ==. mov dpl,a ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioLinkRxDoneWithPacket' ;------------------------------------------------------------ ;------------------------------------------------------------ G$radioLinkRxDoneWithPacket$0$0 ==. C$radio_link.c$206$1$1 ==. ; libraries/src/radio_link/radio_link.c:206: void radioLinkRxDoneWithPacket(void) ; ----------------------------------------- ; function radioLinkRxDoneWithPacket ; ----------------------------------------- _radioLinkRxDoneWithPacket: C$radio_link.c$208$1$1 ==. ; libraries/src/radio_link/radio_link.c:208: if (radioLinkRxMainLoopIndex == RX_PACKET_COUNT - 1) mov a,#0x02 cjne a,_radioLinkRxMainLoopIndex,00102$ C$radio_link.c$210$2$2 ==. ; libraries/src/radio_link/radio_link.c:210: radioLinkRxMainLoopIndex = 0; mov _radioLinkRxMainLoopIndex,#0x00 ret 00102$: C$radio_link.c$214$2$3 ==. ; libraries/src/radio_link/radio_link.c:214: radioLinkRxMainLoopIndex++; inc _radioLinkRxMainLoopIndex C$radio_link.c$216$1$1 ==. XG$radioLinkRxDoneWithPacket$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'txResetPacket' ;------------------------------------------------------------ ;------------------------------------------------------------ Fradio_link$txResetPacket$0$0 ==. C$radio_link.c$220$1$1 ==. ; libraries/src/radio_link/radio_link.c:220: static void txResetPacket() ; ----------------------------------------- ; function txResetPacket ; ----------------------------------------- _txResetPacket: C$radio_link.c$222$1$1 ==. ; libraries/src/radio_link/radio_link.c:222: shortTxPacket[RADIO_LINK_PACKET_LENGTH_OFFSET] = 1; mov dptr,#_shortTxPacket mov a,#0x01 movx @dptr,a C$radio_link.c$223$1$1 ==. ; libraries/src/radio_link/radio_link.c:223: shortTxPacket[RADIO_LINK_PACKET_TYPE_OFFSET] = PACKET_TYPE_RESET; mov dptr,#(_shortTxPacket + 0x0001) mov a,#0xC0 movx @dptr,a C$radio_link.c$224$1$1 ==. ; libraries/src/radio_link/radio_link.c:224: radioMacTx(shortTxPacket); mov dptr,#_shortTxPacket lcall _radioMacTx C$radio_link.c$225$1$1 ==. ; libraries/src/radio_link/radio_link.c:225: if (radioLinkTxCurrentPacketTries < 255) mov a,#0x100 - 0xFF add a,_radioLinkTxCurrentPacketTries jc 00103$ C$radio_link.c$227$2$2 ==. ; libraries/src/radio_link/radio_link.c:227: radioLinkTxCurrentPacketTries++; inc _radioLinkTxCurrentPacketTries 00103$: C$radio_link.c$229$2$1 ==. XFradio_link$txResetPacket$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'txDataPacket' ;------------------------------------------------------------ ;------------------------------------------------------------ Fradio_link$txDataPacket$0$0 ==. C$radio_link.c$231$2$1 ==. ; libraries/src/radio_link/radio_link.c:231: static void txDataPacket(uint8 packetType) ; ----------------------------------------- ; function txDataPacket ; ----------------------------------------- _txDataPacket: mov r2,dpl C$radio_link.c$233$1$1 ==. ; libraries/src/radio_link/radio_link.c:233: radioLinkTxPacket[radioLinkTxInterruptIndex][RADIO_LINK_PACKET_TYPE_OFFSET] = mov a,_radioLinkTxInterruptIndex mov b,#0x14 mul ab add a,#_radioLinkTxPacket mov r3,a mov a,#(_radioLinkTxPacket >> 8) addc a,b mov r4,a inc r3 cjne r3,#0x00,00106$ inc r4 00106$: C$radio_link.c$234$1$1 ==. ; libraries/src/radio_link/radio_link.c:234: (radioLinkTxPacket[radioLinkTxInterruptIndex][RADIO_LINK_PACKET_TYPE_OFFSET] & RADIO_LINK_PAYLOAD_TYPE_MASK) | packetType | txSequenceBit; mov a,_radioLinkTxInterruptIndex mov b,#0x14 mul ab add a,#_radioLinkTxPacket mov r5,a mov a,#(_radioLinkTxPacket >> 8) addc a,b mov r6,a mov dpl,r5 mov dph,r6 inc dptr movx a,@dptr anl a,#0x1E orl ar2,a mov c,_txSequenceBit clr a rlc a orl ar2,a mov dpl,r3 mov dph,r4 mov a,r2 movx @dptr,a C$radio_link.c$235$1$1 ==. ; libraries/src/radio_link/radio_link.c:235: radioMacTx(radioLinkTxPacket[radioLinkTxInterruptIndex]); mov a,_radioLinkTxInterruptIndex mov b,#0x14 mul ab add a,#_radioLinkTxPacket mov r2,a mov a,#(_radioLinkTxPacket >> 8) addc a,b mov r3,a mov dpl,r2 mov dph,r3 lcall _radioMacTx C$radio_link.c$236$1$1 ==. ; libraries/src/radio_link/radio_link.c:236: if (radioLinkTxCurrentPacketTries < 255) mov a,#0x100 - 0xFF add a,_radioLinkTxCurrentPacketTries jc 00103$ C$radio_link.c$238$2$2 ==. ; libraries/src/radio_link/radio_link.c:238: radioLinkTxCurrentPacketTries++; inc _radioLinkTxCurrentPacketTries 00103$: C$radio_link.c$240$2$1 ==. XFradio_link$txDataPacket$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'takeInitiative' ;------------------------------------------------------------ ;------------------------------------------------------------ Fradio_link$takeInitiative$0$0 ==. C$radio_link.c$242$2$1 ==. ; libraries/src/radio_link/radio_link.c:242: static void takeInitiative() ; ----------------------------------------- ; function takeInitiative ; ----------------------------------------- _takeInitiative: C$radio_link.c$244$1$1 ==. ; libraries/src/radio_link/radio_link.c:244: if (sendingReset) jnb _sendingReset,00105$ C$radio_link.c$247$2$2 ==. ; libraries/src/radio_link/radio_link.c:247: txResetPacket(); lcall _txResetPacket C$radio_link.c$248$2$2 ==. ; libraries/src/radio_link/radio_link.c:248: radioLinkActivityOccurred = 1; setb _radioLinkActivityOccurred ret 00105$: C$radio_link.c$250$1$1 ==. ; libraries/src/radio_link/radio_link.c:250: else if (radioLinkTxInterruptIndex != radioLinkTxMainLoopIndex) mov a,_radioLinkTxMainLoopIndex cjne a,_radioLinkTxInterruptIndex,00112$ sjmp 00102$ 00112$: C$radio_link.c$253$2$3 ==. ; libraries/src/radio_link/radio_link.c:253: txDataPacket(PACKET_TYPE_PING); mov dpl,#0x00 lcall _txDataPacket C$radio_link.c$254$2$3 ==. ; libraries/src/radio_link/radio_link.c:254: radioLinkActivityOccurred = 1; setb _radioLinkActivityOccurred ret 00102$: C$radio_link.c$258$2$4 ==. ; libraries/src/radio_link/radio_link.c:258: radioMacRx(radioLinkRxPacket[radioLinkRxInterruptIndex], 0); mov a,_radioLinkRxInterruptIndex mov b,#0x16 mul ab add a,#_radioLinkRxPacket mov r2,a clr a addc a,#(_radioLinkRxPacket >> 8) mov r3,a mov r0,#_radioMacRx_PARM_2 clr a movx @r0,a mov dpl,r2 mov dph,r3 C$radio_link.c$260$1$1 ==. XFradio_link$takeInitiative$0$0 ==. ljmp _radioMacRx ;------------------------------------------------------------ ;Allocation info for local variables in function 'radioMacEventHandler' ;------------------------------------------------------------ ;sloc0 Allocated with name '_radioMacEventHandler_sloc0_1_0' ;------------------------------------------------------------ G$radioMacEventHandler$0$0 ==. C$radio_link.c$262$1$1 ==. ; libraries/src/radio_link/radio_link.c:262: void radioMacEventHandler(uint8 event) // called by the MAC in an ISR ; ----------------------------------------- ; function radioMacEventHandler ; ----------------------------------------- _radioMacEventHandler: mov r2,dpl C$radio_link.c$264$1$1 ==. ; libraries/src/radio_link/radio_link.c:264: if (event == RADIO_MAC_EVENT_STROBE) cjne r2,#0x21,00142$ C$radio_link.c$266$2$2 ==. ; libraries/src/radio_link/radio_link.c:266: takeInitiative(); C$radio_link.c$267$2$2 ==. ; libraries/src/radio_link/radio_link.c:267: return; ljmp _takeInitiative 00142$: C$radio_link.c$269$1$1 ==. ; libraries/src/radio_link/radio_link.c:269: else if (event == RADIO_MAC_EVENT_TX) cjne r2,#0x1E,00139$ C$radio_link.c$272$2$3 ==. ; libraries/src/radio_link/radio_link.c:272: radioMacRx(radioLinkRxPacket[radioLinkRxInterruptIndex], randomTxDelay()); mov a,_radioLinkRxInterruptIndex mov b,#0x16 mul ab add a,#_radioLinkRxPacket mov r3,a clr a addc a,#(_radioLinkRxPacket >> 8) mov r4,a push ar3 push ar4 lcall _randomTxDelay mov r5,dpl pop ar4 pop ar3 mov r0,#_radioMacRx_PARM_2 mov a,r5 movx @r0,a mov dpl,r3 mov dph,r4 C$radio_link.c$273$2$3 ==. ; libraries/src/radio_link/radio_link.c:273: return; ljmp _radioMacRx 00139$: C$radio_link.c$275$1$1 ==. ; libraries/src/radio_link/radio_link.c:275: else if (event == RADIO_MAC_EVENT_RX) cjne r2,#0x1F,00166$ sjmp 00167$ 00166$: ljmp 00136$ 00167$: C$radio_link.c$277$2$4 ==. ; libraries/src/radio_link/radio_link.c:277: uint8 XDATA * currentRxPacket = radioLinkRxPacket[radioLinkRxInterruptIndex]; mov a,_radioLinkRxInterruptIndex mov b,#0x16 mul ab mov r0,#_radioMacEventHandler_currentRxPacket_2_4 add a,#_radioLinkRxPacket movx @r0,a clr a addc a,#(_radioLinkRxPacket >> 8) inc r0 movx @r0,a C$radio_link.c$279$2$4 ==. ; libraries/src/radio_link/radio_link.c:279: if (!radioCrcPassed()) lcall _radioCrcPassed jc 00105$ C$radio_link.c$281$3$5 ==. ; libraries/src/radio_link/radio_link.c:281: if (radioLinkTxInterruptIndex != radioLinkTxMainLoopIndex) mov a,_radioLinkTxMainLoopIndex cjne a,_radioLinkTxInterruptIndex,00169$ sjmp 00102$ 00169$: C$radio_link.c$283$4$6 ==. ; libraries/src/radio_link/radio_link.c:283: radioMacRx(currentRxPacket, randomTxDelay()); lcall _randomTxDelay mov r5,dpl mov r0,#_radioMacRx_PARM_2 mov a,r5 movx @r0,a mov r0,#_radioMacEventHandler_currentRxPacket_2_4 movx a,@r0 mov dpl,a inc r0 movx a,@r0 mov dph,a ljmp _radioMacRx 00102$: C$radio_link.c$287$4$7 ==. ; libraries/src/radio_link/radio_link.c:287: radioMacRx(currentRxPacket, 0); mov r0,#_radioMacRx_PARM_2 clr a movx @r0,a mov r0,#_radioMacEventHandler_currentRxPacket_2_4 movx a,@r0 mov dpl,a inc r0 movx a,@r0 mov dph,a C$radio_link.c$289$3$5 ==. ; libraries/src/radio_link/radio_link.c:289: return; ljmp _radioMacRx 00105$: C$radio_link.c$292$2$4 ==. ; libraries/src/radio_link/radio_link.c:292: if ((currentRxPacket[RADIO_LINK_PACKET_TYPE_OFFSET] & PACKET_TYPE_MASK) == PACKET_TYPE_RESET) mov r0,#_radioMacEventHandler_currentRxPacket_2_4 movx a,@r0 add a,#0x01 mov r5,a inc r0 movx a,@r0 addc a,#0x00 mov r6,a mov dpl,r5 mov dph,r6 movx a,@dptr mov r7,a mov a,#0xC0 anl a,r7 mov r3,a cjne r3,#0xC0,00107$ C$radio_link.c$296$3$8 ==. ; libraries/src/radio_link/radio_link.c:296: rxSequenceBit = 1; setb _rxSequenceBit C$radio_link.c$299$3$8 ==. ; libraries/src/radio_link/radio_link.c:299: radioLinkResetPacketReceived = 1; setb _radioLinkResetPacketReceived C$radio_link.c$302$3$8 ==. ; libraries/src/radio_link/radio_link.c:302: shortTxPacket[RADIO_LINK_PACKET_LENGTH_OFFSET] = 1; mov dptr,#_shortTxPacket mov a,#0x01 movx @dptr,a C$radio_link.c$303$3$8 ==. ; libraries/src/radio_link/radio_link.c:303: shortTxPacket[RADIO_LINK_PACKET_TYPE_OFFSET] = PACKET_TYPE_ACK; mov dptr,#(_shortTxPacket + 0x0001) mov a,#0x80 movx @dptr,a C$radio_link.c$304$3$8 ==. ; libraries/src/radio_link/radio_link.c:304: radioMacTx(shortTxPacket); mov dptr,#_shortTxPacket lcall _radioMacTx C$radio_link.c$306$3$8 ==. ; libraries/src/radio_link/radio_link.c:306: radioLinkActivityOccurred = 1; setb _radioLinkActivityOccurred C$radio_link.c$308$3$8 ==. ; libraries/src/radio_link/radio_link.c:308: return; ret 00107$: C$radio_link.c$311$2$1 ==. ; libraries/src/radio_link/radio_link.c:311: if ((currentRxPacket[RADIO_LINK_PACKET_TYPE_OFFSET] & PACKET_TYPE_MASK) == PACKET_TYPE_ACK) push ar5 push ar6 mov a,#0xC0 anl a,r7 mov r5,a cjne r5,#0x80,00172$ sjmp 00173$ 00172$: pop ar6 pop ar5 sjmp 00117$ 00173$: pop ar6 pop ar5 C$radio_link.c$315$3$9 ==. ; libraries/src/radio_link/radio_link.c:315: if (sendingReset) C$radio_link.c$318$4$10 ==. ; libraries/src/radio_link/radio_link.c:318: sendingReset = 0; jbc _sendingReset,00174$ sjmp 00114$ 00174$: C$radio_link.c$321$4$10 ==. ; libraries/src/radio_link/radio_link.c:321: radioLinkTxCurrentPacketTries = 0; mov _radioLinkTxCurrentPacketTries,#0x00 C$radio_link.c$324$4$10 ==. ; libraries/src/radio_link/radio_link.c:324: txSequenceBit = 0; clr _txSequenceBit sjmp 00117$ 00114$: C$radio_link.c$326$3$9 ==. ; libraries/src/radio_link/radio_link.c:326: else if (radioLinkTxInterruptIndex != radioLinkTxMainLoopIndex) mov a,_radioLinkTxMainLoopIndex cjne a,_radioLinkTxInterruptIndex,00175$ sjmp 00117$ 00175$: C$radio_link.c$333$4$11 ==. ; libraries/src/radio_link/radio_link.c:333: if (radioLinkTxInterruptIndex == TX_PACKET_COUNT - 1) mov a,#0x0F cjne a,_radioLinkTxInterruptIndex,00109$ C$radio_link.c$335$5$12 ==. ; libraries/src/radio_link/radio_link.c:335: radioLinkTxInterruptIndex = 0; mov _radioLinkTxInterruptIndex,#0x00 sjmp 00110$ 00109$: C$radio_link.c$339$5$13 ==. ; libraries/src/radio_link/radio_link.c:339: radioLinkTxInterruptIndex++; inc _radioLinkTxInterruptIndex 00110$: C$radio_link.c$343$4$11 ==. ; libraries/src/radio_link/radio_link.c:343: radioLinkTxCurrentPacketTries = 0; mov _radioLinkTxCurrentPacketTries,#0x00 C$radio_link.c$346$4$11 ==. ; libraries/src/radio_link/radio_link.c:346: txSequenceBit ^= 1; cpl _txSequenceBit 00117$: C$radio_link.c$350$2$4 ==. ; libraries/src/radio_link/radio_link.c:350: if (currentRxPacket[RADIO_LINK_PACKET_LENGTH_OFFSET] > RADIO_LINK_PACKET_HEADER_LENGTH) mov r0,#_radioMacEventHandler_currentRxPacket_2_4 movx a,@r0 mov dpl,a inc r0 movx a,@r0 mov dph,a movx a,@dptr mov _radioMacEventHandler_sloc0_1_0,a mov a,#0x01 cjne a,_radioMacEventHandler_sloc0_1_0,00178$ 00178$: jnc 00131$ C$radio_link.c$354$3$4 ==. ; libraries/src/radio_link/radio_link.c:354: uint8 responsePacketType = PACKET_TYPE_ACK; mov r3,#0x80 C$radio_link.c$356$3$14 ==. ; libraries/src/radio_link/radio_link.c:356: if (acceptAnySequenceBit || (rxSequenceBit != (currentRxPacket[RADIO_LINK_PACKET_TYPE_OFFSET] & 1))) jb _acceptAnySequenceBit,00124$ push ar3 mov a,#0x01 anl a,r7 mov r4,a mov c,_rxSequenceBit clr a rlc a mov r3,a cjne a,ar4,00181$ pop ar3 sjmp 00125$ 00181$: pop ar3 00124$: C$radio_link.c$363$4$15 ==. ; libraries/src/radio_link/radio_link.c:363: if (radioLinkRxInterruptIndex == RX_PACKET_COUNT - 1) mov a,#0x02 cjne a,_radioLinkRxInterruptIndex,00119$ C$radio_link.c$365$5$16 ==. ; libraries/src/radio_link/radio_link.c:365: nextradioLinkRxInterruptIndex = 0; mov r4,#0x00 sjmp 00120$ 00119$: C$radio_link.c$369$5$17 ==. ; libraries/src/radio_link/radio_link.c:369: nextradioLinkRxInterruptIndex = radioLinkRxInterruptIndex + 1; mov a,_radioLinkRxInterruptIndex inc a mov r4,a 00120$: C$radio_link.c$372$4$15 ==. ; libraries/src/radio_link/radio_link.c:372: if (nextradioLinkRxInterruptIndex != radioLinkRxMainLoopIndex) mov a,r4 cjne a,_radioLinkRxMainLoopIndex,00184$ sjmp 00122$ 00184$: C$radio_link.c$379$2$1 ==. ; libraries/src/radio_link/radio_link.c:379: rxSequenceBit = (currentRxPacket[RADIO_LINK_PACKET_TYPE_OFFSET] & 1); push ar3 mov a,r7 rrc a mov _rxSequenceBit,c C$radio_link.c$380$5$18 ==. ; libraries/src/radio_link/radio_link.c:380: acceptAnySequenceBit = 0; clr _acceptAnySequenceBit C$radio_link.c$383$5$18 ==. ; libraries/src/radio_link/radio_link.c:383: payloadType = (currentRxPacket[RADIO_LINK_PACKET_TYPE_OFFSET] & RADIO_LINK_PAYLOAD_TYPE_MASK) >> RADIO_LINK_PAYLOAD_TYPE_BIT_OFFSET; anl ar7,#0x1E mov a,r7 clr c rrc a mov r7,a C$radio_link.c$387$5$18 ==. ; libraries/src/radio_link/radio_link.c:387: currentRxPacket[RADIO_LINK_PACKET_HEADER_LENGTH] = currentRxPacket[RADIO_LINK_PACKET_LENGTH_OFFSET] - RADIO_LINK_PACKET_HEADER_LENGTH; mov a,_radioMacEventHandler_sloc0_1_0 dec a mov dpl,r5 mov dph,r6 movx @dptr,a C$radio_link.c$391$5$18 ==. ; libraries/src/radio_link/radio_link.c:391: currentRxPacket[0] = payloadType; mov r0,#_radioMacEventHandler_currentRxPacket_2_4 movx a,@r0 mov dpl,a inc r0 movx a,@r0 mov dph,a mov a,r7 movx @dptr,a C$radio_link.c$393$5$18 ==. ; libraries/src/radio_link/radio_link.c:393: radioLinkRxInterruptIndex = nextradioLinkRxInterruptIndex; mov _radioLinkRxInterruptIndex,r4 pop ar3 sjmp 00125$ 00122$: C$radio_link.c$399$5$19 ==. ; libraries/src/radio_link/radio_link.c:399: responsePacketType = PACKET_TYPE_NAK; mov r3,#0x40 00125$: C$radio_link.c$406$3$14 ==. ; libraries/src/radio_link/radio_link.c:406: if (radioLinkTxInterruptIndex != radioLinkTxMainLoopIndex) mov a,_radioLinkTxMainLoopIndex cjne a,_radioLinkTxInterruptIndex,00185$ sjmp 00128$ 00185$: C$radio_link.c$409$4$20 ==. ; libraries/src/radio_link/radio_link.c:409: txDataPacket(responsePacketType); mov dpl,r3 lcall _txDataPacket sjmp 00129$ 00128$: C$radio_link.c$415$4$21 ==. ; libraries/src/radio_link/radio_link.c:415: shortTxPacket[RADIO_LINK_PACKET_LENGTH_OFFSET] = 1; mov dptr,#_shortTxPacket mov a,#0x01 movx @dptr,a C$radio_link.c$416$4$21 ==. ; libraries/src/radio_link/radio_link.c:416: shortTxPacket[RADIO_LINK_PACKET_TYPE_OFFSET] = responsePacketType; mov dptr,#(_shortTxPacket + 0x0001) mov a,r3 movx @dptr,a C$radio_link.c$417$4$21 ==. ; libraries/src/radio_link/radio_link.c:417: radioMacTx(shortTxPacket); mov dptr,#_shortTxPacket lcall _radioMacTx 00129$: C$radio_link.c$420$3$14 ==. ; libraries/src/radio_link/radio_link.c:420: radioLinkActivityOccurred = 1; setb _radioLinkActivityOccurred ret 00131$: C$radio_link.c$429$3$22 ==. ; libraries/src/radio_link/radio_link.c:429: takeInitiative(); C$radio_link.c$431$2$4 ==. ; libraries/src/radio_link/radio_link.c:431: return; ljmp _takeInitiative 00136$: C$radio_link.c$433$1$1 ==. ; libraries/src/radio_link/radio_link.c:433: else if (event == RADIO_MAC_EVENT_RX_TIMEOUT) cjne r2,#0x20,00144$ C$radio_link.c$435$2$23 ==. ; libraries/src/radio_link/radio_link.c:435: takeInitiative(); C$radio_link.c$436$2$23 ==. ; libraries/src/radio_link/radio_link.c:436: return; C$radio_link.c$438$2$1 ==. XG$radioMacEventHandler$0$0 ==. ljmp _takeInitiative 00144$: ret .area CSEG (CODE) .area CONST (CODE) G$param_radio_channel$0$0 == . _param_radio_channel: .byte #0x80,#0x00,#0x00,#0x00 ; 128 .area XINIT (CODE) .area CABS (ABS,CODE)