Added unified model mode

This commit is contained in:
2020-06-03 23:26:54 +02:00
parent dfba798bd7
commit 9ed99f6c50

34
src/unifiedmodelmode.h Normal file
View File

@ -0,0 +1,34 @@
#pragma once
#include <utility>
#include <HardwareSerial.h>
#include "bobbycar-protocol/protocol.h"
namespace {
enum class UnifiedModelMode
{
Commutation,
Sinusodial,
FocVoltage,
FocSpeed,
FocTorque
};
std::pair<ControlType, ControlMode> split(UnifiedModelMode mode)
{
switch (mode)
{
case UnifiedModelMode::Commutation: return std::make_pair(ControlType::Commutation, ControlMode::Voltage);
case UnifiedModelMode::Sinusodial: return std::make_pair(ControlType::Sinusoidal, ControlMode::Voltage);
case UnifiedModelMode::FocVoltage: return std::make_pair(ControlType::FieldOrientedControl, ControlMode::Voltage);
case UnifiedModelMode::FocSpeed: return std::make_pair(ControlType::FieldOrientedControl, ControlMode::Speed);
case UnifiedModelMode::FocTorque: return std::make_pair(ControlType::FieldOrientedControl, ControlMode::Torque);
}
Serial.printf("Unknown UnifiedModelMode: %i\r\n", int(mode));
return std::make_pair(ControlType::FieldOrientedControl, ControlMode::OpenMode);
}
}