COSMOS core  1.0.2 (beta)
Comprehensive Open-architecture Solution for Mission Operations Systems
jsondef.h File Reference
Include dependency graph for jsondef.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  unitstruc
 JSON unit type entry. More...
 
struct  jsonnode
 
struct  jsonhandle
 JSON handle. More...
 
struct  jsontoken
 JSON token. More...
 
struct  jsonoperand
 JSON equation operand. More...
 
struct  jsonequation
 JSON equation entry. More...
 
struct  agent_request_entry
 
struct  agent_channel
 
struct  beatstruc
 
struct  agentstruc
 Agent control structure. More...
 
struct  eventstruc
 Full COSMOS Event structure. More...
 
struct  userstruc
 
struct  equationstruc
 Equation structure. More...
 
struct  targetstruc
 Target structure. More...
 
struct  portstruc
 Port structure. More...
 
struct  facestruc
 Face structure: information on each face of a piece. More...
 
struct  piecestruc
 Part structure: physical information for each piece of Node. More...
 
struct  allstruc
 All Component structure. More...
 
struct  telemstruc
 Telemetry (TELEM) structure. More...
 
struct  ploadstruc
 Payload (PLOAD) structure. More...
 
struct  ssenstruc
 Sun Sensor (SSEN) Sructure. More...
 
struct  imustruc
 Inertial Measurement Unit (IMU) structure. More...
 
struct  rwstruc
 Reaction Wheel structure: z axis is aligned with axis of rotation. More...
 
struct  mtrstruc
 Magnetic Torque Rod structure: z axis is aligned with rod. More...
 
struct  cpustruc
 CPU information. More...
 
struct  diskstruc
 Disk information. More...
 
struct  gpsstruc
 
struct  antstruc
 Antenna information. More...
 
struct  rxrstruc
 Receiver information. More...
 
struct  txrstruc
 Transmitter information. More...
 
struct  tcvstruc
 Transceiver information. More...
 
struct  pvstrgstruc
 PV String (STRG) structure. More...
 
struct  battstruc
 Battery (BATT) structure. More...
 
struct  htrstruc
 Heater Structure definition. More...
 
struct  motrstruc
 
struct  tsenstruc
 
struct  thststruc
 Thruster (THST) dynamic structure. More...
 
struct  propstruc
 Propellant Tank (PROP) structure. More...
 
struct  swchstruc
 Switch Structure definition. More...
 
struct  rotstruc
 Rotor Structure definition. More...
 
struct  sttstruc
 Star Tracker (STT) Sructure. More...
 
struct  mccstruc
 Motion Capture Camera (MCC) Structure. More...
 
struct  tcustruc
 Torque Rod Control Unit. More...
 
struct  busstruc
 
struct  psenstruc
 
struct  suchistruc
 SUCHI Sructure. More...
 
struct  camstruc
 
struct  tncstruc
 TNC Structure definition. More...
 
struct  bcregstruc
 BCREG (PV Regulator) Structure definition. More...
 
struct  trianglestruc
 
struct  physicsstruc
 Physics Simulation Structure. More...
 
struct  nodestruc
 
struct  devicestruc
 Device structure. More...
 
struct  devspecstruc
 Specific Device structure. More...
 
struct  jsonentry
 JSON map offset entry. More...
 
struct  cosmosstruc
 

Macros

#define HCAP   800.
 
#define MAREA   (.0027)
 
#define MWIDTH   .2167
 
#define MHEIGHT   .8255
 
#define MRADIUS   .2616
 
#define LEO1_BOTTOM   16
 
#define LEO1_TOP   17
 
#define MAXPART   256
 Maximum number of structures. More...
 
#define MAXSTRING   20
 Maximum number of PV strings. More...
 
#define MAXBATT   15
 maximum number of batteries More...
 
#define MAXPNT   8
 Maximum number of vertexs in a structure. More...
 
#define MAXFACE   20
 Maximum number of faces in a Piece. More...
 
#define MAXCOMP   128
 Maximum number of components. More...
 
#define MAXTRACK   30
 Maximum number of Ground Stations. More...
 
#define MAXTSEN   64
 Maximum number of temperature sensors. More...
 
#define MAXSS   2
 Maximum number of Sun Sensors. More...
 
#define MAXIMU   2
 Maximum number of Inertial Measurement Units. More...
 
#define MAXSTT   2
 Maximum number of Star Trackers. More...
 
#define MAXRW   2
 Maximum number of Reaction Wheels. More...
 
#define MAXMTR   3
 Maximum number of Magnetic Torque Rods. More...
 
#define MAXCPU   6
 Maximum number of Processors. More...
 
#define MAXGPS   2
 Maximum number of GPS units. More...
 
#define MAXPLOAD   6
 Maximum number of Payloads. More...
 
#define MAXBUS   40
 Maximum number of Power Buses. More...
 
#define MAXPROP   5
 Maximum number of Propellent Tanks. More...
 
#define MAXTHST   5
 Maximum number of Thrusters. More...
 
#define MAXMOTR   8
 Maximum number of Motors. More...
 
#define MAXSWCH   2
 Maximum number of Switches. More...
 
#define MAXANT   5
 Maximum number of antennas. More...
 
#define MAXTCV   2
 Maximum number of transceivers. More...
 
#define MAXMCC   3
 Maximum number of Motion Capture Cameras. More...
 
#define MAXPLOADKEYCNT   10
 Maximum number of Special Payload Keys. More...
 
#define MAXPLOADKEYSIZE   COSMOS_MAX_NAME
 Maximum size of a Payload Key. More...
 
#define JSON_MAX_DATA   (COSMOS_MAX_DATA)
 Largest JSON data. More...
 
#define COSMOS_MAX_NAME   40
 Largest JSON name. More...
 
#define JSON_MAX_HASH   (COSMOS_MAX_NAME*37)
 Maximum value of JSON HASH. More...
 
#define JSTRINGMAXBUFFER   (AGENTMAXBUFFER-2)
 Maximum JSON buffer. More...
 
#define MAX_COSMOSSTRUC   20
 Maximum number of cosmosstruc elements. More...
 
#define AGENTMAXBUFFER   60000
 Maximum AGENT transfer buffer size. More...
 
#define AGENTMAXIF   10
 Maximum number of supported publication interfaces. More...
 
#define AGENTMAXBUILTINCOUNT   6
 Maximum number of builtin AGENT requests. More...
 
#define AGENTMAXUSERCOUNT   200
 Maximum number of user defined AGENT requests. More...
 
#define AGENTMAXREQUESTCOUNT   (AGENTMAXBUILTINCOUNT+AGENTMAXUSERCOUNT)
 Maximum number of AGENT requests. More...
 
#define MAX_NUMBER_OF_VERTICES   28
 
#define MAX_NUMBER_OF_TRIANGLES   48
 
#define MAX_NUMBER_OF_VERTEXS   5
 
#define MAX_NUMBER_OF_NORMALS   5
 
#define MAX_NUMBER_OF_EQUATIONS   3
 
#define MAX_NUMBER_OF_AGENTS   5
 
#define MAX_NUMBER_OF_PORTS   5
 
#define MAX_NUMBER_OF_EVENTS   10
 
#define MAX_NUMBER_OF_TARGETS   10
 
#define MAX_NUMBER_OF_USERS   3
 
#define MAX_NUMBER_OF_TLES   5
 
#define COMP_MODEL_UNDEFINED   0
 
#define COMP_MODEL_IMU_VN100   1
 VN100 IMU. More...
 
#define COMP_MODEL_IMU_MICROSTRAIN   2
 Microstrain IMU. More...
 
#define COMP_MODEL_IMU_HCC   3
 HCC IMU. More...
 
#define DEVICE_FLAG_OFF   0x0000
 
#define DEVICE_FLAG_ON   0x0001
 
#define DEVICE_FLAG_SIMULATED   0x0002
 
#define DEVICE_FLAG_ACTIVE   0x0004
 
#define DEVICE_FLAG_CONNECTED   0x0008
 

Typedefs

typedef int32_t(* agent_request_function) (char *request_string, char *output_string, void *root)
 
typedef Vector vertexstruc
 Point structure: information on each vertex in a face. More...
 

Enumerations

enum  { JSON_UNIT_TYPE_IDENTITY, JSON_UNIT_TYPE_POLY, JSON_UNIT_TYPE_LOG }
 JSON Unit conversion type. More...
 
enum  {
  JSON_UNIT_NONE, JSON_UNIT_LENGTH, JSON_UNIT_MASS, JSON_UNIT_MOI,
  JSON_UNIT_TIME, JSON_UNIT_DATE, JSON_UNIT_CURRENT, JSON_UNIT_TEMPERATURE,
  JSON_UNIT_INTENSITY, JSON_UNIT_AREA, JSON_UNIT_VOLUME, JSON_UNIT_SPEED,
  JSON_UNIT_ACCELERATION, JSON_UNIT_DENSITY, JSON_UNIT_LUMINANCE, JSON_UNIT_ANGLE,
  JSON_UNIT_ANGULAR_RATE, JSON_UNIT_ANGULAR_ACCELERATION, JSON_UNIT_SOLIDANGLE, JSON_UNIT_FREQUENCY,
  JSON_UNIT_FORCE, JSON_UNIT_TORQUE, JSON_UNIT_PRESSURE, JSON_UNIT_ENERGY,
  JSON_UNIT_POWER, JSON_UNIT_CHARGE, JSON_UNIT_VOLTAGE, JSON_UNIT_CAPACITANCE,
  JSON_UNIT_RESISTANCE, JSON_UNIT_MAGFIELD, JSON_UNIT_MAGFLUX, JSON_UNIT_MAGDENSITY,
  JSON_UNIT_MAGMOMENT, JSON_UNIT_ISP, JSON_UNIT_BYTES, JSON_UNIT_FRACTION,
  JSON_UNIT_COUNT
}
 JSON Unit type. More...
 
enum  {
  JSON_STRUCT_ABSOLUTE, JSON_STRUCT_NODE, JSON_STRUCT_AGENT, JSON_STRUCT_DEVICE,
  JSON_STRUCT_DEVSPEC, JSON_STRUCT_PHYSICS, JSON_STRUCT_EVENT, JSON_STRUCT_PIECE,
  JSON_STRUCT_TARGET, JSON_STRUCT_USER, JSON_STRUCT_PORT, JSON_STRUCT_TLE,
  JSON_STRUCT_EQUATION, JSON_STRUCT_POINT, JSON_STRUCT_FACE, JSON_STRUCT_PTR,
  JSON_STRUCT_ALL
}
 JSON Namelist Group. More...
 
enum  {
  JSON_TYPE_UINT8 =1, JSON_TYPE_INT8, JSON_TYPE_CHAR, JSON_TYPE_BOOL,
  JSON_TYPE_UINT32, JSON_TYPE_UINT16, JSON_TYPE_INT16, JSON_TYPE_INT32,
  JSON_TYPE_FLOAT, JSON_TYPE_DOUBLE, JSON_TYPE_CHARP, JSON_TYPE_STRING,
  JSON_TYPE_NAME, JSON_TYPE_VECTOR, JSON_TYPE_RVECTOR, JSON_TYPE_AVECTOR,
  JSON_TYPE_CVECTOR, JSON_TYPE_QUATERNION, JSON_TYPE_GVECTOR, JSON_TYPE_SVECTOR,
  JSON_TYPE_RMATRIX, JSON_TYPE_CARTPOS, JSON_TYPE_GEOIDPOS, JSON_TYPE_SPHERPOS,
  JSON_TYPE_EXTRAPOS, JSON_TYPE_QATT, JSON_TYPE_DCMATT, JSON_TYPE_EXTRAATT,
  JSON_TYPE_POSSTRUC, JSON_TYPE_ATTSTRUC, JSON_TYPE_HBEAT, JSON_TYPE_POS_ICRF,
  JSON_TYPE_POS_FIRST = JSON_TYPE_POS_ICRF, JSON_TYPE_POS_ECI, JSON_TYPE_POS_SCI, JSON_TYPE_POS_GEOC,
  JSON_TYPE_POS_SELC, JSON_TYPE_POS_GEOD, JSON_TYPE_POS_GEOS, JSON_TYPE_POS_SELG,
  JSON_TYPE_POS_LAST = JSON_TYPE_POS_SELG, JSON_TYPE_QATT_TOPO, JSON_TYPE_QATT_GEOC, JSON_TYPE_QATT_SELC,
  JSON_TYPE_QATT_ICRF, JSON_TYPE_QATT_LVLH, JSON_TYPE_LOC_POS, JSON_TYPE_LOC_ATT,
  JSON_TYPE_LOCSTRUC, JSON_TYPE_NODESTRUC, JSON_TYPE_VERTEXSTRUC, JSON_TYPE_FACESTRUC,
  JSON_TYPE_PIECESTRUC, JSON_TYPE_DEVICESTRUC, JSON_TYPE_DEVSPECSTRUC, JSON_TYPE_PORTSTRUC,
  JSON_TYPE_PHYSICSSTRUC, JSON_TYPE_AGENTSTRUC, JSON_TYPE_EVENTSTRUC, JSON_TYPE_TARGETSTRUC,
  JSON_TYPE_USERSTRUC, JSON_TYPE_GLOSSARYSTRUC, JSON_TYPE_TLESTRUC, JSON_TYPE_TIMESTAMP,
  JSON_TYPE_EQUATION, JSON_TYPE_ALIAS, JSON_TYPE_NONE =UINT16_MAX
}
 Constants defining the data types supported in the JSON Name Space. More...
 
enum  JSON_UPDATE : int32_t { NONE, JSON_UPDATE::POS, JSON_UPDATE::ATT }
 Things to update. More...
 
enum  { JSON_OPERAND_NULL, JSON_OPERAND_CONSTANT, JSON_OPERAND_NAME, JSON_OPERAND_EQUATION }
 Types of equation operands. More...
 
enum  {
  JSON_OPERATION_ADD, JSON_OPERATION_SUBTRACT, JSON_OPERATION_MULTIPLY, JSON_OPERATION_DIVIDE,
  JSON_OPERATION_MOD, JSON_OPERATION_AND, JSON_OPERATION_OR, JSON_OPERATION_GT,
  JSON_OPERATION_LT, JSON_OPERATION_EQ, JSON_OPERATION_NOT, JSON_OPERATION_COMPLEMENT,
  JSON_OPERATION_POWER, JSON_OPERATION_BITWISEAND, JSON_OPERATION_BITWISEOR
}
 Types of equation operations. More...
 
enum  DeviceType : uint16_t {
  PLOAD =0, SSEN =1, IMU =2, RW =3,
  MTR =4, CPU =5, GPS =6, ANT =7,
  RXR =8, TXR =9, TCV =10, PVSTRG =11,
  BATT =12, HTR =13, MOTR =14, TSEN =15,
  THST =16, PROP =17, SWCH =18, ROT =19,
  STT =20, MCC =21, TCU =22, BUS =23,
  PSEN =24, SUCHI =25, CAM =26, TELEM =27,
  DISK =28, TNC =29, BCREG =30, COUNT,
  NONE =UINT16_MAX, NONE
}
 
enum  {
  DEVICE_MODEL_ASTRODEV =0, DEVICE_MODEL_TS2000 =1, DEVICE_MODEL_IC9100 =2, DEVICE_MODEL_GS232B =3,
  DEVICE_MODEL_PRKX2SU =4, DEVICE_MODEL_LOOPBACK =5, DEVICE_MODEL_PROPAGATOR =6, DEVICE_MODEL_USRP =7,
  DEVICE_MODEL_DIRECT =8
}
 
enum  {
  DEVICE_RADIO_MODE_AM, DEVICE_RADIO_MODE_AMD, DEVICE_RADIO_MODE_FM, DEVICE_RADIO_MODE_FMD,
  DEVICE_RADIO_MODE_LSB, DEVICE_RADIO_MODE_LSBD, DEVICE_RADIO_MODE_USB, DEVICE_RADIO_MODE_USBD,
  DEVICE_RADIO_MODE_DV, DEVICE_RADIO_MODE_DVD, DEVICE_RADIO_MODE_CW, DEVICE_RADIO_MODE_CWR,
  DEVICE_RADIO_MODE_RTTY, DEVICE_RADIO_MODE_RTTYR, DEVICE_RADIO_MODE_UNDEF
}
 
enum  {
  DEVICE_RADIO_MODULATION_ASK, DEVICE_RADIO_MODULATION_BPSK1200, DEVICE_RADIO_MODULATION_BPSK2400, DEVICE_RADIO_MODULATION_BPSK4800,
  DEVICE_RADIO_MODULATION_BPSK9600, DEVICE_RADIO_MODULATION_AFSK, DEVICE_RADIO_MODULATION_GFSK1200, DEVICE_RADIO_MODULATION_GFSK2400,
  DEVICE_RADIO_MODULATION_GFSK4800, DEVICE_RADIO_MODULATION_GFSK9600, DEVICE_RADIO_MODULATION_UNDEF
}
 
enum  {
  TELEM_TYPE_UINT8, TELEM_TYPE_INT8, TELEM_TYPE_UINT16, TELEM_TYPE_INT16,
  TELEM_TYPE_UINT32, TELEM_TYPE_INT32, TELEM_TYPE_FLOAT, TELEM_TYPE_DOUBLE,
  TELEM_TYPE_STRING
}
 
enum  PORT_TYPE {
  PORT_TYPE_RS232 = 0, PORT_TYPE_RS422 = 1, PORT_TYPE_ETHERNET = 2, PORT_TYPE_USB = 3,
  PORT_TYPE_DRIVE = 4, PORT_TYPE_SIM = 5, PORT_TYPE_UDP = 6, PORT_TYPE_TCP = 7,
  PORT_TYPE_PROPAGATOR = 8, PORT_TYPE_COUNT, PORT_TYPE_NONE = UINT16_MAX
}