bldc/encoder/enc_as504x.h

40 lines
1.4 KiB
C
Raw Normal View History

/*
Copyright 2016 - 2022 Benjamin Vedder benjamin@vedder.se
Copyright 2022 Jakub Tomczak
This file is part of the VESC firmware.
The VESC firmware is free software: you can redistribute it and/or modify
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.
The VESC firmware is distributed in the hope that it will be useful,
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/>.
*/
2022-02-19 12:00:52 -08:00
#ifndef ENC_AS504X_H_
#define ENC_AS504X_H_
2021-12-17 04:13:11 -08:00
#include "encoder/encoder_datatype.h"
// Functions
bool enc_as504x_init(AS504x_config_t *AS504x_config);
void enc_as504x_deinit(AS504x_config_t *cfg);
2022-02-20 03:21:05 -08:00
void enc_as504x_routine(AS504x_config_t *cfg);
2022-02-28 05:30:48 -08:00
float enc_as504x_read_angle(AS504x_config_t *cfg);
2021-12-17 04:13:11 -08:00
// Macros
#define AS504x_LAST_ANGLE(cfg) ((cfg)->state.last_enc_angle)
2022-06-03 07:57:17 -07:00
#define AS504x_IS_CONNECTED(cfg) ((cfg)->state.sensor_diag.is_connected)
#define AS504x_IS_COMP_HIGH(cfg) ((cfg)->state.sensor_diag.is_Comp_high)
#define AS504x_IS_COMP_LOW(cfg) ((cfg)->state.sensor_diag.is_Comp_low)
2022-06-03 07:09:51 -07:00
2022-02-19 12:00:52 -08:00
#endif /* ENC_AS504X_H_ */