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