mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-25 14:33:52 +01:00
Fix errors in at86RF231 driver
This commit is contained in:
parent
5566734575
commit
eeee32363e
@ -76,7 +76,7 @@ uint16_t at86rf231_set_address(uint16_t address)
|
||||
{
|
||||
radio_address = address;
|
||||
|
||||
at86rf231_reg_write(AT86RF231_REG__SHORT_ADDR_0, (uint8_t)(0x0F & radio_address));
|
||||
at86rf231_reg_write(AT86RF231_REG__SHORT_ADDR_0, (uint8_t)(0x00FF & radio_address));
|
||||
at86rf231_reg_write(AT86RF231_REG__SHORT_ADDR_1, (uint8_t)(radio_address >> 8));
|
||||
|
||||
return radio_address;
|
||||
@ -91,14 +91,14 @@ uint64_t at86rf231_set_address_long(uint64_t address)
|
||||
{
|
||||
radio_address_long = address;
|
||||
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_0, (uint8_t)(0x0F & radio_address));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_1, (uint8_t)(radio_address >> 8));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_2, (uint8_t)(radio_address >> 16));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_3, (uint8_t)(radio_address >> 24));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_4, (uint8_t)(radio_address >> 32));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_5, (uint8_t)(radio_address >> 40));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_6, (uint8_t)(radio_address >> 48));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_7, (uint8_t)(radio_address >> 56));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_0, (uint8_t)(0x00000000000000FF & radio_address_long));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_1, (uint8_t)(0x000000000000FF00 & radio_address_long >> 8));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_2, (uint8_t)(0x0000000000FF0000 & radio_address_long >> 16));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_3, (uint8_t)(0x00000000FF000000 & radio_address_long >> 24));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_4, (uint8_t)(0x000000FF00000000 & radio_address_long >> 32));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_5, (uint8_t)(0x0000FF0000000000 & radio_address_long >> 40));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_6, (uint8_t)(0x00FF000000000000 & radio_address_long >> 48));
|
||||
at86rf231_reg_write(AT86RF231_REG__IEEE_ADDR_7, (uint8_t)(radio_address_long >> 56));
|
||||
|
||||
return radio_address_long;
|
||||
}
|
||||
@ -112,7 +112,7 @@ uint16_t at86rf231_set_pan(uint16_t pan)
|
||||
{
|
||||
radio_pan = pan;
|
||||
|
||||
at86rf231_reg_write(AT86RF231_REG__PAN_ID_0, (uint8_t)(0x0F & radio_pan));
|
||||
at86rf231_reg_write(AT86RF231_REG__PAN_ID_0, (uint8_t)(0x00FF & radio_pan));
|
||||
at86rf231_reg_write(AT86RF231_REG__PAN_ID_1, (uint8_t)(radio_pan >> 8));
|
||||
|
||||
return radio_pan;
|
||||
@ -125,6 +125,7 @@ uint16_t at86rf231_get_pan(void)
|
||||
|
||||
uint8_t at86rf231_set_channel(uint8_t channel)
|
||||
{
|
||||
uint8_t cca_state;
|
||||
radio_channel = channel;
|
||||
|
||||
if (channel < RF86RF231_MIN_CHANNEL ||
|
||||
@ -132,7 +133,8 @@ uint8_t at86rf231_set_channel(uint8_t channel)
|
||||
radio_channel = RF86RF231_MAX_CHANNEL;
|
||||
}
|
||||
|
||||
at86rf231_reg_write(AT86RF231_REG__PHY_CC_CCA, AT86RF231_PHY_CC_CCA_DEFAULT__CCA_MODE | radio_channel);
|
||||
cca_state = at86rf231_reg_read(AT86RF231_REG__PHY_CC_CCA);
|
||||
at86rf231_reg_write(AT86RF231_REG__PHY_CC_CCA, cca_state | (radio_channel & AT86RF231_PHY_CC_CCA_MASK__CHANNEL));
|
||||
|
||||
return radio_channel;
|
||||
}
|
||||
@ -140,11 +142,11 @@ uint8_t at86rf231_set_channel(uint8_t channel)
|
||||
uint8_t at86rf231_get_channel(void)
|
||||
{
|
||||
return radio_channel;
|
||||
//return at86rf231_reg_read(AT86RF231_REG__PHY_CC_CCA) & 0x0F;
|
||||
}
|
||||
|
||||
void at86rf231_set_monitor(uint8_t mode)
|
||||
{
|
||||
(void) mode;
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
||||
@ -6,7 +6,9 @@
|
||||
|
||||
#include "ieee802154_frame.h"
|
||||
|
||||
#include "at86rf231_arch.h"
|
||||
#include "at86rf231_settings.h"
|
||||
#include "at86rf231_spi.h"
|
||||
|
||||
#define AT86RF231_MAX_PKT_LENGTH 127
|
||||
#define AT86RF231_MAX_DATA_LENGTH 118
|
||||
|
||||
@ -3,6 +3,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "vtimer.h"
|
||||
|
||||
void at86rf231_gpio_spi_interrupts_init(void);
|
||||
|
||||
void at86rf231_reset(void);
|
||||
|
||||
@ -6,4 +6,7 @@
|
||||
uint8_t at86rf231_reg_read(uint8_t addr);
|
||||
void at86rf231_reg_write(uint8_t addr, uint8_t value);
|
||||
|
||||
void at86rf231_read_fifo(uint8_t *data, uint8_t length);
|
||||
void at86rf231_write_fifo(const uint8_t *data, uint8_t length);
|
||||
|
||||
#endif
|
||||
|
||||
@ -55,6 +55,7 @@
|
||||
|
||||
#ifdef MODULE_AT86RF231
|
||||
#include "at86rf231.h"
|
||||
#include "at86rf231_arch.h"
|
||||
#endif
|
||||
|
||||
#define ENABLE_DEBUG (0)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user