bldc/encoder.h

48 lines
1.7 KiB
C
Raw Normal View History

2015-04-11 01:07:36 -07:00
/*
2016-11-04 07:18:34 -07:00
Copyright 2016 Benjamin Vedder benjamin@vedder.se
2015-04-11 01:07:36 -07:00
2016-11-04 07:18:34 -07:00
This file is part of the VESC firmware.
The VESC firmware is free software: you can redistribute it and/or modify
2015-04-11 01:07:36 -07:00
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
2016-11-04 07:18:34 -07:00
The VESC firmware is distributed in the hope that it will be useful,
2015-04-11 01:07:36 -07:00
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef ENCODER_H_
#define ENCODER_H_
2015-12-08 12:01:23 -08:00
#include "conf_general.h"
2015-04-11 01:07:36 -07:00
// Functions
void encoder_deinit(void);
void encoder_init_abi(uint32_t counts);
void encoder_init_as5047p_spi(void);
2019-02-18 10:30:19 -08:00
void encoder_init_ad2s1205_spi(void);
void encoder_init_sincos(float sin_gain, float sin_offset,
float cos_gain, float cos_offset, float sincos_filter_constant);
bool encoder_is_configured(void);
2015-04-11 01:07:36 -07:00
float encoder_read_deg(void);
2015-12-08 12:01:23 -08:00
void encoder_reset(void);
void encoder_tim_isr(void);
2015-12-08 12:01:23 -08:00
void encoder_set_counts(uint32_t counts);
bool encoder_index_found(void);
2015-04-11 01:07:36 -07:00
2018-11-04 05:06:02 -08:00
uint16_t encoder_spi_get_val(void);
uint32_t encoder_spi_get_error_cnt(void);
float encoder_spi_get_error_rate(void);
uint32_t encoder_sincos_get_signal_below_min_error_cnt(void);
uint32_t encoder_sincos_get_signal_above_max_error_cnt(void);
float encoder_sincos_get_signal_below_min_error_rate(void);
float encoder_sincos_get_signal_above_max_error_rate(void);
2018-11-04 05:06:02 -08:00
2015-04-11 01:07:36 -07:00
#endif /* ENCODER_H_ */