/************************************************************************** * * Copyright (c) 2024-2024 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 * @date (last) 07-Nov-2024 * * @author (original) Sean * @date (original) 07-Nov-2024 * ***************************************************************************/ #ifndef __MESSAGE_PAYLOADS_H__ #define __MESSAGE_PAYLOADS_H__ #ifdef _TD_ #include "TDCommon.h" #endif #ifdef _DD_ #include "DDCommon.h" #endif #ifdef _RO_ #include "ROCommon.h" #endif /** * @addtogroup Messaging * @{ */ // ********** public definitions ********** #pragma pack(push, 1) /// Payload record structure for requesting dialysate delivery. typedef struct { BOOL start; ///< Flag indicating whether to start/continue dialysate delivery (TRUE) or stop (FALSE). F32 dialRate; ///< Set dialysate rate (mL/min). F32 ufRate; ///< Set ultrafiltration rate (mL/min). F32 dialTemp; ///< Set dialysate temperature (deg C). BOOL bypassDialyzer; ///< Flag indicating whether bypass of dialyzer is requested. U32 acidType; ///< Type of acid being used to make dialysate. U32 bicarbType; ///< Type of bicarb being used to make dialysate. } DIALYSATE_DELIVERY_REQ_PAYLOAD_T; /// Payload record structure for requesting pre generate dialysate. typedef struct { BOOL start; ///< Flag indicating whether to start pre-gen dialysate(TRUE) or stop (FALSE). } PRE_GEN_DIALYSATE_REQ_PAYLOAD_T; /// Enumeration of operation modes. These are in order of priority (highest to lowest). enum RO_Cmd_Ids { RO_PRE_GEN = 0, ///< Pre Generate permeate water mode RO_GEN_WATER, ///< Generate permeate water mode NUM_OF_RO_CMD ///< Number of RO command IDs }; typedef enum RO_Cmd_Ids RO_CMD_ID; ///< Type for RO command IDS /// Payload record structure for requesting RO water. typedef struct { U32 cmdID; ///< Command id of Water Generation from the DD BOOL start; ///< Flag indicating whether to start/continue RO water delivery (TRUE) or stop (FALSE). U32 roRate; ///< Set RO water rate (mL/min). } RO_WATER_REQ_PAYLOAD_T; /// Pressure data struct. typedef struct { F32 m1Pressure; ///< Water Inlet Input pressure F32 m3Pressure; ///< Water Inlet Output pressure F32 d9Pressure; ///< Hydraulics outlet pressure F32 d66Pressure; ///< Bicarb bag pressure F32 d51Pressure; ///< Spent Dialysate pressure F32 d18Pressure; ///< Fresh Dialysate pressure F32 d41Pressure; ///< Transmembrane pressure F32 m1PresTemp; ///< Water Inlet Input temperature F32 m3PresTemp; ///< Water Inlet Output temperature F32 d9PresTemp; ///< Hydraulics outlet pressure temperature F32 d66PresTemp; ///< Bicarb bag temperature F32 d51PresTemp; ///< Spent Dialysate temperature F32 d18PresTemp; ///< Fresh Dialysate temperature F32 d41PresTemp; ///< Transmembrane temperature } DD_PRESSURE_TEMP_DATA_T; #pragma pack(pop) /**@}*/ #endif