65 set_parameters(uint8_t counter_resolution_bits, uint32_t counts_per_rev, real_t value_per_rev);
73 void reset(int32_t count, real_t value);
88 real_t
decode(int32_t count);
96 int32_t
encode(real_t value);
102 real_t m_value_offset = 0.0;
104 real_t m_value_per_rev = 0.0;
106 uint32_t m_counts_per_rev = 0U;
108 int32_t m_counter_lower_limit = 0;
Incremental encoder.
Definition fsb_encoder.h:52
int32_t encode(real_t value)
encode value to number of counts
Definition fsb_encoder.cpp:99
void reset(int32_t count, real_t value)
Reset encoder to counts and associated value.
Definition fsb_encoder.cpp:62
EncoderStatus set_parameters(uint8_t counter_resolution_bits, uint32_t counts_per_rev, real_t value_per_rev)
Set encoder parameters.
Definition fsb_encoder.cpp:9
void reset_value(real_t value)
Reset value at current count.
Definition fsb_encoder.cpp:68
real_t decode(int32_t count)
Get value in scaled units from counter update.
Definition fsb_encoder.cpp:74
EncoderStatus
Status from setting encoder parameters.
Definition fsb_encoder.h:23
@ COUNTS_PER_REV_ZERO
Counts per revolution must be non-zero.
@ RESOLUTION_IS_ZERO
Resolution of encoder (in number of bits) must be non-zero.
@ VALUE_PER_REV_ZERO
Value per revolution is below tolerance.
@ RESOLUTION_EXCEEDS_MAX
Encoder resolution exceeds maximum of 32 bits.