// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #define PINMAPPING_FILENAME "/pin_mapping.json" #define MAPPING_NAME_STRLEN 31 struct PinMapping_t { char name[MAPPING_NAME_STRLEN + 1]; int8_t nrf24_miso; int8_t nrf24_mosi; int8_t nrf24_clk; int8_t nrf24_irq; int8_t nrf24_en; int8_t nrf24_cs; }; class PinMappingClass { public: PinMappingClass(); bool init(const String& deviceMapping); PinMapping_t& get(); bool isValidNrf24Config(); private: PinMapping_t _pinMapping; }; extern PinMappingClass PinMapping;