27 #include "CrFwUserConstants.h" 126 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
127 t = __builtin_bswap16(t);
130 return (Three_Bit_t)t;
142 s = ((uint16_t)PcktVersionNmb << 13);
143 s &= (uint16_t)0xe000;
144 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
145 t = __builtin_bswap16(t);
146 t &= (uint16_t)~0xe000;
148 t = __builtin_bswap16(t);
149 (void)memcpy(&((uint8_t*)p)[0], &t,
sizeof(t));
160 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
161 t = __builtin_bswap16(t);
176 s = ((uint16_t)PcktType << 12);
177 s &= (uint16_t)0x1000;
178 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
179 t = __builtin_bswap16(t);
180 t &= (uint16_t)~0x1000;
182 t = __builtin_bswap16(t);
183 (void)memcpy(&((uint8_t*)p)[0], &t,
sizeof(t));
194 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
195 t = __builtin_bswap16(t);
210 s = ((uint16_t)SecHeaderFlag << 11);
211 s &= (uint16_t)0x800;
212 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
213 t = __builtin_bswap16(t);
214 t &= (uint16_t)~0x800;
216 t = __builtin_bswap16(t);
217 (void)memcpy(&((uint8_t*)p)[0], &t,
sizeof(t));
228 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
229 t = __builtin_bswap32(t);
232 return (Eleven_Bit_t)t;
244 s = ((uint32_t)APID << 16);
245 s &= (uint32_t)0x7ff0000;
246 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
247 t = __builtin_bswap32(t);
248 t &= (uint32_t)~0x7ff0000;
250 t = __builtin_bswap32(t);
251 (void)memcpy(&((uint8_t*)p)[0], &t,
sizeof(t));
262 (void)memcpy(&t, &((uint8_t*)p)[2],
sizeof(t));
263 t = __builtin_bswap16(t);
278 s = ((uint16_t)SeqFlags << 14);
279 s &= (uint16_t)0xc000;
280 (void)memcpy(&t, &((uint8_t*)p)[2],
sizeof(t));
281 t = __builtin_bswap16(t);
282 t &= (uint16_t)~0xc000;
284 t = __builtin_bswap16(t);
285 (void)memcpy(&((uint8_t*)p)[2], &t,
sizeof(t));
296 (void)memcpy(&t, &((uint8_t*)p)[2],
sizeof(t));
297 t = __builtin_bswap32(t);
300 return (FourTeen_Bit_t)t;
312 s = ((uint32_t)SeqCount << 16);
313 s &= (uint32_t)0x3fff0000;
314 (void)memcpy(&t, &((uint8_t*)p)[2],
sizeof(t));
315 t = __builtin_bswap32(t);
316 t &= (uint32_t)~0x3fff0000;
318 t = __builtin_bswap32(t);
319 (void)memcpy(&((uint8_t*)p)[2], &t,
sizeof(t));
331 return __builtin_bswap16(t->PcktDataLen);
343 t->PcktDataLen = __builtin_bswap16(PcktDataLen);
354 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
355 t = __builtin_bswap16(t);
358 return (Four_Bit_t)t;
370 s = ((uint16_t)PUSVersion << 12);
371 s &= (uint16_t)0xf000;
372 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
373 t = __builtin_bswap16(t);
374 t &= (uint16_t)~0xf000;
376 t = __builtin_bswap16(t);
377 (void)memcpy(&((uint8_t*)p)[6], &t,
sizeof(t));
388 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
389 t = __builtin_bswap16(t);
404 s = ((uint16_t)AckAccFlag << 11);
405 s &= (uint16_t)0x800;
406 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
407 t = __builtin_bswap16(t);
408 t &= (uint16_t)~0x800;
410 t = __builtin_bswap16(t);
411 (void)memcpy(&((uint8_t*)p)[6], &t,
sizeof(t));
422 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
423 t = __builtin_bswap16(t);
438 s = ((uint16_t)AckStartFlag << 10);
439 s &= (uint16_t)0x400;
440 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
441 t = __builtin_bswap16(t);
442 t &= (uint16_t)~0x400;
444 t = __builtin_bswap16(t);
445 (void)memcpy(&((uint8_t*)p)[6], &t,
sizeof(t));
456 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
457 t = __builtin_bswap16(t);
472 s = ((uint16_t)AckProgFlag << 9);
473 s &= (uint16_t)0x200;
474 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
475 t = __builtin_bswap16(t);
476 t &= (uint16_t)~0x200;
478 t = __builtin_bswap16(t);
479 (void)memcpy(&((uint8_t*)p)[6], &t,
sizeof(t));
490 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
491 t = __builtin_bswap16(t);
506 s = ((uint16_t)AckTermFlag << 8);
507 s &= (uint16_t)0x100;
508 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
509 t = __builtin_bswap16(t);
510 t &= (uint16_t)~0x100;
512 t = __builtin_bswap16(t);
513 (void)memcpy(&((uint8_t*)p)[6], &t,
sizeof(t));
537 t->ServType = ServType;
549 return t->ServSubType;
561 t->ServSubType = ServSubType;
596 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
597 t = __builtin_bswap16(t);
600 return (Three_Bit_t)t;
612 s = ((uint16_t)PcktVersionNmb << 13);
613 s &= (uint16_t)0xe000;
614 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
615 t = __builtin_bswap16(t);
616 t &= (uint16_t)~0xe000;
618 t = __builtin_bswap16(t);
619 (void)memcpy(&((uint8_t*)p)[0], &t,
sizeof(t));
630 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
631 t = __builtin_bswap16(t);
646 s = ((uint16_t)PcktType << 12);
647 s &= (uint16_t)0x1000;
648 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
649 t = __builtin_bswap16(t);
650 t &= (uint16_t)~0x1000;
652 t = __builtin_bswap16(t);
653 (void)memcpy(&((uint8_t*)p)[0], &t,
sizeof(t));
664 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
665 t = __builtin_bswap16(t);
680 s = ((uint16_t)SecHeaderFlag << 11);
681 s &= (uint16_t)0x800;
682 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
683 t = __builtin_bswap16(t);
684 t &= (uint16_t)~0x800;
686 t = __builtin_bswap16(t);
687 (void)memcpy(&((uint8_t*)p)[0], &t,
sizeof(t));
698 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
699 t = __builtin_bswap32(t);
702 return (Eleven_Bit_t)t;
714 s = ((uint32_t)APID << 16);
715 s &= (uint32_t)0x7ff0000;
716 (void)memcpy(&t, &((uint8_t*)p)[0],
sizeof(t));
717 t = __builtin_bswap32(t);
718 t &= (uint32_t)~0x7ff0000;
720 t = __builtin_bswap32(t);
721 (void)memcpy(&((uint8_t*)p)[0], &t,
sizeof(t));
732 (void)memcpy(&t, &((uint8_t*)p)[2],
sizeof(t));
733 t = __builtin_bswap16(t);
748 s = ((uint16_t)SeqFlags << 14);
749 s &= (uint16_t)0xc000;
750 (void)memcpy(&t, &((uint8_t*)p)[2],
sizeof(t));
751 t = __builtin_bswap16(t);
752 t &= (uint16_t)~0xc000;
754 t = __builtin_bswap16(t);
755 (void)memcpy(&((uint8_t*)p)[2], &t,
sizeof(t));
766 (void)memcpy(&t, &((uint8_t*)p)[2],
sizeof(t));
767 t = __builtin_bswap32(t);
770 return (FourTeen_Bit_t)t;
782 s = ((uint32_t)SeqCount << 16);
783 s &= (uint32_t)0x3fff0000;
784 (void)memcpy(&t, &((uint8_t*)p)[2],
sizeof(t));
785 t = __builtin_bswap32(t);
786 t &= (uint32_t)~0x3fff0000;
788 t = __builtin_bswap32(t);
789 (void)memcpy(&((uint8_t*)p)[2], &t,
sizeof(t));
801 return __builtin_bswap16(t->PcktDataLen);
813 t->PcktDataLen = __builtin_bswap16(PcktDataLen);
824 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
825 t = __builtin_bswap16(t);
828 return (Four_Bit_t)t;
840 s = ((uint16_t)PUSVersion << 12);
841 s &= (uint16_t)0xf000;
842 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
843 t = __builtin_bswap16(t);
844 t &= (uint16_t)~0xf000;
846 t = __builtin_bswap16(t);
847 (void)memcpy(&((uint8_t*)p)[6], &t,
sizeof(t));
858 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
859 t = __builtin_bswap16(t);
862 return (Four_Bit_t)t;
875 s = ((uint16_t)SpaceTimeRefStatus << 8);
876 s &= (uint16_t)0xf00;
877 (void)memcpy(&t, &((uint8_t*)p)[6],
sizeof(t));
878 t = __builtin_bswap16(t);
879 t &= (uint16_t)~0xf00;
881 t = __builtin_bswap16(t);
882 (void)memcpy(&((uint8_t*)p)[6], &t,
sizeof(t));
906 t->ServType = ServType;
918 return t->ServSubType;
930 t->ServSubType = ServSubType;
966 return &t->Time.t[0];
978 memcpy(dest, &t->Time.t[0],
sizeof(t->Time));
990 memcpy(&t->Time.t[0], src,
sizeof(t->Time));
995 static inline uint16_t CrFwPcktGetSeqCtrl(
CrFwPckt_t pckt)
997 uint32_t seqflags, seqcount;
1010 return ((seqflags << 14) & 0xc000) | (seqcount & 0x3fff);
1014 static inline void CrFwPcktSetSeqCtrl(
CrFwPckt_t pckt, uint16_t psc)
1016 uint32_t seqflags, seqcount;
1018 seqflags = ((psc & 0xc000)>>14)&0x0003;
1019 seqcount = psc & 0x3fff;
1036 static inline uint16_t CrFwPcktGetApid(
CrFwPckt_t pckt)
1049 static inline void CrFwPcktSetApid(
CrFwPckt_t pckt, uint16_t apid)
1070 memcpy(&ret, &((uint8_t*)p)[0],
sizeof(CrPsRid_t));
1071 return __builtin_bswap32(ret);
1081 Rid = __builtin_bswap32(Rid);
1082 memcpy(&((uint8_t*)p)[0], &Rid,
sizeof(CrPsRid_t));
static uint8_t * getTmHeaderTimeArray(void *p)
Get pointer to "Time" array from "TmHeader" packet.
static void setTcHeaderAckTermFlag(void *p, One_Bit_t AckTermFlag)
Set "AckTermFlag" in "TcHeader" packet.
static void setTcHeaderSeqFlags(void *p, Two_Bit_t SeqFlags)
Set "SeqFlags" in "TcHeader" packet.
static Two_Bit_t getTcHeaderSeqFlags(void *p)
Get "SeqFlags" from "TcHeader" packet.
static void setTmHeaderSpaceTimeRefStatus(void *p, Four_Bit_t SpaceTimeRefStatus)
Set "SpaceTimeRefStatus" in "TmHeader" packet.
static Four_Bit_t getTmHeaderSpaceTimeRefStatus(void *p)
Get "SpaceTimeRefStatus" from "TmHeader" packet.
static void setTcHeaderPcktDataLen(void *p, uint16_t PcktDataLen)
Set "PcktDataLen" in "TcHeader" packet.
static One_Bit_t getTcHeaderAckStartFlag(void *p)
Get "AckStartFlag" from "TcHeader" packet.
unsigned char CrFwServSubType_t
Type used for the command or report sub-type.
Header file to define all user-configurable constants and types for the IASW Application.
CrFwCmdRepType_t CrFwPcktGetCmdRepType(CrFwPckt_t pckt)
Return the type of a packet (either a command packet or a report packet).
static void setTmHeaderServSubType(void *p, uint8_t ServSubType)
Set "ServSubType" in "TmHeader" packet.
static void setTmHeaderTime(void *p, const void *src)
Set "Time" array in "TmHeader" packet.
unsigned char CrFwDestSrc_t
Type used for the command or report destination and source.
Interface for creating and accessing a report or command packet.
static One_Bit_t getTmHeaderPcktType(void *p)
Get "PcktType" from "TmHeader" packet.
static FourTeen_Bit_t getTmHeaderSeqCount(void *p)
Get "SeqCount" from "TmHeader" packet.
static void getTmHeaderTime(void *p, void *dest)
Get "Time" array from "TmHeader" packet.
static void setTmHeaderAPID(void *p, Eleven_Bit_t APID)
Set "APID" in "TmHeader" packet.
static One_Bit_t getTcHeaderSecHeaderFlag(void *p)
Get "SecHeaderFlag" from "TcHeader" packet.
unsigned char CrFwServType_t
Type used for the service type of a command or report.
static void setTcHeaderAckProgFlag(void *p, One_Bit_t AckProgFlag)
Set "AckProgFlag" in "TcHeader" packet.
static One_Bit_t getTcHeaderAckTermFlag(void *p)
Get "AckTermFlag" from "TcHeader" packet.
static Three_Bit_t getTmHeaderPcktVersionNmb(void *p)
Get "PcktVersionNmb" from "TmHeader" packet.
static void setTcHeaderSecHeaderFlag(void *p, One_Bit_t SecHeaderFlag)
Set "SecHeaderFlag" in "TcHeader" packet.
static void setTmHeaderDestId(void *p, uint8_t DestId)
Set "DestId" in "TmHeader" packet.
static void setTmHeaderPcktVersionNmb(void *p, Three_Bit_t PcktVersionNmb)
Set "PcktVersionNmb" in "TmHeader" packet.
static void setTmHeaderSeqFlags(void *p, Two_Bit_t SeqFlags)
Set "SeqFlags" in "TmHeader" packet.
static Four_Bit_t getTmHeaderPUSVersion(void *p)
Get "PUSVersion" from "TmHeader" packet.
unsigned short int CrFwPcktLength_t
Type for the packet length.
static One_Bit_t getTmHeaderSecHeaderFlag(void *p)
Get "SecHeaderFlag" from "TmHeader" packet.
static void setTcHeaderSrcId(void *p, uint8_t SrcId)
Set "SrcId" in "TcHeader" packet.
static Eleven_Bit_t getTmHeaderAPID(void *p)
Get "APID" from "TmHeader" packet.
static uint8_t getTcHeaderSrcId(void *p)
Get "SrcId" from "TcHeader" packet.
static void setTmHeaderPUSVersion(void *p, Four_Bit_t PUSVersion)
Set "PUSVersion" in "TmHeader" packet.
static Eleven_Bit_t getTcHeaderAPID(void *p)
Get "APID" from "TcHeader" packet.
static void setTcHeaderPUSVersion(void *p, Four_Bit_t PUSVersion)
Set "PUSVersion" in "TcHeader" packet.
static uint8_t getTmHeaderDestId(void *p)
Get "DestId" from "TmHeader" packet.
static uint8_t getTcHeaderServSubType(void *p)
Get "ServSubType" from "TcHeader" packet.
static One_Bit_t getTcHeaderAckProgFlag(void *p)
Get "AckProgFlag" from "TcHeader" packet.
struct __attribute__((packed)) _TcHeader_t
Structure for TcHeader.
static void setTmHeaderServType(void *p, uint8_t ServType)
Set "ServType" in "TmHeader" packet.
static uint16_t getTcHeaderPcktDataLen(void *p)
Get "PcktDataLen" from "TcHeader" packet.
static void setTcHeaderAPID(void *p, Eleven_Bit_t APID)
Set "APID" in "TcHeader" packet.
static uint8_t getTcHeaderServType(void *p)
Get "ServType" from "TcHeader" packet.
static CrFwDestSrc_t dest
Destination.
static FourTeen_Bit_t getTcHeaderSeqCount(void *p)
Get "SeqCount" from "TcHeader" packet.
static Four_Bit_t getTcHeaderPUSVersion(void *p)
Get "PUSVersion" from "TcHeader" packet.
static One_Bit_t getTcHeaderPcktType(void *p)
Get "PcktType" from "TcHeader" packet.
static uint8_t getTmHeaderServType(void *p)
Get "ServType" from "TmHeader" packet.
char * CrFwPckt_t
Type for packets (see CrFwPckt.h).
static void setTcHeaderAckAccFlag(void *p, One_Bit_t AckAccFlag)
Set "AckAccFlag" in "TcHeader" packet.
static void setTcHeaderPcktVersionNmb(void *p, Three_Bit_t PcktVersionNmb)
Set "PcktVersionNmb" in "TcHeader" packet.
static CrPsRid_t getPcktRid(void *p)
Getter for the RequestId from a packet.
static Two_Bit_t getTmHeaderSeqFlags(void *p)
Get "SeqFlags" from "TmHeader" packet.
static void setTmHeaderSecHeaderFlag(void *p, One_Bit_t SecHeaderFlag)
Set "SecHeaderFlag" in "TmHeader" packet.
static void setTcHeaderServType(void *p, uint8_t ServType)
Set "ServType" in "TcHeader" packet.
static void setTcHeaderPcktType(void *p, One_Bit_t PcktType)
Set "PcktType" in "TcHeader" packet.
static void setTmHeaderPcktType(void *p, One_Bit_t PcktType)
Set "PcktType" in "TmHeader" packet.
static void setTcHeaderServSubType(void *p, uint8_t ServSubType)
Set "ServSubType" in "TcHeader" packet.
static void setTcHeaderAckStartFlag(void *p, One_Bit_t AckStartFlag)
Set "AckStartFlag" in "TcHeader" packet.
static void setTmHeaderSeqCount(void *p, FourTeen_Bit_t SeqCount)
Set "SeqCount" in "TmHeader" packet.
static uint8_t getTmHeaderServSubType(void *p)
Get "ServSubType" from "TmHeader" packet.
static void setPcktRid(void *p, CrPsRid_t Rid)
Setter for the RequestId from a packet.
static uint16_t getTmHeaderPcktDataLen(void *p)
Get "PcktDataLen" from "TmHeader" packet.
static void setTcHeaderSeqCount(void *p, FourTeen_Bit_t SeqCount)
Set "SeqCount" in "TcHeader" packet.
static Three_Bit_t getTcHeaderPcktVersionNmb(void *p)
Get "PcktVersionNmb" from "TcHeader" packet.
static One_Bit_t getTcHeaderAckAccFlag(void *p)
Get "AckAccFlag" from "TcHeader" packet.
static void setTmHeaderPcktDataLen(void *p, uint16_t PcktDataLen)
Set "PcktDataLen" in "TmHeader" packet.
unsigned int CrFwTimeStamp_t
Type used for the time stamp of a command or report.