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

Committer:
inst
Date:
Fri Feb 26 16:08:52 2016 +0000
Revision:
2:4580c3869b7b
Parent:
1:0b315dd1bbbf
Child:
3:65021ea3fae5
add servo and PID

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
inst 0:caf1d0bc4b90 34 virtual void reset();
inst 0:caf1d0bc4b90 35
inst 0:caf1d0bc4b90 36 private:
inst 0:caf1d0bc4b90 37 void intr_z_phase_first();
inst 0:caf1d0bc4b90 38 void intr_z_phase();
inst 0:caf1d0bc4b90 39
inst 0:caf1d0bc4b90 40 InterruptIn z_phase_intr_;
inst 0:caf1d0bc4b90 41 uint32_t counts_in_prev_intr_;
inst 0:caf1d0bc4b90 42 };
inst 0:caf1d0bc4b90 43
inst 2:4580c3869b7b 44 } /* namespace mbed_stl */
inst 2:4580c3869b7b 45
inst 0:caf1d0bc4b90 46 #endif