Contiki-NG
nullradio.c
1#include "dev/nullradio.h"
2/*---------------------------------------------------------------------------*/
3/*
4 * The maximum number of bytes this driver can accept from the MAC layer for
5 * "transmission".
6 */
7#define MAX_PAYLOAD_LEN ((unsigned short) - 1)
8/*---------------------------------------------------------------------------*/
9static int
10init(void)
11{
12 return 0;
13}
14/*---------------------------------------------------------------------------*/
15static int
16prepare(const void *payload, unsigned short payload_len)
17{
18 return 1;
19}
20/*---------------------------------------------------------------------------*/
21static int
22transmit(unsigned short transmit_len)
23{
24 return RADIO_TX_OK;
25}
26/*---------------------------------------------------------------------------*/
27static int
28send(const void *payload, unsigned short payload_len)
29{
30 prepare(payload, payload_len);
31 return transmit(payload_len);
32}
33/*---------------------------------------------------------------------------*/
34static int
35radio_read(void *buf, unsigned short buf_len)
36{
37 return 0;
38}
39/*---------------------------------------------------------------------------*/
40static int
41channel_clear(void)
42{
43 return 1;
44}
45/*---------------------------------------------------------------------------*/
46static int
47receiving_packet(void)
48{
49 return 0;
50}
51/*---------------------------------------------------------------------------*/
52static int
53pending_packet(void)
54{
55 return 0;
56}
57/*---------------------------------------------------------------------------*/
58static int
59on(void)
60{
61 return 0;
62}
63/*---------------------------------------------------------------------------*/
64static int
65off(void)
66{
67 return 0;
68}
69/*---------------------------------------------------------------------------*/
70static radio_result_t
71get_value(radio_param_t param, radio_value_t *value)
72{
73 if(!value) {
75 }
76
77 switch(param) {
78 case RADIO_CONST_MAX_PAYLOAD_LEN:
79 *value = (radio_value_t)MAX_PAYLOAD_LEN;
80 return RADIO_RESULT_OK;
81 default:
83 }
84}
85/*---------------------------------------------------------------------------*/
86static radio_result_t
87set_value(radio_param_t param, radio_value_t value)
88{
90}
91/*---------------------------------------------------------------------------*/
92static radio_result_t
93get_object(radio_param_t param, void *dest, size_t size)
94{
96}
97/*---------------------------------------------------------------------------*/
98static radio_result_t
99set_object(radio_param_t param, const void *src, size_t size)
100{
102}
103/*---------------------------------------------------------------------------*/
104const struct radio_driver nullradio_driver =
105 {
106 init,
107 prepare,
108 transmit,
109 send,
110 radio_read,
114 on,
115 off,
116 get_value,
117 set_value,
120 };
121/*---------------------------------------------------------------------------*/
enum radio_result_e radio_result_t
Radio return values when setting or getting radio parameters.
int radio_value_t
Each radio has a set of parameters that designate the current configuration and state of the radio.
Definition: radio.h:88
@ RADIO_RESULT_NOT_SUPPORTED
The parameter is not supported.
Definition: radio.h:481
@ RADIO_RESULT_INVALID_VALUE
The value argument was incorrect.
Definition: radio.h:482
@ RADIO_RESULT_OK
The parameter was set/read successfully.
Definition: radio.h:480
@ RADIO_TX_OK
TX was successful and where an ACK was requested one was received.
Definition: radio.h:498
The structure of a Contiki-NG radio device driver.
Definition: radio.h:534
radio_result_t(* get_object)(radio_param_t param, void *dest, size_t size)
Get a radio parameter object.
Definition: radio.h:770
int(* prepare)(const void *payload, unsigned short payload_len)
Prepare the radio with a packet to be sent.
Definition: radio.h:580
radio_result_t(* set_value)(radio_param_t param, radio_value_t value)
Set a radio parameter value.
Definition: radio.h:756
int(* off)(void)
Turn the radio off.
Definition: radio.h:729
int(* init)(void)
Initialise the radio hardware.
Definition: radio.h:555
int(* send)(const void *payload, unsigned short payload_len)
Prepare & transmit a packet.
Definition: radio.h:631
int(* receiving_packet)(void)
Check if the radio driver is currently receiving a packet.
Definition: radio.h:684
radio_result_t(* set_object)(radio_param_t param, const void *src, size_t size)
Set a radio parameter object.
Definition: radio.h:787
int(* on)(void)
Turn the radio on.
Definition: radio.h:711
int(* transmit)(unsigned short transmit_len)
Send the packet that has previously been prepared.
Definition: radio.h:619
int(* pending_packet)(void)
Check if a packet has been received and is available in the radio driver's buffers.
Definition: radio.h:697
radio_result_t(* get_value)(radio_param_t param, radio_value_t *value)
Get a radio parameter value.
Definition: radio.h:741
int(* channel_clear)(void)
Perform a Clear-Channel Assessment (CCA) to find out if there is a packet in the air or not.
Definition: radio.h:672