diff --git a/_arduino_hal_8h_source.html b/_arduino_hal_8h_source.html
index e17f17ac..025b2d70 100644
--- a/_arduino_hal_8h_source.html
+++ b/_arduino_hal_8h_source.html
@@ -122,7 +122,7 @@ $(document).ready(function(){initNavTree('_arduino_hal_8h_source.html',''); init
47 long pulseIn(uint32_t pin, uint32_t state,
unsigned long timeout)
override;
-
+ 50 void spiTransfer(uint8_t* out,
size_t len, uint8_t* in)
override;
@@ -155,7 +155,6 @@ $(document).ready(function(){initNavTree('_arduino_hal_8h_source.html',''); init
virtual uint32_t digitalRead(uint32_t pin)=0
Digital read method. Must be implemented by the platform-specific hardware abstraction!
-virtual uint8_t spiTransfer(uint8_t b)=0
Method to transfer one byte over SPI.
virtual void yield()
Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads...
Definition: Hal.cpp:29
virtual unsigned long millis()=0
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstrac...
virtual void detachInterrupt(uint32_t interruptNum)=0
Method to detach function from an external interrupt. Must be implemented by the platform-specific ha...
@@ -172,6 +171,7 @@ $(document).ready(function(){initNavTree('_arduino_hal_8h_source.html',''); init
virtual void tone(uint32_t pin, unsigned int frequency, unsigned long duration=0)
Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin.
Definition: Hal.cpp:19
virtual void spiBeginTransaction()=0
Method to start SPI transaction.
virtual void delayMicroseconds(unsigned long us)=0
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction...
+virtual void spiTransfer(uint8_t *out, size_t len, uint8_t *in)=0
Method to transfer buffer over SPI.
virtual unsigned long micros()=0
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstrac...
virtual void pinMode(uint32_t pin, uint32_t mode)=0
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific h...
virtual void attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode)=0
Method to attach function to an external interrupt. Must be implemented by the platform-specific hard...
diff --git a/_hal_8h_source.html b/_hal_8h_source.html
index d697fbee..25a88994 100644
--- a/_hal_8h_source.html
+++ b/_hal_8h_source.html
@@ -138,33 +138,32 @@ $(document).ready(function(){initNavTree('_hal_8h_source.html',''); initResizabl
-
-
-
-
-
-
-
-
-
-
-
-
-
- 188 virtual void tone(uint32_t pin,
unsigned int frequency,
unsigned long duration = 0);
-
- 194 virtual void noTone(uint32_t pin);
-
- 199 virtual void yield();
-
-
-
-
-
+ 154 virtual void spiTransfer(uint8_t* out,
size_t len, uint8_t* in) = 0;
+
+
+
+
+
+
+
+
+
+
+
+
+ 189 virtual void tone(uint32_t pin,
unsigned int frequency,
unsigned long duration = 0);
+
+ 195 virtual void noTone(uint32_t pin);
+
+ 200 virtual void yield();
+
+
+
+
+
const uint32_t GpioInterruptFalling
Value to be used as the "falling" GPIO level change direction.
Definition: Hal.h:45
virtual uint32_t digitalRead(uint32_t pin)=0
Digital read method. Must be implemented by the platform-specific hardware abstraction!
-virtual uint8_t spiTransfer(uint8_t b)=0
Method to transfer one byte over SPI.
const uint32_t GpioModeOutput
Value to be used as the "output" GPIO direction.
Definition: Hal.h:25
virtual void yield()
Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads...
Definition: Hal.cpp:29
virtual unsigned long millis()=0
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstrac...
@@ -187,6 +186,7 @@ $(document).ready(function(){initNavTree('_hal_8h_source.html',''); initResizabl
virtual void spiBeginTransaction()=0
Method to start SPI transaction.
virtual void delayMicroseconds(unsigned long us)=0
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction...
RadioLibHal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling)
Default constructor.
Definition: Hal.cpp:3
+virtual void spiTransfer(uint8_t *out, size_t len, uint8_t *in)=0
Method to transfer buffer over SPI.
virtual unsigned long micros()=0
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstrac...
virtual void pinMode(uint32_t pin, uint32_t mode)=0
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific h...
virtual void attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode)=0
Method to attach function to an external interrupt. Must be implemented by the platform-specific hard...
diff --git a/_module_8h_source.html b/_module_8h_source.html
index 5a9a8db6..569f0efa 100644
--- a/_module_8h_source.html
+++ b/_module_8h_source.html
@@ -256,21 +256,21 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
RadioLibHal * hal
Hardware abstraction layer to be used.
Definition: Module.h:122
void term()
Terminate low-level module control.
Definition: Module.cpp:49
uint8_t SPInopCommand
Basic SPI no-operation command. Defaults to 0x00.
Definition: Module.h:137
-void waitForMicroseconds(uint32_t start, uint32_t len)
Wait for time to elapse, either using the microsecond timer, or the TimerFlag. Note that in interrupt...
Definition: Module.cpp:365
-static uint32_t reflect(uint32_t in, uint8_t bits)
Function to reflect bits within a byte.
Definition: Module.cpp:383
+void waitForMicroseconds(uint32_t start, uint32_t len)
Wait for time to elapse, either using the microsecond timer, or the TimerFlag. Note that in interrupt...
Definition: Module.cpp:376
+static uint32_t reflect(uint32_t in, uint8_t bits)
Function to reflect bits within a byte.
Definition: Module.cpp:394
Module & operator=(const Module &mod)
Overload for assignment operator.
Definition: Module.cpp:33
uint32_t getGpio() const
Access method to get the pin number of second interrupt/GPIO.
Definition: Module.h:355
-const RfSwitchMode_t * findRfSwitchMode(uint8_t mode) const
Find a mode in the RfSwitchTable.
Definition: Module.cpp:498
+const RfSwitchMode_t * findRfSwitchMode(uint8_t mode) const
Find a mode in the RfSwitchTable.
Definition: Module.cpp:509
OpMode_t
Definition: Module.h:61
@ MODE_TX
Definition: Module.h:71
@ MODE_IDLE
Definition: Module.h:67
@ MODE_RX
Definition: Module.h:69
@ MODE_END_OF_TABLE
Definition: Module.h:65
-int16_t SPIcheckStream()
Method to check the result of last SPI stream transfer.
Definition: Module.cpp:224
+int16_t SPIcheckStream()
Method to check the result of last SPI stream transfer.
Definition: Module.cpp:236
int16_t SPIstreamError
The last recorded SPI stream error.
Definition: Module.h:158
-int16_t SPIwriteStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a write transaction with SPI stream.
Definition: Module.cpp:207
+int16_t SPIwriteStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a write transaction with SPI stream.
Definition: Module.cpp:219
void SPItransfer(uint8_t cmd, uint16_t reg, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes)
SPI single transfer method.
Definition: Module.cpp:141
-void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:475
+void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:486
Module(RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC)
Module constructor.
Definition: Module.cpp:25
uint8_t SPIreadCommand
Basic SPI read command. Defaults to 0x00.
Definition: Module.h:127
void SPIreadRegisterBurst(uint16_t reg, size_t numBytes, uint8_t *inBytes)
SPI burst read method.
Definition: Module.cpp:103
@@ -278,18 +278,18 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
uint8_t SPIreadRegister(uint16_t reg)
SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be use...
Definition: Module.cpp:112
uint32_t getCs() const
Access method to get the pin number of SPI chip select.
Definition: Module.h:337
uint32_t getIrq() const
Access method to get the pin number of interrupt/GPIO.
Definition: Module.h:343
-int16_t SPIreadStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a read transaction with SPI stream.
Definition: Module.cpp:190
-void regdump(uint16_t start, size_t len)
Function to dump device registers as hex into the debug port.
Definition: Module.cpp:436
+int16_t SPIreadStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a read transaction with SPI stream.
Definition: Module.cpp:202
+void regdump(uint16_t start, size_t len)
Function to dump device registers as hex into the debug port.
Definition: Module.cpp:447
uint8_t SPIaddrWidth
SPI address width. Defaults to 8, currently only supports 8 and 16-bit addresses.
Definition: Module.h:147
-void setRfSwitchTable(const uint32_t(&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:491
-int16_t SPItransferStream(uint8_t *cmd, uint8_t cmdLen, bool write, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes, bool waitForGpio, uint32_t timeout)
SPI single transfer method for modules with stream-type SPI interface (SX126x, SX128x etc....
Definition: Module.cpp:243
-static void hexdump(uint8_t *data, size_t len, uint32_t offset=0, uint8_t width=1, bool be=false)
Function to dump data as hex into the debug port.
Definition: Module.cpp:391
+void setRfSwitchTable(const uint32_t(&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:502
+int16_t SPItransferStream(uint8_t *cmd, uint8_t cmdLen, bool write, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes, bool waitForGpio, uint32_t timeout)
SPI single transfer method for modules with stream-type SPI interface (SX126x, SX128x etc....
Definition: Module.cpp:255
+static void hexdump(uint8_t *data, size_t len, uint32_t offset=0, uint8_t width=1, bool be=false)
Function to dump data as hex into the debug port.
Definition: Module.cpp:402
void init()
Initialize low-level module control.
Definition: Module.cpp:43
uint32_t getRst() const
Access method to get the pin number of hardware reset pin.
Definition: Module.h:349
uint8_t SPIwriteCommand
Basic SPI write command. Defaults to 0x80.
Definition: Module.h:132
void SPIwriteRegisterBurst(uint16_t reg, uint8_t *data, size_t numBytes)
SPI burst write method.
Definition: Module.cpp:123
SPIparseStatusCb_t SPIparseStatusCb
Callback to function that will parse the module-specific status codes to RadioLib status codes....
Definition: Module.h:169
-void setRfSwitchState(uint8_t mode)
Set RF switch state.
Definition: Module.cpp:508
+void setRfSwitchState(uint8_t mode)
Set RF switch state.
Definition: Module.cpp:519
#define RADIOLIB_ERR_UNKNOWN
There was an unexpected, unknown error. If you see this, something went incredibly wrong....
Definition: TypeDef.h:110
diff --git a/class_radio_lib_hal-members.html b/class_radio_lib_hal-members.html
index c744e2f1..7e356297 100644
--- a/class_radio_lib_hal-members.html
+++ b/class_radio_lib_hal-members.html
@@ -113,7 +113,7 @@ $(document).ready(function(){initNavTree('class_radio_lib_hal.html',''); initRes
spiBeginTransaction()=0 | RadioLibHal | pure virtual |
spiEnd()=0 | RadioLibHal | pure virtual |
spiEndTransaction()=0 | RadioLibHal | pure virtual |
- spiTransfer(uint8_t b)=0 | RadioLibHal | pure virtual |
+ spiTransfer(uint8_t *out, size_t len, uint8_t *in)=0 | RadioLibHal | pure virtual |
term() | RadioLibHal | virtual |
tone(uint32_t pin, unsigned int frequency, unsigned long duration=0) | RadioLibHal | virtual |
yield() | RadioLibHal | virtual |
diff --git a/class_radio_lib_hal.html b/class_radio_lib_hal.html
index 7e17bd17..efcd96e8 100644
--- a/class_radio_lib_hal.html
+++ b/class_radio_lib_hal.html
@@ -134,9 +134,9 @@ virtual void | spiBeginTransaction ()=0 |
| Method to start SPI transaction.
|
|
-virtual uint8_t | spiTransfer (uint8_t b)=0 |
- | Method to transfer one byte over SPI. More...
|
- |
+virtual void | spiTransfer (uint8_t *out, size_t len, uint8_t *in)=0 |
+ | Method to transfer buffer over SPI. More...
|
+ |
virtual void | spiEndTransaction ()=0 |
| Method to end SPI transaction.
|
@@ -718,8 +718,8 @@ const uint32_t
-
-◆ spiTransfer()
+
+◆ spiTransfer()
@@ -728,11 +728,27 @@ const uint32_t |
- virtual uint8_t RadioLibHal::spiTransfer |
+ virtual void RadioLibHal::spiTransfer |
( |
- uint8_t |
- b | ) |
+ uint8_t * |
+ out, |
+
+
+ |
|
+ size_t |
+ len, |
+
+
+ |
+ |
+ uint8_t * |
+ in |
+
+
+ |
+ ) |
+ | |
|
@@ -742,14 +758,15 @@ const uint32_t
- Method to transfer one byte over SPI.
+ Method to transfer buffer over SPI.
- Parameters
-
- b | Byte to send. |
+ out | Buffer to send. |
+ len | Number of data to send or receive. |
+ in | Buffer to save received data into. |
- - Returns
- Received byte.
diff --git a/class_radio_lib_hal.js b/class_radio_lib_hal.js
index eef8b434..d5ce14b4 100644
--- a/class_radio_lib_hal.js
+++ b/class_radio_lib_hal.js
@@ -18,7 +18,7 @@ var class_radio_lib_hal =
[ "spiBeginTransaction", "class_radio_lib_hal.html#abe787d5e556190eef2c63e1581235460", null ],
[ "spiEnd", "class_radio_lib_hal.html#a41c85e560155d644f5b4ce8444dd8b64", null ],
[ "spiEndTransaction", "class_radio_lib_hal.html#a68d9271c76f8c96afb734a4634bf92e9", null ],
- [ "spiTransfer", "class_radio_lib_hal.html#a12facb08577402e50c91c75ca7dd560f", null ],
+ [ "spiTransfer", "class_radio_lib_hal.html#aebcaaf0cefdaaf5b572d4261e472ac8a", null ],
[ "term", "class_radio_lib_hal.html#aa4f2bd49aea5a19aa9f85c720b4a883e", null ],
[ "tone", "class_radio_lib_hal.html#ab4cc3bef7109f00b77b95e84511b0bb9", null ],
[ "yield", "class_radio_lib_hal.html#a1bd9d614f66b374ec820ce31b167fdb2", null ],
diff --git a/functions_func_s.html b/functions_func_s.html
index ef9b73d3..993257a4 100644
--- a/functions_func_s.html
+++ b/functions_func_s.html
@@ -542,7 +542,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html',''); initResiza
: Module
spiTransfer()
-: RadioLibHal
+: RadioLibHal
SPItransferStream()
: Module
diff --git a/functions_s.html b/functions_s.html
index 291d3b35..318e4d88 100644
--- a/functions_s.html
+++ b/functions_s.html
@@ -575,7 +575,7 @@ $(document).ready(function(){initNavTree('functions_s.html',''); initResizable()
: Module
spiTransfer()
-: RadioLibHal
+: RadioLibHal
SPItransferStream()
: Module
diff --git a/navtreeindex1.js b/navtreeindex1.js
index 4626934d..c853e9f2 100644
--- a/navtreeindex1.js
+++ b/navtreeindex1.js
@@ -198,7 +198,6 @@ var NAVTREEINDEX1 =
"class_radio_lib_hal.html":[3,0,24],
"class_radio_lib_hal.html#a01f73b66a632fc9dba41a23f592e0936":[3,0,24,22],
"class_radio_lib_hal.html#a0c7c2dffd662cefca7bf11e14c56dab2":[3,0,24,5],
-"class_radio_lib_hal.html#a12facb08577402e50c91c75ca7dd560f":[3,0,24,18],
"class_radio_lib_hal.html#a18a711dd900a796ccfd7dddbdd2e6afe":[3,0,24,27],
"class_radio_lib_hal.html#a1bd9d614f66b374ec820ce31b167fdb2":[3,0,24,21],
"class_radio_lib_hal.html#a2bc5dbf7c13e6031fb9892075755a023":[3,0,24,9],
@@ -221,6 +220,7 @@ var NAVTREEINDEX1 =
"class_radio_lib_hal.html#abe787d5e556190eef2c63e1581235460":[3,0,24,15],
"class_radio_lib_hal.html#ad49128a75a3d7abdc68baa302955f3ac":[3,0,24,3],
"class_radio_lib_hal.html#ae75a54271cb8bea37d32dd146b9c6513":[3,0,24,0],
+"class_radio_lib_hal.html#aebcaaf0cefdaaf5b572d4261e472ac8a":[3,0,24,18],
"class_radio_lib_hal.html#aedf55424bc4aa28379b6f4f6b04151d3":[3,0,24,8],
"class_radio_lib_hal.html#af01b4e5e01352b99ce4329c9f9f8433b":[3,0,24,11],
"class_radio_lib_hal.html#af142f747becacd1e3e13503f79fd5ebe":[3,0,24,1],
diff --git a/navtreeindex4.js b/navtreeindex4.js
index a7191858..e5392f4a 100644
--- a/navtreeindex4.js
+++ b/navtreeindex4.js
@@ -128,8 +128,8 @@ var NAVTREEINDEX4 =
"group__status__codes.html#gafbc04b924d23cba05307e94972d7d607":[2,4,5],
"group__status__codes.html#gafeff72bd7b618959d86b804a11f09063":[2,4,1],
"hierarchy.html":[3,2],
-"index.html":[0],
"index.html":[],
+"index.html":[0],
"modules.html":[2],
"n_r_f24_8h_source.html":[4,0,0,0,2,0],
"pages.html":[],
diff --git a/search/all_f.js b/search/all_f.js
index ffbb9475..cceb803a 100644
--- a/search/all_f.js
+++ b/search/all_f.js
@@ -108,7 +108,7 @@ var searchData=
['spistatuscommand_367',['SPIstatusCommand',['../class_module.html#a06d8d4257c584b57a529fcc405d87c79',1,'Module']]],
['spistreamerror_368',['SPIstreamError',['../class_module.html#a66b06e69d57b97116bed1c6f185381f1',1,'Module']]],
['spistreamtype_369',['SPIstreamType',['../class_module.html#a34927454be3a34df8a5a586c46c428af',1,'Module']]],
- ['spitransfer_370',['spiTransfer',['../class_radio_lib_hal.html#a12facb08577402e50c91c75ca7dd560f',1,'RadioLibHal']]],
+ ['spitransfer_370',['spiTransfer',['../class_radio_lib_hal.html#aebcaaf0cefdaaf5b572d4261e472ac8a',1,'RadioLibHal']]],
['spitransfer_371',['SPItransfer',['../class_module.html#a78dd39aa71d97e2220a880df8162fdde',1,'Module']]],
['spitransferstream_372',['SPItransferStream',['../class_module.html#ac3586c8d4013cbdd22cf34032632c181',1,'Module']]],
['spiwritecommand_373',['SPIwriteCommand',['../class_module.html#ae89764d15e8df5694a6aec0e18f72d3f',1,'Module']]],
diff --git a/search/functions_f.js b/search/functions_f.js
index 13d73160..91e77b3a 100644
--- a/search/functions_f.js
+++ b/search/functions_f.js
@@ -97,7 +97,7 @@ var searchData=
['spireadregisterburst_715',['SPIreadRegisterBurst',['../class_module.html#a874e030f1931e606e380930d37dd83ee',1,'Module']]],
['spireadstream_716',['SPIreadStream',['../class_module.html#ab9fc874adc8dbe7c3f1fd3c267c27708',1,'Module::SPIreadStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)'],['../class_module.html#a085415b49ff72238f118b937ad896cbd',1,'Module::SPIreadStream(uint8_t *cmd, uint8_t cmdLen, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)']]],
['spisetregvalue_717',['SPIsetRegValue',['../class_module.html#a081191402ad5c49e6c21982fc4587b77',1,'Module']]],
- ['spitransfer_718',['spiTransfer',['../class_radio_lib_hal.html#a12facb08577402e50c91c75ca7dd560f',1,'RadioLibHal']]],
+ ['spitransfer_718',['spiTransfer',['../class_radio_lib_hal.html#aebcaaf0cefdaaf5b572d4261e472ac8a',1,'RadioLibHal']]],
['spitransfer_719',['SPItransfer',['../class_module.html#a78dd39aa71d97e2220a880df8162fdde',1,'Module']]],
['spitransferstream_720',['SPItransferStream',['../class_module.html#ac3586c8d4013cbdd22cf34032632c181',1,'Module']]],
['spiwriteregister_721',['SPIwriteRegister',['../class_module.html#a4437af6552e258e95ed8ed452afa6dd4',1,'Module']]],
|