/************************************************************************* $Archive: /PACS/OnBoard/SpuCom.h $ $Revision: 1.11 $ $Date: 2009/04/23 13:51:12 $ $Author: amazy $ $Log: SpuCom.h,v $ Revision 1.11 2009/04/23 13:51:12 amazy 6.029 * * 12 3/14/06 4:32p Pacs Egse * Version 6.001 * Cleaned and commented *************************************************************************/ #define SPUCOM_H #ifndef DEC_H #include "dec.h" #endif #define RED_SPU_APID 3 #define BLUE_SPU_APID 2 /* STRUCT : SpectroscopyPacket *************************** AUTHOR : AMazy USE : This structure is used to build the spectroscopy packets before sending them to the SPU. It is used by the PacketEncoder task. SEE ALSO : "PackEnc.c" */ typedef struct { //packet identification int APID; int PacketId; // always 0x00000001 //observation configuration int OBSID; int BBID; int Label; int Time[2]; int Validity; int ChopperPosition; int WheelPosition; int GratingPosition; int CurrentReadoutCount; int ReadoutsInRamp; int ReadoutCount; int CreControlReadback; // information transmitted from DPU to SPU int CompressionParameters; // detector data int ScienceData[SIZE_OF_SPECTRO_SCIENCE_DATA_IN_WORDS]; } SpectroscopyPacket; /* STRUCT : PhotometryPacket *************************** AUTHOR : AMazy USE : This structure is used to build the photometry packets before sending them to the SPU. It is used by the PacketEncoder task. SEE ALSO : "PackEnc.c" */ typedef struct { //packet identification int APID; int PacketId; // always 0x00000002 //observation configuration int OBSID; int BBID; int Label; int Time[2]; int Validity; int ChopperPosition; int WheelPosition; int BolcStatusWord; int OBTCount; int CurrentReadoutCountInChopperPosition; int DataBlockId; // information transmitted from DPU to SPU int BSID; // this field should be found in the BOLC HK (related to the SET_GAIN command) // information transmitted from DPU to SPU int CompressionParameters; // detector data int ScienceData[256]; } PhotometryPacket;