Serial Wombat Arduino Library
SerialWombatSimulatedQuadEnc.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include <stdint.h>
5 #include "SerialWombat.h"
6 
7 typedef enum {
23 {
24 public:
25  SerialWombatSimulatedQuadEnc(SerialWombatChip& serialWombat0, SerialWombatChip& serialWombat1, uint8_t pin0, uint8_t pin1, bool openDrain, bool doubleTransition);
26 
27  void bothPinsHigh();
28  void togglePin0();
29  void togglePin1();
30  void pin0High();
31  void pin1High();
32  void pin0Low();
33  void pin1Low();
34  bool service();
35  void initialize();
36 
37 
38  bool doubleTransition = false;
40 
41  int32_t currentPosition = 0;
42  int32_t targetPosition = 0;
47  bool openDrain = true;
49 
50 private:
51  bool pin0State = true;
52  bool pin1State = true;
53  SerialWombatChip& sw0;
54  SerialWombatChip& sw1;
55  uint8_t pin0;
56  uint8_t pin1;
57 
58 
59 
60 };
SerialWombatChip
Class for a Serial Wombat chip. Each Serial Wombat chip on a project should have its own instance.
Definition: SerialWombat.h:265
SerialWombatSimulatedQuadEnc::pin1Low
void pin1Low()
Definition: serialWombatSimulatedQuadEnc.cpp:72
SerialWombatSimulatedQuadEnc::state
SIMQUE_STATE_t state
Definition: SerialWombatSimulatedQuadEnc.h:39
SIMQE_1ST_TRANSITION_1ST_PIN_COMPLETED
@ SIMQE_1ST_TRANSITION_1ST_PIN_COMPLETED
Definition: SerialWombatSimulatedQuadEnc.h:9
SIMQE_IDLE
@ SIMQE_IDLE
Definition: SerialWombatSimulatedQuadEnc.h:8
SIMQE_1ST_TRANSITION_2ND_PIN_COMPLETED
@ SIMQE_1ST_TRANSITION_2ND_PIN_COMPLETED
Definition: SerialWombatSimulatedQuadEnc.h:10
SerialWombatSimulatedQuadEnc::doubleTransition
bool doubleTransition
Definition: SerialWombatSimulatedQuadEnc.h:38
SIMQE_2ND_TRANSITION_1ST_PIN_COMPLETED
@ SIMQE_2ND_TRANSITION_1ST_PIN_COMPLETED
Definition: SerialWombatSimulatedQuadEnc.h:11
SerialWombatSimulatedQuadEnc::bothPinsHigh
void bothPinsHigh()
Definition: serialWombatSimulatedQuadEnc.cpp:26
SIMQE_2ND_TRANSITION_2ND_PIN_COMPLETED
@ SIMQE_2ND_TRANSITION_2ND_PIN_COMPLETED
Definition: SerialWombatSimulatedQuadEnc.h:12
SIMQE_2ND_TRANSITION_COMPLETED
@ SIMQE_2ND_TRANSITION_COMPLETED
Definition: SerialWombatSimulatedQuadEnc.h:13
SerialWombatSimulatedQuadEnc::lastTransitionTime_millis
uint32_t lastTransitionTime_millis
Definition: SerialWombatSimulatedQuadEnc.h:48
SerialWombat.h
SerialWombatSimulatedQuadEnc::togglePin1
void togglePin1()
Definition: serialWombatSimulatedQuadEnc.cpp:44
SerialWombatSimulatedQuadEnc::delayAfterFirstPinSecondTransition_mS
uint32_t delayAfterFirstPinSecondTransition_mS
Definition: SerialWombatSimulatedQuadEnc.h:45
SerialWombatSimulatedQuadEnc::SerialWombatSimulatedQuadEnc
SerialWombatSimulatedQuadEnc(SerialWombatChip &serialWombat0, SerialWombatChip &serialWombat1, uint8_t pin0, uint8_t pin1, bool openDrain, bool doubleTransition)
Definition: serialWombatSimulatedQuadEnc.cpp:5
SerialWombatSimulatedQuadEnc::delayAfterFirstPinFirstTransition_mS
uint32_t delayAfterFirstPinFirstTransition_mS
Definition: SerialWombatSimulatedQuadEnc.h:43
SerialWombatSimulatedQuadEnc::targetPosition
int32_t targetPosition
Definition: SerialWombatSimulatedQuadEnc.h:42
SerialWombatSimulatedQuadEnc::delayAfterSecondPinSecondTransition_mS
uint32_t delayAfterSecondPinSecondTransition_mS
Definition: SerialWombatSimulatedQuadEnc.h:46
SerialWombatSimulatedQuadEnc::delayAfterSecondPinFirstTransition_mS
uint32_t delayAfterSecondPinFirstTransition_mS
Definition: SerialWombatSimulatedQuadEnc.h:44
SerialWombatSimulatedQuadEnc::currentPosition
int32_t currentPosition
Definition: SerialWombatSimulatedQuadEnc.h:41
SerialWombatSimulatedQuadEnc::pin1High
void pin1High()
Definition: serialWombatSimulatedQuadEnc.cpp:67
SerialWombatSimulatedQuadEnc::togglePin0
void togglePin0()
Definition: serialWombatSimulatedQuadEnc.cpp:32
SerialWombatSimulatedQuadEnc::pin0Low
void pin0Low()
Definition: serialWombatSimulatedQuadEnc.cpp:61
SerialWombatSimulatedQuadEnc::pin0High
void pin0High()
Definition: serialWombatSimulatedQuadEnc.cpp:56
SerialWombatSimulatedQuadEnc
A class for testing SerialWombatQuadEnc inputs.
Definition: SerialWombatSimulatedQuadEnc.h:22
SerialWombatSimulatedQuadEnc::initialize
void initialize()
Definition: serialWombatSimulatedQuadEnc.cpp:16
SerialWombatSimulatedQuadEnc::service
bool service()
Definition: serialWombatSimulatedQuadEnc.cpp:78
SIMQUE_STATE_t
SIMQUE_STATE_t
Definition: SerialWombatSimulatedQuadEnc.h:7
SerialWombatSimulatedQuadEnc::openDrain
bool openDrain
Definition: SerialWombatSimulatedQuadEnc.h:47