Christian Mueller e706b22f31 Add design specification for LoRaWAN Web Portal
Based on Pflichtenheft v2.2, documents the full system design
including daemon, API, frontend, and infrastructure with agreed
deviations (Axum 0.8, SQLx 0.8, Vite 6, Tailwind 4).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 22:27:49 +01:00

74 lines
1.9 KiB
C++

/*
Module: getconfig_catena4420.cpp
Function:
Arduino-LMIC C++ HAL pinmap for MCCI Catena 4420
Copyright & License:
See accompanying LICENSE file.
Author:
Terry Moore, MCCI November 2018
*/
#include <arduino_lmic_hal_boards.h>
#include <Arduino.h>
#include "../lmic/oslmic.h"
namespace Arduino_LMIC {
class HalConfiguration_Catena4420_t : public HalConfiguration_t
{
public:
enum DIGITAL_PINS : uint8_t
{
PIN_SX1276_NSS = 6,
PIN_SX1276_NRESET = 5,
PIN_SX1276_DIO0 = 12, // pin assignment for DIO0 (aka IRQ)
PIN_SX1276_DIO1 = 11,
PIN_SX1276_DIO2 = 10,
PIN_SX1276_ANT_SWITCH_RX = HalPinmap_t::UNUSED_PIN,
PIN_SX1276_ANT_SWITCH_TX_BOOST = HalPinmap_t::UNUSED_PIN,
PIN_SX1276_ANT_SWITCH_TX_RFO = HalPinmap_t::UNUSED_PIN,
PIN_VDD_BOOST_ENABLE = HalPinmap_t::UNUSED_PIN,
};
virtual void begin(void) override
{
digitalWrite(PIN_SX1276_NSS, 1);
pinMode(PIN_SX1276_NSS, OUTPUT);
}
// virtual void end(void) override
// virtual ostime_t setModuleActive(bool state) override
};
static HalConfiguration_Catena4420_t myConfig;
static const HalPinmap_t myPinmap =
{
.nss = HalConfiguration_Catena4420_t::PIN_SX1276_NSS, // chip select is D7
.rxtx = HalConfiguration_Catena4420_t::PIN_SX1276_ANT_SWITCH_RX, // RXTX is D29
.rst = HalConfiguration_Catena4420_t::PIN_SX1276_NRESET, // NRESET is D8
.dio = {HalConfiguration_Catena4420_t::PIN_SX1276_DIO0, // DIO0 (IRQ) is D25
HalConfiguration_Catena4420_t::PIN_SX1276_DIO1, // DIO1 is D26
HalConfiguration_Catena4420_t::PIN_SX1276_DIO2, // DIO2 is D27
},
.rxtx_rx_active = 0,
.rssi_cal = 10,
.spi_freq = 8000000, /* 8MHz */
.pConfig = &myConfig
};
const HalPinmap_t *GetPinmap_Catena4420(void)
{
return &myPinmap;
}
} // namespace Arduino_LMIC;