From 42fa4491073cb297e91c0666d36e4ffe9922e6ac Mon Sep 17 00:00:00 2001 From: unicod Date: Thu, 31 Jul 2025 21:44:51 +0200 Subject: [PATCH] Pinconfig types draft --- XAirMixerControl.ino | 16 +++++++++++++++- pincfg.h | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 pincfg.h diff --git a/XAirMixerControl.ino b/XAirMixerControl.ino index 0e1e5f5..ce966fc 100644 --- a/XAirMixerControl.ino +++ b/XAirMixerControl.ino @@ -1,4 +1,6 @@ #include + +#include "pincfg.h" #include "TimedPin.h" #include "ui.h" @@ -129,9 +131,21 @@ void MidiCCHandler(byte channel, byte ctrl_no, byte val) { } -// ----------------------------------------------------------------------------- +PinCfg Pins[2]; + +/***************************************************************************//** +* @brief Initialize pins according pin config settings +*******************************************************************************/ +void PinInit() { + Pins[0].Mode = PIN_MODE_DIG_IN; + Pins[0].CfgDigIn.Pullup = PIN_MODE_DIG_IN; +} + +// ----------------------------------------------------------------------------- void setup() { + PinInit(); + pinMode(pinBtnInc1, INPUT_PULLUP); pinMode(pinBtnDec1, INPUT_PULLUP); pinMode(pinBtnInc2, INPUT_PULLUP); diff --git a/pincfg.h b/pincfg.h new file mode 100644 index 0000000..7779f64 --- /dev/null +++ b/pincfg.h @@ -0,0 +1,36 @@ +#ifndef __PINCFG_H__ +#define __PINCFG_H__ + +typedef enum: uint8_t { + PIN_MODE_DIG_IN, + PIN_MODE_ANA_IN, + PIN_MODE_DIG_OUT, + PIN_MODE_ANA_OUT +} PIN_MODES; + +typedef enum: uint8_t { + PULLUP_OFF, + PULLUP_ON +} PULLUP_MODES; + +struct PinCfg { + PIN_MODES Mode; + union { + struct { + PULLUP_MODES Pullup; + } CfgDigIn; + struct { + uint8_t todo; + } CfgAnaIn; + struct { + uint8_t todo; + } CfgDigOut; + struct { + uint8_t todo; + } CfgAnaOut; + }; +}; + + + +#endif