📄 app_receiver.c
字号:
HalCC2430RadioP__CC_ADDR_PANID = 0x168, HalCC2430RadioP__CC_ADDR_SHORTADDR = 0x16A} HalCC2430RadioP__cc2420_addr_t;typedef enum HalCC2430RadioP____nesc_unnamed4286 { HalCC2430RadioP__CCA_HYST_0DB = 0x00, HalCC2430RadioP__CCA_HYST_1DB = 0x01, HalCC2430RadioP__CCA_HYST_2DB = 0x02, HalCC2430RadioP__CCA_HYST_3DB = 0x03, HalCC2430RadioP__CCA_HYST_4DB = 0x04, HalCC2430RadioP__CCA_HYST_5DB = 0x05, HalCC2430RadioP__CCA_HYST_6DB = 0x06, HalCC2430RadioP__CCA_HYST_7DB = 0x07} HalCC2430RadioP__cca_hyst_db_t;typedef enum HalCC2430RadioP____nesc_unnamed4287 { HalCC2430RadioP__LEADING_ZERO_BYTES_1 = 0x00, HalCC2430RadioP__LEADING_ZERO_BYTES_2 = 0x01, HalCC2430RadioP__LEADING_ZERO_BYTES_3 = 0x02, HalCC2430RadioP__LEADING_ZERO_BYTES_4 = 0x03, HalCC2430RadioP__LEADING_ZERO_BYTES_5 = 0x04, HalCC2430RadioP__LEADING_ZERO_BYTES_6 = 0x05, HalCC2430RadioP__LEADING_ZERO_BYTES_7 = 0x06, HalCC2430RadioP__LEADING_ZERO_BYTES_8 = 0x07, HalCC2430RadioP__LEADING_ZERO_BYTES_9 = 0x08, HalCC2430RadioP__LEADING_ZERO_BYTES_10 = 0x09, HalCC2430RadioP__LEADING_ZERO_BYTES_11 = 0x0A, HalCC2430RadioP__LEADING_ZERO_BYTES_12 = 0x0B, HalCC2430RadioP__LEADING_ZERO_BYTES_13 = 0x0C, HalCC2430RadioP__LEADING_ZERO_BYTES_14 = 0x0D, HalCC2430RadioP__LEADING_ZERO_BYTES_15 = 0x0E, HalCC2430RadioP__LEADING_ZERO_BYTES_16 = 0x0F} HalCC2430RadioP__preamble_length_t;typedef struct HalCC2430RadioP____nesc_unnamed4288 { HalCC2430RadioP__preamble_length_t preamble_length : 4; bool autoack : 1; bool autocrc : 1; uint8_t cca_mode : 2; HalCC2430RadioP__cca_hyst_db_t cca_hyst : 3; bool adr_decode : 1; bool pan_coordinator : 1; bool reserved_frame_mode : 1; uint8_t reserved : 2;} HalCC2430RadioP__MDMCTRL0_t;sfr HalCC2430RadioP__RFIF = 0xE9;static /*inline*/ void HalCC2430RadioP__CC2430SetPanid(uint16_t id);static /*inline*/ void HalCC2430RadioP__CC2430SetShortaddr(uint16_t shortAddr);static /*inline*/ void HalCC2430RadioP__CC2420SetIEEEAddr(ieee_mac_addr_t extAddress);static /*inline*/ void HalCC2430RadioP__CC2430Reset(void);static /*inline*/ void HalCC2430RadioP__CC2430RFEnable(void);static /*inline*/ void HalCC2430RadioP__CC2430ExternalOscillator(void);static void HalCC2430RadioP__CC2430RxEnable(void);static /*inline*/ void HalCC2430RadioP__CC2430RxDisable(void);static void HalCC2430RadioP__CC2430ChannelSet(uint8_t channel);static /*inline*/ void HalCC2430RadioP__CC2430PALevelSet(uint8_t new_power);static /*inline*/ void HalCC2430RadioP__CC2430ControlSet(void);static /*inline*/ void HalCC2430RadioP__CC2430TxWait(void);static void HalCC2430RadioP__wait(uint16_t u);ieee_mac_addr_t HalCC2430RadioP__ieeeAddress;mac_addr_t HalCC2430RadioP__shortAddress;mac_addr_t HalCC2430RadioP__panid;bool HalCC2430RadioP__rxEnabled = FALSE;uint8_t HalCC2430RadioP__receivedPacket[128];uint8_t *HalCC2430RadioP__receivedPacketPtr;static /*inline*/ error_t HalCC2430RadioP__Init__init(void);static /*inline*/ void HalCC2430RadioP__initTask__runTask(void);static /*inline*/ error_t HalCC2430RadioP__HALCC2420Control__start(void);uint8_t *HalCC2430RadioP__transmitPacketPtr;bool HalCC2430RadioP__transmitInProgress = FALSE;static /*inline*/ void HalCC2430RadioP__transmitTask__runTask(void);uint8_t HalCC2430RadioP__currentChannel;static /*inline*/ error_t HalCC2430RadioP__HALCC2420__setChannel(uint8_t channel);static /*inline*/ void HalCC2430RadioP__setChannelTask__runTask(void);static /*inline*/ error_t HalCC2430RadioP__HALCC2420__rxEnable(void);static /*inline*/ const mac_addr_t *HalCC2430RadioP__HALCC2420__getAddress(void);static /*inline*/ void HalCC2430RadioP__CC2430SetPanid(uint16_t id);static /*inline*/ void HalCC2430RadioP__CC2430SetShortaddr(uint16_t shortAddr);static /*inline*/ void HalCC2430RadioP__CC2420SetIEEEAddr(ieee_mac_addr_t extAddress);bool HalCC2430RadioP__receivedPacketTaskPosted = FALSE;bool HalCC2430RadioP__flushBufferTaskPosted = FALSE;static /*inline*/ void HalCC2430RadioP__InterruptTXDone__fired(void);static /*inline*/ void HalCC2430RadioP__sendPacketDoneTask__runTask(void);static /*inline*/ void HalCC2430RadioP__InterruptFIFOP__fired(void);uint8_t HalCC2430RadioP__frameLength = 0;uint8_t HalCC2430RadioP__receivedPacketTaskRetries = 0;static /*inline*/ void HalCC2430RadioP__receivedPacketTask__runTask(void);static /*inline*/ void HalCC2430RadioP__InterruptRFErr__fired(void);static /*inline*/ void HalCC2430RadioP__flushBufferTask__runTask(void);static /*inline*/ void HalCC2430RadioP__CC2430Reset(void);static /*inline*/ void HalCC2430RadioP__CC2430RFEnable(void);static /*inline*/ void HalCC2430RadioP__CC2430ExternalOscillator(void);static void HalCC2430RadioP__CC2430RxEnable(void);static /*inline*/ void HalCC2430RadioP__CC2430RxDisable(void);static void HalCC2430RadioP__CC2430ChannelSet(uint8_t channel);static /*inline*/ void HalCC2430RadioP__CC2430PALevelSet(uint8_t new_power);static /*inline*/ void HalCC2430RadioP__CC2430ControlSet(void);static /*inline*/ void HalCC2430RadioP__CC2430TxWait(void);static /*inline*/ void HalCC2430RadioP__wait(uint16_t u);static /*inline*/ void HalCC2430RadioP__StdOut__get(uint8_t _data);static void HplCC2430InterruptsC__CaptureSFD__captured(uint16_t arg_0x7e862cb8);static void HplCC2430InterruptsC__InterruptRFErr__fired(void);static void HplCC2430InterruptsC__InterruptTXDone__fired(void);static void HplCC2430InterruptsC__InterruptCCA__fired(void);static void HplCC2430InterruptsC__InterruptFIFOP__fired(void);static /*inline*/ error_t HplCC2430InterruptsC__InterruptFIFOP__enableRisingEdge(void);static error_t HplCC2430InterruptsC__InterruptFIFOP__disable(void);static /*inline*/ error_t HplCC2430InterruptsC__InterruptTXDone__enableRisingEdge(void);static /*inline*/ error_t HplCC2430InterruptsC__InterruptRFErr__enableRisingEdge(void);/*void __vector_0(void) __attribute((interrupt)) ;*//*void __vector_16(void) __attribute((interrupt)) ;*/static /*inline*/ void HplCC2430InterruptsC__CaptureSFD__default__captured(uint16_t time);static /*inline*/ void HplCC2430InterruptsC__InterruptCCA__default__fired(void);static error_t StdOutM__UART__put(uint8_t arg_0x7e816300);static void StdOutM__StdOut__get(uint8_t arg_0x7e985068);char StdOutM__buffer[1000];char *StdOutM__bufferhead;char *StdOutM__buffertail;char *StdOutM__bufferend;int StdOutM__isOutputting;int StdOutM__count;static /*inline*/ error_t StdOutM__Init__init(void);static int StdOutM__StdOut__print(const char *str);static /*inline*/ void StdOutM__UART__putDone(void);static /*inline*/ void StdOutM__UART__get(uint8_t _data);static void HalCC2430SimpleUartP__uart0__get(uint8_t arg_0x7e816890);static void HalCC2430SimpleUartP__uart0__putDone(void);static /*inline*/ error_t HalCC2430SimpleUartP__Init__init(void);static /*inline*/ error_t HalCC2430SimpleUartP__uart0__put(uint8_t _data);/*void __vector_2(void) __attribute((interrupt)) ;*//*void __vector_7(void) __attribute((interrupt)) ;*/static void LedsP__Led0__makeOutput(void);static void LedsP__Led0__set(void);static void LedsP__Led0__clr(void);static void LedsP__Led1__toggle(void);static void LedsP__Led1__makeOutput(void);static void LedsP__Led1__set(void);static void LedsP__Led1__clr(void);static void LedsP__Led2__makeOutput(void);static void LedsP__Led2__set(void);static /*inline*/ error_t LedsP__Init__init(void);static /*inline*/ void LedsP__Leds__led0On(void);static /*inline*/ void LedsP__Leds__led1On(void);static /*inline*/ void LedsP__Leds__led1Toggle(void); /*inline*/ __nesc_atomic_t __nesc_atomic_start(void ){ __nesc_atomic_t tmp = EA; EA = 0; return tmp;} /*inline*/ void __nesc_atomic_end(__nesc_atomic_t oldSreg){ EA = oldSreg;}static /*inline*/ void SchedulerBasicP__Scheduler__init(void){ /* atomic removed: atomic calls only */ { memset((void *)SchedulerBasicP__m_next, SchedulerBasicP__NO_TASK, sizeof SchedulerBasicP__m_next); SchedulerBasicP__m_head = SchedulerBasicP__NO_TASK; SchedulerBasicP__m_tail = SchedulerBasicP__NO_TASK; }} /*inline*/ static void RealMainP__Scheduler__init(void){ SchedulerBasicP__Scheduler__init();}static /*inline*/ void /*PlatformLedsC.NoPinC*/NoPinC__0__GeneralIO__set(void){} /*inline*/ static void LedsP__Led2__set(void){ /*PlatformLedsC.NoPinC*/NoPinC__0__GeneralIO__set();}static /*inline*/ void HplMcs51GeneralIOC__P11__set(void){ /* atomic removed: atomic calls only */ { P1_1 = 1; }}static /*inline*/ void /*PlatformLedsC.Led1Impl*/Mcs51GpioC__1__HplGeneralIO__set(void){ HplMcs51GeneralIOC__P11__set();}static /*inline*/ void /*PlatformLedsC.Led1Impl*/Mcs51GpioC__1__GeneralIO__set(void){ /*PlatformLedsC.Led1Impl*/Mcs51GpioC__1__HplGeneralIO__set();} /*inline*/ static void LedsP__Led1__set(void){ /*PlatformLedsC.Led1Impl*/Mcs51GpioC__1__GeneralIO__set();}static /*inline*/ void HplMcs51GeneralIOC__P10__set(void){ /* atomic removed: atomic calls only */ { P1_0 = 1; }}static /*inline*/ void /*PlatformLedsC.Led0Impl*/Mcs51GpioC__0__HplGeneralIO__set(void){ HplMcs51GeneralIOC__P10__set();}static /*inline*/ void /*PlatformLedsC.Led0Impl*/Mcs51GpioC__0__GeneralIO__set(void){ /*PlatformLedsC.Led0Impl*/Mcs51GpioC__0__HplGeneralIO__set();} /*inline*/ static void LedsP__Led0__set(void){ /*PlatformLedsC.Led0Impl*/Mcs51GpioC__0__GeneralIO__set();}static /*inline*/ void /*PlatformLedsC.NoPinC*/NoPinC__0__GeneralIO__makeOutput(void){} /*inline*/ static void LedsP__Led2__makeOutput(void){ /*PlatformLedsC.NoPinC*/NoPinC__0__GeneralIO__makeOutput();}static /*inline*/ void HplMcs51GeneralIOC__P11__makeOutput(void){ P1_DIR |= 1 << 1;}static /*inline*/ void /*PlatformLedsC.Led1Impl*/Mcs51GpioC__1__HplGeneralIO__makeOutput(void){ HplMcs51GeneralIOC__P11__makeOutput();}static /*inline*/ void /*PlatformLedsC.Led1Impl*/Mcs51GpioC__1__GeneralIO__makeOutput(void){ /*PlatformLedsC.Led1Impl*/Mcs51GpioC__1__HplGeneralIO__makeOutput();} /*inline*/ static void LedsP__Led1__makeOutput(void){ /*PlatformLedsC.Led1Impl*/Mcs51GpioC__1__GeneralIO__makeOutput();}static /*inline*/ void HplMcs51GeneralIOC__P10__makeOutput(void){ P1_DIR |= 1 << 0;}static /*inline*/ void /*PlatformLedsC.Led0Impl*/Mcs51GpioC__0__HplGeneralIO__makeOutput(void){ HplMcs51GeneralIOC__P10__makeOutput();}static /*inline*/ void /*PlatformLedsC.Led0Impl*/Mcs51GpioC__0__GeneralIO__makeOutput(void){ /*PlatformLedsC.Led0Impl*/Mcs51GpioC__0__HplGeneralIO__makeOutput();} /*inline*/ static void LedsP__Led0__makeOutput(void){ /*PlatformLedsC.Led0Impl*/Mcs51GpioC__0__GeneralIO__makeOutput();}static /*inline*/ error_t LedsP__Init__init(void){ /* atomic removed: atomic calls only */ { ; LedsP__Led0__makeOutput(); LedsP__Led1__makeOutput(); LedsP__Led2__makeOutput(); LedsP__Led0__set(); LedsP__Led1__set(); LedsP__Led2__set(); } return SUCCESS;} /*inline*/ static error_t PlatformP__LedsInit__init(void){ unsigned char result; result = LedsP__Init__init(); return result;}static /*inline*/ error_t PlatformP__Init__init(void){ uint8_t new_clkcon; SLEEP = (SLEEP & ~CC2430_SLEEP_MODE_MASK) | CC2430_SLEEP_POWERMODE_0; SLEEP &= ~(1 << CC2430_SLEEP_OSC_PD); while (!(SLEEP & (1 << CC2430_SLEEP_XOSC_STB))) ; new_clkcon = 0x0; new_clkcon = (new_clkcon & ~CC2430_CLKCON_TICKSPD_MASK) | CC2430_TICKF_DIV_1; new_clkcon &= ~(1 << CC2430_CLKCON_OSC32K); new_clkcon &= ~(1 << CC2430_CLKCON_OSC); new_clkcon |= 1 << CC2430_CLKCON_TICKSPD; CLKCON = new_clkcon; PlatformP__LedsInit__init(); return SUCCESS;} /*inline*/ static error_t RealMainP__PlatformInit__init(void){ unsigned char result; result = PlatformP__Init__init(); return result;} /*inline*/ static bool RealMainP__Scheduler__runNextTask(void){ unsigned char result; result = SchedulerBasicP__Scheduler__runNextTask(); return result;} /*inline*/ static error_t SimpleMacM__signalSendPacketDone__postTask(void){ unsigned char result; result = SchedulerBasicP__TaskBasic__postTask(SimpleMacM__signalSendPacketDone); return result;}static /*inline*/ void SimpleMacM__HALCC2420__sendPacketDone(uint8_t *packet, error_t result){ { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start(); SimpleMacM__sendPacketResult = result; __nesc_atomic_end(__nesc_atomic); } SimpleMacM__signalSendPacketDone__postTask();} /*inline*/ static void HalCC2430RadioP__HALCC2420__sendPacketDone(uint8_t *arg_0x7e9d60a8, error_t arg_0x7e9d6228){ SimpleMacM__HALCC2420__sendPacketDone(arg_0x7e9d60a8, arg_0x7e9d6228);}static /*inline*/ void HalCC2430RadioP__sendPacketDoneTask__runTask(void){ HalCC2430RadioP__HALCC2420__sendPacketDone(HalCC2430RadioP__transmitPacketPtr, SUCCESS);}static /*inline*/ bool SchedulerBasicP__isWaiting(uint8_t id){ return SchedulerBasicP__m_next[id] != SchedulerBasicP__NO_TASK || SchedulerBasicP__m_tail == id;}static /*inline*/ bool SchedulerBasicP__pushTask(uint8_t id){ if (!SchedulerBasicP__isWaiting(id)) { if (SchedulerBasicP__m_head == SchedulerBasicP__NO_TASK) { SchedulerBasicP__m_head = id; SchedulerBasicP__m_tail = id; } else { SchedulerBasicP__m_next[SchedulerBasicP__m_tail] = id; SchedulerBasicP__m_tail = id; } return TRUE; } else { return FALSE; }} /*inline*/ static int HalCC2430RadioP__StdOut__print(const char *arg_0x7e995c68){ int result; result = StdOutM__StdOut__print(arg_0x7e995c68); return result;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -