33#define TRUCK_HW_CHIPSET_WHEEL_ENCODER_INCLUDE_WHEEL_ECNODER_H_
44
55#include < cstdint>
6- #include < unordered_map>
76
87#include " encoder_timer.h"
98
@@ -21,17 +20,15 @@ class WheelEncoder {
2120 static constexpr float low_pass_coef = 0 .1f ;
2221
2322 bool is_initialized = false ;
24- enum WheelType type ;
23+ enum WheelType type_ ;
2524 EncoderTimer& encoder_timer_handle;
2625 static constexpr uint32_t max_data_size = 50 ;
2726 std::vector<int > encoder_ticks;
2827
2928 float current_speed = 0 .0f ;
3029 uint32_t last_tick_ts = 0 ;
3130
32- ~WheelEncoder () {};
33- WheelEncoder (const WheelEncoder &obj) = delete ;
34- WheelEncoder &operator =(const WheelEncoder &obj) = delete ;
31+ void low_pas_filter_apply (float raw_speed);
3532
3633 static EncoderTimer &get_timer_instance (WheelType wheel_type_) {
3734 switch (wheel_type_) {
@@ -46,11 +43,17 @@ class WheelEncoder {
4643 }
4744 }
4845
49- WheelEncoder (WheelType id ) : encoder_timer_handle(get_timer_instance(id )), type(id ) {};
46+ explicit WheelEncoder (WheelType type ) : encoder_timer_handle(get_timer_instance(type )), type_(type ) {};
5047
51- void low_pas_filter_apply (float raw_speed);
48+ WheelEncoder (const WheelEncoder &obj) = delete ;
49+ WheelEncoder &operator =(const WheelEncoder &obj) = delete ;
5250
5351 public:
52+ WheelEncoder (WheelEncoder &&obj) noexcept = default ;
53+ WheelEncoder &operator =(WheelEncoder &&obj) noexcept = default ;
54+
55+ ~WheelEncoder () = default ;
56+
5457 static WheelEncoder &get_instance (WheelType id);
5558
5659 uint32_t init (void );
0 commit comments