split up p60 hk packets
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
This commit is contained in:
parent
4e3fa54ae2
commit
5e4c3728ed
@ -51,7 +51,8 @@ ReturnValue_t PCDUHandler::initialize() {
|
|||||||
return RETURN_FAILED;
|
return RETURN_FAILED;
|
||||||
}
|
}
|
||||||
result = pdu2Handler->getSubscriptionInterface()->subscribeForSetUpdateMessage(
|
result = pdu2Handler->getSubscriptionInterface()->subscribeForSetUpdateMessage(
|
||||||
PDU2::HK_TABLE_DATA_SET_ID, this->getObjectId(), commandQueue->getId(), true);
|
static_cast<uint32_t>(P60System::SetIds::PDU_2), this->getObjectId(), commandQueue->getId(),
|
||||||
|
true);
|
||||||
if (result != RETURN_OK) {
|
if (result != RETURN_OK) {
|
||||||
sif::error << "PCDUHandler::initialize: Failed to subscribe for set update messages from "
|
sif::error << "PCDUHandler::initialize: Failed to subscribe for set update messages from "
|
||||||
<< "PDU2Handler" << std::endl;
|
<< "PDU2Handler" << std::endl;
|
||||||
@ -66,7 +67,8 @@ ReturnValue_t PCDUHandler::initialize() {
|
|||||||
return RETURN_FAILED;
|
return RETURN_FAILED;
|
||||||
}
|
}
|
||||||
result = pdu1Handler->getSubscriptionInterface()->subscribeForSetUpdateMessage(
|
result = pdu1Handler->getSubscriptionInterface()->subscribeForSetUpdateMessage(
|
||||||
PDU1::HK_TABLE_DATA_SET_ID, this->getObjectId(), commandQueue->getId(), true);
|
static_cast<uint32_t>(P60System::SetIds::PDU_1), this->getObjectId(), commandQueue->getId(),
|
||||||
|
true);
|
||||||
if (result != RETURN_OK) {
|
if (result != RETURN_OK) {
|
||||||
sif::error << "PCDUHandler::initialize: Failed to subscribe for set update messages from "
|
sif::error << "PCDUHandler::initialize: Failed to subscribe for set update messages from "
|
||||||
<< "PDU1Handler" << std::endl;
|
<< "PDU1Handler" << std::endl;
|
||||||
@ -101,10 +103,10 @@ void PCDUHandler::readCommandQueue() {
|
|||||||
MessageQueueId_t PCDUHandler::getCommandQueue() const { return commandQueue->getId(); }
|
MessageQueueId_t PCDUHandler::getCommandQueue() const { return commandQueue->getId(); }
|
||||||
|
|
||||||
void PCDUHandler::handleChangedDataset(sid_t sid, store_address_t storeId, bool* clearMessage) {
|
void PCDUHandler::handleChangedDataset(sid_t sid, store_address_t storeId, bool* clearMessage) {
|
||||||
if (sid == sid_t(objects::PDU2_HANDLER, PDU2::HK_TABLE_DATA_SET_ID)) {
|
if (sid == sid_t(objects::PDU2_HANDLER, static_cast<uint32_t>(P60System::SetIds::PDU_2))) {
|
||||||
updateHkTableDataset(storeId, &pdu2HkTableDataset, &timeStampPdu2HkDataset);
|
updateHkTableDataset(storeId, &pdu2HkTableDataset, &timeStampPdu2HkDataset);
|
||||||
updatePdu2SwitchStates();
|
updatePdu2SwitchStates();
|
||||||
} else if (sid == sid_t(objects::PDU1_HANDLER, PDU1::HK_TABLE_DATA_SET_ID)) {
|
} else if (sid == sid_t(objects::PDU1_HANDLER, static_cast<uint32_t>(P60System::SetIds::PDU_1))) {
|
||||||
updateHkTableDataset(storeId, &pdu1HkTableDataset, &timeStampPdu1HkDataset);
|
updateHkTableDataset(storeId, &pdu1HkTableDataset, &timeStampPdu1HkDataset);
|
||||||
updatePdu1SwitchStates();
|
updatePdu1SwitchStates();
|
||||||
} else {
|
} else {
|
||||||
|
@ -43,6 +43,8 @@ static const DeviceCommandId_t PRINT_LATCHUPS = 33;
|
|||||||
|
|
||||||
namespace P60System {
|
namespace P60System {
|
||||||
|
|
||||||
|
enum class SetIds : uint32_t { PDU_1 = 1, PDU_2 = 2, P60_CORE = 3, P60_AUX = 4, ACU = 5 };
|
||||||
|
|
||||||
namespace pool {
|
namespace pool {
|
||||||
|
|
||||||
enum Ids : lp_id_t {
|
enum Ids : lp_id_t {
|
||||||
@ -351,9 +353,6 @@ static const uint16_t MAX_CONFIGTABLE_ADDRESS = 408;
|
|||||||
static const uint16_t MAX_HKTABLE_ADDRESS = 187;
|
static const uint16_t MAX_HKTABLE_ADDRESS = 187;
|
||||||
static const uint16_t HK_TABLE_SIZE = 188;
|
static const uint16_t HK_TABLE_SIZE = 188;
|
||||||
|
|
||||||
static constexpr uint32_t CORE_TABLE_SET_ID = 0x3;
|
|
||||||
static constexpr uint32_t AUX_TABLE_DATA_SET_ID = 0x4;
|
|
||||||
|
|
||||||
static const uint8_t HK_TABLE_ENTRIES = 100;
|
static const uint8_t HK_TABLE_ENTRIES = 100;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -364,9 +363,11 @@ static const uint16_t HK_TABLE_REPLY_SIZE = 407;
|
|||||||
|
|
||||||
class CoreHkSet : public StaticLocalDataSet<16> {
|
class CoreHkSet : public StaticLocalDataSet<16> {
|
||||||
public:
|
public:
|
||||||
CoreHkSet(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, CORE_TABLE_SET_ID) {}
|
CoreHkSet(HasLocalDataPoolIF* owner)
|
||||||
|
: StaticLocalDataSet(owner, static_cast<uint32_t>(::P60System::SetIds::P60_CORE)) {}
|
||||||
|
|
||||||
CoreHkSet(object_id_t objectId) : StaticLocalDataSet(sid_t(objectId, CORE_TABLE_SET_ID)) {}
|
CoreHkSet(object_id_t objectId)
|
||||||
|
: StaticLocalDataSet(sid_t(objectId, static_cast<uint32_t>(::P60System::SetIds::P60_CORE))) {}
|
||||||
|
|
||||||
/** Measured output currents */
|
/** Measured output currents */
|
||||||
lp_vec_t<int16_t, P60Dock::hk::Index::CHNLS_LEN> currents =
|
lp_vec_t<int16_t, P60Dock::hk::Index::CHNLS_LEN> currents =
|
||||||
@ -406,10 +407,16 @@ class CoreHkSet : public StaticLocalDataSet<16> {
|
|||||||
*/
|
*/
|
||||||
class HkTableDataset : public StaticLocalDataSet<32> {
|
class HkTableDataset : public StaticLocalDataSet<32> {
|
||||||
public:
|
public:
|
||||||
HkTableDataset(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, AUX_TABLE_DATA_SET_ID) {}
|
HkTableDataset(HasLocalDataPoolIF* owner)
|
||||||
|
: StaticLocalDataSet(owner, static_cast<uint32_t>(::P60System::SetIds::P60_AUX)) {}
|
||||||
|
|
||||||
HkTableDataset(object_id_t objectId)
|
HkTableDataset(object_id_t objectId)
|
||||||
: StaticLocalDataSet(sid_t(objectId, AUX_TABLE_DATA_SET_ID)) {}
|
: StaticLocalDataSet(sid_t(objectId, static_cast<uint32_t>(::P60System::SetIds::P60_AUX))) {}
|
||||||
|
|
||||||
|
/** Number of detected latchups on each output channel */
|
||||||
|
lp_vec_t<uint16_t, P60Dock::hk::Index::CHNLS_LEN> latchups =
|
||||||
|
lp_vec_t<uint16_t, P60Dock::hk::Index::CHNLS_LEN>(sid.objectId, P60System::pool::LATCHUPS,
|
||||||
|
this);
|
||||||
|
|
||||||
lp_var_t<uint32_t> bootcause =
|
lp_var_t<uint32_t> bootcause =
|
||||||
lp_var_t<uint32_t>(sid.objectId, P60System::pool::P60DOCK_BOOT_CAUSE, this);
|
lp_var_t<uint32_t>(sid.objectId, P60System::pool::P60DOCK_BOOT_CAUSE, this);
|
||||||
@ -424,11 +431,6 @@ class HkTableDataset : public StaticLocalDataSet<32> {
|
|||||||
lp_var_t<uint8_t> converter5VStatus =
|
lp_var_t<uint8_t> converter5VStatus =
|
||||||
lp_var_t<uint8_t>(sid.objectId, P60System::pool::P60DOCK_CONV_5V_ENABLE_STATUS, this);
|
lp_var_t<uint8_t>(sid.objectId, P60System::pool::P60DOCK_CONV_5V_ENABLE_STATUS, this);
|
||||||
|
|
||||||
/** Number of detected latchups on each output channel */
|
|
||||||
lp_vec_t<uint16_t, P60Dock::hk::Index::CHNLS_LEN> latchups =
|
|
||||||
lp_vec_t<uint16_t, P60Dock::hk::Index::CHNLS_LEN>(sid.objectId, P60System::pool::LATCHUPS,
|
|
||||||
this);
|
|
||||||
|
|
||||||
lp_var_t<uint16_t> dockVbatVoltageValue =
|
lp_var_t<uint16_t> dockVbatVoltageValue =
|
||||||
lp_var_t<uint16_t>(sid.objectId, P60System::pool::P60DOCK_DOCK_VBAT, this);
|
lp_var_t<uint16_t>(sid.objectId, P60System::pool::P60DOCK_DOCK_VBAT, this);
|
||||||
lp_var_t<int16_t> dockVccCurrent =
|
lp_var_t<int16_t> dockVccCurrent =
|
||||||
@ -439,11 +441,6 @@ class HkTableDataset : public StaticLocalDataSet<32> {
|
|||||||
lp_var_t<int16_t> batteryTemperature2 =
|
lp_var_t<int16_t> batteryTemperature2 =
|
||||||
lp_var_t<int16_t>(sid.objectId, P60System::pool::P60DOCK_BATTERY_TEMPERATURE_2, this);
|
lp_var_t<int16_t>(sid.objectId, P60System::pool::P60DOCK_BATTERY_TEMPERATURE_2, this);
|
||||||
|
|
||||||
lp_vec_t<uint8_t, P60Dock::NUM_DEVS> devicesType =
|
|
||||||
lp_vec_t<uint8_t, P60Dock::NUM_DEVS>(sid.objectId, P60System::pool::DEVICES_TYPE, this);
|
|
||||||
lp_vec_t<uint8_t, P60Dock::NUM_DEVS> devicesStatus =
|
|
||||||
lp_vec_t<uint8_t, P60Dock::NUM_DEVS>(sid.objectId, P60System::pool::DEVICES_STATUS, this);
|
|
||||||
|
|
||||||
lp_var_t<uint8_t> dearmStatus =
|
lp_var_t<uint8_t> dearmStatus =
|
||||||
lp_var_t<uint8_t>(sid.objectId, P60System::pool::P60DOCK_DEARM_STATUS, this);
|
lp_var_t<uint8_t>(sid.objectId, P60System::pool::P60DOCK_DEARM_STATUS, this);
|
||||||
|
|
||||||
@ -477,6 +474,11 @@ class HkTableDataset : public StaticLocalDataSet<32> {
|
|||||||
lp_var_t<int8_t>(sid.objectId, P60System::pool::P60DOCK_ANT6_DEPL, this);
|
lp_var_t<int8_t>(sid.objectId, P60System::pool::P60DOCK_ANT6_DEPL, this);
|
||||||
lp_var_t<int8_t> ar6Depl =
|
lp_var_t<int8_t> ar6Depl =
|
||||||
lp_var_t<int8_t>(sid.objectId, P60System::pool::P60DOCK_AR6_DEPL, this);
|
lp_var_t<int8_t>(sid.objectId, P60System::pool::P60DOCK_AR6_DEPL, this);
|
||||||
|
|
||||||
|
lp_vec_t<uint8_t, P60Dock::NUM_DEVS> devicesType =
|
||||||
|
lp_vec_t<uint8_t, P60Dock::NUM_DEVS>(sid.objectId, P60System::pool::DEVICES_TYPE, this);
|
||||||
|
lp_vec_t<uint8_t, P60Dock::NUM_DEVS> devicesStatus =
|
||||||
|
lp_vec_t<uint8_t, P60Dock::NUM_DEVS>(sid.objectId, P60System::pool::DEVICES_STATUS, this);
|
||||||
};
|
};
|
||||||
} // namespace P60Dock
|
} // namespace P60Dock
|
||||||
|
|
||||||
@ -494,7 +496,6 @@ static const uint8_t HK_TABLE_ENTRIES = 73;
|
|||||||
} // namespace PDU
|
} // namespace PDU
|
||||||
|
|
||||||
namespace PDU1 {
|
namespace PDU1 {
|
||||||
static const uint32_t HK_TABLE_DATA_SET_ID = 0x1; // hk table has table id 4
|
|
||||||
|
|
||||||
enum SwitchChannels : uint8_t {
|
enum SwitchChannels : uint8_t {
|
||||||
TCS_BOARD_3V3 = 0,
|
TCS_BOARD_3V3 = 0,
|
||||||
@ -527,10 +528,11 @@ static const uint16_t CONFIG_ADDRESS_OUT_EN_CHANNEL8 = 0x50;
|
|||||||
*/
|
*/
|
||||||
class PDU1HkTableDataset : public StaticLocalDataSet<PDU::HK_TABLE_ENTRIES> {
|
class PDU1HkTableDataset : public StaticLocalDataSet<PDU::HK_TABLE_ENTRIES> {
|
||||||
public:
|
public:
|
||||||
PDU1HkTableDataset(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, HK_TABLE_DATA_SET_ID) {}
|
PDU1HkTableDataset(HasLocalDataPoolIF* owner)
|
||||||
|
: StaticLocalDataSet(owner, static_cast<uint32_t>(::P60System::SetIds::PDU_1)) {}
|
||||||
|
|
||||||
PDU1HkTableDataset(object_id_t objectId)
|
PDU1HkTableDataset(object_id_t objectId)
|
||||||
: StaticLocalDataSet(sid_t(objectId, HK_TABLE_DATA_SET_ID)) {}
|
: StaticLocalDataSet(sid_t(objectId, static_cast<uint32_t>(::P60System::SetIds::PDU_1))) {}
|
||||||
|
|
||||||
/** Measured output currents */
|
/** Measured output currents */
|
||||||
lp_var_t<int16_t> currentOutTCSBoard3V3 =
|
lp_var_t<int16_t> currentOutTCSBoard3V3 =
|
||||||
@ -698,7 +700,6 @@ class PDU1HkTableDataset : public StaticLocalDataSet<PDU::HK_TABLE_ENTRIES> {
|
|||||||
} // namespace PDU1
|
} // namespace PDU1
|
||||||
|
|
||||||
namespace PDU2 {
|
namespace PDU2 {
|
||||||
static const uint32_t HK_TABLE_DATA_SET_ID = 0x2;
|
|
||||||
|
|
||||||
enum SwitchChannels : uint8_t {
|
enum SwitchChannels : uint8_t {
|
||||||
Q7S = 0,
|
Q7S = 0,
|
||||||
@ -731,10 +732,11 @@ static const uint16_t CONFIG_ADDRESS_OUT_EN_PAYLOAD_CAMERA = 0x50;
|
|||||||
*/
|
*/
|
||||||
class PDU2HkTableDataset : public StaticLocalDataSet<PDU::HK_TABLE_ENTRIES> {
|
class PDU2HkTableDataset : public StaticLocalDataSet<PDU::HK_TABLE_ENTRIES> {
|
||||||
public:
|
public:
|
||||||
PDU2HkTableDataset(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, HK_TABLE_DATA_SET_ID) {}
|
PDU2HkTableDataset(HasLocalDataPoolIF* owner)
|
||||||
|
: StaticLocalDataSet(owner, static_cast<uint32_t>(::P60System::SetIds::PDU_2)) {}
|
||||||
|
|
||||||
PDU2HkTableDataset(object_id_t objectId)
|
PDU2HkTableDataset(object_id_t objectId)
|
||||||
: StaticLocalDataSet(sid_t(objectId, HK_TABLE_DATA_SET_ID)) {}
|
: StaticLocalDataSet(sid_t(objectId, static_cast<uint32_t>(::P60System::SetIds::PDU_2))) {}
|
||||||
|
|
||||||
/** Measured output currents */
|
/** Measured output currents */
|
||||||
lp_var_t<int16_t> currentOutQ7S =
|
lp_var_t<int16_t> currentOutQ7S =
|
||||||
@ -903,8 +905,6 @@ class PDU2HkTableDataset : public StaticLocalDataSet<PDU::HK_TABLE_ENTRIES> {
|
|||||||
|
|
||||||
namespace ACU {
|
namespace ACU {
|
||||||
|
|
||||||
static const uint32_t HK_TABLE_DATA_SET_ID = 0x4;
|
|
||||||
|
|
||||||
/* When receiving full housekeeping (telemetry) table */
|
/* When receiving full housekeeping (telemetry) table */
|
||||||
static const uint16_t MAX_REPLY_LENGTH = 262;
|
static const uint16_t MAX_REPLY_LENGTH = 262;
|
||||||
static const uint16_t MAX_CONFIGTABLE_ADDRESS = 26;
|
static const uint16_t MAX_CONFIGTABLE_ADDRESS = 26;
|
||||||
@ -917,10 +917,11 @@ static const uint16_t HK_TABLE_REPLY_SIZE = 262;
|
|||||||
*/
|
*/
|
||||||
class HkTableDataset : public StaticLocalDataSet<HK_TABLE_ENTRIES> {
|
class HkTableDataset : public StaticLocalDataSet<HK_TABLE_ENTRIES> {
|
||||||
public:
|
public:
|
||||||
HkTableDataset(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, HK_TABLE_DATA_SET_ID) {}
|
HkTableDataset(HasLocalDataPoolIF* owner)
|
||||||
|
: StaticLocalDataSet(owner, static_cast<uint32_t>(::P60System::SetIds::ACU)) {}
|
||||||
|
|
||||||
HkTableDataset(object_id_t objectId)
|
HkTableDataset(object_id_t objectId)
|
||||||
: StaticLocalDataSet(sid_t(objectId, HK_TABLE_DATA_SET_ID)) {}
|
: StaticLocalDataSet(sid_t(objectId, static_cast<uint32_t>(::P60System::SetIds::ACU))) {}
|
||||||
|
|
||||||
lp_var_t<int16_t> currentInChannel0 =
|
lp_var_t<int16_t> currentInChannel0 =
|
||||||
lp_var_t<int16_t>(sid.objectId, P60System::pool::ACU_CURRENT_IN_CHANNEL0, this);
|
lp_var_t<int16_t>(sid.objectId, P60System::pool::ACU_CURRENT_IN_CHANNEL0, this);
|
||||||
|
2
tmtc
2
tmtc
@ -1 +1 @@
|
|||||||
Subproject commit 8f2ff3034fff627b807f32c02fd9e676126bae5f
|
Subproject commit ab5cca85bfb71875ba0c49e8ed6ef575f851c0c5
|
Loading…
Reference in New Issue
Block a user