Skip to content

File SwitchMultiPos.h

File List > Firmware > Libraries > PanelGroup > Inputs > SwitchMultiPos > SwitchMultiPos.h

Go to the documentation of this file


#pragma once
#ifdef ARDUINO_ARCH_STM32

#include <PanelGroup.h>                          // PinRef
#include <Inputs/MultiPosInput/MultiPosInput.h>  // MultiPosInput base

namespace OpenSkyhawk {

class SwitchMultiPos : public MultiPosInput {
public:
    static constexpr uint16_t DEBOUNCE_MS = 20;

    SwitchMultiPos(uint16_t controlId, const PinRef* pins, uint8_t numPins, bool reverse = false);

    void configure() override;

protected:
    uint16_t readRaw() override;

private:
    const PinRef* _pins;     
    uint8_t       _numPins;  
    bool          _reverse;  
};

}  // namespace OpenSkyhawk

#endif  // ARDUINO_ARCH_STM32