cat002.h File Reference

ASTERIX CAT002 - Monoradar Service Messages. More...

#include "dataitem.h"
#include "datarecord.h"
#include "cat_generic.h"
Include dependency graph for cat002.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ast_dataitem_002_901_t
 Data Item I002/901 - Station Configuration Status (ASR-10SS extension of I002/050). More...
struct  ast_dataitem_002_902_t
 Data Item I002/902 - Station Configuration Status (ASR-10SS MKII extension of I002/050). More...
struct  ast_datarecord_002_t
 Data Record I002 - Monoradar Service Messages. More...

Macros

#define ast_dataitem_002_000_get_size   ast_dataitem_message_type_get_size
 Get size function for I002/000.
#define ast_dataitem_002_000_decode   ast_dataitem_message_type_decode
 Decode function for I002/000.
#define ast_dataitem_002_000_encode   ast_dataitem_message_type_encode
 Encode function for I002/000.
#define ast_dataitem_002_000_get_detail_html   ast_dataitem_get_detail_html_dummy
 Get detail function for I002/000.
#define ast_dataitem_002_010_get_size   ast_dataitem_data_source_identifier_get_size
 Get size function for I002/010.
#define ast_dataitem_002_010_decode   ast_dataitem_data_source_identifier_decode
 Decode function for I002/010.
#define ast_dataitem_002_010_encode   ast_dataitem_data_source_identifier_encode
 Encode function for I002/010.
#define ast_dataitem_002_010_get_summary   ast_dataitem_data_source_identifier_get_summary
 Get summary function for I002/010.
#define ast_dataitem_002_010_get_detail_html   ast_dataitem_data_source_identifier_get_detail_html
 Get detail function for I002/010.
#define ast_dataitem_002_020_get_size   ast_dataitem_sector_number_get_size
 Get size function for I002/020.
#define ast_dataitem_002_020_decode   ast_dataitem_sector_number_decode
 Decode function for I002/020.
#define ast_dataitem_002_020_encode   ast_dataitem_sector_number_encode
 Encode function for I002/020.
#define ast_dataitem_002_020_get_summary   ast_dataitem_sector_number_get_summary
 Get summary function for I002/020.
#define ast_dataitem_002_020_get_detail_html   ast_dataitem_sector_number_get_detail_html
 Get detail function for I002/020.
#define ast_dataitem_002_030_get_size   ast_dataitem_time_of_day_get_size
 Get size function for I002/030.
#define ast_dataitem_002_030_decode   ast_dataitem_time_of_day_decode
 Decode function for I002/030.
#define ast_dataitem_002_030_encode   ast_dataitem_time_of_day_encode
 Encode function for I002/030.
#define ast_dataitem_002_030_get_summary   ast_dataitem_time_of_day_get_summary
 Get summary function for I002/030.
#define ast_dataitem_002_030_get_detail_html   ast_dataitem_time_of_day_get_detail_html
 Get detail function for I002/030.
#define ast_dataitem_002_041_get_size   ast_dataitem_antenna_rotation_period_get_size
 Get size function for I002/041.
#define ast_dataitem_002_041_decode   ast_dataitem_antenna_rotation_period_decode
 Decode function for I002/041.
#define ast_dataitem_002_041_encode   ast_dataitem_antenna_rotation_period_encode
 Encode function for I002/041.
#define ast_dataitem_002_041_get_summary   ast_dataitem_antenna_rotation_period_get_summary
 Get summary function for I002/041.
#define ast_dataitem_002_041_get_detail_html   ast_dataitem_antenna_rotation_period_get_detail_html
 Get detail function for I002/041.
#define ast_dataitem_002_050_get_size   ast_dataitem_get_size_var_unlimited
 Get size function for I002/050.
#define ast_dataitem_002_050_get_summary   ast_dataitem_binary_data_get_summary
 Get summary function for I002/050.
#define ast_dataitem_002_050_get_detail_html   ast_dataitem_get_detail_html_dummy
 Get detail function for I002/050.
#define ast_dataitem_002_901_get_size   ast_dataitem_get_size_var_16_byte
 Get size function for I002/901.
#define ast_dataitem_002_902_get_size   ast_dataitem_get_size_var_16_byte
 Get size function for I002/902.
#define ast_dataitem_002_SPF_get_size   ast_dataitem_special_purpose_field_get_size
 Get size function for I002/SPF.
#define ast_dataitem_002_SPF_get_summary   ast_dataitem_special_purpose_field_get_summary
 Decode function for I002/SPF (currently not implemented).
#define ast_dataitem_002_SPF_get_detail_html   ast_dataitem_get_detail_html_dummy
 Get detail function for I002/SPF.
#define ast_dataitem_002_RFS_get_size   ast_dataitem_random_field_sequencing_get_size
 Get size function for I002/RFS.
#define ast_dataitem_002_RFS_get_summary   ast_dataitem_random_field_sequencing_get_summary
 Get summary function for I002/RFS.
#define ast_dataitem_002_RFS_get_detail_html   ast_dataitem_random_field_sequencing_get_detail_html
 Get detail function for I002/RFS.
#define ast_dataitem_002_951_get_size   ast_dataitem_get_size_fixed_2_byte
 Get size function for I002/951.
#define ast_datarecord_002_get_tracknum   0
 Get track number function (not available in CAT002).
#define ast_datarecord_002_get_squawk   0
 Get Mode-3/A code function (not available in CAT002).
#define ast_datarecord_002_get_callsign   0
 Get callsign function (not available in CAT002).
#define ast_datarecord_002_get_icaoaddr   0
 Get ICAO 24-bit address function (not available in CAT002).
#define ast_datarecord_002_get_coordinate   0
 Get coordinate function (not available in CAT002).
#define ast_datarecord_002_get_flightlevel   0
 Get flight level function (not available in CAT002).
#define ast_datarecord_002_get_selaltitude   0
 Get selected altitude function (not available in CAT002).
#define ast_datarecord_002_get_polarcoord   0
 Get polar coordinate function (not available in CAT002).
#define ast_datarecord_002_get_heading   0
 Get heading function (not available in CAT002).
#define ast_datarecord_002_get_speed   0
 Get speed function (not available in CAT002).
#define ast_datarecord_002_get_cartesianvel   0
 Get cartesian velocity function (not available in CAT002).
#define ast_datarecord_002_get_vrate   0
 Get vertical rate function (not available in CAT002).

Typedefs

typedef ast_dataitem_message_type_t ast_dataitem_002_000_t
 Data Item I002/000 - Message Type.
typedef ast_dataitem_data_source_identifier_t ast_dataitem_002_010_t
 Data Item I002/010 - Data Source Identifier.
typedef ast_dataitem_sector_number_t ast_dataitem_002_020_t
 Data Item I002/020 - Sector Number.
typedef ast_dataitem_time_of_day_t ast_dataitem_002_030_t
 Data Item I002/030 - Time of Day.
typedef ast_dataitem_antenna_rotation_period_t ast_dataitem_002_041_t
 Data Item I002/041 - Antenna Rotation Period.

Enumerations

enum  ast_radar_message_type_t {
  AST_RADAR_MESSAGE_NORTH_MARKER = 1 , AST_RADAR_MESSAGE_SECTOR_CROSSING = 2 , AST_RADAR_MESSAGE_SOUTH_MARKER = 3 , AST_RADAR_MESSAGE_BLIND_ZONE_START = 8 ,
  AST_RADAR_MESSAGE_BLIND_ZONE_STOP = 9 , AST_RADAR_MESSAGE_STATUS = 128
}
 Radar service message types. More...
enum  ast_asr10ss_mode_t { AST_ASR10SS_MODE_UNKNOWN = 0 , AST_ASR10SS_MODE_SELECTED = 1 , AST_ASR10SS_MODE_STANDBY = 2 , AST_ASR10SS_MODE_INVALID = 3 }
 Operating mode of an ASR-10SS subsystem (2-bit status field). More...
enum  ast_asr10ss_role_t { AST_ASR10SS_ROLE_UNKNOWN = 0 , AST_ASR10SS_ROLE_ONLINE = 1 , AST_ASR10SS_ROLE_MAINTENANCE = 2 , AST_ASR10SS_ROLE_INVALID = 3 }
 Operating role of an ASR-10SS subsystem (2-bit status field). More...
enum  ast_asr10ss_condition_t { AST_ASR10SS_COND_UNKNOWN = 0 , AST_ASR10SS_COND_SERVICEABLE = 1 , AST_ASR10SS_COND_FAILED = 2 , AST_ASR10SS_COND_INVALID = 3 }
 Operating condition of an ASR-10SS subsystem (2-bit status field). More...
enum  ast_asr10ss_dm_rotation_t { AST_ASR10SS_DM_ROT_UNKNOWN = 0 , AST_ASR10SS_DM_ROT_ROTATING = 1 , AST_ASR10SS_DM_ROT_STOPPED = 2 , AST_ASR10SS_DM_ROT_INVALID = 3 }
 Drive motor rotation status (ASR-10SS MKII). More...
enum  ast_asr10ss_ups_mode_t { AST_ASR10SS_UPS_MODE_UNKNOWN = 0 , AST_ASR10SS_UPS_MODE_INVERTER = 1 , AST_ASR10SS_UPS_MODE_BYPASS = 2 , AST_ASR10SS_UPS_MODE_MAINTENANCE = 3 }
 UPS operating mode (ASR-10SS MKII). More...
enum  ast_asr10ss_eng_gen_role_t { AST_ASR10SS_ENGGEN_UNKNOWN = 0 , AST_ASR10SS_ENGGEN_RUN = 1 , AST_ASR10SS_ENGGEN_STOP = 2 , AST_ASR10SS_ENGGEN_INVALID = 3 }
 Engine generator role (ASR-10SS MKII). More...
enum  ast_asr10ss_site_power_t { AST_ASR10SS_SITE_PWR_UNKNOWN = 0 , AST_ASR10SS_SITE_PWR_COMMERCIAL = 1 , AST_ASR10SS_SITE_PWR_GENERATOR = 2 , AST_ASR10SS_SITE_PWR_BATTERY = 3 }
 Site power source (ASR-10SS MKII). More...

Functions

const char * ast_dataitem_002_get_name (const ast_dataitem_type_t type)
 Get the name of a CAT002 data item.
void ast_dataitem_002_000_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary text for I002/000.
ast_dataitem_002_901_t ast_dataitem_002_901_decode (const ast_dataitem_t di)
 Decode function for I002/901.
void ast_dataitem_002_901_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I002/901.
void ast_dataitem_002_901_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I002/901.
ast_dataitem_002_902_t ast_dataitem_002_902_decode (const ast_dataitem_t di)
 Decode function for I002/902.
void ast_dataitem_002_902_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I002/902.
void ast_dataitem_002_902_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I002/902.
ast_sacsic_t ast_datarecord_002_get_sacsic (const ast_datarecord_t dr)
 Get SAC/SIC from a CAT002 data record.
ast_timeofday_t ast_datarecord_002_get_timeofday (const ast_datarecord_t dr)
 Get time of day from a CAT002 data record.
ast_msgtype_t ast_datarecord_002_get_msgtype (const ast_datarecord_t dr)
 Get message type from a CAT002 data record.
ast_datarecord_002_t ast_datarecord_002_disassemble (const ast_datarecord_t dr)
 Disassemble a CAT002 data record into its components.
ast_datarecord_t ast_datarecord_002_assemble (unsigned char *const buffer, const size_t bufsize, const ast_datarecord_002_t dr, const ast_uap_t uap)
 Assemble a CAT002 data record from its components.

Detailed Description

ASTERIX CAT002 - Monoradar Service Messages.

Description:
Declarations of the CAT002 data structures and encode/decode functions.
Note
This implementation is based on ASTERIX CAT002 version 1.0
Reference: EUROCONTROL-SPEC-0149-2b

Macro Definition Documentation

◆ ast_datarecord_002_get_callsign

#define ast_datarecord_002_get_callsign   0

Get callsign function (not available in CAT002).

◆ ast_datarecord_002_get_cartesianvel

#define ast_datarecord_002_get_cartesianvel   0

Get cartesian velocity function (not available in CAT002).

◆ ast_datarecord_002_get_coordinate

#define ast_datarecord_002_get_coordinate   0

Get coordinate function (not available in CAT002).

◆ ast_datarecord_002_get_flightlevel

#define ast_datarecord_002_get_flightlevel   0

Get flight level function (not available in CAT002).

◆ ast_datarecord_002_get_heading

#define ast_datarecord_002_get_heading   0

Get heading function (not available in CAT002).

◆ ast_datarecord_002_get_icaoaddr

#define ast_datarecord_002_get_icaoaddr   0

Get ICAO 24-bit address function (not available in CAT002).

◆ ast_datarecord_002_get_polarcoord

#define ast_datarecord_002_get_polarcoord   0

Get polar coordinate function (not available in CAT002).

◆ ast_datarecord_002_get_selaltitude

#define ast_datarecord_002_get_selaltitude   0

Get selected altitude function (not available in CAT002).

◆ ast_datarecord_002_get_speed

#define ast_datarecord_002_get_speed   0

Get speed function (not available in CAT002).

◆ ast_datarecord_002_get_squawk

#define ast_datarecord_002_get_squawk   0

Get Mode-3/A code function (not available in CAT002).

◆ ast_datarecord_002_get_tracknum

#define ast_datarecord_002_get_tracknum   0

Get track number function (not available in CAT002).

◆ ast_datarecord_002_get_vrate

#define ast_datarecord_002_get_vrate   0

Get vertical rate function (not available in CAT002).

Function Documentation

◆ ast_dataitem_002_get_name()

const char * ast_dataitem_002_get_name ( const ast_dataitem_type_t type)

Get the name of a CAT002 data item.

Parameters
typeData item type identifier
Returns
Pointer to the name string

◆ ast_datarecord_002_get_msgtype()

ast_msgtype_t ast_datarecord_002_get_msgtype ( const ast_datarecord_t dr)

Get message type from a CAT002 data record.

Parameters
drData record to extract from
Returns
Message type

◆ ast_datarecord_002_get_sacsic()

ast_sacsic_t ast_datarecord_002_get_sacsic ( const ast_datarecord_t dr)

Get SAC/SIC from a CAT002 data record.

Parameters
drData record to extract from
Returns
SAC/SIC structure

◆ ast_datarecord_002_get_timeofday()

ast_timeofday_t ast_datarecord_002_get_timeofday ( const ast_datarecord_t dr)

Get time of day from a CAT002 data record.

Parameters
drData record to extract from
Returns
Time of day in seconds since midnight