From 49913fa0be97ba4e25af628a7ae5be04735cac9c Mon Sep 17 00:00:00 2001 From: Sebastien Lorquet Date: Fri, 7 Aug 2015 17:40:04 +0200 Subject: [PATCH] demux mac commands --- ieee802154/coord/coord_main.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/ieee802154/coord/coord_main.c b/ieee802154/coord/coord_main.c index 48f9ad5eb..635c3ba7e 100644 --- a/ieee802154/coord/coord_main.c +++ b/ieee802154/coord/coord_main.c @@ -171,7 +171,23 @@ static int coord_ack(FAR struct ieee_coord_s *coord) static int coord_command(FAR struct ieee_coord_s *coord) { - printf("Command!\n"); + FAR struct ieee_frame_s *rx = &coord->rxbuf; + uint8_t cmd = rx->payload[0]; + + printf("Command %02X!\n",cmd); + + switch(cmd) + { + case IEEE802154_CMD_ASSOC_REQ : break; + case IEEE802154_CMD_ASSOC_RSP : break; + case IEEE802154_CMD_DIS_NOT : break; + case IEEE802154_CMD_DATA_REQ : break; + case IEEE802154_CMD_PANID_CONF_NOT : break; + case IEEE802154_CMD_ORPHAN_NOT : break; + case IEEE802154_CMD_BEACON_REQ : break; + case IEEE802154_CMD_COORD_REALIGN : break; + case IEEE802154_CMD_GTS_REQ : break; + } return 0; } @@ -261,6 +277,8 @@ static int coord_manage(FAR struct ieee_coord_s *coord) rx->saddrlen = 0; } + rx->payload = rx->packet.data + index; + printf("SADDR len %d DADDR len %d\n", rx->saddrlen, rx->daddrlen); switch(ftype) {