try to understand the thermal stuff
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
This commit is contained in:
parent
6e4d3393ba
commit
5e7a088da9
@ -914,6 +914,7 @@ void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher) {
|
|||||||
I2cCookie* imtqI2cCookie = new I2cCookie(addresses::IMTQ, IMTQ::MAX_REPLY_SIZE, q7s::I2C_PL_EIVE);
|
I2cCookie* imtqI2cCookie = new I2cCookie(addresses::IMTQ, IMTQ::MAX_REPLY_SIZE, q7s::I2C_PL_EIVE);
|
||||||
auto imtqHandler = new ImtqHandler(objects::IMTQ_HANDLER, objects::I2C_COM_IF, imtqI2cCookie,
|
auto imtqHandler = new ImtqHandler(objects::IMTQ_HANDLER, objects::I2C_COM_IF, imtqI2cCookie,
|
||||||
pcdu::Switches::PDU1_CH3_MGT_5V);
|
pcdu::Switches::PDU1_CH3_MGT_5V);
|
||||||
|
imtqHandler->setThermalStateRequestPoolIds();
|
||||||
imtqHandler->setPowerSwitcher(pwrSwitcher);
|
imtqHandler->setPowerSwitcher(pwrSwitcher);
|
||||||
imtqHandler->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
|
imtqHandler->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
|
||||||
static_cast<void>(imtqHandler);
|
static_cast<void>(imtqHandler);
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#include "obsw.h"
|
#include "obsw.h"
|
||||||
|
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <pwd.h>
|
|
||||||
|
|
||||||
#include "OBSWConfig.h"
|
#include "OBSWConfig.h"
|
||||||
#include "commonConfig.h"
|
#include "commonConfig.h"
|
||||||
#include "core/scheduling.h"
|
#include "core/scheduling.h"
|
||||||
@ -44,8 +44,8 @@ int obsw::obsw() {
|
|||||||
|
|
||||||
const char* homedir = nullptr;
|
const char* homedir = nullptr;
|
||||||
homedir = getenv("HOME");
|
homedir = getenv("HOME");
|
||||||
if(homedir == nullptr) {
|
if (homedir == nullptr) {
|
||||||
homedir = getpwuid(getuid())->pw_dir;
|
homedir = getpwuid(getuid())->pw_dir;
|
||||||
}
|
}
|
||||||
std::filesystem::path bootDelayFile = std::filesystem::path(homedir) / "boot_delay_secs.txt";
|
std::filesystem::path bootDelayFile = std::filesystem::path(homedir) / "boot_delay_secs.txt";
|
||||||
// Init delay handling.
|
// Init delay handling.
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include <bsp_q7s/core/CoreDefinitions.h>
|
#include <bsp_q7s/core/CoreDefinitions.h>
|
||||||
#include <fsfw/datapool/PoolReadGuard.h>
|
#include <fsfw/datapool/PoolReadGuard.h>
|
||||||
|
#include <fsfw/thermal/ThermalComponentIF.h>
|
||||||
|
#include <fsfw/thermal/ThermalModuleIF.h>
|
||||||
#include <fsfw_hal/devicehandlers/devicedefinitions/MgmLIS3HandlerDefs.h>
|
#include <fsfw_hal/devicehandlers/devicedefinitions/MgmLIS3HandlerDefs.h>
|
||||||
#include <linux/devices/devicedefinitions/StarTrackerDefinitions.h>
|
#include <linux/devices/devicedefinitions/StarTrackerDefinitions.h>
|
||||||
#include <mission/devices/devicedefinitions/BpxBatteryDefinitions.h>
|
#include <mission/devices/devicedefinitions/BpxBatteryDefinitions.h>
|
||||||
@ -20,6 +22,7 @@ ThermalController::ThermalController(object_id_t objectId, HeaterHandler& heater
|
|||||||
sensorTemperatures(this),
|
sensorTemperatures(this),
|
||||||
susTemperatures(this),
|
susTemperatures(this),
|
||||||
deviceTemperatures(this),
|
deviceTemperatures(this),
|
||||||
|
imtqThermalSet(objects::IMTQ_HANDLER),
|
||||||
max31865Set0(objects::RTD_0_IC3_PLOC_HEATSPREADER,
|
max31865Set0(objects::RTD_0_IC3_PLOC_HEATSPREADER,
|
||||||
EiveMax31855::RtdCommands::EXCHANGE_SET_ID),
|
EiveMax31855::RtdCommands::EXCHANGE_SET_ID),
|
||||||
max31865Set1(objects::RTD_1_IC4_PLOC_MISSIONBOARD,
|
max31865Set1(objects::RTD_1_IC4_PLOC_MISSIONBOARD,
|
||||||
@ -990,6 +993,8 @@ void ThermalController::ctrlAcsBoard() {
|
|||||||
|
|
||||||
void ThermalController::ctrlMgt() {
|
void ThermalController::ctrlMgt() {
|
||||||
// TODO: cast deviceTemperatures.mgt
|
// TODO: cast deviceTemperatures.mgt
|
||||||
|
PoolReadGuard pg(&imtqThermalSet);
|
||||||
|
ThermalComponentIF::StateRequest heaterReq = imtqThermalSet.heaterRequest.value;
|
||||||
// ctrlComponentTemperature(heater::HEATER_2_ACS_BRD, heater::HEATER_3_PCDU_PDU,
|
// ctrlComponentTemperature(heater::HEATER_2_ACS_BRD, heater::HEATER_3_PCDU_PDU,
|
||||||
// sensorTemperatures.sensor_magnettorquer, deviceTemperatures.mgt,
|
// sensorTemperatures.sensor_magnettorquer, deviceTemperatures.mgt,
|
||||||
// sensorTemperatures.sensor_plpcdu_heatspreader, &mgtLimits);
|
// sensorTemperatures.sensor_plpcdu_heatspreader, &mgtLimits);
|
||||||
@ -1206,4 +1211,4 @@ void ThermalController::ctrlComponentTemperature(heater::Switchers switchNr,
|
|||||||
ctrlHeater(switchNr, redSwitchNr, tempLimit);
|
ctrlHeater(switchNr, redSwitchNr, tempLimit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,6 +73,8 @@ class ThermalController : public ExtendedControllerBase {
|
|||||||
thermalControllerDefinitions::SusTemperatures susTemperatures;
|
thermalControllerDefinitions::SusTemperatures susTemperatures;
|
||||||
thermalControllerDefinitions::DeviceTemperatures deviceTemperatures;
|
thermalControllerDefinitions::DeviceTemperatures deviceTemperatures;
|
||||||
|
|
||||||
|
DeviceHandlerThermalSet imtqThermalSet;
|
||||||
|
|
||||||
// Temperature Sensors
|
// Temperature Sensors
|
||||||
MAX31865::PrimarySet max31865Set0;
|
MAX31865::PrimarySet max31865Set0;
|
||||||
MAX31865::PrimarySet max31865Set1;
|
MAX31865::PrimarySet max31865Set1;
|
||||||
@ -157,10 +159,10 @@ class ThermalController : public ExtendedControllerBase {
|
|||||||
void copySus();
|
void copySus();
|
||||||
void copyDevices();
|
void copyDevices();
|
||||||
|
|
||||||
void ctrlComponentTemperature(heater::Switchers switchNr, heater::Switchers redSwitchNr,
|
void ctrlComponentTemperature(
|
||||||
const lp_float_t& sensor1, const lp_float_t& sensor2,
|
heater::Switchers switchNr, heater::Switchers redSwitchNr, const lp_float_t& sensor1,
|
||||||
const lp_float_t& sensor3, TempLimits* tempLimit,
|
const lp_float_t& sensor2, const lp_float_t& sensor3, TempLimits* tempLimit,
|
||||||
bool moreThan3Sensors = false); //TODO sensor 4, 5 = default argument, if not available
|
bool moreThan3Sensors = false); // TODO sensor 4, 5 = default argument, if not available
|
||||||
void ctrlHeater(heater::Switchers switchNr, heater::Switchers redSwitchNr, TempLimits* tempLimit);
|
void ctrlHeater(heater::Switchers switchNr, heater::Switchers redSwitchNr, TempLimits* tempLimit);
|
||||||
void chooseHeater(heater::Switchers& switchNr, heater::Switchers redSwitchNr);
|
void chooseHeater(heater::Switchers& switchNr, heater::Switchers redSwitchNr);
|
||||||
void chooseSensor(heater::Switchers switchNr, const lp_float_t& sensor1,
|
void chooseSensor(heater::Switchers switchNr, const lp_float_t& sensor1,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user