#ifndef CurrentFeedback_h
#define CurrentFeedback_h
#include "Energia.h"
#include <Axis.h>
class AnalogPin;
class BLDC3;
class CurrentFeedback {
public:
CurrentFeedback(
char* data,
String* msgPtr );
~CurrentFeedback();
AnalogPin* csa;
AnalogPin* csb;
AnalogPin* csc;
// Additional data not stored in 8305 registers
union {
struct {
uint8_t holdCurrent;
uint8_t constantCurrent;
uint8_t acceleratingCurrent;
uint8_t deceleratingCurrent; } st;
uint32_t powerLevels; } powerLevelsU;
uint32_t
maxCurrentScale;
uint32_t
maxCurrentCompare;
bool
valid();
bool
currentLimitExceeded( BLDC3* motor );
uint32_t
motorCurrent( BLDC3* motor );
void
motorStateChanged( Axis::MotorState motorState );
};
#endif