A null RDC implementation that uses framer for headers.
#include "net/mac/mac-sequence.h"
#include "net/mac/nullrdc.h"
#include "net/packetbuf.h"
#include "net/queuebuf.h"
#include "net/netstack.h"
#include "net/rime/rimestats.h"
#include <string.h>
#include "net/mac/frame802154.h"
Macros | |
#define | _DEBUG_ 0 |
#define | ACK_LEN 3 |
#define | NULLRDC_802154_AUTOACK 0 |
#define | NULLRDC_802154_AUTOACK_HW 0 |
#define | NULLRDC_ADDRESS_FILTER 1 |
#define | NULLRDC_SEND_802154_ACK 0 |
#define | PRINTF(...) |
Functions | |
static unsigned short | channel_check_interval (void) |
static void | init (void) |
static int | off (int keep_radio_on) |
static int | on (void) |
static void | packet_input (void) |
static void | send_list (mac_callback_t sent, void *ptr, struct rdc_buf_list *buf_list) |
static int | send_one_packet (mac_callback_t sent, void *ptr) |
static void | send_packet (mac_callback_t sent, void *ptr) |
Variables | |
struct rdc_driver | nullrdc_driver |
#define _DEBUG_ 0 |
#define ACK_LEN 3 |
Referenced by packet_input(), and send_one_packet().
#define NULLRDC_802154_AUTOACK 0 |
#define NULLRDC_802154_AUTOACK_HW 0 |
#define NULLRDC_ADDRESS_FILTER 1 |
#define NULLRDC_SEND_802154_ACK 0 |
Referenced by packet_input().
#define PRINTF | ( | ... | ) |
Referenced by packet_input(), and send_one_packet().
|
static |
|
static |
References on().
|
static |
References NETSTACK_RADIO, radio_driver::off, and radio_driver::on.
|
static |
References NETSTACK_RADIO, and radio_driver::on.
Referenced by init().
|
static |
References ACK_LEN, frame802154_fcf_t::ack_required, frame802154_t::dest_addr, frame802154_t::fcf, FRAME802154_ACKFRAME, FRAME802154_DATAFRAME, frame802154_parse(), frame802154_fcf_t::frame_type, mac_driver::input, linkaddr_cmp(), linkaddr_node_addr, linkaddr_null, mac_sequence_is_duplicate(), mac_sequence_register_seqno(), NETSTACK_DECRYPT, NETSTACK_FRAMER, NETSTACK_MAC, NETSTACK_RADIO, NULLRDC_SEND_802154_ACK, packetbuf_addr(), PACKETBUF_ADDR_RECEIVER, packetbuf_attr(), PACKETBUF_ATTR_PACKET_ID, packetbuf_datalen(), packetbuf_dataptr(), framer::parse, PRINTF, radio_driver::send, and frame802154_t::seq.
|
static |
References rdc_buf_list::buf, rdc_buf_list::next, NULL, queuebuf_to_packetbuf(), and send_one_packet().
|
static |
References ACK_LEN, radio_driver::channel_clear, framer::create, len, linkaddr_cmp(), linkaddr_node_addr, linkaddr_null, mac_call_sent_callback(), MAC_TX_COLLISION, MAC_TX_ERR, MAC_TX_ERR_FATAL, MAC_TX_NOACK, MAC_TX_OK, NETSTACK_ENCRYPT, NETSTACK_FRAMER, NETSTACK_RADIO, packetbuf_addr(), PACKETBUF_ADDR_RECEIVER, PACKETBUF_ADDR_SENDER, PACKETBUF_ATTR_MAC_ACK, packetbuf_hdrptr(), packetbuf_set_addr(), packetbuf_set_attr(), packetbuf_totlen(), radio_driver::pending_packet, radio_driver::prepare, PRINTF, RADIO_TX_COLLISION, RADIO_TX_NOACK, RADIO_TX_OK, radio_driver::read, radio_driver::receiving_packet, ret, RIMESTATS_ADD, RTIMER_CLOCK_LT, RTIMER_NOW, radio_driver::send, radio_driver::transmit, and wdt_reset_count().
Referenced by send_list(), and send_packet().
|
static |
References send_one_packet().
struct rdc_driver nullrdc_driver |