コード例 #1
0
ファイル: udp-sink.c プロジェクト: pvhau/contiki-ext
/*Changed--------------------------------------------------------------------*/
static void
tcpip_handler(void)
{
  uint8_t *appdata;
  rimeaddr_t sender;
  uint8_t instance_id;
  uint8_t seqno;
  uint8_t hops;
  uint16_t len;

  if(uip_newdata()) {
    /*Handle receive message*/
    appdata = (uint8_t *)uip_appdata;
    /* Get sender address */
    sender.u8[0] = UIP_IP_BUF->srcipaddr.u8[15];
    sender.u8[1] = UIP_IP_BUF->srcipaddr.u8[14];
    instance_id = *appdata;	// Read instance id
    seqno = *(appdata + 2);   	// Read sequence no
    hops = uip_ds6_if.cur_hop_limit - UIP_IP_BUF->ttl + 1;  // Calculate hop count 
    len = uip_datalen();
    /*Show info message*/
    printf("DATA recv, %d, %d, %d, %d, %d\n",
            UIP_IP_BUF->srcipaddr.u8[sizeof(UIP_IP_BUF->srcipaddr.u8) - 1], instance_id, seqno, hops ,len);
    collect_common_recv(&sender, seqno, hops,
                        appdata + 4, uip_datalen() - 4);

  }
}
コード例 #2
0
ファイル: udp-sink.c プロジェクト: mlwymore/contiki
/*---------------------------------------------------------------------------*/
static void
tcpip_handler(void)
{
  uint8_t *appdata;
  linkaddr_t sender;
  uint8_t seqno;
  uint8_t hops;
  if(uip_newdata()) {
    appdata = (uint8_t *)uip_appdata;
    sender.u8[0] = UIP_IP_BUF->srcipaddr.u8[15];
    sender.u8[1] = UIP_IP_BUF->srcipaddr.u8[14];
    seqno = *appdata;
    hops = uip_ds6_if.cur_hop_limit - UIP_IP_BUF->ttl + 1;
    collect_common_recv(&sender, seqno, hops,
                        appdata + 2, uip_datalen() - 2);
  }
}
コード例 #3
0
/*---------------------------------------------------------------------------*/
static void
tcpip_handler(void)
{
  uint8_t *appdata;
  rimeaddr_t sender;
  uint8_t seqno;
  uint8_t hops;

  if(uip_newdata()) {
	appdata = (uint8_t *)uip_appdata;
	sender.u8[0] = UIP_IP_BUF->srcipaddr.u8[15];
	sender.u8[1] = UIP_IP_BUF->srcipaddr.u8[14];
	seqno = *appdata;
	hops = uip_ds6_if.cur_hop_limit - UIP_IP_BUF->ttl + 1;
	printf("sender:%u.%u ",sender.u8[0] ,sender.u8[1]);
	printf("last_rssi=%d\n",cc2420_last_rssi-45);
	collect_common_recv(&sender, seqno, hops,
						appdata + 2, uip_datalen() - 2);
    /* Ignore incoming data */
  }
}