1#ifndef HALL_SENSOR_LIB_H
2#define HALL_SENSOR_LIB_H
5#include "../common/base_classes/Sensor.h"
6#include "../common/foc_utils.h"
7#include "../common/time_utils.h"
22 HallSensor(
int encA,
int encB,
int encC,
int pp);
35 void enableInterrupts(
void (*doA)() =
nullptr,
void(*doB)() =
nullptr,
void(*doC)() =
nullptr);
84 Direction decodeDirection(
int oldState,
int newState);
87 volatile unsigned long pulse_timestamp;
88 volatile int A_active;
89 volatile int B_active;
90 volatile int C_active;
93 void (*onSectorChange)(
int sector) =
nullptr;
95 volatile long pulse_diff;
const int8_t ELECTRIC_SECTORS[8]
volatile int8_t electric_sector
int cpr
HallSensor cpr number.
int pinB
HallSensor hardware pin B.
int use_interrupt
True if interrupts have been attached.
void attachSectorCallback(void(*onSectorChange)(int a)=nullptr)
float getVelocity() override
float getSensorAngle() override
volatile long total_interrupts
void enableInterrupts(void(*doA)()=nullptr, void(*doB)()=nullptr, void(*doC)()=nullptr)
volatile long electric_rotations
int pinC
HallSensor hardware pin C.
Pullup pullup
Configuration parameter internal or external pullups.
int pinA
HallSensor hardware pin A.
volatile int8_t hall_state