v1.10.0 #220
@ -192,7 +192,7 @@ void initmission::createPstTasks(TaskFactory& factory,
|
|||||||
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
|
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
|
||||||
#if OBSW_ADD_SPI_TEST_CODE == 0
|
#if OBSW_ADD_SPI_TEST_CODE == 0
|
||||||
FixedTimeslotTaskIF* spiPst = factory.createFixedTimeslotTask(
|
FixedTimeslotTaskIF* spiPst = factory.createFixedTimeslotTask(
|
||||||
"SPI_PST", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 3.0, missedDeadlineFunc);
|
"SPI_PST", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 1.0, missedDeadlineFunc);
|
||||||
result = pst::pstSpi(spiPst);
|
result = pst::pstSpi(spiPst);
|
||||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||||
sif::error << "InitMission::initTasks: Creating PST failed!" << std::endl;
|
sif::error << "InitMission::initTasks: Creating PST failed!" << std::endl;
|
||||||
|
@ -22,7 +22,7 @@ int main(void) {
|
|||||||
std::cout << "-- EIVE OBSW --" << std::endl;
|
std::cout << "-- EIVE OBSW --" << std::endl;
|
||||||
std::cout << "-- Compiled for Linux board " << BOARD_NAME << " --" << std::endl;
|
std::cout << "-- Compiled for Linux board " << BOARD_NAME << " --" << std::endl;
|
||||||
std::cout << "-- OBSW " << SW_NAME << " v" << SW_VERSION << "." << SW_SUBVERSION << "."
|
std::cout << "-- OBSW " << SW_NAME << " v" << SW_VERSION << "." << SW_SUBVERSION << "."
|
||||||
<< SW_REVISION << ", FSFW v" << fsfw::FSFW_VERSION << "--" << std::endl;
|
<< SW_REVISION << ", FSFW v" << fsfw::FSFW_VERSION << " --" << std::endl;
|
||||||
std::cout << "-- " << __DATE__ << " " << __TIME__ << " --" << std::endl;
|
std::cout << "-- " << __DATE__ << " " << __TIME__ << " --" << std::endl;
|
||||||
|
|
||||||
initmission::initMission();
|
initmission::initMission();
|
||||||
|
@ -154,7 +154,7 @@ void ObjectFactory::produce(void* args) {
|
|||||||
#if OBSW_ADD_SYRLINKS == 1
|
#if OBSW_ADD_SYRLINKS == 1
|
||||||
createSyrlinksComponents();
|
createSyrlinksComponents();
|
||||||
#endif /* OBSW_ADD_SYRLINKS == 1 */
|
#endif /* OBSW_ADD_SYRLINKS == 1 */
|
||||||
createRtdComponents(gpioComIF, pwrSwitcher);
|
createRtdComponents(q7s::SPI_DEFAULT_DEV, gpioComIF, pwrSwitcher);
|
||||||
createPayloadComponents(gpioComIF);
|
createPayloadComponents(gpioComIF);
|
||||||
|
|
||||||
#if OBSW_ADD_MGT == 1
|
#if OBSW_ADD_MGT == 1
|
||||||
@ -646,116 +646,6 @@ void ObjectFactory::createSyrlinksComponents() {
|
|||||||
new SyrlinksHkHandler(objects::SYRLINKS_HK_HANDLER, objects::UART_COM_IF, syrlinksUartCookie);
|
new SyrlinksHkHandler(objects::SYRLINKS_HK_HANDLER, objects::UART_COM_IF, syrlinksUartCookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjectFactory::createRtdComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher) {
|
|
||||||
using namespace gpio;
|
|
||||||
GpioCookie* rtdGpioCookie = new GpioCookie;
|
|
||||||
|
|
||||||
GpioCallback* gpioRtdIc0 = new GpioCallback("Chip select RTD IC0", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_3, gpioRtdIc0);
|
|
||||||
GpioCallback* gpioRtdIc1 = new GpioCallback("Chip select RTD IC1", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_4, gpioRtdIc1);
|
|
||||||
GpioCallback* gpioRtdIc2 = new GpioCallback("Chip select RTD IC2", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_5, gpioRtdIc2);
|
|
||||||
GpioCallback* gpioRtdIc3 = new GpioCallback("Chip select RTD IC3", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_6, gpioRtdIc3);
|
|
||||||
GpioCallback* gpioRtdIc4 = new GpioCallback("Chip select RTD IC4", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_7, gpioRtdIc4);
|
|
||||||
GpioCallback* gpioRtdIc5 = new GpioCallback("Chip select RTD IC5", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_8, gpioRtdIc5);
|
|
||||||
GpioCallback* gpioRtdIc6 = new GpioCallback("Chip select RTD IC6", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_9, gpioRtdIc6);
|
|
||||||
GpioCallback* gpioRtdIc7 = new GpioCallback("Chip select RTD IC7", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_10, gpioRtdIc7);
|
|
||||||
GpioCallback* gpioRtdIc8 = new GpioCallback("Chip select RTD IC8", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_11, gpioRtdIc8);
|
|
||||||
GpioCallback* gpioRtdIc9 = new GpioCallback("Chip select RTD IC9", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_12, gpioRtdIc9);
|
|
||||||
GpioCallback* gpioRtdIc10 = new GpioCallback("Chip select RTD IC10", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_13, gpioRtdIc10);
|
|
||||||
GpioCallback* gpioRtdIc11 = new GpioCallback("Chip select RTD IC11", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_14, gpioRtdIc11);
|
|
||||||
GpioCallback* gpioRtdIc12 = new GpioCallback("Chip select RTD IC12", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_15, gpioRtdIc12);
|
|
||||||
GpioCallback* gpioRtdIc13 = new GpioCallback("Chip select RTD IC13", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_16, gpioRtdIc13);
|
|
||||||
GpioCallback* gpioRtdIc14 = new GpioCallback("Chip select RTD IC14", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_17, gpioRtdIc14);
|
|
||||||
GpioCallback* gpioRtdIc15 = new GpioCallback("Chip select RTD IC15", Direction::OUT, Levels::HIGH,
|
|
||||||
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
|
||||||
rtdGpioCookie->addGpio(gpioIds::RTD_IC_18, gpioRtdIc15);
|
|
||||||
|
|
||||||
gpioComIF->addGpios(rtdGpioCookie);
|
|
||||||
|
|
||||||
static constexpr uint8_t NUMBER_RTDS = 16;
|
|
||||||
#if OBSW_ADD_RTD_DEVICES == 1
|
|
||||||
std::array<std::pair<address_t, gpioId_t>, NUMBER_RTDS> cookieArgs = {{
|
|
||||||
{addresses::RTD_IC_3, gpioIds::RTD_IC_3},
|
|
||||||
{addresses::RTD_IC_4, gpioIds::RTD_IC_4},
|
|
||||||
{addresses::RTD_IC_5, gpioIds::RTD_IC_5},
|
|
||||||
{addresses::RTD_IC_6, gpioIds::RTD_IC_6},
|
|
||||||
{addresses::RTD_IC_7, gpioIds::RTD_IC_7},
|
|
||||||
{addresses::RTD_IC_8, gpioIds::RTD_IC_8},
|
|
||||||
{addresses::RTD_IC_9, gpioIds::RTD_IC_9},
|
|
||||||
{addresses::RTD_IC_10, gpioIds::RTD_IC_10},
|
|
||||||
{addresses::RTD_IC_11, gpioIds::RTD_IC_11},
|
|
||||||
{addresses::RTD_IC_12, gpioIds::RTD_IC_12},
|
|
||||||
{addresses::RTD_IC_13, gpioIds::RTD_IC_13},
|
|
||||||
{addresses::RTD_IC_14, gpioIds::RTD_IC_14},
|
|
||||||
{addresses::RTD_IC_15, gpioIds::RTD_IC_15},
|
|
||||||
{addresses::RTD_IC_16, gpioIds::RTD_IC_16},
|
|
||||||
{addresses::RTD_IC_17, gpioIds::RTD_IC_17},
|
|
||||||
{addresses::RTD_IC_18, gpioIds::RTD_IC_18},
|
|
||||||
}};
|
|
||||||
std::array<object_id_t, NUMBER_RTDS> rtdIds = {
|
|
||||||
objects::RTD_IC_3, objects::RTD_IC_4, objects::RTD_IC_5, objects::RTD_IC_6,
|
|
||||||
objects::RTD_IC_7, objects::RTD_IC_8, objects::RTD_IC_9, objects::RTD_IC_10,
|
|
||||||
objects::RTD_IC_11, objects::RTD_IC_12, objects::RTD_IC_13, objects::RTD_IC_14,
|
|
||||||
objects::RTD_IC_15, objects::RTD_IC_16, objects::RTD_IC_17, objects::RTD_IC_18};
|
|
||||||
std::array<SpiCookie*, NUMBER_RTDS> rtdCookies = {};
|
|
||||||
std::array<Max31865PT1000Handler*, NUMBER_RTDS> rtds = {};
|
|
||||||
RtdFdir* rtdFdir = nullptr;
|
|
||||||
for (uint8_t idx = 0; idx < NUMBER_RTDS; idx++) {
|
|
||||||
rtdCookies[idx] =
|
|
||||||
new SpiCookie(cookieArgs[idx].first, cookieArgs[idx].second, q7s::SPI_DEFAULT_DEV,
|
|
||||||
Max31865Definitions::MAX_REPLY_SIZE, spi::RTD_MODE, spi::RTD_SPEED);
|
|
||||||
rtds[idx] = new Max31865PT1000Handler(rtdIds[idx], objects::SPI_COM_IF, rtdCookies[idx]);
|
|
||||||
rtds[idx]->setParent(objects::TCS_BOARD_ASS);
|
|
||||||
rtdFdir = new RtdFdir(rtdIds[idx]);
|
|
||||||
rtds[idx]->setCustomFdir(rtdFdir);
|
|
||||||
rtds[idx]->setDeviceIdx(idx + 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if OBSW_TEST_RTD == 1
|
|
||||||
for (auto& rtd : rtds) {
|
|
||||||
if (rtd != nullptr) {
|
|
||||||
rtd->setStartUpImmediately();
|
|
||||||
rtd->setInstantNormal(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif // OBSW_TEST_RTD == 1
|
|
||||||
TcsBoardHelper helper(rtdIds);
|
|
||||||
TcsBoardAssembly* tcsBoardAss =
|
|
||||||
new TcsBoardAssembly(objects::TCS_BOARD_ASS, objects::NO_OBJECT, pwrSwitcher,
|
|
||||||
pcduSwitches::Switches::PDU1_CH0_TCS_BOARD_3V3, helper);
|
|
||||||
static_cast<void>(tcsBoardAss);
|
|
||||||
#endif // OBSW_ADD_RTD_DEVICES == 1
|
|
||||||
}
|
|
||||||
|
|
||||||
void ObjectFactory::createPayloadComponents(LinuxLibgpioIF* gpioComIF) {
|
void ObjectFactory::createPayloadComponents(LinuxLibgpioIF* gpioComIF) {
|
||||||
using namespace gpio;
|
using namespace gpio;
|
||||||
std::stringstream consumer;
|
std::stringstream consumer;
|
||||||
|
@ -24,7 +24,6 @@ void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
|
|||||||
void createHeaterComponents();
|
void createHeaterComponents();
|
||||||
void createSolarArrayDeploymentComponents();
|
void createSolarArrayDeploymentComponents();
|
||||||
void createSyrlinksComponents();
|
void createSyrlinksComponents();
|
||||||
void createRtdComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher);
|
|
||||||
void createPayloadComponents(LinuxLibgpioIF* gpioComIF);
|
void createPayloadComponents(LinuxLibgpioIF* gpioComIF);
|
||||||
void createReactionWheelComponents(LinuxLibgpioIF* gpioComIF);
|
void createReactionWheelComponents(LinuxLibgpioIF* gpioComIF);
|
||||||
void createCcsdsComponents(LinuxLibgpioIF* gpioComIF);
|
void createCcsdsComponents(LinuxLibgpioIF* gpioComIF);
|
||||||
|
@ -7,9 +7,12 @@
|
|||||||
#include <fsfw_hal/linux/spi/SpiComIF.h>
|
#include <fsfw_hal/linux/spi/SpiComIF.h>
|
||||||
#include <fsfw_hal/linux/spi/SpiCookie.h>
|
#include <fsfw_hal/linux/spi/SpiCookie.h>
|
||||||
#include <linux/callbacks/gpioCallbacks.h>
|
#include <linux/callbacks/gpioCallbacks.h>
|
||||||
|
#include <mission/devices/Max31865PT1000Handler.h>
|
||||||
#include <mission/devices/SusHandler.h>
|
#include <mission/devices/SusHandler.h>
|
||||||
|
#include <mission/system/RtdFdir.h>
|
||||||
#include <mission/system/SusAssembly.h>
|
#include <mission/system/SusAssembly.h>
|
||||||
#include <mission/system/SusFdir.h>
|
#include <mission/system/SusFdir.h>
|
||||||
|
#include <mission/system/TcsBoardAssembly.h>
|
||||||
|
|
||||||
#include "OBSWConfig.h"
|
#include "OBSWConfig.h"
|
||||||
#include "devConf.h"
|
#include "devConf.h"
|
||||||
@ -170,3 +173,114 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
|
|||||||
static_cast<void>(susAss);
|
static_cast<void>(susAss);
|
||||||
#endif /* OBSW_ADD_SUN_SENSORS == 1 */
|
#endif /* OBSW_ADD_SUN_SENSORS == 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ObjectFactory::createRtdComponents(std::string spiDev, GpioIF* gpioComIF,
|
||||||
|
PowerSwitchIF* pwrSwitcher) {
|
||||||
|
using namespace gpio;
|
||||||
|
GpioCookie* rtdGpioCookie = new GpioCookie;
|
||||||
|
|
||||||
|
GpioCallback* gpioRtdIc0 = new GpioCallback("Chip select RTD IC0", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_3, gpioRtdIc0);
|
||||||
|
GpioCallback* gpioRtdIc1 = new GpioCallback("Chip select RTD IC1", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_4, gpioRtdIc1);
|
||||||
|
GpioCallback* gpioRtdIc2 = new GpioCallback("Chip select RTD IC2", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_5, gpioRtdIc2);
|
||||||
|
GpioCallback* gpioRtdIc3 = new GpioCallback("Chip select RTD IC3", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_6, gpioRtdIc3);
|
||||||
|
GpioCallback* gpioRtdIc4 = new GpioCallback("Chip select RTD IC4", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_7, gpioRtdIc4);
|
||||||
|
GpioCallback* gpioRtdIc5 = new GpioCallback("Chip select RTD IC5", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_8, gpioRtdIc5);
|
||||||
|
GpioCallback* gpioRtdIc6 = new GpioCallback("Chip select RTD IC6", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_9, gpioRtdIc6);
|
||||||
|
GpioCallback* gpioRtdIc7 = new GpioCallback("Chip select RTD IC7", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_10, gpioRtdIc7);
|
||||||
|
GpioCallback* gpioRtdIc8 = new GpioCallback("Chip select RTD IC8", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_11, gpioRtdIc8);
|
||||||
|
GpioCallback* gpioRtdIc9 = new GpioCallback("Chip select RTD IC9", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_12, gpioRtdIc9);
|
||||||
|
GpioCallback* gpioRtdIc10 = new GpioCallback("Chip select RTD IC10", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_13, gpioRtdIc10);
|
||||||
|
GpioCallback* gpioRtdIc11 = new GpioCallback("Chip select RTD IC11", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_14, gpioRtdIc11);
|
||||||
|
GpioCallback* gpioRtdIc12 = new GpioCallback("Chip select RTD IC12", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_15, gpioRtdIc12);
|
||||||
|
GpioCallback* gpioRtdIc13 = new GpioCallback("Chip select RTD IC13", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_16, gpioRtdIc13);
|
||||||
|
GpioCallback* gpioRtdIc14 = new GpioCallback("Chip select RTD IC14", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_17, gpioRtdIc14);
|
||||||
|
GpioCallback* gpioRtdIc15 = new GpioCallback("Chip select RTD IC15", Direction::OUT, Levels::HIGH,
|
||||||
|
&gpioCallbacks::spiCsDecoderCallback, gpioComIF);
|
||||||
|
rtdGpioCookie->addGpio(gpioIds::RTD_IC_18, gpioRtdIc15);
|
||||||
|
|
||||||
|
gpioComIF->addGpios(rtdGpioCookie);
|
||||||
|
|
||||||
|
#if OBSW_ADD_RTD_DEVICES == 1
|
||||||
|
static constexpr uint8_t NUMBER_RTDS = 16;
|
||||||
|
std::array<std::pair<address_t, gpioId_t>, NUMBER_RTDS> cookieArgs = {{
|
||||||
|
{addresses::RTD_IC_3, gpioIds::RTD_IC_3},
|
||||||
|
{addresses::RTD_IC_4, gpioIds::RTD_IC_4},
|
||||||
|
{addresses::RTD_IC_5, gpioIds::RTD_IC_5},
|
||||||
|
{addresses::RTD_IC_6, gpioIds::RTD_IC_6},
|
||||||
|
{addresses::RTD_IC_7, gpioIds::RTD_IC_7},
|
||||||
|
{addresses::RTD_IC_8, gpioIds::RTD_IC_8},
|
||||||
|
{addresses::RTD_IC_9, gpioIds::RTD_IC_9},
|
||||||
|
{addresses::RTD_IC_10, gpioIds::RTD_IC_10},
|
||||||
|
{addresses::RTD_IC_11, gpioIds::RTD_IC_11},
|
||||||
|
{addresses::RTD_IC_12, gpioIds::RTD_IC_12},
|
||||||
|
{addresses::RTD_IC_13, gpioIds::RTD_IC_13},
|
||||||
|
{addresses::RTD_IC_14, gpioIds::RTD_IC_14},
|
||||||
|
{addresses::RTD_IC_15, gpioIds::RTD_IC_15},
|
||||||
|
{addresses::RTD_IC_16, gpioIds::RTD_IC_16},
|
||||||
|
{addresses::RTD_IC_17, gpioIds::RTD_IC_17},
|
||||||
|
{addresses::RTD_IC_18, gpioIds::RTD_IC_18},
|
||||||
|
}};
|
||||||
|
std::array<object_id_t, NUMBER_RTDS> rtdIds = {
|
||||||
|
objects::RTD_IC_3, objects::RTD_IC_4, objects::RTD_IC_5, objects::RTD_IC_6,
|
||||||
|
objects::RTD_IC_7, objects::RTD_IC_8, objects::RTD_IC_9, objects::RTD_IC_10,
|
||||||
|
objects::RTD_IC_11, objects::RTD_IC_12, objects::RTD_IC_13, objects::RTD_IC_14,
|
||||||
|
objects::RTD_IC_15, objects::RTD_IC_16, objects::RTD_IC_17, objects::RTD_IC_18};
|
||||||
|
std::array<SpiCookie*, NUMBER_RTDS> rtdCookies = {};
|
||||||
|
std::array<Max31865PT1000Handler*, NUMBER_RTDS> rtds = {};
|
||||||
|
RtdFdir* rtdFdir = nullptr;
|
||||||
|
for (uint8_t idx = 0; idx < NUMBER_RTDS; idx++) {
|
||||||
|
rtdCookies[idx] =
|
||||||
|
new SpiCookie(cookieArgs[idx].first, cookieArgs[idx].second, spiDev,
|
||||||
|
Max31865Definitions::MAX_REPLY_SIZE, spi::RTD_MODE, spi::RTD_SPEED);
|
||||||
|
rtds[idx] = new Max31865PT1000Handler(rtdIds[idx], objects::SPI_COM_IF, rtdCookies[idx]);
|
||||||
|
rtds[idx]->setParent(objects::TCS_BOARD_ASS);
|
||||||
|
rtdFdir = new RtdFdir(rtdIds[idx]);
|
||||||
|
rtds[idx]->setCustomFdir(rtdFdir);
|
||||||
|
rtds[idx]->setDeviceIdx(idx + 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if OBSW_TEST_RTD == 1
|
||||||
|
for (auto& rtd : rtds) {
|
||||||
|
if (rtd != nullptr) {
|
||||||
|
rtd->setStartUpImmediately();
|
||||||
|
rtd->setInstantNormal(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // OBSW_TEST_RTD == 1
|
||||||
|
TcsBoardHelper helper(rtdIds);
|
||||||
|
TcsBoardAssembly* tcsBoardAss =
|
||||||
|
new TcsBoardAssembly(objects::TCS_BOARD_ASS, objects::NO_OBJECT, pwrSwitcher,
|
||||||
|
pcduSwitches::Switches::PDU1_CH0_TCS_BOARD_3V3, helper);
|
||||||
|
static_cast<void>(tcsBoardAss);
|
||||||
|
#endif // OBSW_ADD_RTD_DEVICES == 1
|
||||||
|
}
|
||||||
|
@ -10,5 +10,6 @@ namespace ObjectFactory {
|
|||||||
|
|
||||||
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF* pwrSwitcher,
|
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF* pwrSwitcher,
|
||||||
std::string spiDev);
|
std::string spiDev);
|
||||||
|
void createRtdComponents(std::string spiDev, GpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher);
|
||||||
|
|
||||||
}
|
} // namespace ObjectFactory
|
||||||
|
@ -165,17 +165,17 @@ ReturnValue_t pst::pstSpi(FixedTimeslotTaskIF *thisSequence) {
|
|||||||
|
|
||||||
#if OBSW_ADD_SUN_SENSORS == 1
|
#if OBSW_ADD_SUN_SENSORS == 1
|
||||||
|
|
||||||
bool addSus0 = true;
|
bool addSus0 = false;
|
||||||
bool addSus1 = true;
|
bool addSus1 = false;
|
||||||
bool addSus2 = true;
|
bool addSus2 = false;
|
||||||
bool addSus3 = true;
|
bool addSus3 = false;
|
||||||
bool addSus4 = true;
|
bool addSus4 = false;
|
||||||
bool addSus5 = true;
|
bool addSus5 = false;
|
||||||
bool addSus6 = true;
|
bool addSus6 = false;
|
||||||
bool addSus7 = true;
|
bool addSus7 = false;
|
||||||
bool addSus8 = true;
|
bool addSus8 = false;
|
||||||
bool addSus9 = true;
|
bool addSus9 = false;
|
||||||
bool addSus10 = true;
|
bool addSus10 = false;
|
||||||
bool addSus11 = true;
|
bool addSus11 = true;
|
||||||
/**
|
/**
|
||||||
* The sun sensor will be shutdown as soon as the chip select is pulled high. Thus all
|
* The sun sensor will be shutdown as soon as the chip select is pulled high. Thus all
|
||||||
|
Loading…
Reference in New Issue
Block a user