/************************************************************************* $Archive: /PACS/OnBoard/PackEnc.h $ $Revision: 1.11 $ $Date: 2009/04/23 13:51:12 $ $Author: amazy $ $Log: PackEnc.h,v $ Revision 1.11 2009/04/23 13:51:12 amazy 6.029 * * 5 11/27/06 6:49p Amazy * syntax errors corrected * * 4 27/11/06 9:39 Amazy * All error from packet encoders (blue and red) were signaled in the blue * packet encoder status. This is now solved (the * GenereSpectroPacketHeader function now takes an additional parameter * that is a pointer to the packet encoder were the error must be * signaled). * * 12 3/14/06 4:32p Pacs Egse * Version 6.001 * Cleaned and commented *************************************************************************/ #define PACKENC_H #ifndef CSL_TYPE_H #include "csl_type.h" #endif #ifndef SPUCOM_H #include "SpuCom.h" #endif //**************************************************************** // TYPES DEFINITION //**************************************************************** /* STRUCT : PacketEncoderParams **************************** AUTHOR : AMazy USE : This structure is used to monitor the PacketEncoder Task. */ typedef struct { int TaskStatus; uint BufferToSend; uint PacketCounter; } PacketEncoderParams; /* STRUCT : PacketEncoderMessage ***************************** AUTHOR : AMazy USE : Used to transfer messages from the detector receiver tasks (DecReceiver and BolReceiver) to the PacketEncoder. */ typedef struct { int Type; // type of data available int BufferId; // id of the buffer that has been filled by the Detector receiver task } PacketEncoderMessage; //**************************************************************** // VARIABLE DECLARATION //**************************************************************** extern SpectroscopyPacket gaBlueSpectroPacketBuffer[2]; extern PhotometryPacket gaBluePhotoPacketBuffer[2][4]; extern SpectroscopyPacket gaRedSpectroPacketBuffer[2]; extern PhotometryPacket gaRedPhotoPacketBuffer[2]; extern void GenerateSpectroPacketHeader(PacketEncoderParams* p_packetEncoder, SpectroscopyPacket* p_spectroPacket, int apid, DecRecParams* p_decRec, DecControllerParams* p_decCtrl, BOOL bSimulateReadouts); extern void GeneratePhotoPacketHeader(PhotometryPacket* p_photoPacket, int apid); extern void SendPacketToSPU(int channel, PacketEncoderMessage msg);