Swap PL and PS I2C #725

Merged
muellerr merged 20 commits from swap-pl-ps-i2c into main 2023-07-06 15:05:54 +02:00
7 changed files with 15 additions and 8 deletions
Showing only changes of commit bda2ba79bf - Show all commits

View File

@ -19,10 +19,15 @@ will consitute of a breaking change warranting a new major release:
## Changed ## Changed
- Swapped PL and PS I2C, BPX battery and MGT are connected to PS I2C now for firmware versions - Swapped PL and PS I2C, BPX battery and MGT are connected to PS I2C now for firmware versions
above v4. However, this software version ins compatible to both v3 and v4 of the firmware. equal or above v4. However, this software version is compatible to both v3 and v4 of the firmware.
meggert marked this conversation as resolved Outdated

You might wanna check for typos ins this sentence.

You might wanna check for typos ins this sentence.

there are now typos in there

there are now typos in there

all typos ins now fixed

all typos ins now fixed
- The firmware version variables are global statics inititalized early during the program - The firmware version variables are global statics inititalized early during the program
runtime now. This makes it possible to check the firmware version earlier. runtime now. This makes it possible to check the firmware version earlier.
## Fixed
- TMP1075: Set dataset invalid on shutdown explicitely
- Small fixes for TMP1075 FDIR: Use strange and missed reply counters.
# [v6.0.0] 2023-07-02 # [v6.0.0] 2023-07-02
- `q7s-package` version v3.2.0 - `q7s-package` version v3.2.0

View File

@ -540,7 +540,7 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
tmpSchedConf.schedulePlPcduDev1 = true; tmpSchedConf.schedulePlPcduDev1 = true;
tmpSchedConf.scheduleIfBoardDev = true; tmpSchedConf.scheduleIfBoardDev = true;
#endif #endif
result = pst::pstProgammableLogicI2c(tmpSchedConf, i2cPst); result = pst::pstI2c(tmpSchedConf, i2cPst);
meggert marked this conversation as resolved Outdated

Naming is kind of confusing, if we are trying to keep this backwad compatible. Maybe pstTmpI2c might be better here.

Naming is kind of confusing, if we are trying to keep this backwad compatible. Maybe `pstTmpI2c` might be better here.

good catch

good catch
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) { if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) {
sif::warning << "scheduling::initTasks: I2C PST is empty" << std::endl; sif::warning << "scheduling::initTasks: I2C PST is empty" << std::endl;

View File

@ -39,8 +39,7 @@ ReturnValue_t pst::pstSyrlinks(FixedTimeslotTaskIF *thisSequence) {
// I don't think this needs to be in a PST because linux takes care of bus serialization, but // I don't think this needs to be in a PST because linux takes care of bus serialization, but
// keep it like this for now, it works // keep it like this for now, it works
ReturnValue_t pst::pstProgammableLogicI2c(TmpSchedConfig schedConf, ReturnValue_t pst::pstI2c(TmpSchedConfig schedConf, FixedTimeslotTaskIF *thisSequence) {
FixedTimeslotTaskIF *thisSequence) {
// Length of a communication cycle // Length of a communication cycle
uint32_t length = thisSequence->getPeriodMs(); uint32_t length = thisSequence->getPeriodMs();
static_cast<void>(length); static_cast<void>(length);

View File

@ -61,7 +61,7 @@ ReturnValue_t pstSyrlinks(FixedTimeslotTaskIF* thisSequence);
ReturnValue_t pstTcsAndAcs(FixedTimeslotTaskIF* thisSequence, AcsPstCfg cfg); ReturnValue_t pstTcsAndAcs(FixedTimeslotTaskIF* thisSequence, AcsPstCfg cfg);
ReturnValue_t pstProgammableLogicI2c(TmpSchedConfig schedConf, FixedTimeslotTaskIF* thisSequence); ReturnValue_t pstI2c(TmpSchedConfig schedConf, FixedTimeslotTaskIF* thisSequence);
/** /**
* Generic test PST * Generic test PST

View File

@ -20,7 +20,7 @@ ReturnValue_t TmpDevFdir::eventReceived(EventMessage* event) {
// We'll try a recovery as long as defined in MAX_REBOOT. // We'll try a recovery as long as defined in MAX_REBOOT.
// Might cause some AssemblyBase cycles, so keep number low. // Might cause some AssemblyBase cycles, so keep number low.
// Ignored for TMP device, no way to power cycle it without going to OFF/BOOT mode. // Ignored for TMP device, no way to power cycle it without going to OFF/BOOT mode.
// handleRecovery(event->getEvent()); setFaulty(event->getEvent());
break; break;
case DeviceHandlerIF::DEVICE_INTERPRETING_REPLY_FAILED: case DeviceHandlerIF::DEVICE_INTERPRETING_REPLY_FAILED:
case DeviceHandlerIF::DEVICE_READING_REPLY_FAILED: case DeviceHandlerIF::DEVICE_READING_REPLY_FAILED:
@ -28,7 +28,7 @@ ReturnValue_t TmpDevFdir::eventReceived(EventMessage* event) {
case DeviceHandlerIF::DEVICE_UNKNOWN_REPLY: // Some DH's generate generic reply-ids. case DeviceHandlerIF::DEVICE_UNKNOWN_REPLY: // Some DH's generate generic reply-ids.
case DeviceHandlerIF::DEVICE_BUILDING_COMMAND_FAILED: case DeviceHandlerIF::DEVICE_BUILDING_COMMAND_FAILED:
// These faults all mean that there were stupid replies from a device. // These faults all mean that there were stupid replies from a device.
// With now way to do a recovery, set the device to faulty immediately. // With no way to do a recovery, set the device to faulty instead of trying a recovery.
meggert marked this conversation as resolved Outdated

Now way you did this

Now way you did this

now way someone is actually reading the comments

now way someone is actually reading the comments
if (strangeReplyCount.incrementAndCheck()) { if (strangeReplyCount.incrementAndCheck()) {
setFaulty(event->getEvent()); setFaulty(event->getEvent());
} }

View File

@ -1,4 +1,5 @@
#include <OBSWConfig.h> #include <OBSWConfig.h>
#include <fsfw/datapool/PoolReadGuard.h>
#include <mission/tcs/Tmp1075Definitions.h> #include <mission/tcs/Tmp1075Definitions.h>
#include <mission/tcs/Tmp1075Handler.h> #include <mission/tcs/Tmp1075Handler.h>
@ -15,6 +16,8 @@ void Tmp1075Handler::doStartUp() { setMode(MODE_ON); }
void Tmp1075Handler::doShutDown() { void Tmp1075Handler::doShutDown() {
communicationStep = CommunicationStep::START_ADC_CONVERSION; communicationStep = CommunicationStep::START_ADC_CONVERSION;
PoolReadGuard pg(&dataset);
dataset.setValidity(false, true);
setMode(_MODE_POWER_DOWN); setMode(_MODE_POWER_DOWN);
} }

2
tmtc

@ -1 +1 @@
Subproject commit 18304c31fa423b1af6ff47764d4be81c7f20c8f2 Subproject commit c48f04eed5152f319b217870292968fb67b763d4