/************************************************************************** * * Copyright (c) 2020-2020 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file MessagePayloads.h * * @author (last) Sean Nash * @date (last) 28-Jul-2020 * * @author (original) Sean Nash * @date (original) 28-Jul-2020 * ***************************************************************************/ #ifndef __MESSAGE_PAYLOADS_H__ #define __MESSAGE_PAYLOADS_H__ // ********** public definitions ********** #pragma pack(push,1) typedef struct { U32 alarmState; // 0 = no alarms, 1 = low priority, 2 = medium priority, 3 = high priority U32 alarmTop; // ID of top active alarm U32 escalatesIn; // seconds U32 silenceExpiresIn; // seconds U16 alarmsFlags; // bit flags: 1 = true, 0 = false for each bit } ALARM_COMP_STATUS_PAYLOAD_T; typedef struct { U08 major; U08 minor; U08 micro; U16 build; U08 fpgaId; U08 fpgaMajor; U08 fpgaMinor; U08 fpgaLab; } DG_VERSIONS_T; typedef struct { U32 treatmentTimePrescribedinSec; U32 treatmentTimeElapsedinSec; U32 treatmentTimeRemaininginSec; } TREATMENT_TIME_DATA_T; typedef struct { F32 loadCellA1inGram; F32 loadCellA2inGram; F32 loadCellB1inGram; F32 loadCellB2inGram; } LOAD_CELL_DATA_T; typedef struct { U32 setROPumpPressure; F32 measROFlowRate; F32 roPumpPWM; } RO_PUMP_DATA_T; typedef struct { U32 setDrainPumpSpeed; U32 dacValue; } DRAIN_PUMP_DATA_T; typedef struct { F32 roPumpInletPressure; F32 roPumpOutletPressure; F32 drainPumpInletPressure; F32 drainPumpOutletPressure; } PRESSURES_DATA_T; typedef struct { U32 activeReservoir; U32 fillToVolumeMl; U32 drainToVolumeMl; } RESERVOIR_DATA_T; typedef struct { F32 targetPrimaryHeaterTemp; F32 targetTrimmerHeaterTemp; } TARGET_TEMPS_PAYLOAD_T; typedef struct { U32 mainPrimayHeaterDC; U32 smallPrimaryHeaterDC; U32 trimmerHeaterDC; } HEATERS_DATA_T; typedef struct { F32 gain; F32 offset; } LINEAR_F32_CAL_PAYLOAD_T; typedef struct { F32 xOffset; F32 yOffset; F32 zOffset; } ACCEL_CAL_PAYLOAD_T; #pragma pack(pop) #endif