40 #include "adf7023-contiki.h"
43 #define ADF7023_MAX_PACKET_SIZE 255
45 static unsigned char tx_buf[ADF7023_MAX_PACKET_SIZE];
46 static unsigned char rx_buf[ADF7023_MAX_PACKET_SIZE];
52 return RADIO_RESULT_NOT_SUPPORTED;
58 return RADIO_RESULT_NOT_SUPPORTED;
62 get_object(radio_param_t param,
void *dest,
size_t size)
64 return RADIO_RESULT_NOT_SUPPORTED;
68 set_object(radio_param_t param,
const void *src,
size_t size)
70 return RADIO_RESULT_NOT_SUPPORTED;
78 .prepare = adf7023_prepare,
81 .transmit = adf7023_transmit,
91 .channel_clear = adf7023_channel_clear,
94 .receiving_packet = adf7023_receiving_packet,
97 .pending_packet = adf7023_pending_packet,
118 adf7023_prepare(
const void *payload,
unsigned short payload_len)
121 memcpy(tx_buf, payload, (payload_len <=
sizeof(tx_buf)) ? payload_len :
sizeof(tx_buf));
125 adf7023_transmit(
unsigned short transmit_len)
130 ADF7023_TransmitPacket(tx_buf, transmit_len);
137 adf7023_send(
const void *payload,
unsigned short payload_len)
142 ADF7023_TransmitPacket((
void *)payload, payload_len);
149 adf7023_read(
void *buf,
unsigned short buf_len)
151 unsigned char num_bytes;
155 ADF7023_ReceivePacket(rx_buf, &num_bytes);
158 memcpy(buf, rx_buf, (num_bytes <= buf_len) ? num_bytes : buf_len);
162 adf7023_channel_clear(
void)
168 adf7023_receiving_packet(
void)
174 adf7023_pending_packet(
void)
177 return ADF7023_ReceivePacketAvailable();
The structure of a device driver for a radio in Contiki.
int radio_value_t
Each radio has a set of parameters that designate the current configuration and state of the radio...
radio_result_t(* get_value)(radio_param_t param, radio_value_t *value)
Get a radio parameter value.
radio_result_t(* get_object)(radio_param_t param, void *dest, size_t size)
Get a radio parameter object.
radio_result_t(* set_object)(radio_param_t param, const void *src, size_t size)
Set a radio parameter object.
radio_result_t(* set_value)(radio_param_t param, radio_value_t value)
Set a radio parameter value.