15#ifndef IOA_STATEMACHINE_ENCODER_H
16#define IOA_STATEMACHINE_ENCODER_H
18#include <TaskPlatformDeps.h>
19#include "PlatformDetermination.h"
66 pinid_t interruptPin = -1;
72 bool needPullup =
true;
73 uint8_t encoderNum = 0;
93 this->encoderNum = l_encoderNum;
103 this->needPullup = l_needPullup;
112 callback = l_callback;
121 listener = l_listener;
133 interruptPin = l_interruptPin;
161 accelerationMode = l_accelerationMode;
170 encoderType = l_encoderType;
180 if (listener ==
nullptr && callback ==
nullptr) {
209 return builder.
build();
EncoderInterruptMode
Definition StateMachineEncoder.h:30
@ ALL_PINS
Definition StateMachineEncoder.h:34
@ TIMER
Definition StateMachineEncoder.h:36
@ NONE
Definition StateMachineEncoder.h:38
@ SINGLE_PIN
Definition StateMachineEncoder.h:32
ISR_ATTR void encoderInterruptHandler()
bool setupStateMachineRotaryEncoder(const StateRotaryEncoderBuilder &builder)
Definition StateMachineEncoder.h:208
Definition SwitchInput.h:197
Definition StateMachineEncoder.h:62
StateRotaryEncoderBuilder & withEncoderNum(const uint8_t l_encoderNum)
Definition StateMachineEncoder.h:92
bool configurationValid() const
Definition StateMachineEncoder.h:179
StateRotaryEncoderBuilder & withCallback(const EncoderCallbackFn l_callback)
Definition StateMachineEncoder.h:111
StateRotaryEncoderBuilder & withAccelerationMode(const HWAccelerationMode l_accelerationMode)
Definition StateMachineEncoder.h:160
StateRotaryEncoderBuilder & withEncoderPins(const pinid_t l_pinA, const pinid_t l_pinB)
Definition StateMachineEncoder.h:80
StateRotaryEncoderBuilder & withPullUpInput(const bool l_needPullup)
Definition StateMachineEncoder.h:102
StateRotaryEncoderBuilder & withListener(EncoderListener *l_listener)
Definition StateMachineEncoder.h:120
StateRotaryEncoderBuilder & interruptOnTimer()
Definition StateMachineEncoder.h:151
StateRotaryEncoderBuilder & interruptOnSinglePin(const pinid_t l_interruptPin)
Definition StateMachineEncoder.h:131
StateRotaryEncoderBuilder & interruptOnBothPins()
Definition StateMachineEncoder.h:140
StateRotaryEncoderBuilder & withEncoderType(const EncoderType l_encoderType)
Definition StateMachineEncoder.h:169