Skip to content
Snippets Groups Projects
Commit 67a7cf58 authored by Fabrizio Monti's avatar Fabrizio Monti
Browse files

[ENGINE] Added placeholders for sensor and servo configurations.

parent 51e014b0
No related branches found
No related tags found
No related merge requests found
......@@ -95,25 +95,21 @@ Actuators::Actuators()
info->limit = Config::Servos::MAIN_LIMIT;
info->flipped = Config::Servos::MAIN_FLIPPED;
info->unsafeSetServoPosition(0.0f);
// TODO: is the configuration correct? Same as lyra
info = getServo(ServosList::OX_VENTING_VALVE);
info->limit = Config::Servos::VENTING_LIMIT;
info->flipped = Config::Servos::VENTING_FLIPPED;
info->limit = Config::Servos::OX_VENTING_LIMIT;
info->flipped = Config::Servos::OX_VENTING_FLIPPED;
info->unsafeSetServoPosition(0.0f);
// TODO: is the configuration correct? Same as lyra
info = getServo(ServosList::NITROGEN_VALVE);
info->limit = Config::Servos::VENTING_LIMIT;
info->flipped = Config::Servos::VENTING_FLIPPED;
info->limit = Config::Servos::NITROGEN_LIMIT;
info->flipped = Config::Servos::NITROGEN_FLIPPED;
info->unsafeSetServoPosition(0.0f);
// TODO: is the configuration correct?
info = getServo(ServosList::N2_QUENCHING_VALVE);
info->limit = Config::Servos::VENTING_LIMIT;
info->flipped = Config::Servos::VENTING_FLIPPED;
info->limit = Config::Servos::N2_QUENCHING_LIMIT;
info->flipped = Config::Servos::N2_QUENCHING_FLIPPED;
info->unsafeSetServoPosition(0.0f);
// TODO: is the configuration correct?
}
bool Actuators::start()
......
......@@ -49,11 +49,17 @@ constexpr float SERVO_CONFIDENCE = 0.02; // 2%
// Timeout is currently set at 2h
constexpr long long SERVO_ACTION_TIMEOUT = 2 * 60 * 60 * 1000;
constexpr float VENTING_LIMIT = 0.90f;
// TODO: check this values
constexpr float OX_VENTING_LIMIT = 0.90f;
constexpr float MAIN_LIMIT = 0.90f;
constexpr float NITROGEN_LIMIT = 0.90f;
constexpr float N2_QUENCHING_LIMIT = 0.90f;
constexpr bool VENTING_FLIPPED = true;
// TODO: check this values
constexpr bool OX_VENTING_FLIPPED = true;
constexpr bool MAIN_FLIPPED = true;
constexpr bool NITROGEN_FLIPPED = true;
constexpr bool N2_QUENCHING_FLIPPED = true;
} // namespace Servos
......
......@@ -111,16 +111,26 @@ Channel 4 - 29.65ohm
0.3584V 12.06mA 29.72ohm
0.5911V 20mA 29.55ohm
*/
// TODO: calibrate ch0 and ch1
constexpr float CH0_SHUNT_RESISTANCE = 29.0;
constexpr float CH1_SHUNT_RESISTANCE = 29.0;
constexpr float CH4_SHUNT_RESISTANCE = 29.79;
constexpr float CH5_SHUNT_RESISTANCE = 29.7;
constexpr float CH6_SHUNT_RESISTANCE = 29.65;
// TODO: check if the selected channels are fine
constexpr Boardcore::ADS131M08Defs::Channel TANK_TC_CHANNEL =
Boardcore::ADS131M08Defs::Channel::CHANNEL_3;
constexpr Boardcore::ADS131M08Defs::Channel TANK_TOP_PT_CHANNEL =
constexpr Boardcore::ADS131M08Defs::Channel OX_TANK_TOP_PT_CHANNEL =
Boardcore::ADS131M08Defs::Channel::CHANNEL_5;
constexpr Boardcore::ADS131M08Defs::Channel TANK_BOTTOM_PT_CHANNEL =
constexpr Boardcore::ADS131M08Defs::Channel OX_TANK_BOTTOM_0_PT_CHANNEL =
Boardcore::ADS131M08Defs::Channel::CHANNEL_6;
constexpr Boardcore::ADS131M08Defs::Channel OX_TANK_BOTTOM_1_PT_CHANNEL =
Boardcore::ADS131M08Defs::Channel::CHANNEL_0;
constexpr Boardcore::ADS131M08Defs::Channel N2_TANK_PT_CHANNEL =
Boardcore::ADS131M08Defs::Channel::CHANNEL_1;
constexpr Boardcore::ADS131M08Defs::Channel ENGINE_PT_CHANNEL =
Boardcore::ADS131M08Defs::Channel::CHANNEL_4;
......@@ -130,15 +140,22 @@ constexpr bool ENABLED = true;
namespace Trafag
{
constexpr float TANK_TOP_SHUNT_RESISTANCE = ADS131M08::CH5_SHUNT_RESISTANCE;
constexpr float TANK_BOTTOM_SHUNT_RESISTANCE = ADS131M08::CH6_SHUNT_RESISTANCE;
constexpr float OX_TANK_TOP_SHUNT_RESISTANCE = ADS131M08::CH5_SHUNT_RESISTANCE;
constexpr float OX_TANK_BOTTOM_0_SHUNT_RESISTANCE =
ADS131M08::CH6_SHUNT_RESISTANCE;
constexpr float OX_TANK_BOTTOM_1_SHUNT_RESISTANCE =
ADS131M08::CH0_SHUNT_RESISTANCE;
constexpr float N2_TANK_SHUNT_RESISTANCE = ADS131M08::CH1_SHUNT_RESISTANCE;
constexpr float ENGINE_SHUNT_RESISTANCE = ADS131M08::CH4_SHUNT_RESISTANCE;
constexpr float MIN_CURRENT = 4;
constexpr float MAX_CURRENT = 20;
constexpr float TANK_TOP_MAX_PRESSURE = 100; // bar
constexpr float TANK_BOTTOM_MAX_PRESSURE = 100; // bar
// TODO: check these values
constexpr float OX_TANK_TOP_MAX_PRESSURE = 100; // bar
constexpr float OX_TANK_BOTTOM_0_MAX_PRESSURE = 100; // bar
constexpr float OX_TANK_BOTTOM_1_MAX_PRESSURE = 100; // bar
constexpr float N2_TANK_MAX_PRESSURE = 100; // TODO: CHECK
constexpr float ENGINE_MAX_PRESSURE = 40; // bar
} // namespace Trafag
......
......@@ -335,19 +335,32 @@ void Sensors::ads131m08Init()
// Configure all required channels
config.channelsConfig[(
int)Config::Sensors::ADS131M08::TANK_TOP_PT_CHANNEL] = {
int)Config::Sensors::ADS131M08::OX_TANK_TOP_PT_CHANNEL] = {
.enabled = true,
.pga = ADS131M08Defs::PGA::PGA_1,
.offset = 0,
.gain = 1.0};
config.channelsConfig[(
int)Config::Sensors::ADS131M08::TANK_BOTTOM_PT_CHANNEL] = {
int)Config::Sensors::ADS131M08::OX_TANK_BOTTOM_0_PT_CHANNEL] = {
.enabled = true,
.pga = ADS131M08Defs::PGA::PGA_1,
.offset = 0,
.gain = 1.0};
config.channelsConfig[(
int)Config::Sensors::ADS131M08::OX_TANK_BOTTOM_1_PT_CHANNEL] = {
.enabled = true,
.pga = ADS131M08Defs::PGA::PGA_1,
.offset = 0,
.gain = 1.0};
config.channelsConfig[(int)Config::Sensors::ADS131M08::N2_TANK_PT_CHANNEL] =
{.enabled = true,
.pga = ADS131M08Defs::PGA::PGA_1,
.offset = 0,
.gain = 1.0};
config.channelsConfig[(int)Config::Sensors::ADS131M08::ENGINE_PT_CHANNEL] =
{.enabled = true,
.pga = ADS131M08Defs::PGA::PGA_1,
......@@ -387,13 +400,12 @@ void Sensors::oxTopTankPressureInit()
{
auto sample = getADS131M08LastSample();
return sample.getVoltage(
Config::Sensors::ADS131M08::TANK_TOP_PT_CHANNEL);
Config::Sensors::ADS131M08::OX_TANK_TOP_PT_CHANNEL);
},
Config::Sensors::Trafag::TANK_TOP_SHUNT_RESISTANCE,
Config::Sensors::Trafag::TANK_TOP_MAX_PRESSURE,
Config::Sensors::Trafag::OX_TANK_TOP_SHUNT_RESISTANCE,
Config::Sensors::Trafag::OX_TANK_TOP_MAX_PRESSURE,
Config::Sensors::Trafag::MIN_CURRENT,
Config::Sensors::Trafag::MAX_CURRENT);
// TODO: is configuration correct?
}
void Sensors::oxTopTankPressureCallback()
......@@ -408,28 +420,24 @@ void Sensors::oxBottomTankPressureInit()
{
auto sample = getADS131M08LastSample();
return sample.getVoltage(
Config::Sensors::ADS131M08::TANK_BOTTOM_PT_CHANNEL);
// TODO: which is the correct channel?
Config::Sensors::ADS131M08::OX_TANK_BOTTOM_0_PT_CHANNEL);
},
Config::Sensors::Trafag::TANK_BOTTOM_SHUNT_RESISTANCE,
Config::Sensors::Trafag::TANK_BOTTOM_MAX_PRESSURE,
Config::Sensors::Trafag::OX_TANK_BOTTOM_0_SHUNT_RESISTANCE,
Config::Sensors::Trafag::OX_TANK_BOTTOM_0_MAX_PRESSURE,
Config::Sensors::Trafag::MIN_CURRENT,
Config::Sensors::Trafag::MAX_CURRENT);
// TODO: is this configuration correct?
oxBottomTankPressure1 = std::make_unique<TrafagPressureSensor>(
[this]()
{
auto sample = getADS131M08LastSample();
return sample.getVoltage(
Config::Sensors::ADS131M08::TANK_BOTTOM_PT_CHANNEL);
// TODO: which is the correct channel?
Config::Sensors::ADS131M08::OX_TANK_BOTTOM_1_PT_CHANNEL);
},
Config::Sensors::Trafag::TANK_BOTTOM_SHUNT_RESISTANCE,
Config::Sensors::Trafag::TANK_BOTTOM_MAX_PRESSURE,
Config::Sensors::Trafag::OX_TANK_BOTTOM_1_SHUNT_RESISTANCE,
Config::Sensors::Trafag::OX_TANK_BOTTOM_1_MAX_PRESSURE,
Config::Sensors::Trafag::MIN_CURRENT,
Config::Sensors::Trafag::MAX_CURRENT);
// TODO: is this configuration correct?
}
void Sensors::oxBottomTankPressure0Callback()
......@@ -449,14 +457,12 @@ void Sensors::n2TankPressureInit()
{
auto sample = getADS131M08LastSample();
return sample.getVoltage(
Config::Sensors::ADS131M08::TANK_TOP_PT_CHANNEL);
// TODO: which is the correct channel?
Config::Sensors::ADS131M08::N2_TANK_PT_CHANNEL);
},
Config::Sensors::Trafag::TANK_TOP_SHUNT_RESISTANCE,
Config::Sensors::Trafag::TANK_TOP_MAX_PRESSURE,
Config::Sensors::Trafag::N2_TANK_SHUNT_RESISTANCE,
Config::Sensors::Trafag::N2_TANK_MAX_PRESSURE,
Config::Sensors::Trafag::MIN_CURRENT,
Config::Sensors::Trafag::MAX_CURRENT);
// TODO: is this configuration correct?
}
void Sensors::n2TankPressureCallback()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment