⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iarapp.c

📁 无线网络传感器基站通用节点测试程序.包含基站接口和主模块程序.
💻 C
📖 第 1 页 / 共 5 页
字号:
//#line 9
  unsigned char result;
//#line 9

//#line 9
  result = CC2430RadioM___SFD__captured(arg_0xa2b3640);
//#line 9

//#line 9
  return result;
//#line 9
}
//#line 9
static /*inline*/
//# 93 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerM.nc"
void CC2430TimerM__Control2__setControlAsCapture(bool low_to_high)
//#line 93
{
}

//# 16 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerControl.nc"
/*inline*/ static   void HPLCC2430RFInterruptM__SFDControl__setControlAsCapture(bool arg_0xa35f748){
//#line 16
  CC2430TimerM__Control2__setControlAsCapture(arg_0xa35f748);
//#line 16
}
//#line 16
static /*inline*/
//# 50 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerM.nc"
void CC2430TimerM__Capture2__clearOverflow(void)
//#line 50
{
  T2CNF &= ~0x40;
}

//# 37 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430Capture.nc"
/*inline*/ static   void HPLCC2430RFInterruptM__SFDCapture__clearOverflow(void){
//#line 37
  CC2430TimerM__Capture2__clearOverflow();
//#line 37
}
//#line 37
static /*inline*/
//# 95 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerM.nc"
void CC2430TimerM__Control2__enableEvents(void)
//#line 95
{
  T2PEROF2 |= 0x80;
  RFIM |= 0x10;
}

//# 18 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerControl.nc"
/*inline*/ static   void HPLCC2430RFInterruptM__SFDControl__enableEvents(void){
//#line 18
  CC2430TimerM__Control2__enableEvents();
//#line 18
}
//#line 18
static /*inline*/
//# 73 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerM.nc"
void CC2430TimerM__Control2__clearPendingInterrupt(void)
//#line 73
{
  T2IF = 0;
}

//# 12 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerControl.nc"
/*inline*/ static   void HPLCC2430RFInterruptM__SFDControl__clearPendingInterrupt(void){
//#line 12
  CC2430TimerM__Control2__clearPendingInterrupt();
//#line 12
}
//#line 12
static /*inline*/
//# 99 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerM.nc"
void CC2430TimerM__Control2__disableEvents(void)
//#line 99
{
  T2PEROF2 &= ~0x80;
  RFIM &= ~0x10;
}

//# 19 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerControl.nc"
/*inline*/ static   void HPLCC2430RFInterruptM__SFDControl__disableEvents(void){
//#line 19
  CC2430TimerM__Control2__disableEvents();
//#line 19
}
//#line 19
static /*inline*/
//# 164 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/HPLCC2430RFInterruptM.nc"
result_t HPLCC2430RFInterruptM___SFD__disable(void)
//#line 164
{
  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 165
    {
      HPLCC2430RFInterruptM__SFDControl__disableEvents();
      HPLCC2430RFInterruptM__SFDControl__clearPendingInterrupt();
    }
//#line 168
    __nesc_atomic_end(__nesc_atomic); }

  return SUCCESS;
}

//# 8 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/HPLCC2430Capture.nc"
/*inline*/ static   result_t CC2430RadioM___SFD__disable(void){
//#line 8
  unsigned char result;
//#line 8

//#line 8
  result = HPLCC2430RFInterruptM___SFD__disable();
//#line 8

//#line 8
  return result;
//#line 8
}
//#line 8
static /*inline*/
//# 769 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430RadioM.nc"
void CC2430RadioM__RadioSendCoordinator__default__startSymbol(uint8_t bitsPerBlock, uint8_t offset, TOS_MsgPtr msgBuff)
//#line 769
{
}

//# 33 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/RadioCoordinator.nc"
/*inline*/ static   void CC2430RadioM__RadioSendCoordinator__startSymbol(uint8_t arg_0xa295ba0, uint8_t arg_0xa295ce8, TOS_MsgPtr arg_0xa295e38){
//#line 33
  CC2430RadioM__RadioSendCoordinator__default__startSymbol(arg_0xa295ba0, arg_0xa295ce8, arg_0xa295e38);
//#line 33
}
//#line 33
static /*inline*/
//# 167 "GenericBaseM.nc"
result_t GenericBaseM__RadioSend__sendDone(TOS_MsgPtr msg, result_t success)
//#line 167
{
  return GenericBaseM__sendDone(msg, success);
}

//# 67 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/BareSendMsg.nc"
/*inline*/ static  result_t CC2430RadioM__Send__sendDone(TOS_MsgPtr arg_0xa24e528, result_t arg_0xa24e678){
//#line 67
  unsigned char result;
//#line 67

//#line 67
  result = GenericBaseM__RadioSend__sendDone(arg_0xa24e528, arg_0xa24e678);
//#line 67

//#line 67
  return result;
//#line 67
}
//#line 67
//# 131 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/Leds.nc"
/*inline*/ static   result_t GenericBaseM__Leds__yellowToggle(void){
//#line 131
  unsigned char result;
//#line 131

//#line 131
  result = LedsC__Leds__yellowToggle();
//#line 131

//#line 131
  return result;
//#line 131
}
//#line 131
static /*inline*/
//# 136 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/LedsC.nc"
result_t LedsC__Leds__yellowOff(void)
//#line 136
{
  {
  }
//#line 137
  ;
  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 138
    {
      TOSH_SET_YELLOW_LED_PIN();
      LedsC__ledsOn &= ~LedsC__YELLOW_BIT;
    }
//#line 141
    __nesc_atomic_end(__nesc_atomic); }
  return SUCCESS;
}

//# 36 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/hardware.h"
static /*__inline*/ void TOSH_CLR_YELLOW_LED_PIN(void)
//#line 36
{
//#line 36
  P1 &= ~(1 << 4);
}

static /*inline*/
//# 127 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/LedsC.nc"
result_t LedsC__Leds__yellowOn(void)
//#line 127
{
  {
  }
//#line 128
  ;
  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 129
    {
      TOSH_CLR_YELLOW_LED_PIN();
      LedsC__ledsOn |= LedsC__YELLOW_BIT;
    }
//#line 132
    __nesc_atomic_end(__nesc_atomic); }
  return SUCCESS;
}

static /*inline*/
//# 771 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430RadioM.nc"
void CC2430RadioM__RadioReceiveCoordinator__default__startSymbol(uint8_t bitsPerBlock, uint8_t offset, TOS_MsgPtr msgBuff)
//#line 771
{
}

//# 33 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/RadioCoordinator.nc"
/*inline*/ static   void CC2430RadioM__RadioReceiveCoordinator__startSymbol(uint8_t arg_0xa295ba0, uint8_t arg_0xa295ce8, TOS_MsgPtr arg_0xa295e38){
//#line 33
  CC2430RadioM__RadioReceiveCoordinator__default__startSymbol(arg_0xa295ba0, arg_0xa295ce8, arg_0xa295e38);
//#line 33
}
//#line 33
static /*inline*/
//# 39 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430TimerM.nc"
uint16_t CC2430TimerM__Capture2__getEvent(void)
//#line 39
{
  return (uint16_t )T2CAPLPL + ((uint16_t )T2CAPHPH << 8);
}

//# 13 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430Capture.nc"
/*inline*/ static   uint16_t HPLCC2430RFInterruptM__SFDCapture__getEvent(void){
//#line 13
  unsigned int result;
//#line 13

//#line 13
  result = CC2430TimerM__Capture2__getEvent();
//#line 13

//#line 13
  return result;
//#line 13
}
//#line 13
static /*inline*/
//# 33 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/HPLCC2430RFInterruptM.nc"
result_t HPLCC2430RFInterruptM___FIFOP__startWait(void)
//#line 33
{
  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 34
    {
      RFIM |= 0x20;
    }
//#line 36
    __nesc_atomic_end(__nesc_atomic); }
  return SUCCESS;
}

//# 7 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430RFInterrupt.nc"
/*inline*/ static   result_t CC2430RadioM___FIFOP__startWait(void){
//#line 7
  unsigned char result;
//#line 7

//#line 7
  result = HPLCC2430RFInterruptM___FIFOP__startWait();
//#line 7

//#line 7
  return result;
//#line 7
}
//#line 7
static /*inline*/
//# 43 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/HPLCC2430RFInterruptM.nc"
result_t HPLCC2430RFInterruptM___FIFOP__disable(void)
//#line 43
{
  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 44
    {
      RFIM &= ~0x20;
      RFIF &= ~0x20;
    }
//#line 47
    __nesc_atomic_end(__nesc_atomic); }
  return SUCCESS;
}

//# 8 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430RFInterrupt.nc"
/*inline*/ static   result_t CC2430RadioM___FIFOP__disable(void){
//#line 8
  unsigned char result;
//#line 8

//#line 8
  result = HPLCC2430RFInterruptM___FIFOP__disable();
//#line 8

//#line 8
  return result;
//#line 8
}
//#line 8
static /*inline*/
//# 82 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430RadioM.nc"
void CC2430RadioM__flushRXFIFO(void)
//#line 82
{
  CC2430RadioM___FIFOP__disable();

  do {
//#line 85
      RFST = 0xE6;
    }
  while (
//#line 85
  0);
  do {
//#line 86
      RFST = 0xE6;
    }
  while (
//#line 86
  0);
  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 87
    CC2430RadioM__bPacketReceiving = 0;
//#line 87
    __nesc_atomic_end(__nesc_atomic); }
  CC2430RadioM___FIFOP__startWait();
}

static /*inline*/
//#line 540
void CC2430RadioM__delayedRXFIFOtask(void)
//#line 540
{
  CC2430RadioM__delayedRXFIFO();
}

static /*inline*/
//#line 704
result_t CC2430RadioM___FIFOP__fired(void)
//#line 704
{






  if (CC2430RadioM__bAckEnable && CC2430RadioM__stateRadio == CC2430RadioM__TX_STATE) {
      halSetTimer2Period(0x01, 8);
    }


  if (!(((unsigned char volatile __xdata  *)0)[0xDF62] & 0x08)) {
      CC2430RadioM__flushRXFIFO();
      return SUCCESS;
    }

  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 721
    {
      if (TOS_post(CC2430RadioM__delayedRXFIFOtask)) {
          CC2430RadioM___FIFOP__disable();
        }
      else {
          CC2430RadioM__flushRXFIFO();
        }
    }
//#line 728
    __nesc_atomic_end(__nesc_atomic); }


  return SUCCESS;
}

//# 10 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430RFInterrupt.nc"
/*inline*/ static    result_t HPLCC2430RFInterruptM___FIFOP__fired(void){
//#line 10
  unsigned char result;
//#line 10

//#line 10
  result = CC2430RadioM___FIFOP__fired();
//#line 10

//#line 10
  return result;
//#line 10
}
//#line 10
static /*inline*/
//# 55 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/HPLCC2430RFInterruptM.nc"
void HPLCC2430RFInterruptM__FIFOPInterruptfired(void)
//#line 55
{
  result_t val = SUCCESS;

//#line 57
  RFIF &= ~0x20;
  val = HPLCC2430RFInterruptM___FIFOP__fired();
  if (val == FAIL) {
      RFIM &= ~0x20;
      RFIF &= ~0x20;
    }
}

static /*inline*/
//# 150 "GenericBaseM.nc"
TOS_MsgPtr GenericBaseM__RadioReceive__receive(TOS_MsgPtr data)
//#line 150
{
  if (data->crc) {
      return GenericBaseM__receive(data, 0);
    }
  else {
      return data;
    }
}

//# 75 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/ReceiveMsg.nc"
/*inline*/ static  TOS_MsgPtr CC2430RadioM__Receive__receive(TOS_MsgPtr arg_0xa24f9a8){
//#line 75
  struct TOS_Msg *result;
//#line 75

//#line 75
  result = GenericBaseM__RadioReceive__receive(arg_0xa24f9a8);
//#line 75

//#line 75
  return result;
//#line 75
}
//#line 75
static /*inline*/
//# 96 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430RadioM.nc"
void CC2430RadioM__PacketRcvd(void)
//#line 96
{
  TOS_MsgPtr pBuf;

  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 99
    {
      pBuf = CC2430RadioM__rxbufptr;
    }
//#line 101
    __nesc_atomic_end(__nesc_atomic); }
  pBuf = CC2430RadioM__Receive__receive((TOS_MsgPtr )pBuf);
  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 103
    {
      if (pBuf) {
//#line 104
        CC2430RadioM__rxbufptr = pBuf;
        }
//#line 105
      CC2430RadioM__rxbufptr->length = 0;
      CC2430RadioM__bPacketReceiving = 0;
    }
//#line 107
    __nesc_atomic_end(__nesc_atomic); }
}

static
//# 12 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/byteorder.h"
/*__inline*/ int is_host_lsb(void)
{
  const uint8_t n[2] = { 1, 0 };

//#line 15
  return * (uint16_t *)n == 1;
}

static




/*__inline*/ uint16_t fromLSB16(uint16_t a)
{
  return is_host_lsb() ? a : (a << 8) | (a >> 8);
}

static /*inline*/
//# 597 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/CC2430/CC2430RadioM.nc"
result_t CC2430RadioM__RXFIFODone(uint8_t length, uint8_t *data)
//#line 597
{





  uint8_t currentstate;

//#line 604
  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 604
    {
      currentstate = CC2430RadioM__stateRadio;
    }
//#line 606
    __nesc_atomic_end(__nesc_atomic); }





  if ((
//#line 610
  (((unsigned char volatile __xdata  *)0)[0xDF62] & 0x08) ||
  (((unsigned char volatile __xdata  *)0)[0xDF62] & 0x04)
   || length == 0) || length > MSG_DATA_SIZE) {
   //length == 0) || length > MSG_DATA_SIZE) {
      CC2430RadioM__flushRXFIFO();
      { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 614
        CC2430RadioM__bPacketReceiving = 0;
//#line 614
        __nesc_atomic_end(__nesc_atomic); }
      return SUCCESS;
    }

  CC2430RadioM__rxbufptr = (TOS_MsgPtr )data;




  if (
//#line 621
  CC2430RadioM__bAckEnable && currentstate == CC2430RadioM__TX_STATE && (
  CC2430RadioM__rxbufptr->fcfhi & 0x07) == 0x02 &&
  CC2430RadioM__rxbufptr->dsn == CC2430RadioM__currentDSN &&
  data[length - 0] >> 7 == 1) {
      { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 625
        {
          CC2430RadioM__txbufptr->ack = 1;
          CC2430RadioM__txbufptr->strength = data[length - 1];
          CC2430RadioM__txbufptr->lqi = data[length - 0] & 0x7F;

          CC2430RadioM__stateRadio = CC2430RadioM__POST_TX_ACK_STATE;
          CC2430RadioM__bPacketReceiving = 0;
        }
//#line 632
        __nesc_atomic_end(__nesc_atomic); }
      if (!TOS_post(CC2430RadioM__PacketSent)) {
        CC2430RadioM__sendFailed();
        }
//#line 635
      return SUCCESS;
    }




  if ((CC2430RadioM__rxbufptr->fcfhi & 0x07) != 0x01 ||
  CC2430RadioM__rxbufptr->fcflo != 0x08) {
      CC2430RadioM__flushRXFIFO();
      { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 644
        CC2430RadioM__bPacketReceiving = 0;
//#line 644
        __nesc_atomic_end(__nesc_atomic); }
      return SUCCESS;
    }

  CC2430RadioM__rxbufptr->length = CC2430RadioM__rxbufptr->length - MSG_HEADER_SIZE - MSG_FOOTER_SIZE;

  if (CC2430RadioM__rxbufptr->length > 28) {
      CC2430RadioM__flushRXFIFO();
      { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
//#line 652
        CC2430RadioM__bPacketReceiving = 0;
//#line 652
     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -