6 volatile uint32_t enc_left_cnt = 0;
7 volatile uint32_t enc_right_cnt = 0;
8 volatile uint8_t enc_left_wheel_dir = 0;
9 volatile uint8_t enc_right_wheel_dir = 0;
18 void triggerLeftEncoder() {
22 enc_left_wheel_dir = digitalRead(_ela_pin);
25 void triggerRightEncoder() {
29 enc_right_wheel_dir = digitalRead(_era_pin);
32 void setupEncoder(uint8_t ela_pin, uint8_t elb_pin, uint8_t era_pin, uint8_t erb_pin) {
39 pinMode(_ela_pin, INPUT_PULLDOWN );
40 pinMode(_elb_pin, INPUT_PULLDOWN );
41 pinMode(_era_pin, INPUT_PULLDOWN );
42 pinMode(_erb_pin, INPUT_PULLDOWN );
45 attachInterrupt(digitalPinToInterrupt(erb_pin),triggerRightEncoder,RISING);
46 attachInterrupt(digitalPinToInterrupt(elb_pin),triggerLeftEncoder,RISING);
66 return enc_left_wheel_dir;
69 return enc_right_wheel_dir;