cat240.h File Reference

ASTERIX CAT240 - Radar Video Transmission. More...

#include "dataitem.h"
#include "datarecord.h"
#include "cat_generic.h"
Include dependency graph for cat240.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_240_020_t
 Data Item I240/020 - Video Record Header structure. More...
struct  ast_dataitem_240_030_t
 Data Item I240/030 - Video Summary structure. More...
struct  ast_dataitem_240_048_t
 Data Item I240/048 - Video Cells Resolution & Data Compression Indicator. More...
struct  ast_dataitem_240_049_t
 Data Item I240/049 - Video Octets & Video Cells Counters. More...
struct  ast_dataitem_240_050_t
 Data Item I240/050 - Video Block Low Data Volume. More...
struct  ast_dataitem_240_051_t
 Data Item I240/051 - Video Block Medium Data Volume. More...
struct  ast_dataitem_240_052_t
 Data Item I240/052 - Video Block High Data Volume. More...
struct  ast_datarecord_240_t
 Data Record I240 - Radar Video Transmission. More...
struct  ast_videovector_t
 Fully decoded video vector of a CAT240 data record. More...

Macros

#define ast_dataitem_240_000_get_size   ast_dataitem_message_type_get_size
 Get size function for I240/000.
#define ast_dataitem_240_000_decode   ast_dataitem_message_type_decode
 Decode function for I240/000.
#define ast_dataitem_240_000_encode   ast_dataitem_message_type_encode
 Encode function for I240/000.
#define ast_dataitem_240_000_get_detail_html   ast_dataitem_get_detail_html_dummy
 Get detail HTML function for I240/000.
#define ast_dataitem_240_010_get_size   ast_dataitem_data_source_identifier_get_size
 Get size function for I240/010.
#define ast_dataitem_240_010_decode   ast_dataitem_data_source_identifier_decode
 Decode function for I240/010.
#define ast_dataitem_240_010_encode   ast_dataitem_data_source_identifier_encode
 Encode function for I240/010.
#define ast_dataitem_240_010_get_summary   ast_dataitem_data_source_identifier_get_summary
 Get summary function for I240/010.
#define ast_dataitem_240_010_get_detail_html   ast_dataitem_data_source_identifier_get_detail_html
 Get detail HTML function for I240/010.
#define ast_dataitem_240_020_get_size   ast_dataitem_get_size_fixed_4_byte
 Get size function for I240/020.
#define ast_dataitem_240_020_get_detail_html   ast_dataitem_get_detail_html_dummy
 Get detail HTML function for I240/020.
#define AST_VIDEO_SUMMARY_MAX_CHARS   257
 Maximum number of characters in video summary.
#define ast_dataitem_240_030_get_size   ast_dataitem_get_size_rep_1_byte
 Get size function for I240/030.
#define ast_dataitem_240_040_get_size   ast_dataitem_video_header_get_size
 Get size function for I240/040.
#define ast_dataitem_240_041_get_size   ast_dataitem_video_header_get_size
 Get size function for I240/041.
#define ast_dataitem_240_048_get_size   ast_dataitem_get_size_fixed_2_byte
 Get size function for I240/048.
#define ast_dataitem_240_049_get_size   ast_dataitem_get_size_fixed_5_byte
 Get size function for I240/049.
#define ast_dataitem_240_050_get_size   ast_dataitem_get_size_rep_4_byte
 Get size function for I240/050.
#define ast_dataitem_240_051_get_size   ast_dataitem_get_size_rep_64_byte
 Get size function for I240/051.
#define ast_dataitem_240_052_get_size   ast_dataitem_get_size_rep_256_byte
 Get size function for I240/052.
#define ast_dataitem_240_140_get_size   ast_dataitem_time_of_day_get_size
 Get size function for I240/140.
#define ast_dataitem_240_140_decode   ast_dataitem_time_of_day_decode
 Decode function for I240/140.
#define ast_dataitem_240_140_encode   ast_dataitem_time_of_day_encode
 Encode function for I240/140.
#define ast_dataitem_240_140_get_summary   ast_dataitem_time_of_day_get_summary
 Get summary function for I240/140.
#define ast_dataitem_240_140_get_detail_html   ast_dataitem_time_of_day_get_detail_html
 Get detail HTML function for I240/140.
#define ast_dataitem_240_REF_get_size   ast_dataitem_reserved_expansion_field_get_size
 Get size function for I240/REF.
#define ast_dataitem_240_REF_get_summary   ast_dataitem_reserved_expansion_field_get_summary
 Decode function for I240/REF.
#define ast_dataitem_240_REF_get_detail_html   ast_dataitem_reserved_expansion_field_get_detail_html
 Get detail HTML function for I240/REF.
#define ast_dataitem_240_SPF_get_size   ast_dataitem_special_purpose_field_get_size
 Get size function for I240/SPF.
#define ast_dataitem_240_SPF_get_summary   ast_dataitem_special_purpose_field_get_summary
 Decode function for I240/SPF.
#define ast_dataitem_240_SPF_get_detail_html   ast_dataitem_special_purpose_field_get_detail_html
 Get detail HTML function for I240/SPF.
#define ast_datarecord_240_get_tracknum   0
 Get track number function (not applicable for CAT240).
#define ast_datarecord_240_get_squawk   0
 Get Mode-3/A code function (not applicable for CAT240).
#define ast_datarecord_240_get_callsign   0
 Get callsign function (not applicable for CAT240).
#define ast_datarecord_240_get_icaoaddr   0
 Get ICAO 24-bit address function (not applicable for CAT240).
#define ast_datarecord_240_get_coordinate   0
 Get coordinate function (not applicable for CAT240).
#define ast_datarecord_240_get_flightlevel   0
 Get flight level function (not applicable for CAT240).
#define ast_datarecord_240_get_polarcoord   0
 Get polar coordinate function (not applicable for CAT240).
#define ast_datarecord_240_get_heading   0
 Get heading function (not applicable for CAT240).
#define ast_datarecord_240_get_speed   0
 Get speed function (not applicable for CAT240).
#define ast_datarecord_240_get_selaltitude   0
 Get selected altitude function (not applicable for CAT240).
#define ast_datarecord_240_get_cartesianvel   0
 Get cartesian velocity function (not applicable for CAT240).
#define ast_datarecord_240_get_vrate   0
 Get vertical rate function (not applicable for CAT240).

Typedefs

typedef ast_dataitem_message_type_t ast_dataitem_240_000_t
 Data Item I240/000 - Message Type.
typedef ast_dataitem_data_source_identifier_t ast_dataitem_240_010_t
 Data Item I240/010 - Data Source Identifier.
typedef ast_dataitem_video_header_t ast_dataitem_240_040_t
 Data Item I240/040 - Video Header Nano.
typedef ast_dataitem_video_header_t ast_dataitem_240_041_t
 Data Item I240/041 - Video Header Femto.
typedef ast_dataitem_time_of_day_t ast_dataitem_240_140_t
 Data Item I240/140 - Time of Day.

Enumerations

enum  ast_video_message_type_t { AST_VIDEO_SUMMARY = 1 , AST_VIDEO_MESSAGE = 2 }
 Video message type enumeration. More...
enum  ast_video_resolution_type_t {
  AST_VIDEO_RES_UNDEFINED = 0 , AST_VIDEO_RES_MONO = 1 , AST_VIDEO_RES_LOW = 2 , AST_VIDEO_RES_MEDIUM = 3 ,
  AST_VIDEO_RES_HIGH = 4 , AST_VIDEO_RES_VERY_HIGH = 5 , AST_VIDEO_RES_ULTRA_HIGH = 6
}
 Video Resolution Type enumeration. More...
enum  ast_videovector_error_t {
  AST_VIDEOVECTOR_OK = 0 , AST_VIDEOVECTOR_ERR_RECORD_INVALID , AST_VIDEOVECTOR_ERR_MSGTYPE_SUMMARY , AST_VIDEOVECTOR_ERR_MSGTYPE_UNKNOWN ,
  AST_VIDEOVECTOR_ERR_NO_VIDEO_HEADER , AST_VIDEOVECTOR_ERR_AMBIGUOUS_HEADER , AST_VIDEOVECTOR_ERR_NO_RESOLUTION , AST_VIDEOVECTOR_ERR_RESOLUTION_INVALID ,
  AST_VIDEOVECTOR_ERR_RESOLUTION_UNSUPPORTED , AST_VIDEOVECTOR_ERR_COMPRESSED , AST_VIDEOVECTOR_ERR_NO_VIDEO_BLOCK , AST_VIDEOVECTOR_ERR_AMBIGUOUS_BLOCK ,
  AST_VIDEOVECTOR_ERR_TRUNCATED_BLOCK , AST_VIDEOVECTOR_ERR_REP_EXCEEDED , AST_VIDEOVECTOR_ERR_BUFFER_TOO_SMALL
}
 Video vector error codes. More...

Functions

const char * ast_dataitem_240_get_name (const ast_dataitem_type_t type)
 Get name of a CAT240 data item type.
void ast_dataitem_240_000_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary string for I240/000.
ast_dataitem_240_020_t ast_dataitem_240_020_decode (const ast_dataitem_t di)
 Decode I240/020 Video Record Header.
void ast_dataitem_240_020_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Encode function (not implemented).
ast_dataitem_240_030_t ast_dataitem_240_030_decode (const ast_dataitem_t di)
 Decode I240/030 Video Summary.
void ast_dataitem_240_030_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Encode function (not implemented).
void ast_dataitem_240_030_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detailed HTML for I240/030.
ast_dataitem_video_header_t ast_dataitem_240_040_decode (const ast_dataitem_t di)
 Decode I240/040 Video Header Nano.
void ast_dataitem_240_040_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary string for I240/040.
void ast_dataitem_240_040_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detailed HTML for I240/040.
ast_dataitem_video_header_t ast_dataitem_240_041_decode (const ast_dataitem_t di)
 Decode I240/041 Video Header Femto.
void ast_dataitem_240_041_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary string for I240/041.
void ast_dataitem_240_041_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detailed HTML for I240/041.
unsigned int ast_video_resolution_bits (const ast_video_resolution_type_t t)
 Get number of bits for a video resolution type.
ast_dataitem_240_048_t ast_dataitem_240_048_decode (const ast_dataitem_t di)
 Decode I240/048 Video Cells Resolution.
void ast_dataitem_240_048_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary string for I240/048.
void ast_dataitem_240_048_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detailed HTML for I240/048.
ast_dataitem_240_049_t ast_dataitem_240_049_decode (const ast_dataitem_t di)
 Decode I240/049 Video Counters.
void ast_dataitem_240_049_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary string for I240/049.
void ast_dataitem_240_049_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detailed HTML for I240/049.
ast_dataitem_240_050_t ast_dataitem_240_050_decode (const ast_dataitem_t di)
 Decode I240/050 Video Block Low.
void ast_dataitem_240_050_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary string for I240/050.
void ast_dataitem_240_050_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detailed HTML for I240/050.
ast_dataitem_240_051_t ast_dataitem_240_051_decode (const ast_dataitem_t di)
 Decode I240/051 Video Block Medium.
void ast_dataitem_240_051_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary string for I240/051.
void ast_dataitem_240_051_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detailed HTML for I240/051.
ast_dataitem_240_052_t ast_dataitem_240_052_decode (const ast_dataitem_t di)
 Decode I240/052 Video Block High.
void ast_dataitem_240_052_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary string for I240/052.
void ast_dataitem_240_052_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detailed HTML for I240/052.
ast_datarecord_240_t ast_datarecord_240_disassemble (const ast_datarecord_t dr)
 Disassemble CAT240 data record.
ast_videovector_t ast_datarecord_240_get_vector (const ast_datarecord_240_t dr, unsigned int *amplitude_buffer, const size_t amplitude_buffer_size)
 Get the fully decoded video vector of a CAT240 data record.
ast_sacsic_t ast_datarecord_240_get_sacsic (const ast_datarecord_t dr)
 Get SAC/SIC from CAT240 data record.
ast_timeofday_t ast_datarecord_240_get_timeofday (const ast_datarecord_t dr)
 Get time of day from CAT240 data record.
ast_msgtype_t ast_datarecord_240_get_msgtype (const ast_datarecord_t dr)
 Get message type from CAT240 data record.

Detailed Description

ASTERIX CAT240 - Radar Video Transmission.

Description:
Declarations of the CAT240 data structures and encode/decode functions.
Note
This implementation is based on ASTERIX CAT240 version 1.3
Reference: EUROCONTROL-SPEC-0149-240

Function Documentation

◆ ast_dataitem_240_get_name()

const char * ast_dataitem_240_get_name ( const ast_dataitem_type_t type)

Get name of a CAT240 data item type.

Parameters
typeData item type
Returns
Human-readable name string