Skip to content

Commit

Permalink
added missing FCS to IEEE802.15.4 adaptation layer
Browse files Browse the repository at this point in the history
  • Loading branch information
OlegHahm committed Aug 15, 2013
1 parent c3dcaa0 commit b38aad0
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
4 changes: 2 additions & 2 deletions sys/net/ieee802154/ieee802154_frame.h
Expand Up @@ -24,8 +24,8 @@

/* maximum 802.15.4 header length */
#define IEEE_802154_MAX_HDR_LEN 23
/* mininmum */
#define IEEE_802154_PAYLOAD_LEN 21
/* ...and FCS*/
#define IEEE_802154_FCS_LEN 2

#define IEEE_802154_BEACON_FRAME 0
#define IEEE_802154_DATA_FRAME 1
Expand Down
7 changes: 6 additions & 1 deletion sys/net/sixlowpan/mac.c
Expand Up @@ -215,9 +215,14 @@ void sixlowpan_mac_send_ieee802154_frame(const ieee_802154_long_t *addr,
memset(&buf, 0, PAYLOAD_SIZE);
init_802154_frame(&frame, (uint8_t *)&buf);
memcpy(&buf[hdrlen], frame.payload, frame.payload_len);
/* set FCS */
/* RSSI = 0 */
buf[frame.payload_len+hdrlen] = 0;
/* FCS Valid = 1 / LQI Correlation Value = 0 */
buf[frame.payload_len+hdrlen+1] = 0x80;
DEBUG("IEEE802.15.4 frame - FCF: %02X %02X DPID: %02X SPID: %02X DSN: %02X\n", buf[0], buf[1], frame->dest_pan_id, frame->src_pan_id, frame->seq_nr);

p.length = hdrlen + frame.payload_len;
p.length = hdrlen + frame.payload_len + IEEE_802154_FCS_LEN;

if (mcast == 0) {
p.dst = daddr;
Expand Down

0 comments on commit b38aad0

Please sign in to comment.