1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

drivers: Add shield_llcc68 module

This implements the `shield_llcc68` module that allows using the LLCC68
LoRa shield on Arduino UNO compatible boards (with Arduino IO mappings
provided by the board) by just selecting the module.
This commit is contained in:
Marian Buschsieweke 2024-10-01 18:35:05 +02:00
parent 7bc7b732d5
commit 8c2f6ae9dc
No known key found for this signature in database
GPG Key ID: 758BD52517F79C41
4 changed files with 73 additions and 25 deletions

View File

@ -192,6 +192,13 @@ ifneq (,$(filter servo_%,$(USEMODULE)))
USEMODULE += servo
endif
ifneq (,$(filter shield_llcc68,$(USEMODULE)))
FEATURES_REQUIRED += arduino_pins
FEATURES_REQUIRED += arduino_shield_uno
FEATURES_REQUIRED += arduino_spi
USEMODULE += llcc68
endif
ifneq (,$(filter shield_w5100,$(USEMODULE)))
FEATURES_REQUIRED += arduino_pins
FEATURES_REQUIRED += arduino_shield_isp

View File

@ -166,3 +166,31 @@
* It should work out of the box for any fully Arduino UNO compatible board
* (including the ISP header) and correct I/O mapping (`arduino_*`) features.
*/
/**
* @defgroup drivers_shield_llcc68 LLCC68 Arduino LoRa Shield
* @ingroup drivers_shield
* @brief LLCC68 Arduino LoRa Shield
*
* # Overview
*
* @image html https://www.semtech.com/uploads/products/product/LLCC68MB2BAS_image2_horiz_300x300px.jpg "Photo of the LLCC68 Shield" width=50%
*
* | Key | Value |
* |:---------------------- |:--------------------------------------------------------------------- |
* | Abstract | LoRa Transceiver |
* | Product Name | LLCC68MB2CAS0 |
* | Vendor | Semtech |
* | Vendor Doc | [Product Homepage][shield_llcc68_hp] |
* | Attachment Standard | Arduino UNO Shield (Side SPI used, no ISP-SPI required) |
*
* [shield_llcc68_hp]: http://web.archive.org/web/20240528223141/https://www.semtech.com/products/wireless-rf/lora-connect/llcc68mb2cas
*
* # Usage
*
* Use the `shield_llcc68` module, e.g. using
*
* ```
* USEMODULE=shield_llcc68 make BOARD=arduino-zero -C examples/lorawan
* ```
*/

View File

@ -23,10 +23,22 @@
#include "sx126x.h"
#include "sx126x_driver.h"
#ifdef MODULE_SHIELD_LC68
# include "arduino_iomap.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef MODULE_SHIELD_LLCC68
# define SX126X_PARAM_SPI ARDUINO_SPI_D11D12D13
# define SX126X_PARAM_SPI_NSS ARDUINO_PIN_7
# define SX126X_PARAM_RESET ARDUINO_PIN_A0
# define SX126X_PARAM_BUSY ARDUINO_PIN_3
# define SX126X_PARAM_DIO1 ARDUINO_PIN_5
#endif
/**
* @name Set default configuration parameters
*

View File

@ -463,6 +463,7 @@ PSEUDOMODULES += shell_cmd_vfs
PSEUDOMODULES += shell_cmds_default
PSEUDOMODULES += shell_hooks
PSEUDOMODULES += shell_lock_auto_locking
PSEUDOMODULES += shield_llcc68
PSEUDOMODULES += shield_w5100
PSEUDOMODULES += slipdev_stdio
PSEUDOMODULES += slipdev_l2addr