Loading...
Searching...
No Matches
mrf24j40_internal.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2017 Neo Nenaco <neo@nenaco.de>
3 * Copyright (C) 2017 Koen Zandberg <koen@bergzand.net>
4 *
5 * This file is subject to the terms and conditions of the GNU Lesser
6 * General Public License v2.1. See the file LICENSE in the top level
7 * directory for more details.
8 */
9
21#ifndef MRF24J40_INTERNAL_H
22#define MRF24J40_INTERNAL_H
23
24#include <stdint.h>
25
26#include "mrf24j40.h"
27#include "kernel_defines.h"
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
41
50uint8_t mrf24j40_reg_read_short(mrf24j40_t *dev, const uint8_t addr);
51
59void mrf24j40_reg_write_short(mrf24j40_t *dev, const uint8_t addr, const uint8_t value);
60
69uint8_t mrf24j40_reg_read_long(mrf24j40_t *dev, const uint16_t addr);
70
78void mrf24j40_reg_write_long(mrf24j40_t *dev, const uint16_t addr, const uint8_t value);
79
88void mrf24j40_tx_normal_fifo_write(mrf24j40_t *dev, const uint16_t offset, const uint8_t *data, const size_t len);
89
98void mrf24j40_rx_fifo_read(mrf24j40_t *dev, const uint16_t offset, uint8_t *data, const size_t len);
99
106
113
120
126#if IS_ACTIVE(CONFIG_MRF24J40_USE_EXT_PA_LNA)
128#else
129static inline void mrf24j40_enable_auto_pa_lna(mrf24j40_t *dev) { (void) dev; }
130#endif
131
137#if IS_ACTIVE(CONFIG_MRF24J40_USE_EXT_PA_LNA)
139#else
140static inline void mrf24j40_disable_auto_pa_lna(mrf24j40_t *dev) { (void) dev; }
141#endif
142
148#if IS_ACTIVE(CONFIG_MRF24J40_USE_EXT_PA_LNA)
150#else
151static inline void mrf24j40_enable_lna(mrf24j40_t *dev) { (void) dev; }
152#endif
153
160
161#ifdef __cplusplus
162}
163#endif
164
165#endif /* MRF24J40_INTERNAL_H */
Common macros and compiler attributes/pragmas configuration.
Interface definition for MRF24J40 based drivers .
void mrf24j40_reg_write_long(mrf24j40_t *dev, const uint16_t addr, const uint8_t value)
Write to a register at address addr from device dev.
void mrf24j40_rx_fifo_read(mrf24j40_t *dev, const uint16_t offset, uint8_t *data, const size_t len)
Read a chunk of data from the RX_FIFO area of the given device.
void mrf24j40_reset_tasks(mrf24j40_t *dev)
Reset the pending task list of a device.
void mrf24j40_reg_write_short(mrf24j40_t *dev, const uint8_t addr, const uint8_t value)
Write to a register at address addr from device dev.
void mrf24j40_update_tasks(mrf24j40_t *dev)
Check for pending interrupts and update task list.
uint8_t mrf24j40_reg_read_short(mrf24j40_t *dev, const uint8_t addr)
Read from a register with a at address addr from device dev.
int mrf24j40_init_hw(mrf24j40_t *dev)
initialization as described in datasheet
static void mrf24j40_enable_auto_pa_lna(mrf24j40_t *dev)
Enable automatic External Power Amplifier & Low Noise Amplifier control.
static void mrf24j40_enable_lna(mrf24j40_t *dev)
Enable only the External Low Noise Amplifier.
uint8_t mrf24j40_reg_read_long(mrf24j40_t *dev, const uint16_t addr)
Read from a register with a at address addr from device dev.
void mrf24j40_tx_normal_fifo_write(mrf24j40_t *dev, const uint16_t offset, const uint8_t *data, const size_t len)
Write a chunk of data into the TX Normal FIFO area of the given device.
void mrf24j40_flush_rx(mrf24j40_t *dev)
Flush the RX FIFO.
static void mrf24j40_disable_auto_pa_lna(mrf24j40_t *dev)
Disable automatic External Power Amplifier & Low Noise Amplifier control.
void mrf24j40_hardware_reset(mrf24j40_t *dev)
Trigger a hardware reset.
Device descriptor for MRF24J40 radio devices.
Definition mrf24j40.h:166