Skip to content
Snippets Groups Projects
Unverified Commit 2c5d1b01 authored by Peter Kietzmann's avatar Peter Kietzmann Committed by GitHub
Browse files

Merge pull request #10918 from maribu/cc110x_mtu

drivers/cc110x: Fixed MTU calculation
parents b927c6ff dae680dc
No related branches found
No related tags found
No related merge requests found
...@@ -111,7 +111,7 @@ static int _get(netdev_t *dev, netopt_t opt, void *value, size_t value_len) ...@@ -111,7 +111,7 @@ static int _get(netdev_t *dev, netopt_t opt, void *value, size_t value_len)
return sizeof(uint8_t); return sizeof(uint8_t);
case NETOPT_MAX_PACKET_SIZE: case NETOPT_MAX_PACKET_SIZE:
assert(value_len > 0); assert(value_len > 0);
*((uint16_t *)value) = CC110X_PACKET_LENGTH; *((uint16_t *)value) = CC110X_PACKET_LENGTH - CC110X_L2_HDR_SIZE;
return sizeof(uint16_t); return sizeof(uint16_t);
case NETOPT_IPV6_IID: case NETOPT_IPV6_IID:
return _get_iid(dev, value, value_len); return _get_iid(dev, value, value_len);
......
...@@ -147,7 +147,7 @@ static void _rx_read_data(cc110x_t *dev, void(*callback)(void*), void*arg) ...@@ -147,7 +147,7 @@ static void _rx_read_data(cc110x_t *dev, void(*callback)(void*), void*arg)
LOG_DEBUG("cc110x: received packet from=%u to=%u payload len=%u\n", LOG_DEBUG("cc110x: received packet from=%u to=%u payload len=%u\n",
(unsigned)pkt_buf->packet.phy_src, (unsigned)pkt_buf->packet.phy_src,
(unsigned)pkt_buf->packet.address, (unsigned)pkt_buf->packet.address,
pkt_buf->packet.length - 3); pkt_buf->packet.length - CC110X_L2_HDR_SIZE);
/* let someone know that we've got a packet */ /* let someone know that we've got a packet */
callback(arg); callback(arg);
...@@ -157,7 +157,8 @@ static void _rx_read_data(cc110x_t *dev, void(*callback)(void*), void*arg) ...@@ -157,7 +157,8 @@ static void _rx_read_data(cc110x_t *dev, void(*callback)(void*), void*arg)
DEBUG("%s:%s:%u crc-error\n", RIOT_FILE_RELATIVE, __func__, __LINE__); DEBUG("%s:%s:%u crc-error\n", RIOT_FILE_RELATIVE, __func__, __LINE__);
dev->cc110x_statistic.packets_in_crc_fail++; dev->cc110x_statistic.packets_in_crc_fail++;
#if defined(MODULE_OD) && ENABLE_DEBUG #if defined(MODULE_OD) && ENABLE_DEBUG
od_hex_dump(pkt_buf->packet.data, pkt_buf->packet.length - 3, od_hex_dump(pkt_buf->packet.data,
pkt_buf->packet.length - CC110X_L2_HDR_SIZE,
OD_WIDTH_DEFAULT); OD_WIDTH_DEFAULT);
#endif #endif
_rx_abort(dev); _rx_abort(dev);
...@@ -273,7 +274,8 @@ void cc110x_isr_handler(cc110x_t *dev, void(*callback)(void*), void*arg) ...@@ -273,7 +274,8 @@ void cc110x_isr_handler(cc110x_t *dev, void(*callback)(void*), void*arg)
int cc110x_send(cc110x_t *dev, cc110x_pkt_t *packet) int cc110x_send(cc110x_t *dev, cc110x_pkt_t *packet)
{ {
DEBUG("cc110x: snd pkt to %u payload_length=%u\n", DEBUG("cc110x: snd pkt to %u payload_length=%u\n",
(unsigned)packet->address, (unsigned)packet->length-3); (unsigned)packet->address,
(unsigned)packet->length - CC110X_L2_HDR_SIZE);
unsigned size; unsigned size;
switch (dev->radio_state) { switch (dev->radio_state) {
......
...@@ -45,6 +45,7 @@ extern "C" { ...@@ -45,6 +45,7 @@ extern "C" {
#define MAX_CHANNR (24) /**< Maximum channel number */ #define MAX_CHANNR (24) /**< Maximum channel number */
#define CC110X_PACKET_LENGTH (0xFF) /**< max packet length = 255b */ #define CC110X_PACKET_LENGTH (0xFF) /**< max packet length = 255b */
#define CC110X_L2_HDR_SIZE (3) /**< Layer 2 header size */
#define CC110X_SYNC_WORD_TX_TIME (90000) /**< loop count (max. timeout ~15ms) #define CC110X_SYNC_WORD_TX_TIME (90000) /**< loop count (max. timeout ~15ms)
to wait for sync word to be to wait for sync word to be
transmitted (GDO2 from low to transmitted (GDO2 from low to
......
...@@ -140,9 +140,10 @@ void gnrc_netif_ipv6_init_mtu(gnrc_netif_t *netif) ...@@ -140,9 +140,10 @@ void gnrc_netif_ipv6_init_mtu(gnrc_netif_t *netif)
switch (netif->device_type) { switch (netif->device_type) {
#if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_NRFMIN) || \ #if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_NRFMIN) || \
defined(MODULE_XBEE) || defined(MODULE_ESP_NOW) || \ defined(MODULE_XBEE) || defined(MODULE_ESP_NOW) || \
defined(MODULE_GNRC_SIXLOENC) defined(MODULE_GNRC_SIXLOENC) || defined(MODULE_CC110X)
case NETDEV_TYPE_IEEE802154: case NETDEV_TYPE_IEEE802154:
case NETDEV_TYPE_NRFMIN: case NETDEV_TYPE_NRFMIN:
case NETDEV_TYPE_CC110X:
#ifdef MODULE_GNRC_SIXLOWPAN_IPHC #ifdef MODULE_GNRC_SIXLOWPAN_IPHC
netif->flags |= GNRC_NETIF_FLAGS_6LO_HC; netif->flags |= GNRC_NETIF_FLAGS_6LO_HC;
#endif #endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment