It is based on https://developer.mbed.org/users/gregeric/code/Nucleo_Hello_Encoder/

Committer:
inst
Date:
Thu Mar 31 04:42:31 2016 +0000
Revision:
3:65021ea3fae5
Parent:
2:4580c3869b7b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
inst 2:4580c3869b7b 1 #ifndef INCLUDED_MBED_STL_ROTARY_ENCODER_ABZ_PHASE_H
inst 2:4580c3869b7b 2 #define INCLUDED_MBED_STL_ROTARY_ENCODER_ABZ_PHASE_H
inst 0:caf1d0bc4b90 3
inst 0:caf1d0bc4b90 4 #include "rotary_encoder_base.hpp"
inst 0:caf1d0bc4b90 5 #include "mbed.h"
inst 0:caf1d0bc4b90 6
inst 0:caf1d0bc4b90 7 /*
inst 0:caf1d0bc4b90 8 * TIM1_CH1: AF1 @ PA_8
inst 0:caf1d0bc4b90 9 * TIM1_CH2: AF1 @ PA_9
inst 0:caf1d0bc4b90 10 *
inst 0:caf1d0bc4b90 11 * TIM2_CH1: AF1 @ PA_0
inst 0:caf1d0bc4b90 12 * TIM2_CH2: AF1 @ PA_1
inst 0:caf1d0bc4b90 13 *
inst 0:caf1d0bc4b90 14 * TIM3_CH1: AF2 @ PB_4
inst 0:caf1d0bc4b90 15 * TIM3_CH2: AF2 @ PB_5
inst 0:caf1d0bc4b90 16 *
inst 0:caf1d0bc4b90 17 * TIM4_CH1: AF2 @ PB_6, PD_12
inst 0:caf1d0bc4b90 18 * TIM4_CH2: AF2 @ PB_7, PD_13
inst 0:caf1d0bc4b90 19 *
inst 0:caf1d0bc4b90 20 * TIM5_CH1: AF2 @ PA_0* *TIM5 used by mbed system ticker so unavailable
inst 0:caf1d0bc4b90 21 * TIM5_CH2: AF2 @ PA_1*
inst 0:caf1d0bc4b90 22 *
inst 0:caf1d0bc4b90 23 */
inst 2:4580c3869b7b 24
inst 2:4580c3869b7b 25 namespace mbed_stl {
inst 0:caf1d0bc4b90 26
inst 0:caf1d0bc4b90 27 class rotary_encoder_abz_phase : public rotary_encoder_base {
inst 0:caf1d0bc4b90 28 public:
inst 0:caf1d0bc4b90 29 rotary_encoder_abz_phase(TIM_TypeDef* timer_type, PinName z_pin, size_t resolution);
inst 0:caf1d0bc4b90 30 virtual ~rotary_encoder_abz_phase() {}
inst 0:caf1d0bc4b90 31
inst 0:caf1d0bc4b90 32 virtual int32_t get_counts() const;
inst 0:caf1d0bc4b90 33 virtual void reset();
inst 0:caf1d0bc4b90 34
inst 0:caf1d0bc4b90 35 private:
inst 0:caf1d0bc4b90 36 void intr_z_phase_first();
inst 0:caf1d0bc4b90 37 void intr_z_phase();
inst 0:caf1d0bc4b90 38
inst 0:caf1d0bc4b90 39 InterruptIn z_phase_intr_;
inst 0:caf1d0bc4b90 40 uint32_t counts_in_prev_intr_;
inst 0:caf1d0bc4b90 41 };
inst 0:caf1d0bc4b90 42
inst 2:4580c3869b7b 43 } /* namespace mbed_stl */
inst 2:4580c3869b7b 44
inst 0:caf1d0bc4b90 45 #endif