restructured objectfactory and init_mission for libgpio test on te0720
This commit is contained in:
parent
df0e1aa869
commit
88f62c5a11
@ -137,6 +137,7 @@ void InitMission::initTasks(){
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
#if TE0720 == 0
|
||||
FixedTimeslotTaskIF* GomSpacePstTask = TaskFactory::instance()->
|
||||
createFixedTimeslotTask("GS_PST_TASK", 50,
|
||||
PeriodicTaskIF::MINIMUM_STACK_SIZE*8, 3.0, nullptr);
|
||||
@ -144,19 +145,7 @@ void InitMission::initTasks(){
|
||||
if(result != HasReturnvaluesIF::RETURN_OK) {
|
||||
sif::error << "InitMission::initTasks: GomSpace PST initialization "
|
||||
<< "failed!" << std::endl;
|
||||
}
|
||||
|
||||
|
||||
#if OBSW_ADD_TEST_CODE == 1
|
||||
// FixedTimeslotTaskIF* TestTimeslotTask = TaskFactory::instance()->
|
||||
// createFixedTimeslotTask("PST_TEST_TASK", 10,
|
||||
// PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr);
|
||||
// result = pst::pollingSequenceTestFunction(TestTimeslotTask);
|
||||
// if(result != HasReturnvaluesIF::RETURN_OK) {
|
||||
// sif::error << "InitMission::createTasks: Test PST initialization "
|
||||
// << "failed!" << std::endl;
|
||||
// }
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
#if TE0720 == 1 && TEST_LIBGPIOD == 1
|
||||
@ -175,7 +164,9 @@ void InitMission::initTasks(){
|
||||
UdpBridgeTask->startTask();
|
||||
UdpPollingTask->startTask();
|
||||
|
||||
#if TE0720 == 0
|
||||
GomSpacePstTask->startTask();
|
||||
#endif
|
||||
PollingSequenceTableTaskDefault->startTask();
|
||||
|
||||
PusVerification->startTask();
|
||||
|
@ -34,7 +34,7 @@
|
||||
#include <bsp_q7s/gpio/cookies/GpioCookie.h>
|
||||
|
||||
# if TEST_LIBGPIOD == 1
|
||||
#include "LibgpioTest.h"
|
||||
#include "LibgpiodTest.h"
|
||||
#endif
|
||||
|
||||
void Factory::setStaticFrameworkObjectIds() {
|
||||
@ -110,23 +110,9 @@ void ObjectFactory::produce(){
|
||||
i2cCookieTmp1075tcs2);
|
||||
tmp1075Handler_2->setStartUpImmediately();
|
||||
|
||||
/* Thermal objects */
|
||||
GpioCookie* gpioCookie = new GpioCookie;
|
||||
#if TE0720 == 1
|
||||
|
||||
#if TEST_LIBGPIOD == 1
|
||||
/* Configure MIO0 as input */
|
||||
GpioConfig_t gpioConfigMio0(std::string("gpiochip0"), 0,
|
||||
std::string("MIO0"), Gpio::IN, 0);
|
||||
gpioCookie->addGpio(gpioIds::Test_ID, gpioConfigMio0);
|
||||
#else
|
||||
// Configuration for MIO0 on TE0720-03-1CFA
|
||||
GpioConfig_t gpioConfigForDummyHeater(std::string("gpiochip0"), 0,
|
||||
std::string("Heater0"), Gpio::OUT, 0);
|
||||
gpioCookie->addGpio(gpioIds::HEATER_0, gpioConfigForDummyHeater);
|
||||
#endif
|
||||
|
||||
#else
|
||||
new LinuxLibgpioIF(objects::GPIO_IF);
|
||||
#if TE0720 == 0
|
||||
/* Pin H2-11 on stack connector */
|
||||
GpioConfig_t gpioConfigHeater0(std::string("gpiochip7"), 18,
|
||||
std::string("Heater0"), Gpio::OUT, 0);
|
||||
@ -162,10 +148,9 @@ void ObjectFactory::produce(){
|
||||
std::string("Heater7"), Gpio::OUT, 0);
|
||||
gpioCookie->addGpio(gpioIds::HEATER_7, gpioConfigHeater7);
|
||||
|
||||
#endif
|
||||
new LinuxLibgpioIF(objects::GPIO_IF);
|
||||
new HeaterHandler(objects::HEATER_HANDLER, objects::GPIO_IF, gpioCookie, objects::PCDU_HANDLER,
|
||||
pcduSwitches::TCS_BOARD_8V_HEATER_IN);
|
||||
#endif
|
||||
|
||||
new TmTcUnixUdpBridge(objects::UDP_BRIDGE,
|
||||
objects::CCSDS_PACKET_DISTRIBUTOR,
|
||||
@ -173,6 +158,17 @@ void ObjectFactory::produce(){
|
||||
new TcUnixUdpPollingTask(objects::UDP_POLLING_TASK, objects::UDP_BRIDGE);
|
||||
|
||||
#if TE0720 == 1 && TEST_LIBGPIOD == 1
|
||||
new LibgpioTest(objects::LIBGPIOD_TEST, objects::GPIO_IF, gpioCookie);
|
||||
/* Configure MIO0 as input */
|
||||
GpioConfig_t gpioConfigMio0(std::string("gpiochip0"), 0,
|
||||
std::string("MIO0"), Gpio::IN, 0);
|
||||
gpioCookie->addGpio(gpioIds::Test_ID, gpioConfigMio0);
|
||||
new LibgpiodTest(objects::LIBGPIOD_TEST, objects::GPIO_IF, gpioCookie);
|
||||
#elif TE0720 == 1
|
||||
// Configuration for MIO0 on TE0720-03-1CFA
|
||||
GpioConfig_t gpioConfigForDummyHeater(std::string("gpiochip0"), 0,
|
||||
std::string("Heater0"), Gpio::OUT, 0);
|
||||
gpioCookie->addGpio(gpioIds::HEATER_0, gpioConfigForDummyHeater);
|
||||
new HeaterHandler(objects::HEATER_HANDLER, objects::GPIO_IF, gpioCookie, objects::PCDU_HANDLER,
|
||||
pcduSwitches::TCS_BOARD_8V_HEATER_IN);
|
||||
#endif
|
||||
}
|
||||
|
2
etl
2
etl
@ -1 +1 @@
|
||||
Subproject commit 1ac3b77ef40aa783024d15185ee8ff41ae04a73e
|
||||
Subproject commit ae06e6417702b770c49289c9e7162cb3f4a5a217
|
2
fsfw
2
fsfw
@ -1 +1 @@
|
||||
Subproject commit e994d81e1862fade52b090311b3978fb59061966
|
||||
Subproject commit 7d0916a44e18c87b00998448333023186b3d85b1
|
@ -7,7 +7,7 @@
|
||||
#define FSFWCONFIG_OBSWCONFIG_H_
|
||||
|
||||
#define TEST_LIBGPIOD 0
|
||||
#define ADD_TEST_TAST 1
|
||||
#define ADD_TEST_TAST 0
|
||||
|
||||
// These defines should be disabled for mission code but are useful for
|
||||
// debugging.
|
||||
|
@ -1,5 +1,5 @@
|
||||
target_sources(${TARGET_NAME} PUBLIC
|
||||
LibgpioTest.cpp
|
||||
LibgpiodTest.cpp
|
||||
TestTask.cpp
|
||||
)
|
||||
|
||||
|
@ -1,33 +1,34 @@
|
||||
#include "LibgpioTest.h"
|
||||
#include "LibgpiodTest.h"
|
||||
|
||||
#include "devices/gpioIds.h"
|
||||
#include <fsfw/serviceinterface/ServiceInterfaceStream.h>
|
||||
#include <fsfw/objectmanager/ObjectManagerIF.h>
|
||||
|
||||
LibgpioTest::LibgpioTest(object_id_t objectId, object_id_t gpioIfobjectId, GpioCookie* gpioCookie) :
|
||||
LibgpiodTest::LibgpiodTest(object_id_t objectId, object_id_t gpioIfobjectId, GpioCookie* gpioCookie) :
|
||||
TestTask(objectId) {
|
||||
|
||||
gpioInterface = objectManager->get<GpioIF>(gpioIfobjectId);
|
||||
if (gpioInterface == nullptr) {
|
||||
sif::error << "LibgpioTest::LibgpioTest: Invalid Gpio interface." << std::endl;
|
||||
sif::error << "LibgpiodTest::LibgpiodTest: Invalid Gpio interface." << std::endl;
|
||||
}
|
||||
gpioInterface->initialize(gpioCookie);
|
||||
}
|
||||
|
||||
LibgpioTest::~LibgpioTest() {
|
||||
LibgpiodTest::~LibgpiodTest() {
|
||||
}
|
||||
|
||||
ReturnValue_t LibgpioTest::performPeriodicAction() {
|
||||
ReturnValue_t LibgpiodTest::performPeriodicAction() {
|
||||
int gpioState;
|
||||
ReturnValue_t result;
|
||||
|
||||
result = gpioInterface->readGpio(gpioIds::Test_ID, &gpioState);
|
||||
if (result != RETURN_OK) {
|
||||
sif::debug << "LibgpioTest::performPeriodicAction: Failed to read gpio "
|
||||
sif::debug << "LibgpiodTest::performPeriodicAction: Failed to read gpio "
|
||||
<< std::endl;
|
||||
return RETURN_FAILED;
|
||||
}
|
||||
else {
|
||||
sif::debug << "LibgpioTest::performPeriodicAction: MIO 0 state = " << gpioState
|
||||
sif::debug << "LibgpiodTest::performPeriodicAction: MIO 0 state = " << gpioState
|
||||
<< std::endl;
|
||||
}
|
||||
return RETURN_OK;
|
@ -1,5 +1,5 @@
|
||||
#ifndef TEST_TESTTASKS_LIBGPIOTEST_H_
|
||||
#define TEST_TESTTASKS_LIBGPIOTEST_H_
|
||||
#ifndef TEST_TESTTASKS_LIBGPIODTEST_H_
|
||||
#define TEST_TESTTASKS_LIBGPIODTEST_H_
|
||||
|
||||
#include "TestTask.h"
|
||||
#include "GpioIF.h"
|
||||
@ -10,10 +10,10 @@
|
||||
* @brief Test for the GPIO read implementation of the LinuxLibgpioIF.
|
||||
* @author J. Meier
|
||||
*/
|
||||
class LibgpioTest: public TestTask {
|
||||
class LibgpiodTest: public TestTask {
|
||||
public:
|
||||
LibgpioTest(object_id_t objectId, object_id_t gpioIfobjectId, GpioCookie* gpioCookie);
|
||||
virtual ~LibgpioTest();
|
||||
LibgpiodTest(object_id_t objectId, object_id_t gpioIfobjectId, GpioCookie* gpioCookie);
|
||||
virtual ~LibgpiodTest();
|
||||
|
||||
protected:
|
||||
virtual ReturnValue_t performPeriodicAction() override;
|
||||
@ -22,4 +22,4 @@ private:
|
||||
GpioIF* gpioInterface;
|
||||
};
|
||||
|
||||
#endif /* TEST_TESTTASKS_LIBGPIOTEST_H_ */
|
||||
#endif /* TEST_TESTTASKS_LIBGPIODTEST_H_ */
|
2
tmtc
2
tmtc
@ -1 +1 @@
|
||||
Subproject commit 4433fb68ac268ab72f763c2ef80b13d84600ad47
|
||||
Subproject commit 110ec9644a520af9c6f4cb7f2b5d47f3d34ba256
|
Loading…
Reference in New Issue
Block a user