Skip to content

Instantly share code, notes, and snippets.

@AlexanderFabisch
Created September 7, 2018 15:41
Show Gist options
  • Save AlexanderFabisch/d1e2031e08d260dc9c7c2f2291c887c2 to your computer and use it in GitHub Desktop.
Save AlexanderFabisch/d1e2031e08d260dc9c7c2f2291c887c2 to your computer and use it in GitHub Desktop.
#ifndef GENERATED_ASN1SCC_LASERSCAN_H
#define GENERATED_ASN1SCC_LASERSCAN_H
/*
Code automatically generated by asn1scc tool
*/
#include "taste-types.h"
#include "Time.h"
#include "taste-extended.h"
#include "asn1crt.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct { int nCount;
asn1SccT_Int32 arr[2000];
} asn1SccLaserScan_ranges;
#define asn1SccLaserScan_ranges_REQUIRED_BYTES_FOR_ENCODING 8002
#define asn1SccLaserScan_ranges_REQUIRED_BITS_FOR_ENCODING 64011
#define asn1SccLaserScan_ranges_REQUIRED_BYTES_FOR_ACN_ENCODING 8002
#define asn1SccLaserScan_ranges_REQUIRED_BITS_FOR_ACN_ENCODING 64011
#define asn1SccLaserScan_ranges_REQUIRED_BYTES_FOR_XER_ENCODING 78037
void asn1SccLaserScan_ranges_Initialize(asn1SccLaserScan_ranges* pVal);
flag asn1SccLaserScan_ranges_IsConstraintValid(const asn1SccLaserScan_ranges* val, int* pErrCode);
#ifndef ERR_asn1SccLaserScan_ranges
#define ERR_asn1SccLaserScan_ranges 1001 /*(SIZE(1 .. maxLaserScanSize))*/
#endif
typedef struct { int nCount;
asn1SccT_Float arr[2000];
} asn1SccLaserScan_remission;
#define asn1SccLaserScan_remission_REQUIRED_BYTES_FOR_ENCODING 26002
#define asn1SccLaserScan_remission_REQUIRED_BITS_FOR_ENCODING 208011
#define asn1SccLaserScan_remission_REQUIRED_BYTES_FOR_ACN_ENCODING 26002
#define asn1SccLaserScan_remission_REQUIRED_BITS_FOR_ACN_ENCODING 208011
#define asn1SccLaserScan_remission_REQUIRED_BYTES_FOR_XER_ENCODING 138043
void asn1SccLaserScan_remission_Initialize(asn1SccLaserScan_remission* pVal);
flag asn1SccLaserScan_remission_IsConstraintValid(const asn1SccLaserScan_remission* val, int* pErrCode);
#ifndef ERR_asn1SccLaserScan_remission
#define ERR_asn1SccLaserScan_remission 1002 /*(SIZE(1 .. maxLaserScanSize))*/
#endif
typedef struct {
asn1SccTime ref_time;
asn1SccT_Double start_angle;
asn1SccT_Double angular_resolution;
asn1SccT_Double speed;
asn1SccLaserScan_ranges ranges;
asn1SccT_UInt32 minRange;
asn1SccT_UInt32 maxRange;
asn1SccLaserScan_remission remission;
} asn1SccLaserScan;
#define asn1SccLaserScan_REQUIRED_BYTES_FOR_ENCODING 34062
#define asn1SccLaserScan_REQUIRED_BITS_FOR_ENCODING 272494
#define asn1SccLaserScan_REQUIRED_BYTES_FOR_ACN_ENCODING 34062
#define asn1SccLaserScan_REQUIRED_BITS_FOR_ACN_ENCODING 272494
#define asn1SccLaserScan_REQUIRED_BYTES_FOR_XER_ENCODING 216493
void asn1SccLaserScan_Initialize(asn1SccLaserScan* pVal);
flag asn1SccLaserScan_IsConstraintValid(const asn1SccLaserScan* val, int* pErrCode);
typedef enum {
asn1SccLASER_RANGE_ERRORS_too_far = 0,
asn1SccLASER_RANGE_ERRORS_too_near = 1,
asn1SccLASER_RANGE_ERRORS_measurement_error = 2,
asn1Sccother_range_errors = 3,
asn1Sccmax_range_error = 4,
asn1Sccend_laser_range_errors = 5
} asn1SccLASER_RANGE_ERRORS;
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BYTES_FOR_ENCODING 1
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BITS_FOR_ENCODING 3
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BYTES_FOR_ACN_ENCODING 1
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BITS_FOR_ACN_ENCODING 3
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BYTES_FOR_XER_ENCODING 60
void asn1SccLASER_RANGE_ERRORS_Initialize(asn1SccLASER_RANGE_ERRORS* pVal);
flag asn1SccLASER_RANGE_ERRORS_IsConstraintValid(const asn1SccLASER_RANGE_ERRORS* val, int* pErrCode);
#ifndef ERR_asn1SccLASER_RANGE_ERRORS_unknown_enumeration_value
#define ERR_asn1SccLASER_RANGE_ERRORS_unknown_enumeration_value 1004 /**/
#endif
#ifndef ERR_asn1SccLASER_RANGE_ERRORS
#define ERR_asn1SccLASER_RANGE_ERRORS 1003 /**/
#endif
extern const asn1SccT_UInt32 maxLaserScanSize;
/* ================= Encoding/Decoding function prototypes =================
* These functions are placed at the end of the file to make sure all types
* have been declared first, in case of parameterized ACN encodings
* ========================================================================= */
flag asn1SccLaserScan_ranges_Encode(const asn1SccLaserScan_ranges* val, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
flag asn1SccLaserScan_ranges_Decode(asn1SccLaserScan_ranges* pVal, BitStream* pBitStrm, int* pErrCode);
flag asn1SccLaserScan_ranges_ACN_Encode(const asn1SccLaserScan_ranges* val, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
flag asn1SccLaserScan_ranges_ACN_Decode(asn1SccLaserScan_ranges* pVal, BitStream* pBitStrm, int* pErrCode);
flag asn1SccLaserScan_remission_Encode(const asn1SccLaserScan_remission* val, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
flag asn1SccLaserScan_remission_Decode(asn1SccLaserScan_remission* pVal, BitStream* pBitStrm, int* pErrCode);
flag asn1SccLaserScan_remission_ACN_Encode(const asn1SccLaserScan_remission* val, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
flag asn1SccLaserScan_remission_ACN_Decode(asn1SccLaserScan_remission* pVal, BitStream* pBitStrm, int* pErrCode);
flag asn1SccLaserScan_Encode(const asn1SccLaserScan* val, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
flag asn1SccLaserScan_Decode(asn1SccLaserScan* pVal, BitStream* pBitStrm, int* pErrCode);
flag asn1SccLaserScan_ACN_Encode(const asn1SccLaserScan* val, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
flag asn1SccLaserScan_ACN_Decode(asn1SccLaserScan* pVal, BitStream* pBitStrm, int* pErrCode);
flag asn1SccLASER_RANGE_ERRORS_Encode(const asn1SccLASER_RANGE_ERRORS* val, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
flag asn1SccLASER_RANGE_ERRORS_Decode(asn1SccLASER_RANGE_ERRORS* pVal, BitStream* pBitStrm, int* pErrCode);
flag asn1SccLASER_RANGE_ERRORS_ACN_Encode(const asn1SccLASER_RANGE_ERRORS* val, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
flag asn1SccLASER_RANGE_ERRORS_ACN_Decode(asn1SccLASER_RANGE_ERRORS* pVal, BitStream* pBitStrm, int* pErrCode);
#ifdef __cplusplus
}
#define ENUM_asn1SccLASER_RANGE_ERRORS_too_far asn1SccLASER_RANGE_ERRORS_too_far
#define ENUM_asn1SccLASER_RANGE_ERRORS_too_near asn1SccLASER_RANGE_ERRORS_too_near
#define ENUM_asn1SccLASER_RANGE_ERRORS_measurement_error asn1SccLASER_RANGE_ERRORS_measurement_error
#define ENUM_asn1Sccother_range_errors asn1Sccother_range_errors
#define ENUM_asn1Sccmax_range_error asn1Sccmax_range_error
#define ENUM_asn1Sccend_laser_range_errors asn1Sccend_laser_range_errors
#endif
#endif
#ifndef GENERATED_ASN1SCC_LaserScan_H
#define GENERATED_ASN1SCC_LaserScan_H
/*
Code automatically generated by asn1scc tool
*/
#include "taste-types.h"
#include "taste-extended.h"
#include "Time.h"
#include "asn1crt.h"
#ifdef __cplusplus
extern "C" {
#endif
/*-- asn1SccLaserScan --------------------------------------------*/
typedef struct {
int nCount;
asn1SccT_Int32 arr[2000];
} asn1SccLaserScan_ranges;
typedef struct {
int nCount;
asn1SccT_Float arr[2000];
} asn1SccLaserScan_remission;
typedef struct {
asn1SccTime ref_time;
asn1SccT_Double start_angle;
asn1SccT_Double angular_resolution;
asn1SccT_Double speed;
asn1SccLaserScan_ranges ranges;
asn1SccT_UInt32 minRange;
asn1SccT_UInt32 maxRange;
asn1SccLaserScan_remission remission;
} asn1SccLaserScan;
flag asn1SccLaserScan_ranges_Equal(const asn1SccLaserScan_ranges* pVal1, const asn1SccLaserScan_ranges* pVal2);
flag asn1SccLaserScan_remission_Equal(const asn1SccLaserScan_remission* pVal1, const asn1SccLaserScan_remission* pVal2);
flag asn1SccLaserScan_Equal(const asn1SccLaserScan* pVal1, const asn1SccLaserScan* pVal2);
void asn1SccLaserScan_ranges_Initialize(asn1SccLaserScan_ranges* pVal);
void asn1SccLaserScan_remission_Initialize(asn1SccLaserScan_remission* pVal);
void asn1SccLaserScan_Initialize(asn1SccLaserScan* pVal);
#define ERR_LASERSCAN_REF_TIME_MICROSECONDS 10200 /**/
#define ERR_LASERSCAN_REF_TIME_USECPERSEC 10211 /**/
#define ERR_LASERSCAN_START_ANGLE 10232 /**/
#define ERR_LASERSCAN_ANGULAR_RESOLUTION 10243 /**/
#define ERR_LASERSCAN_SPEED 10254 /**/
#define ERR_LASERSCAN_RANGES_ELM 10265 /**/
#define ERR_LASERSCAN_RANGES 10276 /**/
#define ERR_LASERSCAN_MINRANGE 10283 /**/
#define ERR_LASERSCAN_MAXRANGE 10294 /**/
#define ERR_LASERSCAN_REMISSION_ELM 10305 /**/
#define ERR_LASERSCAN_REMISSION 10316 /**/
flag asn1SccLaserScan_IsConstraintValid(const asn1SccLaserScan* pVal, int* pErrCode);
#define ERR_UPER_ENCODE_LASERSCAN 10323 /**/
#define ERR_UPER_ENCODE_LASERSCAN_REF_TIME_2 10228 /**/
#define ERR_UPER_ENCODE_LASERSCAN_START_ANGLE_2 10239 /**/
#define ERR_UPER_ENCODE_LASERSCAN_ANGULAR_RESOLUTION_2 10250 /**/
#define ERR_UPER_ENCODE_LASERSCAN_SPEED_2 10261 /**/
#define ERR_UPER_ENCODE_LASERSCAN_RANGES 10277 /**/
#define ERR_UPER_ENCODE_LASERSCAN_RANGES_ELM_2 10272 /**/
#define ERR_UPER_ENCODE_LASERSCAN_MINRANGE_2 10290 /**/
#define ERR_UPER_ENCODE_LASERSCAN_MAXRANGE_2 10301 /**/
#define ERR_UPER_ENCODE_LASERSCAN_REMISSION 10317 /**/
#define ERR_UPER_ENCODE_LASERSCAN_REMISSION_ELM_2 10312 /**/
#define asn1SccLaserScan_REQUIRED_BYTES_FOR_ENCODING 34062
#define asn1SccLaserScan_REQUIRED_BITS_FOR_ENCODING 272494
flag asn1SccLaserScan_Encode(const asn1SccLaserScan* pVal, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
#define ERR_UPER_DECODE_LASERSCAN 10324 /**/
#define ERR_UPER_DECODE_LASERSCAN_REF_TIME_2 10229 /**/
#define ERR_UPER_DECODE_LASERSCAN_START_ANGLE_2 10240 /**/
#define ERR_UPER_DECODE_LASERSCAN_ANGULAR_RESOLUTION_2 10251 /**/
#define ERR_UPER_DECODE_LASERSCAN_SPEED_2 10262 /**/
#define ERR_UPER_DECODE_LASERSCAN_RANGES 10278 /**/
#define ERR_UPER_DECODE_LASERSCAN_RANGES_ELM_2 10273 /**/
#define ERR_UPER_DECODE_LASERSCAN_MINRANGE_2 10291 /**/
#define ERR_UPER_DECODE_LASERSCAN_MAXRANGE_2 10302 /**/
#define ERR_UPER_DECODE_LASERSCAN_REMISSION 10318 /**/
#define ERR_UPER_DECODE_LASERSCAN_REMISSION_ELM_2 10313 /**/
flag asn1SccLaserScan_Decode(asn1SccLaserScan* pVal, BitStream* pBitStrm, int* pErrCode);
#define ERR_ACN_ENCODE_LASERSCAN 10325 /**/
#define ERR_ACN_ENCODE_LASERSCAN_REF_TIME 10224 /**/
#define ERR_ACN_ENCODE_LASERSCAN_REF_TIME_MICROSECONDS 10203 /**/
#define ERR_ACN_ENCODE_LASERSCAN_REF_TIME_USECPERSEC 10214 /**/
#define ERR_ACN_ENCODE_LASERSCAN_START_ANGLE 10235 /**/
#define ERR_ACN_ENCODE_LASERSCAN_ANGULAR_RESOLUTION 10246 /**/
#define ERR_ACN_ENCODE_LASERSCAN_SPEED 10257 /**/
#define ERR_ACN_ENCODE_LASERSCAN_RANGES 10279 /**/
#define ERR_ACN_ENCODE_LASERSCAN_RANGES_ELM 10268 /**/
#define ERR_ACN_ENCODE_LASERSCAN_MINRANGE 10286 /**/
#define ERR_ACN_ENCODE_LASERSCAN_MAXRANGE 10297 /**/
#define ERR_ACN_ENCODE_LASERSCAN_REMISSION 10319 /**/
#define ERR_ACN_ENCODE_LASERSCAN_REMISSION_ELM 10308 /**/
#define asn1SccLaserScan_REQUIRED_BYTES_FOR_ACN_ENCODING 34062
#define asn1SccLaserScan_REQUIRED_BITS_FOR_ACN_ENCODING 272494
flag asn1SccLaserScan_ACN_Encode(const asn1SccLaserScan* pVal, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
#define ERR_ACN_DECODE_LASERSCAN 10326 /**/
#define ERR_ACN_DECODE_LASERSCAN_REF_TIME 10225 /**/
#define ERR_ACN_DECODE_LASERSCAN_REF_TIME_MICROSECONDS 10204 /**/
#define ERR_ACN_DECODE_LASERSCAN_REF_TIME_USECPERSEC 10215 /**/
#define ERR_ACN_DECODE_LASERSCAN_START_ANGLE 10236 /**/
#define ERR_ACN_DECODE_LASERSCAN_ANGULAR_RESOLUTION 10247 /**/
#define ERR_ACN_DECODE_LASERSCAN_SPEED 10258 /**/
#define ERR_ACN_DECODE_LASERSCAN_RANGES 10280 /**/
#define ERR_ACN_DECODE_LASERSCAN_RANGES_ELM 10269 /**/
#define ERR_ACN_DECODE_LASERSCAN_MINRANGE 10287 /**/
#define ERR_ACN_DECODE_LASERSCAN_MAXRANGE 10298 /**/
#define ERR_ACN_DECODE_LASERSCAN_REMISSION 10320 /**/
#define ERR_ACN_DECODE_LASERSCAN_REMISSION_ELM 10309 /**/
flag asn1SccLaserScan_ACN_Decode(asn1SccLaserScan* pVal, BitStream* pBitStrm, int* pErrCode);
typedef enum {
asn1SccLASER_RANGE_ERRORS_too_far = 0,
asn1SccLASER_RANGE_ERRORS_too_near = 1,
asn1SccLASER_RANGE_ERRORS_measurement_error = 2,
asn1Sccother_range_errors = 3,
asn1Sccmax_range_error = 4,
asn1Sccend_laser_range_errors = 5
} asn1SccLASER_RANGE_ERRORS;
flag asn1SccLASER_RANGE_ERRORS_Equal(const asn1SccLASER_RANGE_ERRORS* pVal1, const asn1SccLASER_RANGE_ERRORS* pVal2);
void asn1SccLASER_RANGE_ERRORS_Initialize(asn1SccLASER_RANGE_ERRORS* pVal);
#define ERR_LASER_RANGE_ERRORS 10193 /**/
flag asn1SccLASER_RANGE_ERRORS_IsConstraintValid(const asn1SccLASER_RANGE_ERRORS* pVal, int* pErrCode);
#define ERR_UPER_ENCODE_LASER_RANGE_ERRORS 10194 /**/
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BYTES_FOR_ENCODING 1
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BITS_FOR_ENCODING 3
flag asn1SccLASER_RANGE_ERRORS_Encode(const asn1SccLASER_RANGE_ERRORS* pVal, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
#define ERR_UPER_DECODE_LASER_RANGE_ERRORS 10195 /**/
flag asn1SccLASER_RANGE_ERRORS_Decode(asn1SccLASER_RANGE_ERRORS* pVal, BitStream* pBitStrm, int* pErrCode);
#define ERR_ACN_ENCODE_LASER_RANGE_ERRORS 10196 /**/
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BYTES_FOR_ACN_ENCODING 1
#define asn1SccLASER_RANGE_ERRORS_REQUIRED_BITS_FOR_ACN_ENCODING 3
flag asn1SccLASER_RANGE_ERRORS_ACN_Encode(const asn1SccLASER_RANGE_ERRORS* pVal, BitStream* pBitStrm, int* pErrCode, flag bCheckConstraints);
#define ERR_ACN_DECODE_LASER_RANGE_ERRORS 10197 /**/
flag asn1SccLASER_RANGE_ERRORS_ACN_Decode(asn1SccLASER_RANGE_ERRORS* pVal, BitStream* pBitStrm, int* pErrCode);
extern const asn1SccT_UInt32 maxLaserScanSize;
/* ================= Encoding/Decoding function prototypes =================
* These functions are placed at the end of the file to make sure all types
* have been declared first, in case of parameterized ACN encodings
* ========================================================================= */
#ifdef __cplusplus
}
#endif
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment