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

📄 testdipp.nc

📁 tinyos-2.x.rar
💻 NC
📖 第 1 页 / 共 2 页
字号:

module TestDipP {
  uses interface Leds;
  uses interface StdControl;

  /*
  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate1;
  uses interface DisseminationValue<uint16_t> as DisseminationValue1;
  */

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate1;
  uses interface DisseminationValue<uint16_t> as DisseminationValue1;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate2;
  uses interface DisseminationValue<uint16_t> as DisseminationValue2;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate3;
  uses interface DisseminationValue<uint16_t> as DisseminationValue3;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate4;
  uses interface DisseminationValue<uint16_t> as DisseminationValue4;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate5;
  uses interface DisseminationValue<uint16_t> as DisseminationValue5;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate6;
  uses interface DisseminationValue<uint16_t> as DisseminationValue6;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate7;
  uses interface DisseminationValue<uint16_t> as DisseminationValue7;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate8;
  uses interface DisseminationValue<uint16_t> as DisseminationValue8;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate9;
  uses interface DisseminationValue<uint16_t> as DisseminationValue9;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate10;
  uses interface DisseminationValue<uint16_t> as DisseminationValue10;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate11;
  uses interface DisseminationValue<uint16_t> as DisseminationValue11;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate12;
  uses interface DisseminationValue<uint16_t> as DisseminationValue12;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate13;
  uses interface DisseminationValue<uint16_t> as DisseminationValue13;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate14;
  uses interface DisseminationValue<uint16_t> as DisseminationValue14;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate15;
  uses interface DisseminationValue<uint16_t> as DisseminationValue15;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate16;
  uses interface DisseminationValue<uint16_t> as DisseminationValue16;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate17;
  uses interface DisseminationValue<uint16_t> as DisseminationValue17;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate18;
  uses interface DisseminationValue<uint16_t> as DisseminationValue18;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate19;
  uses interface DisseminationValue<uint16_t> as DisseminationValue19;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate20;
  uses interface DisseminationValue<uint16_t> as DisseminationValue20;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate21;
  uses interface DisseminationValue<uint16_t> as DisseminationValue21;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate22;
  uses interface DisseminationValue<uint16_t> as DisseminationValue22;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate23;
  uses interface DisseminationValue<uint16_t> as DisseminationValue23;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate24;
  uses interface DisseminationValue<uint16_t> as DisseminationValue24;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate25;
  uses interface DisseminationValue<uint16_t> as DisseminationValue25;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate26;
  uses interface DisseminationValue<uint16_t> as DisseminationValue26;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate27;
  uses interface DisseminationValue<uint16_t> as DisseminationValue27;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate28;
  uses interface DisseminationValue<uint16_t> as DisseminationValue28;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate29;
  uses interface DisseminationValue<uint16_t> as DisseminationValue29;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate30;
  uses interface DisseminationValue<uint16_t> as DisseminationValue30;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate31;
  uses interface DisseminationValue<uint16_t> as DisseminationValue31;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate32;
  uses interface DisseminationValue<uint16_t> as DisseminationValue32;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate33;
  uses interface DisseminationValue<uint16_t> as DisseminationValue33;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate34;
  uses interface DisseminationValue<uint16_t> as DisseminationValue34;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate35;
  uses interface DisseminationValue<uint16_t> as DisseminationValue35;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate36;
  uses interface DisseminationValue<uint16_t> as DisseminationValue36;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate37;
  uses interface DisseminationValue<uint16_t> as DisseminationValue37;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate38;
  uses interface DisseminationValue<uint16_t> as DisseminationValue38;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate39;
  uses interface DisseminationValue<uint16_t> as DisseminationValue39;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate40;
  uses interface DisseminationValue<uint16_t> as DisseminationValue40;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate41;
  uses interface DisseminationValue<uint16_t> as DisseminationValue41;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate42;
  uses interface DisseminationValue<uint16_t> as DisseminationValue42;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate43;
  uses interface DisseminationValue<uint16_t> as DisseminationValue43;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate44;
  uses interface DisseminationValue<uint16_t> as DisseminationValue44;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate45;
  uses interface DisseminationValue<uint16_t> as DisseminationValue45;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate46;
  uses interface DisseminationValue<uint16_t> as DisseminationValue46;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate47;
  uses interface DisseminationValue<uint16_t> as DisseminationValue47;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate48;
  uses interface DisseminationValue<uint16_t> as DisseminationValue48;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate49;
  uses interface DisseminationValue<uint16_t> as DisseminationValue49;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate50;
  uses interface DisseminationValue<uint16_t> as DisseminationValue50;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate51;
  uses interface DisseminationValue<uint16_t> as DisseminationValue51;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate52;
  uses interface DisseminationValue<uint16_t> as DisseminationValue52;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate53;
  uses interface DisseminationValue<uint16_t> as DisseminationValue53;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate54;
  uses interface DisseminationValue<uint16_t> as DisseminationValue54;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate55;
  uses interface DisseminationValue<uint16_t> as DisseminationValue55;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate56;
  uses interface DisseminationValue<uint16_t> as DisseminationValue56;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate57;
  uses interface DisseminationValue<uint16_t> as DisseminationValue57;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate58;
  uses interface DisseminationValue<uint16_t> as DisseminationValue58;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate59;
  uses interface DisseminationValue<uint16_t> as DisseminationValue59;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate60;
  uses interface DisseminationValue<uint16_t> as DisseminationValue60;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate61;
  uses interface DisseminationValue<uint16_t> as DisseminationValue61;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate62;
  uses interface DisseminationValue<uint16_t> as DisseminationValue62;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate63;
  uses interface DisseminationValue<uint16_t> as DisseminationValue63;

  uses interface DisseminationUpdate<uint16_t> as DisseminationUpdate64;
  uses interface DisseminationValue<uint16_t> as DisseminationValue64;


  uses interface Boot;
  uses interface AMSend as SerialSend;
  uses interface SplitControl as SerialControl;
}

implementation {
  typedef nx_struct dip_test_msg_t {
    nx_am_addr_t id;
    nx_uint8_t count;
    nx_uint8_t isOk;
  } dip_test_msg_t;

  message_t testMsg;

  uint8_t okBit = 1;
  uint16_t data;
  uint8_t count = 0;
  /*
  uint8_t newCount = N;
  */
  uint8_t newCount = 8;

  void bookkeep();

  event void SerialControl.startDone(error_t err) {
    call StdControl.start();
    if(TOS_NODE_ID == 1) {
      data = 0xBEEF;
      dbg("TestDipP","Updating data items\n");
      /*
      call DisseminationUpdate1.change(&data);
      */
      call DisseminationUpdate50.change(&data);
      call DisseminationUpdate25.change(&data);
      call DisseminationUpdate47.change(&data);
      call DisseminationUpdate7.change(&data);
      call DisseminationUpdate43.change(&data);
      call DisseminationUpdate58.change(&data);
      call DisseminationUpdate48.change(&data);
      call DisseminationUpdate45.change(&data);
    }
  }
  
  event void SerialControl.stopDone(error_t err) {
    
  }

  event void Boot.booted() {
    call SerialControl.start();
    dbg("TestDipP", "Booted at %s\n", sim_time_string());
  }
  /*
  event void DisseminationValue1.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue1.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }
  */

  event void DisseminationValue1.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue1.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue2.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue2.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue3.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue3.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue4.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue4.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue5.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue5.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue6.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue6.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue7.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue7.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue8.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue8.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue9.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue9.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue10.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue10.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue11.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue11.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue12.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue12.get();
    if(val != 0xBEEF) { return; }
    bookkeep();
  }

  event void DisseminationValue13.changed() {
    uint16_t val = *(uint16_t*) call DisseminationValue13.get();
    if(val != 0xBEEF) { return; }
    bookkeep();

⌨️ 快捷键说明

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