Merge branch 'develop' into mueller_5v_stack_cmd_for_devices
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:
commit
88dcba7966
@ -13,6 +13,9 @@ list yields a list of all related PRs for each release.
|
|||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
- PLOC SUPV: Minor adaptions and important bugfix for UART manager
|
- PLOC SUPV: Minor adaptions and important bugfix for UART manager
|
||||||
|
- Allow cloning and building the hosted OBSW version without proprietary libraries,
|
||||||
|
which also avoids the need to have a Gitea account.
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/337
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ set(OBSW_ADD_TMP_DEVICES
|
|||||||
${INIT_VAL}
|
${INIT_VAL}
|
||||||
CACHE STRING "Add TMP devices")
|
CACHE STRING "Add TMP devices")
|
||||||
set(OBSW_ADD_GOMSPACE_PCDU
|
set(OBSW_ADD_GOMSPACE_PCDU
|
||||||
1
|
${INIT_VAL}
|
||||||
CACHE STRING "Add GomSpace PCDU modules")
|
CACHE STRING "Add GomSpace PCDU modules")
|
||||||
set(OBSW_ADD_RW
|
set(OBSW_ADD_RW
|
||||||
${INIT_VAL}
|
${INIT_VAL}
|
||||||
@ -402,15 +402,14 @@ endif()
|
|||||||
add_subdirectory(thirdparty)
|
add_subdirectory(thirdparty)
|
||||||
|
|
||||||
if(EIVE_ADD_LINUX_FILES)
|
if(EIVE_ADD_LINUX_FILES)
|
||||||
add_subdirectory(${LIB_ARCSEC_PATH})
|
if(TGT_BSP MATCHES "arm/q7s")
|
||||||
|
add_subdirectory(${LIB_GOMSPACE_PATH})
|
||||||
|
add_subdirectory(${LIB_ARCSEC_PATH})
|
||||||
|
endif()
|
||||||
add_subdirectory(${LINUX_PATH})
|
add_subdirectory(${LINUX_PATH})
|
||||||
endif()
|
endif()
|
||||||
add_subdirectory(${BSP_PATH})
|
add_subdirectory(${BSP_PATH})
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
add_subdirectory(${LIB_GOMSPACE_PATH})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_subdirectory(${COMMON_PATH})
|
add_subdirectory(${COMMON_PATH})
|
||||||
add_subdirectory(${DUMMY_PATH})
|
add_subdirectory(${DUMMY_PATH})
|
||||||
|
|
||||||
@ -489,7 +488,8 @@ target_link_libraries(${LIB_DUMMIES} PUBLIC ${LIB_FSFW_NAME} ${LIB_JSON_NAME})
|
|||||||
target_link_libraries(${OBSW_NAME} PRIVATE ${LIB_EIVE_MISSION} ${LIB_DUMMIES})
|
target_link_libraries(${OBSW_NAME} PRIVATE ${LIB_EIVE_MISSION} ${LIB_DUMMIES})
|
||||||
|
|
||||||
if(TGT_BSP MATCHES "arm/q7s")
|
if(TGT_BSP MATCHES "arm/q7s")
|
||||||
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC ${LIB_GPS} ${LIB_ARCSEC})
|
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC ${LIB_GPS} ${LIB_ARCSEC}
|
||||||
|
${LIB_GOMSPACE_CLIENTS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(${UNITTEST_NAME} PRIVATE Catch2 ${LIB_EIVE_MISSION}
|
target_link_libraries(${UNITTEST_NAME} PRIVATE Catch2 ${LIB_EIVE_MISSION}
|
||||||
@ -499,10 +499,6 @@ if(TGT_BSP MATCHES "arm/egse")
|
|||||||
target_link_libraries(${OBSW_NAME} PRIVATE ${LIB_ARCSEC})
|
target_link_libraries(${OBSW_NAME} PRIVATE ${LIB_ARCSEC})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
target_link_libraries(${OBSW_NAME} PRIVATE ${LIB_GOMSPACE_CLIENTS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(EIVE_ADD_ETL_LIB)
|
if(EIVE_ADD_ETL_LIB)
|
||||||
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC ${LIB_ETL_TARGET})
|
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC ${LIB_ETL_TARGET})
|
||||||
endif()
|
endif()
|
||||||
|
24
README.md
24
README.md
@ -290,7 +290,7 @@ helper scripts as well.
|
|||||||
4. Run build command by double clicking the created target or by right clicking
|
4. Run build command by double clicking the created target or by right clicking
|
||||||
the project folder and selecting Build Project.
|
the project folder and selecting Build Project.
|
||||||
|
|
||||||
# <a id="host-commands"></a> Useful and Common Commands (Host)
|
# <a id="host-commands"></a> Useful and Common Commands
|
||||||
|
|
||||||
## Build generation
|
## Build generation
|
||||||
|
|
||||||
@ -319,14 +319,9 @@ cmake -DTGT_BSP=arm/q7s -DCMAKE_BUILD_TYPE=Release ..
|
|||||||
cmake --build . -j
|
cmake --build . -j
|
||||||
```
|
```
|
||||||
|
|
||||||
### Q7S Watchdog
|
### Hosted OBSW
|
||||||
|
|
||||||
The watchdog will be built along side the primary OBSW binary.
|
|
||||||
|
|
||||||
### Hosted
|
|
||||||
|
|
||||||
You can also use the FSFW OSAL `host` to build on Windows or for generic OSes.
|
You can also use the FSFW OSAL `host` to build on Windows or for generic OSes.
|
||||||
Note: Currently this is not supported.
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mkdir cmake-build-debug && cd cmake-build-debug
|
mkdir cmake-build-debug && cd cmake-build-debug
|
||||||
@ -334,6 +329,21 @@ cmake -DFSFW_OSAL=host -DCMAKE_BUILD_TYPE=Debug ..
|
|||||||
cmake --build . -j
|
cmake --build . -j
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You can also use the `linux` OSAL:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir cmake-build-debug && cd cmake-build-debug
|
||||||
|
cmake -DFSFW_OSAL=linux -DCMAKE_BUILD_TYPE=Debug ..
|
||||||
|
cmake --build . -j
|
||||||
|
```
|
||||||
|
|
||||||
|
Please note that some additional Linux setup might be necessary.
|
||||||
|
You can find more information in the [Linux section of the FSFW example](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-linux-mcu/src/branch/mueller/master/doc/README-linux.md#raising-message-queue-size-limit)
|
||||||
|
|
||||||
|
### Q7S Watchdog
|
||||||
|
|
||||||
|
The watchdog will be built along side the primary OBSW binary.
|
||||||
|
|
||||||
### Unittests
|
### Unittests
|
||||||
|
|
||||||
To build the unittests, the corresponding target must be specified in the build command.
|
To build the unittests, the corresponding target must be specified in the build command.
|
||||||
|
@ -14,7 +14,7 @@ RUN set -ex; \
|
|||||||
rm -rf build-hosted; \
|
rm -rf build-hosted; \
|
||||||
mkdir build-hosted; \
|
mkdir build-hosted; \
|
||||||
cd build-hosted; \
|
cd build-hosted; \
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release -DOS_FSFW=linux ..;
|
cmake -DCMAKE_BUILD_TYPE=Release -DOSAL_FSFW=host ..;
|
||||||
|
|
||||||
ENTRYPOINT ["cmake", "--build", "build-hosted"]
|
ENTRYPOINT ["cmake", "--build", "build-hosted"]
|
||||||
CMD ["-j"]
|
CMD ["-j"]
|
||||||
|
@ -123,11 +123,12 @@ void Factory::setStaticFrameworkObjectIds() {
|
|||||||
void ObjectFactory::setStatics() { Factory::setStaticFrameworkObjectIds(); }
|
void ObjectFactory::setStatics() { Factory::setStaticFrameworkObjectIds(); }
|
||||||
|
|
||||||
void ObjectFactory::createTmpComponents() {
|
void ObjectFactory::createTmpComponents() {
|
||||||
std::array<std::pair<object_id_t, address_t>, 5> tmpDevIds = {{
|
std::vector<std::pair<object_id_t, address_t>> tmpDevIds = {{
|
||||||
{objects::TMP1075_HANDLER_TCS_0, addresses::TMP1075_TCS_0},
|
{objects::TMP1075_HANDLER_TCS_0, addresses::TMP1075_TCS_0},
|
||||||
{objects::TMP1075_HANDLER_TCS_1, addresses::TMP1075_TCS_1},
|
{objects::TMP1075_HANDLER_TCS_1, addresses::TMP1075_TCS_1},
|
||||||
{objects::TMP1075_HANDLER_PLPCDU_0, addresses::TMP1075_PLPCDU_0},
|
{objects::TMP1075_HANDLER_PLPCDU_0, addresses::TMP1075_PLPCDU_0},
|
||||||
{objects::TMP1075_HANDLER_PLPCDU_1, addresses::TMP1075_PLPCDU_1},
|
// damaged
|
||||||
|
// {objects::TMP1075_HANDLER_PLPCDU_1, addresses::TMP1075_PLPCDU_1},
|
||||||
{objects::TMP1075_HANDLER_IF_BOARD, addresses::TMP1075_IF_BOARD},
|
{objects::TMP1075_HANDLER_IF_BOARD, addresses::TMP1075_IF_BOARD},
|
||||||
}};
|
}};
|
||||||
std::vector<I2cCookie*> tmpDevCookies;
|
std::vector<I2cCookie*> tmpDevCookies;
|
||||||
|
3
clone-submodules-no-privlibs.sh
Executable file
3
clone-submodules-no-privlibs.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
git submodule update --init fsfw thirdparty/rapidcsv thirdparty/lwgps thirdparty/json
|
@ -1,12 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cfg_script_name="cmake-build-cfg.py"
|
cfg_script_name="cmake-build-cfg.py"
|
||||||
init_dir=$(pwd)
|
init_dir=$(pwd)
|
||||||
|
root_dir=""
|
||||||
if [ -z "${EIVE_OBSW_ROOT}" ]; then
|
if [ -z "${EIVE_OBSW_ROOT}" ]; then
|
||||||
counter=0
|
counter=0
|
||||||
while [ ${counter} -lt 5 ]
|
while [ ${counter} -lt 5 ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
if [ -f ${cfg_script_name} ];then
|
if [ -f ${cfg_script_name} ];then
|
||||||
|
root_dir=$(realpath "../..")
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
counter=$((counter=counter + 1))
|
counter=$((counter=counter + 1))
|
||||||
@ -18,6 +20,7 @@ if [ -z "${EIVE_OBSW_ROOT}" ]; then
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
cfg_script_name="${EIVE_OBSW_ROOT}/cmake/scripts/${cfg_script_name}"
|
cfg_script_name="${EIVE_OBSW_ROOT}/cmake/scripts/${cfg_script_name}"
|
||||||
|
root_dir=${EIVE_OBSW_ROOT}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
build_generator="make"
|
build_generator="make"
|
||||||
@ -34,4 +37,5 @@ echo "Running command (without the leading +):"
|
|||||||
set -x # Print command
|
set -x # Print command
|
||||||
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l "${builddir}"
|
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l "${builddir}"
|
||||||
# Use this if commands are added which should not be printed
|
# Use this if commands are added which should not be printed
|
||||||
# set +x
|
set +x
|
||||||
|
cd ${root_dir}/${builddir}
|
||||||
|
@ -7,6 +7,7 @@ if [ -z "${EIVE_OBSW_ROOT}" ]; then
|
|||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
if [ -f ${cfg_script_name} ];then
|
if [ -f ${cfg_script_name} ];then
|
||||||
|
root_dir=$(realpath "../..")
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
counter=$((counter=counter + 1))
|
counter=$((counter=counter + 1))
|
||||||
@ -20,7 +21,7 @@ else
|
|||||||
cfg_script_name="${EIVE_OBSW_ROOT}/cmake/scripts/${cfg_script_name}"
|
cfg_script_name="${EIVE_OBSW_ROOT}/cmake/scripts/${cfg_script_name}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
build_generator="Unix Makefiles"
|
build_generator="make"
|
||||||
os_fsfw="host"
|
os_fsfw="host"
|
||||||
builddir="cmake-build-release"
|
builddir="cmake-build-release"
|
||||||
if [ "${OS}" = "Windows_NT" ]; then
|
if [ "${OS}" = "Windows_NT" ]; then
|
||||||
@ -34,4 +35,5 @@ echo "Running command (without the leading +):"
|
|||||||
set -x # Print command
|
set -x # Print command
|
||||||
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "release" -l "${builddir}"
|
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "release" -l "${builddir}"
|
||||||
# Use this if commands are added which should not be printed
|
# Use this if commands are added which should not be printed
|
||||||
# set +x
|
set +x
|
||||||
|
cd ${root_dir}/${builddir}
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
add_subdirectory(csp)
|
|
||||||
add_subdirectory(utility)
|
add_subdirectory(utility)
|
||||||
add_subdirectory(callbacks)
|
add_subdirectory(callbacks)
|
||||||
add_subdirectory(boardtest)
|
add_subdirectory(boardtest)
|
||||||
@ -9,4 +8,9 @@ if(EIVE_ADD_LINUX_FSFWCONFIG)
|
|||||||
add_subdirectory(fsfwconfig)
|
add_subdirectory(fsfwconfig)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Dependency on proprietary library
|
||||||
|
if(TGT_BSP MATCHES "arm/q7s")
|
||||||
|
add_subdirectory(csp)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_sources(${OBSW_NAME} PUBLIC ObjectFactory.cpp scheduling.cpp)
|
target_sources(${OBSW_NAME} PUBLIC ObjectFactory.cpp scheduling.cpp)
|
||||||
|
@ -7,4 +7,8 @@ target_sources(
|
|||||||
ScexDleParser.cpp ScexHelper.cpp)
|
ScexDleParser.cpp ScexHelper.cpp)
|
||||||
|
|
||||||
add_subdirectory(ploc)
|
add_subdirectory(ploc)
|
||||||
add_subdirectory(startracker)
|
|
||||||
|
# Dependency on proprietary library
|
||||||
|
if(TGT_BSP MATCHES "arm/q7s")
|
||||||
|
add_subdirectory(startracker)
|
||||||
|
endif()
|
||||||
|
@ -347,6 +347,8 @@ ReturnValue_t PlocMPSoCHandler::scanForReply(const uint8_t* start, size_t remain
|
|||||||
triggerEvent(MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH, sequenceCount, recvSeqCnt);
|
triggerEvent(MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH, sequenceCount, recvSeqCnt);
|
||||||
sequenceCount = recvSeqCnt;
|
sequenceCount = recvSeqCnt;
|
||||||
}
|
}
|
||||||
|
// This sequence count ping pong does not make any sense but it is how the MPSoC expects it.
|
||||||
|
sequenceCount++;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -455,6 +455,8 @@ ReturnValue_t pst::pstI2c(FixedTimeslotTaskIF *thisSequence) {
|
|||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.4,
|
||||||
DeviceHandlerIF::SEND_READ);
|
DeviceHandlerIF::SEND_READ);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.4, DeviceHandlerIF::GET_READ);
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.4, DeviceHandlerIF::GET_READ);
|
||||||
|
// damaged
|
||||||
|
/*
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
||||||
DeviceHandlerIF::PERFORM_OPERATION);
|
DeviceHandlerIF::PERFORM_OPERATION);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
||||||
@ -464,6 +466,7 @@ ReturnValue_t pst::pstI2c(FixedTimeslotTaskIF *thisSequence) {
|
|||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
||||||
DeviceHandlerIF::SEND_READ);
|
DeviceHandlerIF::SEND_READ);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4, DeviceHandlerIF::GET_READ);
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4, DeviceHandlerIF::GET_READ);
|
||||||
|
*/
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_IF_BOARD, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_IF_BOARD, length * 0.4,
|
||||||
DeviceHandlerIF::PERFORM_OPERATION);
|
DeviceHandlerIF::PERFORM_OPERATION);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_IF_BOARD, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_IF_BOARD, length * 0.4,
|
||||||
|
@ -41,7 +41,8 @@ ThermalController::ThermalController(object_id_t objectId)
|
|||||||
tmp1075SetTcs0(objects::TMP1075_HANDLER_TCS_0),
|
tmp1075SetTcs0(objects::TMP1075_HANDLER_TCS_0),
|
||||||
tmp1075SetTcs1(objects::TMP1075_HANDLER_TCS_1),
|
tmp1075SetTcs1(objects::TMP1075_HANDLER_TCS_1),
|
||||||
tmp1075SetPlPcdu0(objects::TMP1075_HANDLER_PLPCDU_0),
|
tmp1075SetPlPcdu0(objects::TMP1075_HANDLER_PLPCDU_0),
|
||||||
tmp1075SetPlPcdu1(objects::TMP1075_HANDLER_PLPCDU_1),
|
// damaged
|
||||||
|
// tmp1075SetPlPcdu1(objects::TMP1075_HANDLER_PLPCDU_1),
|
||||||
tmp1075SetIfBoard(objects::TMP1075_HANDLER_IF_BOARD),
|
tmp1075SetIfBoard(objects::TMP1075_HANDLER_IF_BOARD),
|
||||||
susSet0(objects::SUS_0_N_LOC_XFYFZM_PT_XF),
|
susSet0(objects::SUS_0_N_LOC_XFYFZM_PT_XF),
|
||||||
susSet1(objects::SUS_1_N_LOC_XBYFZM_PT_XB),
|
susSet1(objects::SUS_1_N_LOC_XBYFZM_PT_XB),
|
||||||
@ -449,6 +450,8 @@ void ThermalController::copySensors() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// damaged
|
||||||
|
/*
|
||||||
{
|
{
|
||||||
PoolReadGuard pg(&tmp1075SetPlPcdu1, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
PoolReadGuard pg(&tmp1075SetPlPcdu1, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
||||||
if (pg.getReadResult() == returnvalue::OK) {
|
if (pg.getReadResult() == returnvalue::OK) {
|
||||||
@ -459,6 +462,7 @@ void ThermalController::copySensors() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
PoolReadGuard pg(&tmp1075SetIfBoard, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
PoolReadGuard pg(&tmp1075SetIfBoard, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
||||||
if (pg.getReadResult() == returnvalue::OK) {
|
if (pg.getReadResult() == returnvalue::OK) {
|
||||||
|
@ -55,10 +55,12 @@ class ThermalController : public ExtendedControllerBase {
|
|||||||
MAX31865::Max31865Set max31865Set13;
|
MAX31865::Max31865Set max31865Set13;
|
||||||
MAX31865::Max31865Set max31865Set14;
|
MAX31865::Max31865Set max31865Set14;
|
||||||
MAX31865::Max31865Set max31865Set15;
|
MAX31865::Max31865Set max31865Set15;
|
||||||
|
|
||||||
TMP1075::Tmp1075Dataset tmp1075SetTcs0;
|
TMP1075::Tmp1075Dataset tmp1075SetTcs0;
|
||||||
TMP1075::Tmp1075Dataset tmp1075SetTcs1;
|
TMP1075::Tmp1075Dataset tmp1075SetTcs1;
|
||||||
TMP1075::Tmp1075Dataset tmp1075SetPlPcdu0;
|
TMP1075::Tmp1075Dataset tmp1075SetPlPcdu0;
|
||||||
TMP1075::Tmp1075Dataset tmp1075SetPlPcdu1;
|
// damaged
|
||||||
|
// TMP1075::Tmp1075Dataset tmp1075SetPlPcdu1;
|
||||||
TMP1075::Tmp1075Dataset tmp1075SetIfBoard;
|
TMP1075::Tmp1075Dataset tmp1075SetIfBoard;
|
||||||
|
|
||||||
// SUS
|
// SUS
|
||||||
|
@ -84,6 +84,16 @@ void PayloadPcduHandler::doTransition(Mode_t modeFrom, Submode_t subModeFrom) {
|
|||||||
if (getMode() == _MODE_TO_NORMAL) {
|
if (getMode() == _MODE_TO_NORMAL) {
|
||||||
stateMachineToNormal(modeFrom, subModeFrom);
|
stateMachineToNormal(modeFrom, subModeFrom);
|
||||||
return;
|
return;
|
||||||
|
} else if (getMode() == _MODE_TO_ON and modeFrom == MODE_NORMAL) {
|
||||||
|
gpioIF->pullLow(gpioIds::PLPCDU_ENB_HPA);
|
||||||
|
gpioIF->pullLow(gpioIds::PLPCDU_ENB_MPA);
|
||||||
|
gpioIF->pullLow(gpioIds::PLPCDU_ENB_TX);
|
||||||
|
gpioIF->pullLow(gpioIds::PLPCDU_ENB_X8);
|
||||||
|
gpioIF->pullLow(gpioIds::PLPCDU_ENB_DRO);
|
||||||
|
gpioIF->pullLow(gpioIds::PLPCDU_ENB_TX);
|
||||||
|
gpioIF->pullLow(gpioIds::PLPCDU_ENB_VBAT0);
|
||||||
|
gpioIF->pullLow(gpioIds::PLPCDU_ENB_VBAT1);
|
||||||
|
state = States::POWER_CHANNELS_ON;
|
||||||
}
|
}
|
||||||
DeviceHandlerBase::doTransition(modeFrom, subModeFrom);
|
DeviceHandlerBase::doTransition(modeFrom, subModeFrom);
|
||||||
}
|
}
|
||||||
@ -159,6 +169,10 @@ ReturnValue_t PayloadPcduHandler::stateMachineToNormal(Mode_t modeFrom, Submode_
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// sif::debug << "DIFF MASK: " << (int)diffMask << std::endl;
|
||||||
|
|
||||||
|
// No handling for the SSRs: If those are pulled low, the ADC is off
|
||||||
|
// and normal mode does not really make sense anyway
|
||||||
switchHandler(DRO_ON, gpioIds::PLPCDU_ENB_DRO, "DRO");
|
switchHandler(DRO_ON, gpioIds::PLPCDU_ENB_DRO, "DRO");
|
||||||
switchHandler(X8_ON, gpioIds::PLPCDU_ENB_X8, "X8");
|
switchHandler(X8_ON, gpioIds::PLPCDU_ENB_X8, "X8");
|
||||||
switchHandler(TX_ON, gpioIds::PLPCDU_ENB_TX, "TX");
|
switchHandler(TX_ON, gpioIds::PLPCDU_ENB_TX, "TX");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user