1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-28 07:51:19 +01:00

Fix at86rf231 driver

This commit is contained in:
Martin Lenders 2014-02-20 14:35:46 +01:00
parent bc66ba8439
commit f28054d844
4 changed files with 12 additions and 28 deletions

View File

@ -165,11 +165,3 @@ void at86rf231_set_monitor(uint8_t mode)
(void) mode;
// TODO
}
void at86rf231_swap_fcf_bytes(uint8_t *buf)
{
uint8_t tmp;
tmp = buf[1];
buf[1] = buf[2];
buf[2] = tmp;
}

View File

@ -22,8 +22,6 @@ void at86rf231_rx_handler(void)
uint8_t *buf = buffer[rx_buffer_next];
at86rf231_read_fifo(buf, at86rf231_rx_buffer[rx_buffer_next].length);
at86rf231_swap_fcf_bytes(buf);
// read lqi which is appended after the psdu
lqi = buf[at86rf231_rx_buffer[rx_buffer_next].length - 1];
@ -43,7 +41,7 @@ void at86rf231_rx_handler(void)
}
ieee802154_frame_read(&buf[1], &at86rf231_rx_buffer[rx_buffer_next].frame,
at86rf231_rx_buffer[rx_buffer_next].length - 2);
at86rf231_rx_buffer[rx_buffer_next].length);
if (at86rf231_rx_buffer[rx_buffer_next].frame.fcf.frame_type != 2) {
#ifdef ENABLE_DEBUG

View File

@ -19,18 +19,18 @@ int16_t at86rf231_send(at86rf231_packet_t *packet)
}
if (packet->frame.fcf.src_addr_m == 2) {
packet->frame.src_addr[1] = (uint8_t)(at86rf231_get_address() >> 8);
packet->frame.src_addr[0] = (uint8_t)(at86rf231_get_address() & 0xFF);
packet->frame.src_addr[0] = (uint8_t)(at86rf231_get_address() >> 8);
packet->frame.src_addr[1] = (uint8_t)(at86rf231_get_address() & 0xFF);
}
else if (packet->frame.fcf.src_addr_m == 3) {
packet->frame.src_addr[7] = (uint8_t)(at86rf231_get_address_long() >> 56);
packet->frame.src_addr[6] = (uint8_t)(at86rf231_get_address_long() >> 48);
packet->frame.src_addr[5] = (uint8_t)(at86rf231_get_address_long() >> 40);
packet->frame.src_addr[4] = (uint8_t)(at86rf231_get_address_long() >> 32);
packet->frame.src_addr[3] = (uint8_t)(at86rf231_get_address_long() >> 24);
packet->frame.src_addr[2] = (uint8_t)(at86rf231_get_address_long() >> 16);
packet->frame.src_addr[1] = (uint8_t)(at86rf231_get_address_long() >> 8);
packet->frame.src_addr[0] = (uint8_t)(at86rf231_get_address_long() & 0xFF);
packet->frame.src_addr[0] = (uint8_t)(at86rf231_get_address_long() >> 56);
packet->frame.src_addr[1] = (uint8_t)(at86rf231_get_address_long() >> 48);
packet->frame.src_addr[2] = (uint8_t)(at86rf231_get_address_long() >> 40);
packet->frame.src_addr[3] = (uint8_t)(at86rf231_get_address_long() >> 32);
packet->frame.src_addr[4] = (uint8_t)(at86rf231_get_address_long() >> 24);
packet->frame.src_addr[5] = (uint8_t)(at86rf231_get_address_long() >> 16);
packet->frame.src_addr[6] = (uint8_t)(at86rf231_get_address_long() >> 8);
packet->frame.src_addr[7] = (uint8_t)(at86rf231_get_address_long() & 0xFF);
}
packet->frame.src_pan_id = at86rf231_get_pan();
@ -101,9 +101,7 @@ static void at86rf231_gen_pkt(uint8_t *buf, at86rf231_packet_t *packet)
offset = index;
while (index < packet->length) {
buf[index] = packet->frame.payload[index - offset + 1];
buf[index] = packet->frame.payload[index - offset];
index += 1;
}
at86rf231_swap_fcf_bytes(buf);
}

View File

@ -51,10 +51,6 @@ uint64_t at86rf231_set_address_long(uint64_t address);
void at86rf231_set_monitor(uint8_t mode);
void at86rf231_swap_fcf_bytes(uint8_t *buf);
enum {
RF86RF231_MAX_TX_LENGTH = 125,
RF86RF231_MAX_RX_LENGTH = 127,