Loading...
Searching...
No Matches
radiolib_riotos.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2026 Baptiste Le Duc <baptiste.leduc@etik.com>
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#include "periph/gpio.h"
23#include "periph/spi.h"
24
25#ifdef __cplusplus
26}
27#endif
28
29#ifdef __cplusplus
30
31# include "Hal.h"
32
33class PhysicalLayer;
34
42extern PhysicalLayer *radiolib_radio;
43
48class RiotHal : public RadioLibHal {
49public:
56 RiotHal(spi_t bus, spi_clk_t clk);
57
64 void pinMode(uint32_t pin, uint32_t mode) override;
65
72 void digitalWrite(uint32_t pin, uint32_t value) override;
73
81 uint32_t digitalRead(uint32_t pin) override;
82
90 void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override;
91
97 void detachInterrupt(uint32_t interruptNum) override;
98
104 void delay(RadioLibTime_t ms) override;
105
111 void delayMicroseconds(RadioLibTime_t us) override;
112
121 RadioLibTime_t millis() override;
122
131 RadioLibTime_t micros() override;
132
142 long pulseIn(uint32_t pin, uint32_t state, RadioLibTime_t timeout) override;
143
147 void spiBegin() override;
148
152 void spiBeginTransaction() override;
153
161 void spiTransfer(uint8_t *out, size_t len, uint8_t *in) override;
162
166 void spiEndTransaction() override;
167
171 void spiEnd() override;
172
173private:
174 spi_t _bus;
175 spi_clk_t _clk;
176};
177
178#endif /* __cplusplus */
179
spi_clk_t
Definition periph_cpu.h:348
Low-level GPIO peripheral driver interface definitions.
void delayMicroseconds(unsigned long usec)
Sleep for a given amount of time [microseconds].
void delay(unsigned long msec)
Sleep for a given amount of time [milliseconds].
unsigned long millis()
Returns the number of milliseconds since start.
unsigned long micros()
Returns the number of microseconds since start.
void pinMode(int pin, int mode)
Configure a pin as either input or output.
void digitalWrite(int pin, int state)
Set the value for the given pin.
int digitalRead(int pin)
Read the current state of the given pin.
Low-level SPI peripheral driver interface definition.