Files

79 lines
3.7 KiB
C
Executable File

/*------------------------------------------------------------------------------
Copyright 2016-2018 Sony Semiconductor Solutions Corporation
Last Updated : 2018/08/30
Modification ID : 902dae58eb5249e028ccc5d7f60bb66cca9b43a9
------------------------------------------------------------------------------*/
/**
@file sony_isdbc.h
This file provides ISDB-C related type definitions.
*/
/*----------------------------------------------------------------------------*/
#ifndef SONY_ISDBC_H
#define SONY_ISDBC_H
/*------------------------------------------------------------------------------
Enumerations
------------------------------------------------------------------------------*/
/**
@brief Type of TSID.
*/
typedef enum {
SONY_ISDBC_TSID_TYPE_TSID, /**< TSID(16bit) */
SONY_ISDBC_TSID_TYPE_RELATIVE_TS_NUMBER /**< Relative TS number */
} sony_isdbc_tsid_type_t;
/**
@brief ISDB-C constellation.
*/
typedef enum {
SONY_ISDBC_CONSTELLATION_RESERVED_0, /**< RESERVED */
SONY_ISDBC_CONSTELLATION_RESERVED_1, /**< RESERVED */
SONY_ISDBC_CONSTELLATION_64QAM, /**< 64-QAM */
SONY_ISDBC_CONSTELLATION_RESERVED_3, /**< RESERVED */
SONY_ISDBC_CONSTELLATION_256QAM /**< 256-QAM */
} sony_isdbc_constellation_t;
/**
@brief TSMF receive status
*/
typedef enum {
SONY_ISDBC_TSMF_RECEIVE_STATUS_GOOD, /**< Receive status is good */
SONY_ISDBC_TSMF_RECEIVE_STATUS_NORMAL, /**< Receive status is normal */
SONY_ISDBC_TSMF_RECEIVE_STATUS_BAD, /**< Receive status is bad */
SONY_ISDBC_TSMF_RECEIVE_STATUS_UNDEFINED /**< Receive status is undefined */
} sony_isdbc_tsmf_receive_status_t;
/*------------------------------------------------------------------------------
Structs
------------------------------------------------------------------------------*/
/**
@brief TSMF Header information structure.
*/
typedef struct sony_isdbc_tsmf_header_t {
/**
@brief TSMF Synchronization error.
The following cases, Synchronization error will occur.
- The header can not be detected after 53 slot from the previous header detected.
- If TSID, Network ID or Relative TS number specified in sony_demod_isdbc_Tune argument does not exist.
In this case, receiveStatusSelected will become SONY_ISDBC_TSMF_RECEIVE_STATUS_BAD.
*/
uint8_t syncError;
uint8_t versionNumber; /**< Version number */
uint8_t tsNumMode; /**< Relative TS number mode 0:Static assignment 1:Reserved */
uint8_t frameType; /**< Frame type */
uint8_t tsStatus[15]; /**< Status of each relative TS ID 0x01:Multiples 0x0F:Unused Others:Reserved */
sony_isdbc_tsmf_receive_status_t receiveStatusSelected; /**< Receive status of the selected relative TS number */
sony_isdbc_tsmf_receive_status_t receiveStatus[15]; /**< Receive status of each relative TS number */
uint16_t tsid[15]; /**< TS ID of each relative TS number */
uint16_t networkId[15]; /**< Network ID of each relative TS number */
uint8_t relativeTSNumForEachSlot[52]; /**< Relative TS number of each Slot number */
uint8_t emergency; /**< Emergency indicator 0:Emergency boot control is DISABLED 1:Emergency boot control is ENABLED */
uint8_t privateData[85]; /**< Private data */
} sony_isdbc_tsmf_header_t;
#endif /* SONY_ISDBC_H */