Communication Specification

Data Types


Domain(s)
Space
System(s)
Satellite
Specialty
COMS
Profile(s)
CH, COMM, RP
Specification Type
Implementation
Citation(s)
Internal_Standard, ECSS-70-41A_2003

The JAS standard does not require a specific length or encoding format for data types. Systems can define these based on what best suits their needs. Sizes, endianness, byte ordering, and bit ordering are typically driven based on the processing and memory architectures that are used. However, in order to define service types, and make them reusable, a common set of data type definitions is necessary.

The JAS data types are similar to those defined in Chapter 23 of the PUS specification [11]. They are shown in the table below. The table defines data types that are used to define parameters and provides a recommendation for implementation based on typical processing architectures. The columns are defined as follows:

  • The first column of the table shows the name of the data type.
  • The second column indicates the data type as used in the service definitions. In some cases the types are known (e.g. Unsigned Integer, Boolean, etc), in others they will be defined by the implementation (e.g. Enumerated, Any).
  • The third column shows the typical equivalent C++ data type.
  • The fifth column shows a typical size of the data type in memory but this is optional.
  • The sixth column shows the range of each data type based on size.
Data Type Abbreviated Name C++ Type Size (bits) Range
Boolean parameter boolean bool 8 (top 7 bits are ignored) true or false
Enumerated parameter enumerated int 32 0 to 4294967295
Unsigned Character unsigned character unsigned char 8 0 to 255
Signed Character character signed char 8 -127 to 128
Unsigned Short Integer unsigned short unsigned short 16 0 to 65535
Signed Short Integer short short 16 -32768 to 32767
Unsigned Integer unsigned integer unsigned int 32 0 to 4294967295
Signed Integer integer int 32 -2147483648 to 2147483647
Unsigned Long Integer unsigned long unsigned long 64 0 to 4294967295
Signed Long Integer long long 64 -2147483648 to 2147483647
Float float float 32 +/- 3.4e +/- 38 (~7 digits)
Double double double 64 +/- 1.7e +/- 308 (~15 digits)
Bit-string parameter bit array Any unsigned data type 8 to 64  
Octet-string parameter character array unsigned char[] 8 * number of elements  
Character string parameter string char[] 8 * number of elements  
Absolute time parameter absolute time [unsigned int, unsigned int] [32, 32] [seconds, nanoseconds]
Relative time parameter relative time TBD    

JAS Data Types


Internal_Standard

"Internal Standards developed by Sandia National Laboratories". Experience Base, Sandia National Laboratories, Albuquerque, NM, 0000.

ECSS-70-41A_2003

"GROUND SYSTEMS AND OPERATIONS - TELEMETRY AND TELECOMMAND PACKAGE UTILIZATION". ECSS-70-41A, European Cooperation for Space Standardization (ECSS), The Netherlands, 2003, GROUND SYSTEMS AND OPERATIONS - TELEMETRY AND TELECOMMAND PACKAGE UTILIZATION.