Loading...
Searching...
No Matches
kw41zrf.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 SKF AB
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5#pragma once
6
18
19#include <stdint.h>
20
21#include "mutex.h"
22#include "board.h"
23#include "net/netdev.h"
25#include "net/gnrc/nettype.h"
26#include "net/ieee802154/radio.h"
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
35#define KW41ZRF_MAX_PKT_LENGTH (IEEE802154_FRAME_LEN_MAX)
36
45#ifndef KW41ZRF_DEFAULT_CHANNEL
46# define KW41ZRF_DEFAULT_CHANNEL (CONFIG_IEEE802154_DEFAULT_CHANNEL)
47#endif
48
52#ifndef KW41ZRF_DEFAULT_CCA_THRESHOLD
53# define KW41ZRF_DEFAULT_CCA_THRESHOLD (-60)
54#endif
55
59#ifndef KW41ZRF_DEFAULT_LQI_COMPENSATION
60# define KW41ZRF_DEFAULT_LQI_COMPENSATION (102)
61#endif
63
69#define KW41ZRF_MIN_CHANNEL (11U)
70#define KW41ZRF_MAX_CHANNEL (26U)
72
76#define KW41ZRF_DEFAULT_TX_POWER (CONFIG_IEEE802154_DEFAULT_TXPOWER)
77
81#define KW41ZRF_OUTPUT_POWER_MAX (4)
82
86#define KW41ZRF_OUTPUT_POWER_MIN (-19)
87
91#define KW41ZRF_CCATYPE_MODE1 (1U)
92#define KW41ZRF_CCATYPE_MODE2 (2U)
93#define KW41ZRF_CCATYPE_MODE3 (3U)
94
98#define KW41ZRF_MAX_BOOT_RETRIES (9)
99
103typedef void (*kw41zrf_cb_t)(void *arg);
104
123
132
139int kw41zrf_init(void);
140
148
153
158
163
164#ifdef __cplusplus
165}
166#endif
167
Definitions for netdev common IEEE 802.15.4 code.
Definitions low-level network driver interface.
struct ieee802154_dev ieee802154_dev_t
Forward declaration of the IEEE802.15.4 device descriptor.
Definition radio.h:414
ieee802154_tx_status_t
Transmission status.
Definition radio.h:189
ieee802154_filter_mode_t
Frame Filter mode.
Definition radio.h:353
int kw41zrf_init(void)
Initialize the given KW41ZRF device.
void kw41zrf_hal_setup(ieee802154_dev_t *hal)
Setup KW41Z in order to be used with the IEEE 802.15.4 Radio HAL.
void kw41zrf_print_phy_ctrl(void)
Print ZLL PHY_CTRL register state.
void kw41zrf_print_seq_ctrl_sts(void)
Print ZLL SEQ_CTRL_STS register state.
void kw41zrf_print_irq_state(void)
Print ZLL IRQSTS register state.
int kw41zrf_reset_hardware(kw41zrf_t *dev)
Reset radio hardware and restore default settings.
void(* kw41zrf_cb_t)(void *arg)
ISR callback function type.
Definition kw41zrf.h:103
Mutex for thread synchronization.
Protocol type definitions.
Device descriptor for KW41ZRF radio devices.
Definition kw41zrf.h:110
ieee802154_tx_status_t tx_status
Status of a transmission.
Definition kw41zrf.h:119
int16_t tx_power
The current tx-power setting of the device.
Definition kw41zrf.h:116
ieee802154_filter_mode_t filter_mode
Current frame filter mode.
Definition kw41zrf.h:117
uint8_t cca_busy
CCA busy flag.
Definition kw41zrf.h:118
uint32_t rf_osc_en_idle
RF_OSC_EN bits setting when RF module is in standby.
Definition kw41zrf.h:115
uint8_t pm_blocked
true if we have blocked a low power mode in the CPU
Definition kw41zrf.h:120