mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-07-07 12:32:57 +00:00
Fix typos detected by codespell
This commit is contained in:
parent
f440a0e9f1
commit
471428f867
@ -341,7 +341,7 @@ Cloning the GNSS-SDR repository as in the line above will create a folder named
|
|||||||
|-----utils <- some utilities (e.g. Matlab scripts).
|
|-----utils <- some utilities (e.g. Matlab scripts).
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
By default, you will be in the 'master' branch of the Git repository, which corresponds to the lastest stable release. If you want to try the latest developments, you can use the 'next' branch by going to the newly created gnss-sdr folder doing:
|
By default, you will be in the 'master' branch of the Git repository, which corresponds to the latest stable release. If you want to try the latest developments, you can use the 'next' branch by going to the newly created gnss-sdr folder doing:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ git checkout next
|
$ git checkout next
|
||||||
|
@ -48,7 +48,7 @@ list(APPEND AVAIL_BUILDTYPES
|
|||||||
# known build types in AVAIL_BUILDTYPES. If the build type is found,
|
# known build types in AVAIL_BUILDTYPES. If the build type is found,
|
||||||
# the function exits immediately. If nothing is found by the end of
|
# the function exits immediately. If nothing is found by the end of
|
||||||
# checking all available build types, we exit with an error and list
|
# checking all available build types, we exit with an error and list
|
||||||
# the avialable build types.
|
# the available build types.
|
||||||
########################################################################
|
########################################################################
|
||||||
function(GNSSSDR_CHECK_BUILD_TYPE settype)
|
function(GNSSSDR_CHECK_BUILD_TYPE settype)
|
||||||
string(TOUPPER ${settype} _settype)
|
string(TOUPPER ${settype} _settype)
|
||||||
|
@ -6217,7 +6217,7 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_Ephemeris& eph
|
|||||||
|
|
||||||
if (version == 2)
|
if (version == 2)
|
||||||
{
|
{
|
||||||
// --------- WAVELENGHT FACTOR
|
// --------- WAVELENGTH FACTOR
|
||||||
// put here real data!
|
// put here real data!
|
||||||
line.clear();
|
line.clear();
|
||||||
line += Rinex_Printer::rightJustify("1", 6);
|
line += Rinex_Printer::rightJustify("1", 6);
|
||||||
|
@ -577,7 +577,7 @@ typedef struct
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{ /* SBAS message type */
|
{ /* SBAS message type */
|
||||||
int week, tow; /* receiption time */
|
int week, tow; /* reception time */
|
||||||
int prn; /* SBAS satellite PRN number */
|
int prn; /* SBAS satellite PRN number */
|
||||||
unsigned char msg[29]; /* SBAS message (226bit) padded by 0 */
|
unsigned char msg[29]; /* SBAS message (226bit) padded by 0 */
|
||||||
} sbsmsg_t;
|
} sbsmsg_t;
|
||||||
@ -912,7 +912,7 @@ typedef struct
|
|||||||
unsigned char buff[1200]; /* message buffer */
|
unsigned char buff[1200]; /* message buffer */
|
||||||
unsigned int word; /* word buffer for rtcm 2 */
|
unsigned int word; /* word buffer for rtcm 2 */
|
||||||
unsigned int nmsg2[100]; /* message count of RTCM 2 (1-99:1-99,0:other) */
|
unsigned int nmsg2[100]; /* message count of RTCM 2 (1-99:1-99,0:other) */
|
||||||
unsigned int nmsg3[400]; /* message count of RTCM 3 (1-299:1001-1299,300-399:2000-2099,0:ohter) */
|
unsigned int nmsg3[400]; /* message count of RTCM 3 (1-299:1001-1299,300-399:2000-2099,0:other) */
|
||||||
char opt[256]; /* RTCM dependent options */
|
char opt[256]; /* RTCM dependent options */
|
||||||
} rtcm_t;
|
} rtcm_t;
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ const double ERREPH_GLO = 5.0; /* error of glonass ephemeris (m) */
|
|||||||
const double TSTEP = 60.0; /* integration step glonass ephemeris (s) */
|
const double TSTEP = 60.0; /* integration step glonass ephemeris (s) */
|
||||||
const double RTOL_KEPLER = 1e-13; /* relative tolerance for Kepler equation */
|
const double RTOL_KEPLER = 1e-13; /* relative tolerance for Kepler equation */
|
||||||
|
|
||||||
const double DEFURASSR = 0.15; /* default accurary of ssr corr (m) */
|
const double DEFURASSR = 0.15; /* default accuracy of ssr corr (m) */
|
||||||
const double MAXECORSSR = 10.0; /* max orbit correction of ssr (m) */
|
const double MAXECORSSR = 10.0; /* max orbit correction of ssr (m) */
|
||||||
const double MAXCCORSSR = 1e-6 * SPEED_OF_LIGHT; /* max clock correction of ssr (m) */
|
const double MAXCCORSSR = 1e-6 * SPEED_OF_LIGHT; /* max clock correction of ssr (m) */
|
||||||
const double MAXAGESSR = 90.0; /* max age of ssr orbit and clock (s) */
|
const double MAXAGESSR = 90.0; /* max age of ssr orbit and clock (s) */
|
||||||
@ -473,7 +473,7 @@ void seph2pos(gtime_t time, const seph_t *seph, double *rs, double *dts,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* select ephememeris --------------------------------------------------------*/
|
/* select ephemeris --------------------------------------------------------*/
|
||||||
eph_t *seleph(gtime_t time, int sat, int iode, const nav_t *nav)
|
eph_t *seleph(gtime_t time, int sat, int iode, const nav_t *nav)
|
||||||
{
|
{
|
||||||
double t, tmax, tmin;
|
double t, tmax, tmin;
|
||||||
@ -532,7 +532,7 @@ eph_t *seleph(gtime_t time, int sat, int iode, const nav_t *nav)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* select glonass ephememeris ------------------------------------------------*/
|
/* select glonass ephemeris ------------------------------------------------*/
|
||||||
geph_t *selgeph(gtime_t time, int sat, int iode, const nav_t *nav)
|
geph_t *selgeph(gtime_t time, int sat, int iode, const nav_t *nav)
|
||||||
{
|
{
|
||||||
double t, tmax = MAXDTOE_GLO, tmin = tmax + 1.0;
|
double t, tmax = MAXDTOE_GLO, tmin = tmax + 1.0;
|
||||||
@ -574,7 +574,7 @@ geph_t *selgeph(gtime_t time, int sat, int iode, const nav_t *nav)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* select sbas ephememeris ---------------------------------------------------*/
|
/* select sbas ephemeris ---------------------------------------------------*/
|
||||||
seph_t *selseph(gtime_t time, int sat, const nav_t *nav)
|
seph_t *selseph(gtime_t time, int sat, const nav_t *nav)
|
||||||
{
|
{
|
||||||
double t, tmax = MAXDTOE_SBS, tmin = tmax + 1.0;
|
double t, tmax = MAXDTOE_SBS, tmin = tmax + 1.0;
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
* [1] S.Schear, W.Gurtner and J.Feltens, IONEX: The IONosphere Map EXchange
|
* [1] S.Schear, W.Gurtner and J.Feltens, IONEX: The IONosphere Map EXchange
|
||||||
* Format Version 1, February 25, 1998
|
* Format Version 1, February 25, 1998
|
||||||
* [2] S.Schaer, R.Markus, B.Gerhard and A.S.Timon, Daily Global Ionosphere
|
* [2] S.Schaer, R.Markus, B.Gerhard and A.S.Timon, Daily Global Ionosphere
|
||||||
* Maps based on GPS Carrier Phase Data Routinely producted by CODE
|
* Maps based on GPS Carrier Phase Data Routinely produced by CODE
|
||||||
* Analysis Center, Proceeding of the IGS Analysis Center Workshop, 1996
|
* Analysis Center, Proceeding of the IGS Analysis Center Workshop, 1996
|
||||||
*
|
*
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
* [1] S.Schear, W.Gurtner and J.Feltens, IONEX: The IONosphere Map EXchange
|
* [1] S.Schear, W.Gurtner and J.Feltens, IONEX: The IONosphere Map EXchange
|
||||||
* Format Version 1, February 25, 1998
|
* Format Version 1, February 25, 1998
|
||||||
* [2] S.Schaer, R.Markus, B.Gerhard and A.S.Timon, Daily Global Ionosphere
|
* [2] S.Schaer, R.Markus, B.Gerhard and A.S.Timon, Daily Global Ionosphere
|
||||||
* Maps based on GPS Carrier Phase Data Routinely producted by CODE
|
* Maps based on GPS Carrier Phase Data Routinely produced by CODE
|
||||||
* Analysis Center, Proceeding of the IGS Analysis Center Workshop, 1996
|
* Analysis Center, Proceeding of the IGS Analysis Center Workshop, 1996
|
||||||
*
|
*
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
@ -296,7 +296,7 @@ int search(int n, int m, const double *L, const double *D,
|
|||||||
* double *F O fixed solutions (n x m)
|
* double *F O fixed solutions (n x m)
|
||||||
* double *s O sum of squared residulas of fixed solutions (1 x m)
|
* double *s O sum of squared residulas of fixed solutions (1 x m)
|
||||||
* return : status (0:ok,other:error)
|
* return : status (0:ok,other:error)
|
||||||
* notes : matrix stored by column-major order (fortran convension)
|
* notes : matrix stored by column-major order (fortran convention)
|
||||||
*-----------------------------------------------------------------------------*/
|
*-----------------------------------------------------------------------------*/
|
||||||
int lambda(int n, int m, const double *a, const double *Q, double *F,
|
int lambda(int n, int m, const double *a, const double *Q, double *F,
|
||||||
double *s)
|
double *s)
|
||||||
|
@ -331,7 +331,7 @@ int is_depend(int sat1, int sat2, int *flgs, int *max_flg)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return 0; /* linear depenent */
|
return 0; /* linear dependent */
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -546,7 +546,7 @@ int readdcbf(const char *file, nav_t *nav, const sta_t *sta)
|
|||||||
* read differential code bias (dcb) parameters
|
* read differential code bias (dcb) parameters
|
||||||
* args : char *file I dcb parameters file (wild-card * expanded)
|
* args : char *file I dcb parameters file (wild-card * expanded)
|
||||||
* nav_t *nav IO navigation data
|
* nav_t *nav IO navigation data
|
||||||
* sta_t *sta I station info data to inport receiver dcb
|
* sta_t *sta I station info data to import receiver dcb
|
||||||
* (NULL: no use)
|
* (NULL: no use)
|
||||||
* return : status (1:ok,0:error)
|
* return : status (1:ok,0:error)
|
||||||
* notes : currently only p1-c1 bias of code *.dcb file
|
* notes : currently only p1-c1 bias of code *.dcb file
|
||||||
|
@ -223,11 +223,12 @@ const unsigned int TBL_CR_C24_Q[] = {
|
|||||||
0x42FA2F, 0xC4B6D4, 0xC82F22, 0x4E63D9, 0xD11CCE, 0x575035, 0x5BC9C3, 0xDD8538};
|
0x42FA2F, 0xC4B6D4, 0xC82F22, 0x4E63D9, 0xD11CCE, 0x575035, 0x5BC9C3, 0xDD8538};
|
||||||
|
|
||||||
|
|
||||||
extern "C" {
|
extern "C"
|
||||||
void dgemm_(char *, char *, int *, int *, int *, double *, double *, int *, double *, int *, double *, double *, int *);
|
{
|
||||||
extern void dgetrf_(int *, int *, double *, int *, int *, int *);
|
void dgemm_(char *, char *, int *, int *, int *, double *, double *, int *, double *, int *, double *, double *, int *);
|
||||||
extern void dgetri_(int *, double *, int *, int *, double *, int *, int *);
|
extern void dgetrf_(int *, int *, double *, int *, int *, int *);
|
||||||
extern void dgetrs_(char *, int *, int *, double *, int *, int *, double *, int *, int *);
|
extern void dgetri_(int *, double *, int *, int *, double *, int *, int *);
|
||||||
|
extern void dgetrs_(char *, int *, int *, double *, int *, int *, double *, int *, int *);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3619,7 +3620,7 @@ void freeobs(obs_t *obs)
|
|||||||
/* free navigation data ---------------------------------------------------------
|
/* free navigation data ---------------------------------------------------------
|
||||||
* free memory for navigation data
|
* free memory for navigation data
|
||||||
* args : nav_t *nav IO navigation data
|
* args : nav_t *nav IO navigation data
|
||||||
* int opt I option (or of followings)
|
* int opt I option (one of the following)
|
||||||
* (0x01: gps/qzs ephmeris, 0x02: glonass ephemeris,
|
* (0x01: gps/qzs ephmeris, 0x02: glonass ephemeris,
|
||||||
* 0x04: sbas ephemeris, 0x08: precise ephemeris,
|
* 0x04: sbas ephemeris, 0x08: precise ephemeris,
|
||||||
* 0x10: precise clock 0x20: almanac,
|
* 0x10: precise clock 0x20: almanac,
|
||||||
|
@ -922,7 +922,7 @@ void searchigp(gtime_t time __attribute__((unused)), const double *pos, const sb
|
|||||||
* double *var O variance of ionospheric delay (m^2)
|
* double *var O variance of ionospheric delay (m^2)
|
||||||
* return : status (1:ok, 0:no correction)
|
* return : status (1:ok, 0:no correction)
|
||||||
* notes : before calling the function, sbas ionosphere correction parameters
|
* notes : before calling the function, sbas ionosphere correction parameters
|
||||||
* in navigation data (nav->sbsion) must be set by callig
|
* in navigation data (nav->sbsion) must be set by calling
|
||||||
* sbsupdatecorr()
|
* sbsupdatecorr()
|
||||||
*-----------------------------------------------------------------------------*/
|
*-----------------------------------------------------------------------------*/
|
||||||
int sbsioncorr(gtime_t time, const nav_t *nav, const double *pos,
|
int sbsioncorr(gtime_t time, const nav_t *nav, const double *pos,
|
||||||
@ -1206,7 +1206,7 @@ int sbsfastcorr(gtime_t time, int sat, const sbssat_t *sbssat,
|
|||||||
* double *var O sat position and clock variance (m^2)
|
* double *var O sat position and clock variance (m^2)
|
||||||
* return : status (1:ok,0:no correction)
|
* return : status (1:ok,0:no correction)
|
||||||
* notes : before calling the function, sbas satellite correction parameters
|
* notes : before calling the function, sbas satellite correction parameters
|
||||||
* in navigation data (nav->sbssat) must be set by callig
|
* in navigation data (nav->sbssat) must be set by calling
|
||||||
* sbsupdatecorr().
|
* sbsupdatecorr().
|
||||||
* satellite clock correction include long-term correction and fast
|
* satellite clock correction include long-term correction and fast
|
||||||
* correction.
|
* correction.
|
||||||
|
@ -2132,7 +2132,7 @@ int outsols(unsigned char *buff, const sol_t *sol, const double *rb,
|
|||||||
|
|
||||||
|
|
||||||
/* output solution extended ----------------------------------------------------
|
/* output solution extended ----------------------------------------------------
|
||||||
* output solution exteneded information
|
* output solution extended information
|
||||||
* args : unsigned char *buff IO output buffer
|
* args : unsigned char *buff IO output buffer
|
||||||
* sol_t *sol I solution
|
* sol_t *sol I solution
|
||||||
* ssat_t *ssat I satellite status
|
* ssat_t *ssat I satellite status
|
||||||
@ -2232,7 +2232,7 @@ void outsol(FILE *fp, const sol_t *sol, const double *rb,
|
|||||||
|
|
||||||
|
|
||||||
/* output solution extended ----------------------------------------------------
|
/* output solution extended ----------------------------------------------------
|
||||||
* output solution exteneded information to file
|
* output solution extended information to file
|
||||||
* args : FILE *fp I output file pointer
|
* args : FILE *fp I output file pointer
|
||||||
* sol_t *sol I solution
|
* sol_t *sol I solution
|
||||||
* ssat_t *ssat I satellite status
|
* ssat_t *ssat I satellite status
|
||||||
|
@ -257,7 +257,7 @@ void tide_pole(gtime_t tut, const double *pos, const double *erpv,
|
|||||||
* displacements by earth tides
|
* displacements by earth tides
|
||||||
* args : gtime_t tutc I time in utc
|
* args : gtime_t tutc I time in utc
|
||||||
* double *rr I site position (ecef) (m)
|
* double *rr I site position (ecef) (m)
|
||||||
* int opt I options (or of the followings)
|
* int opt I options (one of the following)
|
||||||
* 1: solid earth tide
|
* 1: solid earth tide
|
||||||
* 2: ocean tide loading
|
* 2: ocean tide loading
|
||||||
* 4: pole tide
|
* 4: pole tide
|
||||||
|
@ -92,7 +92,7 @@ NativeInteger_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
|
|||||||
/*
|
/*
|
||||||
* ASN.1 encoded INTEGER: buf_ptr, length
|
* ASN.1 encoded INTEGER: buf_ptr, length
|
||||||
* Fill the native, at the same time checking for overflow.
|
* Fill the native, at the same time checking for overflow.
|
||||||
* If overflow occured, return with RC_FAIL.
|
* If overflow occurred, return with RC_FAIL.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
INTEGER_t tmp;
|
INTEGER_t tmp;
|
||||||
@ -153,7 +153,7 @@ NativeInteger_encode_der(asn_TYPE_descriptor_t *sd, void *ptr,
|
|||||||
tmp.buf = buf;
|
tmp.buf = buf;
|
||||||
tmp.size = sizeof(buf);
|
tmp.size = sizeof(buf);
|
||||||
#endif /* WORDS_BIGENDIAN */
|
#endif /* WORDS_BIGENDIAN */
|
||||||
|
|
||||||
/* Encode fake INTEGER */
|
/* Encode fake INTEGER */
|
||||||
erval = INTEGER_encode_der(sd, &tmp, tag_mode, tag, cb, app_key);
|
erval = INTEGER_encode_der(sd, &tmp, tag_mode, tag, cb, app_key);
|
||||||
if(erval.encoded == -1) {
|
if(erval.encoded == -1) {
|
||||||
@ -182,7 +182,7 @@ NativeInteger_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
|
|||||||
}
|
}
|
||||||
|
|
||||||
memset(&st, 0, sizeof(st));
|
memset(&st, 0, sizeof(st));
|
||||||
rval = INTEGER_decode_xer(opt_codec_ctx, td, &st_ptr,
|
rval = INTEGER_decode_xer(opt_codec_ctx, td, &st_ptr,
|
||||||
opt_mname, buf_ptr, size);
|
opt_mname, buf_ptr, size);
|
||||||
if(rval.code == RC_OK) {
|
if(rval.code == RC_OK) {
|
||||||
long l;
|
long l;
|
||||||
@ -329,4 +329,3 @@ NativeInteger_free(asn_TYPE_descriptor_t *td, void *ptr, int contents_only) {
|
|||||||
FREEMEM(ptr);
|
FREEMEM(ptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ asn_TYPE_descriptor_t asn_DEF_OCTET_STRING = {
|
|||||||
/*
|
/*
|
||||||
* The main reason why ASN.1 is still alive is that too much time and effort
|
* The main reason why ASN.1 is still alive is that too much time and effort
|
||||||
* is necessary for learning it more or less adequately, thus creating a gut
|
* is necessary for learning it more or less adequately, thus creating a gut
|
||||||
* necessity to demonstrate that aquired skill everywhere afterwards.
|
* necessity to demonstrate that acquired skill everywhere afterwards.
|
||||||
* No, I am not going to explain what the following stuff is.
|
* No, I am not going to explain what the following stuff is.
|
||||||
*/
|
*/
|
||||||
struct _stack_el {
|
struct _stack_el {
|
||||||
@ -141,7 +141,7 @@ OS__add_stack_el(struct _stack *st) {
|
|||||||
nel = (struct _stack_el *)CALLOC(1, sizeof(struct _stack_el));
|
nel = (struct _stack_el *)CALLOC(1, sizeof(struct _stack_el));
|
||||||
if(nel == NULL)
|
if(nel == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if(st->tail) {
|
if(st->tail) {
|
||||||
/* Increase a subcontainment depth */
|
/* Increase a subcontainment depth */
|
||||||
nel->cont_level = st->tail->cont_level + 1;
|
nel->cont_level = st->tail->cont_level + 1;
|
||||||
@ -728,7 +728,7 @@ OCTET_STRING__handle_control_chars(void *struct_ptr, const void *chunk_buf, size
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1; /* No, it's not */
|
return -1; /* No, it's not */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1571,7 +1571,7 @@ OCTET_STRING_encode_uper(asn_TYPE_descriptor_t *td,
|
|||||||
csiz->lower_bound, csiz->upper_bound,
|
csiz->lower_bound, csiz->upper_bound,
|
||||||
csiz->effective_bits, ct_extensible ? " EXT" : "");
|
csiz->effective_bits, ct_extensible ? " EXT" : "");
|
||||||
|
|
||||||
/* Figure out wheter size lies within PER visible constraint */
|
/* Figure out whether size lies within PER visible constraint */
|
||||||
|
|
||||||
if(csiz->effective_bits >= 0) {
|
if(csiz->effective_bits >= 0) {
|
||||||
if((int)sizeinunits < csiz->lower_bound
|
if((int)sizeinunits < csiz->lower_bound
|
||||||
@ -1802,4 +1802,3 @@ OCTET_STRING_new_fromBuf(asn_TYPE_descriptor_t *td, const char *str, int len) {
|
|||||||
|
|
||||||
return st;
|
return st;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ ber_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) {
|
|||||||
*/
|
*/
|
||||||
if(val >> ((8 * sizeof(val)) - 9)) {
|
if(val >> ((8 * sizeof(val)) - 9)) {
|
||||||
/*
|
/*
|
||||||
* We would not be able to accomodate
|
* We would not be able to accommodate
|
||||||
* any more tag bits.
|
* any more tag bits.
|
||||||
*/
|
*/
|
||||||
return -1;
|
return -1;
|
||||||
@ -141,4 +141,3 @@ ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufp, size_t size) {
|
|||||||
|
|
||||||
return required_size + 1;
|
return required_size + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
* Restore parsing context.
|
* Restore parsing context.
|
||||||
*/
|
*/
|
||||||
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Start to parse where left previously
|
* Start to parse where left previously
|
||||||
*/
|
*/
|
||||||
@ -156,7 +156,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(ctx->left >= 0) {
|
if(ctx->left >= 0) {
|
||||||
/* ?Substracted below! */
|
/* ?Subtracted below! */
|
||||||
ctx->left += rval.consumed;
|
ctx->left += rval.consumed;
|
||||||
}
|
}
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
@ -273,7 +273,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
case RC_FAIL: /* Fatal error */
|
case RC_FAIL: /* Fatal error */
|
||||||
RETURN(rval.code);
|
RETURN(rval.code);
|
||||||
} /* switch(rval) */
|
} /* switch(rval) */
|
||||||
|
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
} while(0);
|
} while(0);
|
||||||
|
|
||||||
@ -349,7 +349,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
/* No meaningful work here */
|
/* No meaningful work here */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN(RC_OK);
|
RETURN(RC_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -904,7 +904,7 @@ CHOICE_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
elm->name, td->name, rv.code);
|
elm->name, td->name, rv.code);
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
asn_enc_rval_t
|
asn_enc_rval_t
|
||||||
CHOICE_encode_uper(asn_TYPE_descriptor_t *td,
|
CHOICE_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
|
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
|
||||||
@ -984,7 +984,7 @@ CHOICE_encode_uper(asn_TYPE_descriptor_t *td,
|
|||||||
_ASN_ENCODED_OK(rval);
|
_ASN_ENCODED_OK(rval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
CHOICE_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
|
CHOICE_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
|
||||||
|
@ -130,7 +130,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
int edx; /* SEQUENCE element's index */
|
int edx; /* SEQUENCE element's index */
|
||||||
|
|
||||||
ASN_DEBUG("Decoding %s as SEQUENCE", td->name);
|
ASN_DEBUG("Decoding %s as SEQUENCE", td->name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the target structure if it is not present already.
|
* Create the target structure if it is not present already.
|
||||||
*/
|
*/
|
||||||
@ -145,7 +145,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
* Restore parsing context.
|
* Restore parsing context.
|
||||||
*/
|
*/
|
||||||
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Start to parse where left previously
|
* Start to parse where left previously
|
||||||
*/
|
*/
|
||||||
@ -166,7 +166,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(ctx->left >= 0)
|
if(ctx->left >= 0)
|
||||||
ctx->left += rval.consumed; /* ?Substracted below! */
|
ctx->left += rval.consumed; /* ?Subtracted below! */
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
|
|
||||||
NEXT_PHASE(ctx);
|
NEXT_PHASE(ctx);
|
||||||
@ -389,7 +389,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
ctx->step |= 1; /* Confirm entering next microphase */
|
ctx->step |= 1; /* Confirm entering next microphase */
|
||||||
microphase2:
|
microphase2:
|
||||||
ASN_DEBUG("Inside SEQUENCE %s MF2", td->name);
|
ASN_DEBUG("Inside SEQUENCE %s MF2", td->name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute the position of the member inside a structure,
|
* Compute the position of the member inside a structure,
|
||||||
* and also a type of containment (it may be contained
|
* and also a type of containment (it may be contained
|
||||||
@ -431,7 +431,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
case RC_FAIL: /* Fatal error */
|
case RC_FAIL: /* Fatal error */
|
||||||
RETURN(RC_FAIL);
|
RETURN(RC_FAIL);
|
||||||
} /* switch(rval) */
|
} /* switch(rval) */
|
||||||
|
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
} /* for(all structure members) */
|
} /* for(all structure members) */
|
||||||
|
|
||||||
@ -501,7 +501,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
|
|
||||||
PHASE_OUT(ctx);
|
PHASE_OUT(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN(RC_OK);
|
RETURN(RC_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1420,4 +1420,3 @@ SEQUENCE_encode_uper(asn_TYPE_descriptor_t *td,
|
|||||||
|
|
||||||
_ASN_ENCODED_OK(er);
|
_ASN_ENCODED_OK(er);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
ssize_t consumed_myself = 0; /* Consumed bytes from ptr */
|
ssize_t consumed_myself = 0; /* Consumed bytes from ptr */
|
||||||
|
|
||||||
ASN_DEBUG("Decoding %s as SET OF", td->name);
|
ASN_DEBUG("Decoding %s as SET OF", td->name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the target structure if it is not present already.
|
* Create the target structure if it is not present already.
|
||||||
*/
|
*/
|
||||||
@ -101,7 +101,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
* Restore parsing context.
|
* Restore parsing context.
|
||||||
*/
|
*/
|
||||||
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Start to parse where left previously
|
* Start to parse where left previously
|
||||||
*/
|
*/
|
||||||
@ -122,7 +122,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(ctx->left >= 0)
|
if(ctx->left >= 0)
|
||||||
ctx->left += rval.consumed; /* ?Substracted below! */
|
ctx->left += rval.consumed; /* ?Subtracted below! */
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
|
|
||||||
ASN_DEBUG("Structure consumes %ld bytes, "
|
ASN_DEBUG("Structure consumes %ld bytes, "
|
||||||
@ -201,7 +201,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
*/
|
*/
|
||||||
ctx->step |= 1; /* Confirm entering next microphase */
|
ctx->step |= 1; /* Confirm entering next microphase */
|
||||||
microphase2:
|
microphase2:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Invoke the member fetch routine according to member's type
|
* Invoke the member fetch routine according to member's type
|
||||||
*/
|
*/
|
||||||
@ -231,7 +231,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
ctx->ptr = 0;
|
ctx->ptr = 0;
|
||||||
RETURN(RC_FAIL);
|
RETURN(RC_FAIL);
|
||||||
} /* switch(rval) */
|
} /* switch(rval) */
|
||||||
|
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
} /* for(all list members) */
|
} /* for(all list members) */
|
||||||
|
|
||||||
@ -260,7 +260,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
|
|
||||||
PHASE_OUT(ctx);
|
PHASE_OUT(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN(RC_OK);
|
RETURN(RC_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -884,7 +884,7 @@ SET_OF_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
if(!st) {
|
if(!st) {
|
||||||
st = *sptr = CALLOC(1, specs->struct_size);
|
st = *sptr = CALLOC(1, specs->struct_size);
|
||||||
if(!st) _ASN_DECODE_FAILED;
|
if(!st) _ASN_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
list = _A_SET_FROM_VOID(st);
|
list = _A_SET_FROM_VOID(st);
|
||||||
|
|
||||||
/* Figure out which constraints to use */
|
/* Figure out which constraints to use */
|
||||||
@ -950,4 +950,3 @@ SET_OF_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
rv.consumed = 0;
|
rv.consumed = 0;
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,8 +162,8 @@ extern "C"
|
|||||||
{
|
{
|
||||||
ber_tlv_tag_t el_tag; /* Outmost tag of the member */
|
ber_tlv_tag_t el_tag; /* Outmost tag of the member */
|
||||||
int el_no; /* Index of the associated member, base 0 */
|
int el_no; /* Index of the associated member, base 0 */
|
||||||
int toff_first; /* First occurence of the el_tag, relative */
|
int toff_first; /* First occurrence of the el_tag, relative */
|
||||||
int toff_last; /* Last occurence of the el_tag, relatvie */
|
int toff_last; /* Last occurrence of the el_tag, relatvie */
|
||||||
} asn_TYPE_tag2member_t;
|
} asn_TYPE_tag2member_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
* Generic converter template for a selected ASN.1 type.
|
* Generic converter template for a selected ASN.1 type.
|
||||||
* Copyright (c) 2005, 2006, 2007 Lev Walkin <vlm@lionet.info>.
|
* Copyright (c) 2005, 2006, 2007 Lev Walkin <vlm@lionet.info>.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* To compile with your own ASN.1 type, please redefine the PDU as shown:
|
* To compile with your own ASN.1 type, please redefine the PDU as shown:
|
||||||
*
|
*
|
||||||
* cc -DPDU=MyCustomType -o myDecoder.o -c converter-sample.c
|
* cc -DPDU=MyCustomType -o myDecoder.o -c converter-sample.c
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@ -32,7 +32,7 @@ extern asn_TYPE_descriptor_t *asn_pdu_collection[];
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Open file and parse its contens.
|
* Open file and parse its contents.
|
||||||
*/
|
*/
|
||||||
static void *data_decode_from_file(asn_TYPE_descriptor_t *pduType,
|
static void *data_decode_from_file(asn_TYPE_descriptor_t *pduType,
|
||||||
FILE *file, const char *name, ssize_t suggested_bufsize, int first_pdu);
|
FILE *file, const char *name, ssize_t suggested_bufsize, int first_pdu);
|
||||||
@ -96,7 +96,7 @@ main(int ac, char *av[]) {
|
|||||||
iform = INP_PER;
|
iform = INP_PER;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Pocess the command-line argments.
|
* Process the command-line arguments.
|
||||||
*/
|
*/
|
||||||
while((ch = getopt(ac, av, "i:o:1b:cdn:p:hs:" JUNKOPT)) != -1)
|
while((ch = getopt(ac, av, "i:o:1b:cdn:p:hs:" JUNKOPT)) != -1)
|
||||||
switch(ch) {
|
switch(ch) {
|
||||||
@ -390,14 +390,14 @@ buffer_dump() {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Move the buffer content left N bits, possibly joining it with
|
* Move the buffer content left N bits, possibly joining it with
|
||||||
* preceeding content.
|
* preceding content.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
buffer_shift_left(size_t offset, int bits) {
|
buffer_shift_left(size_t offset, int bits) {
|
||||||
uint8_t *ptr = DynamicBuffer.data + DynamicBuffer.offset + offset;
|
uint8_t *ptr = DynamicBuffer.data + DynamicBuffer.offset + offset;
|
||||||
uint8_t *end = DynamicBuffer.data + DynamicBuffer.offset
|
uint8_t *end = DynamicBuffer.data + DynamicBuffer.offset
|
||||||
+ DynamicBuffer.length - 1;
|
+ DynamicBuffer.length - 1;
|
||||||
|
|
||||||
if(!bits) return;
|
if(!bits) return;
|
||||||
|
|
||||||
DEBUG("Shifting left %d bits off %ld (o=%ld, u=%ld, l=%ld)",
|
DEBUG("Shifting left %d bits off %ld (o=%ld, u=%ld, l=%ld)",
|
||||||
@ -480,7 +480,7 @@ buffer_shift_left(size_t offset, int bits) {
|
|||||||
(long)DynamicBuffer.offset,
|
(long)DynamicBuffer.offset,
|
||||||
(long)DynamicBuffer.unbits,
|
(long)DynamicBuffer.unbits,
|
||||||
(long)DynamicBuffer.length);
|
(long)DynamicBuffer.length);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -555,7 +555,7 @@ data_decode_from_file(asn_TYPE_descriptor_t *pduType, FILE *file, const char *na
|
|||||||
asn_codec_ctx_t *opt_codec_ctx = 0;
|
asn_codec_ctx_t *opt_codec_ctx = 0;
|
||||||
void *structure = 0;
|
void *structure = 0;
|
||||||
asn_dec_rval_t rval;
|
asn_dec_rval_t rval;
|
||||||
size_t old_offset;
|
size_t old_offset;
|
||||||
size_t new_offset;
|
size_t new_offset;
|
||||||
int tolerate_eof;
|
int tolerate_eof;
|
||||||
size_t rd;
|
size_t rd;
|
||||||
@ -831,4 +831,3 @@ junk_bytes_with_probability(uint8_t *buf, size_t size, double prob) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* JUNKTEST */
|
#endif /* JUNKTEST */
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ extern "C"
|
|||||||
*/
|
*/
|
||||||
int32_t per_get_few_bits(asn_per_data_t *per_data, int get_nbits);
|
int32_t per_get_few_bits(asn_per_data_t *per_data, int get_nbits);
|
||||||
|
|
||||||
/* Undo the immediately preceeding "get_few_bits" operation */
|
/* Undo the immediately preceding "get_few_bits" operation */
|
||||||
void per_get_undo(asn_per_data_t *per_data, int get_nbits);
|
void per_get_undo(asn_per_data_t *per_data, int get_nbits);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -21,7 +21,7 @@ extern "C"
|
|||||||
PXML_TEXT, /* Plain text between XML tags. */
|
PXML_TEXT, /* Plain text between XML tags. */
|
||||||
PXML_TAG, /* A tag, starting with '<'. */
|
PXML_TAG, /* A tag, starting with '<'. */
|
||||||
PXML_COMMENT, /* An XML comment, including "<!--" and "-->". */
|
PXML_COMMENT, /* An XML comment, including "<!--" and "-->". */
|
||||||
/*
|
/*
|
||||||
* The following chunk types are reported if the chunk
|
* The following chunk types are reported if the chunk
|
||||||
* terminates the specified XML element.
|
* terminates the specified XML element.
|
||||||
*/
|
*/
|
||||||
@ -31,10 +31,10 @@ extern "C"
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Callback function that is called by the parser when parsed data is
|
* Callback function that is called by the parser when parsed data is
|
||||||
* available. The _opaque is the pointer to a field containing opaque user
|
* available. The _opaque is the pointer to a field containing opaque user
|
||||||
* data specified in pxml_create() call. The chunk type is _type and the text
|
* data specified in pxml_create() call. The chunk type is _type and the text
|
||||||
* data is the piece of buffer identified by _bufid (as supplied to
|
* data is the piece of buffer identified by _bufid (as supplied to
|
||||||
* pxml_feed() call) starting at offset _offset and of _size bytes size.
|
* pxml_feed() call) starting at offset _offset and of _size bytes size.
|
||||||
* The chunk is NOT '\0'-terminated.
|
* The chunk is NOT '\0'-terminated.
|
||||||
*/
|
*/
|
||||||
typedef int(pxml_callback_f)(pxml_chunk_type_e _type,
|
typedef int(pxml_callback_f)(pxml_chunk_type_e _type,
|
||||||
@ -42,8 +42,8 @@ extern "C"
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Parse the given buffer as it were a chunk of XML data.
|
* Parse the given buffer as it were a chunk of XML data.
|
||||||
* Invoke the specified callback each time the meaninful data is found.
|
* Invoke the specified callback each time the meaningful data is found.
|
||||||
* This function returns number of bytes consumed from the bufer.
|
* This function returns number of bytes consumed from the buffer.
|
||||||
* It will always be lesser than or equal to the specified _size.
|
* It will always be lesser than or equal to the specified _size.
|
||||||
* The next invocation of this function must account the difference.
|
* The next invocation of this function must account the difference.
|
||||||
*/
|
*/
|
||||||
|
@ -92,7 +92,7 @@ NativeInteger_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
|
|||||||
/*
|
/*
|
||||||
* ASN.1 encoded INTEGER: buf_ptr, length
|
* ASN.1 encoded INTEGER: buf_ptr, length
|
||||||
* Fill the native, at the same time checking for overflow.
|
* Fill the native, at the same time checking for overflow.
|
||||||
* If overflow occured, return with RC_FAIL.
|
* If overflow occurred, return with RC_FAIL.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
INTEGER_t tmp;
|
INTEGER_t tmp;
|
||||||
@ -153,7 +153,7 @@ NativeInteger_encode_der(asn_TYPE_descriptor_t *sd, void *ptr,
|
|||||||
tmp.buf = buf;
|
tmp.buf = buf;
|
||||||
tmp.size = sizeof(buf);
|
tmp.size = sizeof(buf);
|
||||||
#endif /* WORDS_BIGENDIAN */
|
#endif /* WORDS_BIGENDIAN */
|
||||||
|
|
||||||
/* Encode fake INTEGER */
|
/* Encode fake INTEGER */
|
||||||
erval = INTEGER_encode_der(sd, &tmp, tag_mode, tag, cb, app_key);
|
erval = INTEGER_encode_der(sd, &tmp, tag_mode, tag, cb, app_key);
|
||||||
if(erval.encoded == -1) {
|
if(erval.encoded == -1) {
|
||||||
@ -182,7 +182,7 @@ NativeInteger_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
|
|||||||
}
|
}
|
||||||
|
|
||||||
memset(&st, 0, sizeof(st));
|
memset(&st, 0, sizeof(st));
|
||||||
rval = INTEGER_decode_xer(opt_codec_ctx, td, &st_ptr,
|
rval = INTEGER_decode_xer(opt_codec_ctx, td, &st_ptr,
|
||||||
opt_mname, buf_ptr, size);
|
opt_mname, buf_ptr, size);
|
||||||
if(rval.code == RC_OK) {
|
if(rval.code == RC_OK) {
|
||||||
long l;
|
long l;
|
||||||
@ -329,4 +329,3 @@ NativeInteger_free(asn_TYPE_descriptor_t *td, void *ptr, int contents_only) {
|
|||||||
FREEMEM(ptr);
|
FREEMEM(ptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ asn_TYPE_descriptor_t asn_DEF_OCTET_STRING = {
|
|||||||
/*
|
/*
|
||||||
* The main reason why ASN.1 is still alive is that too much time and effort
|
* The main reason why ASN.1 is still alive is that too much time and effort
|
||||||
* is necessary for learning it more or less adequately, thus creating a gut
|
* is necessary for learning it more or less adequately, thus creating a gut
|
||||||
* necessity to demonstrate that aquired skill everywhere afterwards.
|
* necessity to demonstrate that acquired skill everywhere afterwards.
|
||||||
* No, I am not going to explain what the following stuff is.
|
* No, I am not going to explain what the following stuff is.
|
||||||
*/
|
*/
|
||||||
struct _stack_el {
|
struct _stack_el {
|
||||||
@ -141,7 +141,7 @@ OS__add_stack_el(struct _stack *st) {
|
|||||||
nel = (struct _stack_el *)CALLOC(1, sizeof(struct _stack_el));
|
nel = (struct _stack_el *)CALLOC(1, sizeof(struct _stack_el));
|
||||||
if(nel == NULL)
|
if(nel == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if(st->tail) {
|
if(st->tail) {
|
||||||
/* Increase a subcontainment depth */
|
/* Increase a subcontainment depth */
|
||||||
nel->cont_level = st->tail->cont_level + 1;
|
nel->cont_level = st->tail->cont_level + 1;
|
||||||
@ -728,7 +728,7 @@ OCTET_STRING__handle_control_chars(void *struct_ptr, const void *chunk_buf, size
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1; /* No, it's not */
|
return -1; /* No, it's not */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1571,7 +1571,7 @@ OCTET_STRING_encode_uper(asn_TYPE_descriptor_t *td,
|
|||||||
csiz->lower_bound, csiz->upper_bound,
|
csiz->lower_bound, csiz->upper_bound,
|
||||||
csiz->effective_bits, ct_extensible ? " EXT" : "");
|
csiz->effective_bits, ct_extensible ? " EXT" : "");
|
||||||
|
|
||||||
/* Figure out wheter size lies within PER visible constraint */
|
/* Figure out whether size lies within PER visible constraint */
|
||||||
|
|
||||||
if(csiz->effective_bits >= 0) {
|
if(csiz->effective_bits >= 0) {
|
||||||
if((int)sizeinunits < csiz->lower_bound
|
if((int)sizeinunits < csiz->lower_bound
|
||||||
@ -1802,4 +1802,3 @@ OCTET_STRING_new_fromBuf(asn_TYPE_descriptor_t *td, const char *str, int len) {
|
|||||||
|
|
||||||
return st;
|
return st;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ ber_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) {
|
|||||||
*/
|
*/
|
||||||
if(val >> ((8 * sizeof(val)) - 9)) {
|
if(val >> ((8 * sizeof(val)) - 9)) {
|
||||||
/*
|
/*
|
||||||
* We would not be able to accomodate
|
* We would not be able to accommodate
|
||||||
* any more tag bits.
|
* any more tag bits.
|
||||||
*/
|
*/
|
||||||
return -1;
|
return -1;
|
||||||
@ -141,4 +141,3 @@ ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufp, size_t size) {
|
|||||||
|
|
||||||
return required_size + 1;
|
return required_size + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
* Restore parsing context.
|
* Restore parsing context.
|
||||||
*/
|
*/
|
||||||
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Start to parse where left previously
|
* Start to parse where left previously
|
||||||
*/
|
*/
|
||||||
@ -156,7 +156,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(ctx->left >= 0) {
|
if(ctx->left >= 0) {
|
||||||
/* ?Substracted below! */
|
/* ?Subtracted below! */
|
||||||
ctx->left += rval.consumed;
|
ctx->left += rval.consumed;
|
||||||
}
|
}
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
@ -273,7 +273,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
case RC_FAIL: /* Fatal error */
|
case RC_FAIL: /* Fatal error */
|
||||||
RETURN(rval.code);
|
RETURN(rval.code);
|
||||||
} /* switch(rval) */
|
} /* switch(rval) */
|
||||||
|
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
} while(0);
|
} while(0);
|
||||||
|
|
||||||
@ -349,7 +349,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
/* No meaningful work here */
|
/* No meaningful work here */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN(RC_OK);
|
RETURN(RC_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -904,7 +904,7 @@ CHOICE_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
elm->name, td->name, rv.code);
|
elm->name, td->name, rv.code);
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
asn_enc_rval_t
|
asn_enc_rval_t
|
||||||
CHOICE_encode_uper(asn_TYPE_descriptor_t *td,
|
CHOICE_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
|
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
|
||||||
@ -984,7 +984,7 @@ CHOICE_encode_uper(asn_TYPE_descriptor_t *td,
|
|||||||
_ASN_ENCODED_OK(rval);
|
_ASN_ENCODED_OK(rval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
CHOICE_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
|
CHOICE_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
|
||||||
|
@ -130,7 +130,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
int edx; /* SEQUENCE element's index */
|
int edx; /* SEQUENCE element's index */
|
||||||
|
|
||||||
ASN_DEBUG("Decoding %s as SEQUENCE", td->name);
|
ASN_DEBUG("Decoding %s as SEQUENCE", td->name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the target structure if it is not present already.
|
* Create the target structure if it is not present already.
|
||||||
*/
|
*/
|
||||||
@ -145,7 +145,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
* Restore parsing context.
|
* Restore parsing context.
|
||||||
*/
|
*/
|
||||||
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Start to parse where left previously
|
* Start to parse where left previously
|
||||||
*/
|
*/
|
||||||
@ -166,7 +166,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(ctx->left >= 0)
|
if(ctx->left >= 0)
|
||||||
ctx->left += rval.consumed; /* ?Substracted below! */
|
ctx->left += rval.consumed; /* ?Subtracted below! */
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
|
|
||||||
NEXT_PHASE(ctx);
|
NEXT_PHASE(ctx);
|
||||||
@ -389,7 +389,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
ctx->step |= 1; /* Confirm entering next microphase */
|
ctx->step |= 1; /* Confirm entering next microphase */
|
||||||
microphase2:
|
microphase2:
|
||||||
ASN_DEBUG("Inside SEQUENCE %s MF2", td->name);
|
ASN_DEBUG("Inside SEQUENCE %s MF2", td->name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute the position of the member inside a structure,
|
* Compute the position of the member inside a structure,
|
||||||
* and also a type of containment (it may be contained
|
* and also a type of containment (it may be contained
|
||||||
@ -431,7 +431,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
case RC_FAIL: /* Fatal error */
|
case RC_FAIL: /* Fatal error */
|
||||||
RETURN(RC_FAIL);
|
RETURN(RC_FAIL);
|
||||||
} /* switch(rval) */
|
} /* switch(rval) */
|
||||||
|
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
} /* for(all structure members) */
|
} /* for(all structure members) */
|
||||||
|
|
||||||
@ -501,7 +501,7 @@ SEQUENCE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
|
|
||||||
PHASE_OUT(ctx);
|
PHASE_OUT(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN(RC_OK);
|
RETURN(RC_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1420,4 +1420,3 @@ SEQUENCE_encode_uper(asn_TYPE_descriptor_t *td,
|
|||||||
|
|
||||||
_ASN_ENCODED_OK(er);
|
_ASN_ENCODED_OK(er);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
ssize_t consumed_myself = 0; /* Consumed bytes from ptr */
|
ssize_t consumed_myself = 0; /* Consumed bytes from ptr */
|
||||||
|
|
||||||
ASN_DEBUG("Decoding %s as SET OF", td->name);
|
ASN_DEBUG("Decoding %s as SET OF", td->name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the target structure if it is not present already.
|
* Create the target structure if it is not present already.
|
||||||
*/
|
*/
|
||||||
@ -101,7 +101,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
* Restore parsing context.
|
* Restore parsing context.
|
||||||
*/
|
*/
|
||||||
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Start to parse where left previously
|
* Start to parse where left previously
|
||||||
*/
|
*/
|
||||||
@ -122,7 +122,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(ctx->left >= 0)
|
if(ctx->left >= 0)
|
||||||
ctx->left += rval.consumed; /* ?Substracted below! */
|
ctx->left += rval.consumed; /* ?Subtracted below! */
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
|
|
||||||
ASN_DEBUG("Structure consumes %ld bytes, "
|
ASN_DEBUG("Structure consumes %ld bytes, "
|
||||||
@ -201,7 +201,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
*/
|
*/
|
||||||
ctx->step |= 1; /* Confirm entering next microphase */
|
ctx->step |= 1; /* Confirm entering next microphase */
|
||||||
microphase2:
|
microphase2:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Invoke the member fetch routine according to member's type
|
* Invoke the member fetch routine according to member's type
|
||||||
*/
|
*/
|
||||||
@ -231,7 +231,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
ctx->ptr = 0;
|
ctx->ptr = 0;
|
||||||
RETURN(RC_FAIL);
|
RETURN(RC_FAIL);
|
||||||
} /* switch(rval) */
|
} /* switch(rval) */
|
||||||
|
|
||||||
ADVANCE(rval.consumed);
|
ADVANCE(rval.consumed);
|
||||||
} /* for(all list members) */
|
} /* for(all list members) */
|
||||||
|
|
||||||
@ -260,7 +260,7 @@ SET_OF_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
|
|
||||||
PHASE_OUT(ctx);
|
PHASE_OUT(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN(RC_OK);
|
RETURN(RC_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -884,7 +884,7 @@ SET_OF_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
if(!st) {
|
if(!st) {
|
||||||
st = *sptr = CALLOC(1, specs->struct_size);
|
st = *sptr = CALLOC(1, specs->struct_size);
|
||||||
if(!st) _ASN_DECODE_FAILED;
|
if(!st) _ASN_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
list = _A_SET_FROM_VOID(st);
|
list = _A_SET_FROM_VOID(st);
|
||||||
|
|
||||||
/* Figure out which constraints to use */
|
/* Figure out which constraints to use */
|
||||||
@ -950,4 +950,3 @@ SET_OF_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
|||||||
rv.consumed = 0;
|
rv.consumed = 0;
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,8 +162,8 @@ extern "C"
|
|||||||
{
|
{
|
||||||
ber_tlv_tag_t el_tag; /* Outmost tag of the member */
|
ber_tlv_tag_t el_tag; /* Outmost tag of the member */
|
||||||
int el_no; /* Index of the associated member, base 0 */
|
int el_no; /* Index of the associated member, base 0 */
|
||||||
int toff_first; /* First occurence of the el_tag, relative */
|
int toff_first; /* First occurrence of the el_tag, relative */
|
||||||
int toff_last; /* Last occurence of the el_tag, relatvie */
|
int toff_last; /* Last occurrence of the el_tag, relatvie */
|
||||||
} asn_TYPE_tag2member_t;
|
} asn_TYPE_tag2member_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -58,7 +58,7 @@ extern "C"
|
|||||||
*/
|
*/
|
||||||
int32_t per_get_few_bits(asn_per_data_t *pd, int get_nbits);
|
int32_t per_get_few_bits(asn_per_data_t *pd, int get_nbits);
|
||||||
|
|
||||||
/* Undo the immediately preceeding "get_few_bits" operation */
|
/* Undo the immediately preceding "get_few_bits" operation */
|
||||||
void per_get_undo(asn_per_data_t *pd, int get_nbits);
|
void per_get_undo(asn_per_data_t *pd, int get_nbits);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -21,7 +21,7 @@ extern "C"
|
|||||||
PXML_TEXT, /* Plain text between XML tags. */
|
PXML_TEXT, /* Plain text between XML tags. */
|
||||||
PXML_TAG, /* A tag, starting with '<'. */
|
PXML_TAG, /* A tag, starting with '<'. */
|
||||||
PXML_COMMENT, /* An XML comment, including "<!--" and "-->". */
|
PXML_COMMENT, /* An XML comment, including "<!--" and "-->". */
|
||||||
/*
|
/*
|
||||||
* The following chunk types are reported if the chunk
|
* The following chunk types are reported if the chunk
|
||||||
* terminates the specified XML element.
|
* terminates the specified XML element.
|
||||||
*/
|
*/
|
||||||
@ -31,10 +31,10 @@ extern "C"
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Callback function that is called by the parser when parsed data is
|
* Callback function that is called by the parser when parsed data is
|
||||||
* available. The _opaque is the pointer to a field containing opaque user
|
* available. The _opaque is the pointer to a field containing opaque user
|
||||||
* data specified in pxml_create() call. The chunk type is _type and the text
|
* data specified in pxml_create() call. The chunk type is _type and the text
|
||||||
* data is the piece of buffer identified by _bufid (as supplied to
|
* data is the piece of buffer identified by _bufid (as supplied to
|
||||||
* pxml_feed() call) starting at offset _offset and of _size bytes size.
|
* pxml_feed() call) starting at offset _offset and of _size bytes size.
|
||||||
* The chunk is NOT '\0'-terminated.
|
* The chunk is NOT '\0'-terminated.
|
||||||
*/
|
*/
|
||||||
typedef int(pxml_callback_f)(pxml_chunk_type_e _type,
|
typedef int(pxml_callback_f)(pxml_chunk_type_e _type,
|
||||||
@ -42,8 +42,8 @@ extern "C"
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Parse the given buffer as it were a chunk of XML data.
|
* Parse the given buffer as it were a chunk of XML data.
|
||||||
* Invoke the specified callback each time the meaninful data is found.
|
* Invoke the specified callback each time the meaningful data is found.
|
||||||
* This function returns number of bytes consumed from the bufer.
|
* This function returns number of bytes consumed from the buffer.
|
||||||
* It will always be lesser than or equal to the specified _size.
|
* It will always be lesser than or equal to the specified _size.
|
||||||
* The next invocation of this function must account the difference.
|
* The next invocation of this function must account the difference.
|
||||||
*/
|
*/
|
||||||
|
@ -36,7 +36,7 @@ MsrPosition-Req ::= SEQUENCE {
|
|||||||
extensionContainer ExtensionContainer OPTIONAL,
|
extensionContainer ExtensionContainer OPTIONAL,
|
||||||
...,
|
...,
|
||||||
-- Release 98 extension element
|
-- Release 98 extension element
|
||||||
rel98-MsrPosition-Req-extension Rel98-MsrPosition-Req-Extension OPTIONAL,
|
rel98-MsrPosition-Req-extension Rel98-MsrPosition-Req-Extension OPTIONAL,
|
||||||
-- Release 5 extension element
|
-- Release 5 extension element
|
||||||
rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL
|
rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL
|
||||||
-- Release 7 extension element
|
-- Release 7 extension element
|
||||||
@ -44,7 +44,7 @@ rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-- add this defintion to RRLP-Components module
|
-- add this definition to RRLP-Components module
|
||||||
|
|
||||||
-- Measurement Position response component
|
-- Measurement Position response component
|
||||||
MsrPosition-Rsp ::= SEQUENCE {
|
MsrPosition-Rsp ::= SEQUENCE {
|
||||||
@ -55,9 +55,9 @@ MsrPosition-Rsp ::= SEQUENCE {
|
|||||||
gps-MeasureInfo GPS-MeasureInfo OPTIONAL,
|
gps-MeasureInfo GPS-MeasureInfo OPTIONAL,
|
||||||
locationError LocationError OPTIONAL,
|
locationError LocationError OPTIONAL,
|
||||||
extensionContainer ExtensionContainer OPTIONAL,
|
extensionContainer ExtensionContainer OPTIONAL,
|
||||||
...,
|
...,
|
||||||
-- Release extension here
|
-- Release extension here
|
||||||
rel-98-MsrPosition-Rsp-Extension
|
rel-98-MsrPosition-Rsp-Extension
|
||||||
Rel-98-MsrPosition-Rsp-Extension OPTIONAL,
|
Rel-98-MsrPosition-Rsp-Extension OPTIONAL,
|
||||||
rel-5-MsrPosition-Rsp-Extension
|
rel-5-MsrPosition-Rsp-Extension
|
||||||
Rel-5-MsrPosition-Rsp-Extension OPTIONAL
|
Rel-5-MsrPosition-Rsp-Extension OPTIONAL
|
||||||
@ -68,14 +68,14 @@ MsrPosition-Rsp ::= SEQUENCE {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-- add this defintion to RRLP-Components module
|
-- add this definition to RRLP-Components module
|
||||||
|
|
||||||
-- Assistance Data component
|
-- Assistance Data component
|
||||||
AssistanceData ::= SEQUENCE {
|
AssistanceData ::= SEQUENCE {
|
||||||
referenceAssistData ReferenceAssistData OPTIONAL,
|
referenceAssistData ReferenceAssistData OPTIONAL,
|
||||||
msrAssistData MsrAssistData OPTIONAL,
|
msrAssistData MsrAssistData OPTIONAL,
|
||||||
systemInfoAssistData SystemInfoAssistData OPTIONAL,
|
systemInfoAssistData SystemInfoAssistData OPTIONAL,
|
||||||
gps-AssistData GPS-AssistData OPTIONAL,
|
gps-AssistData GPS-AssistData OPTIONAL,
|
||||||
moreAssDataToBeSent MoreAssDataToBeSent OPTIONAL, -- If not present, interpret as only
|
moreAssDataToBeSent MoreAssDataToBeSent OPTIONAL, -- If not present, interpret as only
|
||||||
-- Assistance Data component used to
|
-- Assistance Data component used to
|
||||||
-- deliver entire set of assistance
|
-- deliver entire set of assistance
|
||||||
@ -85,15 +85,15 @@ AssistanceData ::= SEQUENCE {
|
|||||||
-- Release extension here
|
-- Release extension here
|
||||||
rel98-AssistanceData-Extension Rel98-AssistanceData-Extension OPTIONAL,
|
rel98-AssistanceData-Extension Rel98-AssistanceData-Extension OPTIONAL,
|
||||||
rel5-AssistanceData-Extension Rel5-AssistanceData-Extension OPTIONAL
|
rel5-AssistanceData-Extension Rel5-AssistanceData-Extension OPTIONAL
|
||||||
-- rel7-AssistanceData-Extension Rel7-AssistanceData-Extension OPTIONAL
|
-- rel7-AssistanceData-Extension Rel7-AssistanceData-Extension OPTIONAL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-- add this defintion to RRLP-Components module
|
-- add this definition to RRLP-Components module
|
||||||
|
|
||||||
-- Protocol Error component
|
-- Protocol Error component
|
||||||
ProtocolError ::= SEQUENCE {
|
ProtocolError ::= SEQUENCE {
|
||||||
errorCause ErrorCodes,
|
errorCause ErrorCodes,
|
||||||
extensionContainer ExtensionContainer OPTIONAL,
|
extensionContainer ExtensionContainer OPTIONAL,
|
||||||
...,
|
...,
|
||||||
-- Release extensions here
|
-- Release extensions here
|
||||||
@ -101,15 +101,15 @@ ProtocolError ::= SEQUENCE {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-- add these defintions to RRLP-Components module
|
-- add these definitions to RRLP-Components module
|
||||||
-- Position instructions
|
-- Position instructions
|
||||||
PositionInstruct ::= SEQUENCE {
|
PositionInstruct ::= SEQUENCE {
|
||||||
-- Method type
|
-- Method type
|
||||||
methodType MethodType,
|
methodType MethodType,
|
||||||
positionMethod PositionMethod,
|
positionMethod PositionMethod,
|
||||||
measureResponseTime MeasureResponseTime,
|
measureResponseTime MeasureResponseTime,
|
||||||
useMultipleSets UseMultipleSets,
|
useMultipleSets UseMultipleSets,
|
||||||
environmentCharacter EnvironmentCharacter OPTIONAL
|
environmentCharacter EnvironmentCharacter OPTIONAL
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
@ -250,7 +250,7 @@ ReferenceWGS84 ::= SEQUENCE {
|
|||||||
relativeAlt RelativeAlt OPTIONAL -- relative altitude
|
relativeAlt RelativeAlt OPTIONAL -- relative altitude
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Fine RTD value between this BTS and the reference BTS
|
-- Fine RTD value between this BTS and the reference BTS
|
||||||
FineRTD ::= INTEGER (0..255)
|
FineRTD ::= INTEGER (0..255)
|
||||||
|
|
||||||
-- Relative north/east distance
|
-- Relative north/east distance
|
||||||
@ -264,7 +264,7 @@ RelativeAlt ::= INTEGER (-4000..4000)
|
|||||||
-- Multiple sets
|
-- Multiple sets
|
||||||
MultipleSets ::= SEQUENCE {
|
MultipleSets ::= SEQUENCE {
|
||||||
-- number of reference sets
|
-- number of reference sets
|
||||||
nbrOfSets INTEGER (2..3),
|
nbrOfSets INTEGER (2..3),
|
||||||
|
|
||||||
-- This field actually tells the number of reference BTSs
|
-- This field actually tells the number of reference BTSs
|
||||||
nbrOfReferenceBTSs INTEGER (1..3),
|
nbrOfReferenceBTSs INTEGER (1..3),
|
||||||
@ -274,7 +274,7 @@ MultipleSets ::= SEQUENCE {
|
|||||||
referenceRelation ReferenceRelation OPTIONAL
|
referenceRelation ReferenceRelation OPTIONAL
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Relation between refence BTSs and sets
|
-- Relation between reference BTSs and sets
|
||||||
ReferenceRelation ::= ENUMERATED {
|
ReferenceRelation ::= ENUMERATED {
|
||||||
secondBTSThirdSet (0), -- 1st BTS related to 1st and 2nd sets
|
secondBTSThirdSet (0), -- 1st BTS related to 1st and 2nd sets
|
||||||
secondBTSSecondSet (1), -- 1st BTS related to 1st and 3rd sets
|
secondBTSSecondSet (1), -- 1st BTS related to 1st and 3rd sets
|
||||||
@ -369,7 +369,7 @@ OTD-FirstSetMsrs ::= OTD-MeasurementWithID
|
|||||||
|
|
||||||
-- Neighbour info in OTD measurements 0-10 times in TD measurement info
|
-- Neighbour info in OTD measurements 0-10 times in TD measurement info
|
||||||
OTD-MsrsOfOtherSets ::= CHOICE {
|
OTD-MsrsOfOtherSets ::= CHOICE {
|
||||||
identityNotPresent OTD-Measurement,
|
identityNotPresent OTD-Measurement,
|
||||||
identityPresent OTD-MeasurementWithID
|
identityPresent OTD-MeasurementWithID
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -441,7 +441,7 @@ GPS-MeasureInfo ::= SEQUENCE {
|
|||||||
-- Measurement info elements
|
-- Measurement info elements
|
||||||
-- user has to make sure that in this element is number of elements
|
-- user has to make sure that in this element is number of elements
|
||||||
-- defined in reference BTS identity
|
-- defined in reference BTS identity
|
||||||
gpsMsrSetList SeqOfGPS-MsrSetElement
|
gpsMsrSetList SeqOfGPS-MsrSetElement
|
||||||
}
|
}
|
||||||
SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement
|
SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement
|
||||||
|
|
||||||
@ -472,7 +472,7 @@ GPS-MsrElement ::= SEQUENCE {
|
|||||||
-- the receiver shall consider a value of 1024 to be
|
-- the receiver shall consider a value of 1024 to be
|
||||||
-- invalid data
|
-- invalid data
|
||||||
mpathIndic MpathIndic, -- multipath indicator
|
mpathIndic MpathIndic, -- multipath indicator
|
||||||
pseuRangeRMSErr INTEGER (0..63) -- index
|
pseuRangeRMSErr INTEGER (0..63) -- index
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Multipath indicator
|
-- Multipath indicator
|
||||||
@ -491,7 +491,7 @@ LocationError ::= SEQUENCE {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LocErrorReason ::= ENUMERATED {
|
LocErrorReason ::= ENUMERATED {
|
||||||
unDefined (0),
|
unDefined (0),
|
||||||
notEnoughBTSs (1),
|
notEnoughBTSs (1),
|
||||||
notEnoughSats (2),
|
notEnoughSats (2),
|
||||||
eotdLocCalAssDataMissing (3),
|
eotdLocCalAssDataMissing (3),
|
||||||
@ -503,7 +503,7 @@ LocErrorReason ::= ENUMERATED {
|
|||||||
refBTSForGPSNotServingBTS (9),
|
refBTSForGPSNotServingBTS (9),
|
||||||
refBTSForEOTDNotServingBTS (10),
|
refBTSForEOTDNotServingBTS (10),
|
||||||
...,
|
...,
|
||||||
notEnoughGANSSSats (11),
|
notEnoughGANSSSats (11),
|
||||||
ganssAssDataMissing (12),
|
ganssAssDataMissing (12),
|
||||||
refBTSForGANSSNotServingBTS (13)
|
refBTSForGANSSNotServingBTS (13)
|
||||||
}
|
}
|
||||||
@ -539,11 +539,11 @@ maxGANSSAssistanceData INTEGER ::= 40
|
|||||||
-- Protocol Error Causes
|
-- Protocol Error Causes
|
||||||
ErrorCodes ::= ENUMERATED {
|
ErrorCodes ::= ENUMERATED {
|
||||||
unDefined (0),
|
unDefined (0),
|
||||||
missingComponet (1),
|
missingComponet (1),
|
||||||
incorrectData (2),
|
incorrectData (2),
|
||||||
missingIEorComponentElement (3),
|
missingIEorComponentElement (3),
|
||||||
messageTooShort (4),
|
messageTooShort (4),
|
||||||
unknowReferenceNumber (5),
|
unknowReferenceNumber (5),
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -655,7 +655,7 @@ DGPSCorrections ::= SEQUENCE {
|
|||||||
gpsTOW INTEGER (0..604799), -- DGPS reference time
|
gpsTOW INTEGER (0..604799), -- DGPS reference time
|
||||||
status INTEGER (0..7),
|
status INTEGER (0..7),
|
||||||
-- N_SAT can be read from number of elements of satList
|
-- N_SAT can be read from number of elements of satList
|
||||||
satList SeqOfSatElement
|
satList SeqOfSatElement
|
||||||
}
|
}
|
||||||
SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement
|
SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement
|
||||||
|
|
||||||
@ -666,20 +666,20 @@ SatElement ::= SEQUENCE {
|
|||||||
--- Sequence number for ephemeris
|
--- Sequence number for ephemeris
|
||||||
iode INTEGER (0..239),
|
iode INTEGER (0..239),
|
||||||
-- User Differential Range Error
|
-- User Differential Range Error
|
||||||
udre INTEGER (0..3),
|
udre INTEGER (0..3),
|
||||||
|
|
||||||
-- Pseudo Range Correction, range is
|
-- Pseudo Range Correction, range is
|
||||||
-- -655.04 - +655.04,
|
-- -655.04 - +655.04,
|
||||||
pseudoRangeCor INTEGER (-2047..2047),
|
pseudoRangeCor INTEGER (-2047..2047),
|
||||||
|
|
||||||
-- Pseudo Range Rate Correction, range is
|
-- Pseudo Range Rate Correction, range is
|
||||||
-- -4.064 - +4.064,
|
-- -4.064 - +4.064,
|
||||||
rangeRateCor INTEGER (-127..127),
|
rangeRateCor INTEGER (-127..127),
|
||||||
|
|
||||||
-- Delta Pseudo Range Correction 2
|
-- Delta Pseudo Range Correction 2
|
||||||
deltaPseudoRangeCor2 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
|
deltaPseudoRangeCor2 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
|
||||||
-- set to zero by the sender
|
-- set to zero by the sender
|
||||||
-- Delta Pseudo Range Correction 2
|
-- Delta Pseudo Range Correction 2
|
||||||
deltaRangeRateCor2 INTEGER (-7..7), -- This IE shall be ignored by the receiver and
|
deltaRangeRateCor2 INTEGER (-7..7), -- This IE shall be ignored by the receiver and
|
||||||
-- set to zero by the sender
|
-- set to zero by the sender
|
||||||
-- Delta Pseudo Range Correction 3
|
-- Delta Pseudo Range Correction 3
|
||||||
@ -693,14 +693,14 @@ SatElement ::= SEQUENCE {
|
|||||||
SatelliteID ::= INTEGER (0..63) -- identifies satellite
|
SatelliteID ::= INTEGER (0..63) -- identifies satellite
|
||||||
-- Navigation Model IE
|
-- Navigation Model IE
|
||||||
NavigationModel ::= SEQUENCE {
|
NavigationModel ::= SEQUENCE {
|
||||||
navModelList SeqOfNavModelElement
|
navModelList SeqOfNavModelElement
|
||||||
}
|
}
|
||||||
|
|
||||||
-- navigation model satellite list
|
-- navigation model satellite list
|
||||||
SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement
|
SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement
|
||||||
|
|
||||||
NavModelElement ::= SEQUENCE {
|
NavModelElement ::= SEQUENCE {
|
||||||
satelliteID SatelliteID,
|
satelliteID SatelliteID,
|
||||||
satStatus SatStatus -- satellite status
|
satStatus SatStatus -- satellite status
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -790,7 +790,7 @@ Almanac ::= SEQUENCE {
|
|||||||
|
|
||||||
-- navigation model satellite list.
|
-- navigation model satellite list.
|
||||||
-- The size of almanacList is actually Nums_Sats_Total field
|
-- The size of almanacList is actually Nums_Sats_Total field
|
||||||
almanacList SeqOfAlmanacElement
|
almanacList SeqOfAlmanacElement
|
||||||
}
|
}
|
||||||
SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement
|
SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement
|
||||||
|
|
||||||
@ -818,7 +818,7 @@ AcquisAssist ::= SEQUENCE {
|
|||||||
|
|
||||||
-- Acquisition assistance list
|
-- Acquisition assistance list
|
||||||
-- The size of Number of Satellites is actually Number of Satellites field
|
-- The size of Number of Satellites is actually Number of Satellites field
|
||||||
acquisList SeqOfAcquisElement
|
acquisList SeqOfAcquisElement
|
||||||
}
|
}
|
||||||
SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement
|
SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement
|
||||||
|
|
||||||
@ -829,13 +829,13 @@ TimeRelation ::= SEQUENCE {
|
|||||||
gsmTime GSMTime OPTIONAL
|
gsmTime GSMTime OPTIONAL
|
||||||
}
|
}
|
||||||
|
|
||||||
-- data occuring per number of satellites
|
-- data occurring per number of satellites
|
||||||
AcquisElement ::= SEQUENCE {
|
AcquisElement ::= SEQUENCE {
|
||||||
svid SatelliteID,
|
svid SatelliteID,
|
||||||
|
|
||||||
-- Doppler 0th order term,
|
-- Doppler 0th order term,
|
||||||
-- -5120.0 - 5117.5 Hz (= -2048 - 2047 with 2.5 Hz resolution)
|
-- -5120.0 - 5117.5 Hz (= -2048 - 2047 with 2.5 Hz resolution)
|
||||||
doppler0 INTEGER (-2048..2047),
|
doppler0 INTEGER (-2048..2047),
|
||||||
addionalDoppler AddionalDopplerFields OPTIONAL,
|
addionalDoppler AddionalDopplerFields OPTIONAL,
|
||||||
codePhase INTEGER (0..1022), -- Code Phase
|
codePhase INTEGER (0..1022), -- Code Phase
|
||||||
intCodePhase INTEGER (0..19), -- Integer Code Phase
|
intCodePhase INTEGER (0..19), -- Integer Code Phase
|
||||||
@ -869,15 +869,15 @@ SeqOf-BadSatelliteSet ::= SEQUENCE (SIZE(1..16)) OF SatelliteID
|
|||||||
-- Release 98 Extensions here
|
-- Release 98 Extensions here
|
||||||
Rel98-MsrPosition-Req-Extension ::= SEQUENCE {
|
Rel98-MsrPosition-Req-Extension ::= SEQUENCE {
|
||||||
rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
|
rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
|
||||||
...,
|
...,
|
||||||
gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
|
gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
|
||||||
gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
|
gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
|
||||||
|
|
||||||
-- Further R98 extensions here
|
-- Further R98 extensions here
|
||||||
}
|
}
|
||||||
Rel98-AssistanceData-Extension ::= SEQUENCE {
|
Rel98-AssistanceData-Extension ::= SEQUENCE {
|
||||||
rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
|
rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
|
||||||
...,
|
...,
|
||||||
gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
|
gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
|
||||||
gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
|
gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
|
||||||
|
|
||||||
@ -939,7 +939,7 @@ AssistBTSData-R98-ExpOTD ::= SEQUENCE {
|
|||||||
ExpectedOTD ::= INTEGER (0..1250)
|
ExpectedOTD ::= INTEGER (0..1250)
|
||||||
-- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and
|
-- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and
|
||||||
-- shall be treated by the receiving entity as 0.
|
-- shall be treated by the receiving entity as 0.
|
||||||
-- Uncertainty of Exptected OTD in bits
|
-- Uncertainty of Expected OTD in bits
|
||||||
ExpOTDUncertainty ::= INTEGER(0..7)
|
ExpOTDUncertainty ::= INTEGER(0..7)
|
||||||
|
|
||||||
-- Release 98 extensions
|
-- Release 98 extensions
|
||||||
@ -959,8 +959,8 @@ Rel-98-MsrPosition-Rsp-Extension ::= SEQUENCE {
|
|||||||
rel-98-Ext-MeasureInfo SEQUENCE {
|
rel-98-Ext-MeasureInfo SEQUENCE {
|
||||||
otd-MeasureInfo-R98-Ext OTD-MeasureInfo-R98-Ext OPTIONAL
|
otd-MeasureInfo-R98-Ext OTD-MeasureInfo-R98-Ext OPTIONAL
|
||||||
},
|
},
|
||||||
...,
|
...,
|
||||||
timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL
|
timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL
|
||||||
-- Further R98 extensions here
|
-- Further R98 extensions here
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1049,7 +1049,7 @@ velocityRequested NULL OPTIONAL,
|
|||||||
ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
|
ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
|
||||||
requiredResponseTime RequiredResponseTime OPTIONAL,
|
requiredResponseTime RequiredResponseTime OPTIONAL,
|
||||||
...
|
...
|
||||||
-- Further Release 7 extentions here
|
-- Further Release 7 extensions here
|
||||||
}
|
}
|
||||||
|
|
||||||
-- additional satellite systems may be added in future versions of the protocol
|
-- additional satellite systems may be added in future versions of the protocol
|
||||||
@ -1113,7 +1113,7 @@ GANSSTOD ::= INTEGER (0 .. 86399)
|
|||||||
-- GANSS TOD uncertainty
|
-- GANSS TOD uncertainty
|
||||||
GANSSTODUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
|
GANSSTODUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
|
||||||
|
|
||||||
-- GANSS TOD-GSM Time association
|
-- GANSS TOD-GSM Time association
|
||||||
GANSSTOD-GSMTimeAssociation ::= SEQUENCE {
|
GANSSTOD-GSMTimeAssociation ::= SEQUENCE {
|
||||||
bcchCarrier BCCHCarrier, -- BCCH carrier
|
bcchCarrier BCCHCarrier, -- BCCH carrier
|
||||||
bsic BSIC, -- BSIC
|
bsic BSIC, -- BSIC
|
||||||
@ -1140,7 +1140,7 @@ GANSSIonosphericModel ::= SEQUENCE {
|
|||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
-- GANSS ionosphere model. Coding according to Annex
|
-- GANSS ionosphere model. Coding according to Annex
|
||||||
GANSSIonosphereModel ::= SEQUENCE {
|
GANSSIonosphereModel ::= SEQUENCE {
|
||||||
ai0 INTEGER (0 .. 4095),
|
ai0 INTEGER (0 .. 4095),
|
||||||
ai1 INTEGER (0 .. 4095),
|
ai1 INTEGER (0 .. 4095),
|
||||||
@ -1169,7 +1169,7 @@ GANSSTimeModelElement ::= SEQUENCE {
|
|||||||
tA1 TA1 OPTIONAL,
|
tA1 TA1 OPTIONAL,
|
||||||
tA2 TA2 OPTIONAL,
|
tA2 TA2 OPTIONAL,
|
||||||
gnssTOID INTEGER (0 .. 7),
|
gnssTOID INTEGER (0 .. 7),
|
||||||
weekNumber INTEGER (0 .. 8191) OPTIONAL
|
weekNumber INTEGER (0 .. 8191) OPTIONAL
|
||||||
}
|
}
|
||||||
|
|
||||||
-- GANSS time model parameter A0
|
-- GANSS time model parameter A0
|
||||||
@ -1210,11 +1210,11 @@ DGANSSSgnElement ::= SEQUENCE {
|
|||||||
iod INTEGER (0 .. 1023),
|
iod INTEGER (0 .. 1023),
|
||||||
|
|
||||||
-- User Differential Range Error
|
-- User Differential Range Error
|
||||||
udre INTEGER (0..3),
|
udre INTEGER (0..3),
|
||||||
|
|
||||||
-- Pseudo Range Correction, range is
|
-- Pseudo Range Correction, range is
|
||||||
-- -655.04 - +655.04,
|
-- -655.04 - +655.04,
|
||||||
pseudoRangeCor INTEGER (-2047..2047),
|
pseudoRangeCor INTEGER (-2047..2047),
|
||||||
|
|
||||||
-- Pseudo Range Rate Correction, range is
|
-- Pseudo Range Rate Correction, range is
|
||||||
-- -4.064 - +4.064,
|
-- -4.064 - +4.064,
|
||||||
@ -1226,7 +1226,7 @@ SVID ::= INTEGER (0 .. 63) -- Coding according to Annex
|
|||||||
-- GANSS Navigation Model IE
|
-- GANSS Navigation Model IE
|
||||||
GANSSNavModel ::= SEQUENCE {
|
GANSSNavModel ::= SEQUENCE {
|
||||||
nonBroadcastIndFlag INTEGER (0 .. 1),
|
nonBroadcastIndFlag INTEGER (0 .. 1),
|
||||||
toeMSB INTEGER (0 .. 31) OPTIONAL, -- 5 MSB of toe and toc
|
toeMSB INTEGER (0 .. 31) OPTIONAL, -- 5 MSB of toe and toc
|
||||||
eMSB INTEGER (0 .. 127) OPTIONAL,
|
eMSB INTEGER (0 .. 127) OPTIONAL,
|
||||||
sqrtAMBS INTEGER (0 .. 63) OPTIONAL,
|
sqrtAMBS INTEGER (0 .. 63) OPTIONAL,
|
||||||
ganssSatelliteList SeqOfGANSSSatelliteElement
|
ganssSatelliteList SeqOfGANSSSatelliteElement
|
||||||
@ -1238,14 +1238,14 @@ GANSSSatelliteElement ::= SEQUENCE {
|
|||||||
svID SVID,
|
svID SVID,
|
||||||
svHealth INTEGER (-7 .. 13), -- Coding according to Annex
|
svHealth INTEGER (-7 .. 13), -- Coding according to Annex
|
||||||
iod INTEGER (0 .. 1023), -- Coding according to Annex
|
iod INTEGER (0 .. 1023), -- Coding according to Annex
|
||||||
ganssClockModel GANSSClockModel,
|
ganssClockModel GANSSClockModel,
|
||||||
ganssOrbitModel GANSSOrbitModel,
|
ganssOrbitModel GANSSOrbitModel,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
-- GANSS orbit model for the GNSS satellite according to the choice
|
-- GANSS orbit model for the GNSS satellite according to the choice
|
||||||
GANSSOrbitModel ::= CHOICE {
|
GANSSOrbitModel ::= CHOICE {
|
||||||
keplerianSet NavModel-KeplerianSet,
|
keplerianSet NavModel-KeplerianSet,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1271,7 +1271,7 @@ NavModel-KeplerianSet ::= SEQUENCE {
|
|||||||
|
|
||||||
-- GANSS clock model for the GNSS satellite according to the choice
|
-- GANSS clock model for the GNSS satellite according to the choice
|
||||||
GANSSClockModel ::= CHOICE {
|
GANSSClockModel ::= CHOICE {
|
||||||
standardClockModelList SeqOfStandardClockModelElement,
|
standardClockModelList SeqOfStandardClockModelElement,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1279,13 +1279,13 @@ SeqOfStandardClockModelElement ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelEl
|
|||||||
|
|
||||||
StandardClockModelElement ::= SEQUENCE {
|
StandardClockModelElement ::= SEQUENCE {
|
||||||
stanClockTocLSB INTEGER (0 .. 511), -- 9LSB of time of clock
|
stanClockTocLSB INTEGER (0 .. 511), -- 9LSB of time of clock
|
||||||
stanClockAF2 INTEGER (-2048 .. 2047),
|
stanClockAF2 INTEGER (-2048 .. 2047),
|
||||||
stanClockAF1 INTEGER (-131072 .. 131071),
|
stanClockAF1 INTEGER (-131072 .. 131071),
|
||||||
stanClockAF0 INTEGER (-134217728 .. 134217727),
|
stanClockAF0 INTEGER (-134217728 .. 134217727),
|
||||||
stanClockTgd INTEGER (-512 .. 511) OPTIONAL,
|
stanClockTgd INTEGER (-512 .. 511) OPTIONAL,
|
||||||
stanModelID INTEGER (0 .. 1) OPTIONAL,
|
stanModelID INTEGER (0 .. 1) OPTIONAL,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
-- GANSS Real-Time Integrity IE
|
-- GANSS Real-Time Integrity IE
|
||||||
GANSSRealTimeIntegrity ::= SEQUENCE {
|
GANSSRealTimeIntegrity ::= SEQUENCE {
|
||||||
@ -1316,7 +1316,7 @@ SeqOf-GANSSDataBits ::= SEQUENCE (SIZE(1 .. 1024)) OF GANSSDataBit
|
|||||||
GANSSDataBit ::= INTEGER(0 .. 1)
|
GANSSDataBit ::= INTEGER(0 .. 1)
|
||||||
|
|
||||||
-- GANSS Reference Measurement Assistance IE
|
-- GANSS Reference Measurement Assistance IE
|
||||||
-- Code and Doppler assistance from the network.
|
-- Code and Doppler assistance from the network.
|
||||||
GANSSRefMeasurementAssist ::= SEQUENCE {
|
GANSSRefMeasurementAssist ::= SEQUENCE {
|
||||||
ganssSignalID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
|
ganssSignalID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
|
||||||
ganssRefMeasAssitList SeqOfGANSSRefMeasurementElement
|
ganssRefMeasAssitList SeqOfGANSSRefMeasurementElement
|
||||||
@ -1357,9 +1357,9 @@ SVIDMASK ::= BIT STRING (SIZE (1..36))
|
|||||||
|
|
||||||
SeqOfGANSSAlmanacElement ::= SEQUENCE (SIZE(1 .. 36)) OF GANSSAlmanacElement
|
SeqOfGANSSAlmanacElement ::= SEQUENCE (SIZE(1 .. 36)) OF GANSSAlmanacElement
|
||||||
|
|
||||||
-- GANSS Almanac Model
|
-- GANSS Almanac Model
|
||||||
GANSSAlmanacElement ::= CHOICE {
|
GANSSAlmanacElement ::= CHOICE {
|
||||||
keplerianAlmanacSet Almanac-KeplerianSet,
|
keplerianAlmanacSet Almanac-KeplerianSet,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1389,7 +1389,7 @@ GANSSUTCModel ::= SEQUENCE {
|
|||||||
ganssUtcDeltaTlsf INTEGER (-128..127)
|
ganssUtcDeltaTlsf INTEGER (-128..127)
|
||||||
}
|
}
|
||||||
|
|
||||||
--Required Measurement Request Response Time, range is 1 to 128 seconds.
|
--Required Measurement Request Response Time, range is 1 to 128 seconds.
|
||||||
RequiredResponseTime ::= INTEGER (1..128)
|
RequiredResponseTime ::= INTEGER (1..128)
|
||||||
|
|
||||||
Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE {
|
Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE {
|
||||||
@ -1405,7 +1405,7 @@ Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE {
|
|||||||
-- Further Release 7 extensions here
|
-- Further Release 7 extensions here
|
||||||
}
|
}
|
||||||
|
|
||||||
-- GANSS Location Information contains location estimate, time stamp with uncertainty
|
-- GANSS Location Information contains location estimate, time stamp with uncertainty
|
||||||
-- and optionally Reference Frame field
|
-- and optionally Reference Frame field
|
||||||
GANSSLocationInfo ::= SEQUENCE {
|
GANSSLocationInfo ::= SEQUENCE {
|
||||||
referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
|
referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
|
||||||
@ -1415,7 +1415,7 @@ GANSSLocationInfo ::= SEQUENCE {
|
|||||||
ganssTimeID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
|
ganssTimeID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
|
||||||
fixType FixType,
|
fixType FixType,
|
||||||
posData PositionData,
|
posData PositionData,
|
||||||
stationaryIndication INTEGER(0 .. 1) OPTIONAL, -- ‘0’ if moving or motion not known
|
stationaryIndication INTEGER(0 .. 1) OPTIONAL, -- ‘0’ if moving or motion not known
|
||||||
-- Possible shapes carried in posEstimate are
|
-- Possible shapes carried in posEstimate are
|
||||||
-- ellipsoid point,
|
-- ellipsoid point,
|
||||||
-- ellipsoid point with uncertainty circle
|
-- ellipsoid point with uncertainty circle
|
||||||
@ -1442,7 +1442,7 @@ ReferenceFrame ::= SEQUENCE {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- GANSS Measurement Information
|
-- GANSS Measurement Information
|
||||||
GANSSMeasureInfo ::= SEQUENCE {
|
GANSSMeasureInfo ::= SEQUENCE {
|
||||||
-- Measurement info elements
|
-- Measurement info elements
|
||||||
-- user has to make sure that in this element is number of elements
|
-- user has to make sure that in this element is number of elements
|
||||||
@ -1456,22 +1456,22 @@ GANSS-MsrSetElement ::= SEQUENCE {
|
|||||||
referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
|
referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
|
||||||
ganssTODm GANSSTODm OPTIONAL, -- GANSS TOD modulo
|
ganssTODm GANSSTODm OPTIONAL, -- GANSS TOD modulo
|
||||||
deltaGNASSTOD INTEGER (0 .. 127) OPTIONAL,
|
deltaGNASSTOD INTEGER (0 .. 127) OPTIONAL,
|
||||||
ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding accoring to Annex
|
ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding according to Annex
|
||||||
|
|
||||||
--N_SGN_TYPE can be read from number of elements of SeqOfGANSS-SgnTypeElement
|
--N_SGN_TYPE can be read from number of elements of SeqOfGANSS-SgnTypeElement
|
||||||
ganss-SgnTypeList SeqOfGANSS-SgnTypeElement
|
ganss-SgnTypeList SeqOfGANSS-SgnTypeElement
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Measurements can be returned up to 6 different signal types
|
-- Measurements can be returned up to 6 different signal types
|
||||||
SeqOfGANSS-SgnTypeElement ::= SEQUENCE (SIZE(1..6)) OF GANSS-SgnTypeElement
|
SeqOfGANSS-SgnTypeElement ::= SEQUENCE (SIZE(1..6)) OF GANSS-SgnTypeElement
|
||||||
|
|
||||||
GANSS-SgnTypeElement ::= SEQUENCE {
|
GANSS-SgnTypeElement ::= SEQUENCE {
|
||||||
ganssSignalID INTEGER (0 .. 15), -- Coding accroding to Annex
|
ganssSignalID INTEGER (0 .. 15), -- Coding according to Annex
|
||||||
--N_SGN can be read from number of elements of SeqOfGANSS-SgnElement
|
--N_SGN can be read from number of elements of SeqOfGANSS-SgnElement
|
||||||
ganss-SgnList SeqOfGANSS-SgnElement
|
ganss-SgnList SeqOfGANSS-SgnElement
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Measurements can be returned up to 16 per signal types
|
-- Measurements can be returned up to 16 per signal types
|
||||||
SeqOfGANSS-SgnElement ::= SEQUENCE (SIZE(1..16)) OF GANSS-SgnElement
|
SeqOfGANSS-SgnElement ::= SEQUENCE (SIZE(1..16)) OF GANSS-SgnElement
|
||||||
|
|
||||||
|
|
||||||
@ -1482,7 +1482,7 @@ GANSS-SgnElement ::= SEQUENCE {
|
|||||||
carrierQualityInd INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
|
carrierQualityInd INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
|
||||||
codePhase INTEGER (0 .. 2097151),
|
codePhase INTEGER (0 .. 2097151),
|
||||||
integerCodePhase INTEGER (0 .. 63) OPTIONAL,
|
integerCodePhase INTEGER (0 .. 63) OPTIONAL,
|
||||||
codePhaseRMSError INTEGER (0..63), -- Coding accoring to Annex
|
codePhaseRMSError INTEGER (0..63), -- Coding according to Annex
|
||||||
doppler INTEGER (-32768 .. 32767) OPTIONAL,
|
doppler INTEGER (-32768 .. 32767) OPTIONAL,
|
||||||
adr INTEGER (0 .. 33554431) OPTIONAL
|
adr INTEGER (0 .. 33554431) OPTIONAL
|
||||||
}
|
}
|
||||||
|
@ -469,7 +469,7 @@ static int pdu_make_ulp_pos_init(supl_ctx_t *ctx, supl_ulp_t *pdu)
|
|||||||
ulp->message.choice.msSUPLPOSINIT.sETCapabilities.posProtocol.rrlp = 1;
|
ulp->message.choice.msSUPLPOSINIT.sETCapabilities.posProtocol.rrlp = 1;
|
||||||
|
|
||||||
//GNSS-SDR mod
|
//GNSS-SDR mod
|
||||||
// Use ctx->p.request to swith between a pre-defined set of assistence data request
|
// Use ctx->p.request to switch between a pre-defined set of assistance data request
|
||||||
// reason: Some SUPL servers do not respond to Acquisition assistance depending on the status of other assistance flags
|
// reason: Some SUPL servers do not respond to Acquisition assistance depending on the status of other assistance flags
|
||||||
|
|
||||||
switch (ctx->p.request)
|
switch (ctx->p.request)
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "hybrid_observables.h"
|
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "GPS_L2C.h"
|
#include "GPS_L2C.h"
|
||||||
#include "GPS_L5.h"
|
#include "GPS_L5.h"
|
||||||
@ -52,6 +51,7 @@
|
|||||||
#include "gps_l1_ca_pcps_acquisition.h"
|
#include "gps_l1_ca_pcps_acquisition.h"
|
||||||
#include "gps_l2_m_pcps_acquisition.h"
|
#include "gps_l2_m_pcps_acquisition.h"
|
||||||
#include "gps_l5i_pcps_acquisition.h"
|
#include "gps_l5i_pcps_acquisition.h"
|
||||||
|
#include "hybrid_observables.h"
|
||||||
#include "in_memory_configuration.h"
|
#include "in_memory_configuration.h"
|
||||||
#include "observable_tests_flags.h"
|
#include "observable_tests_flags.h"
|
||||||
#include "observables_dump_reader.h"
|
#include "observables_dump_reader.h"
|
||||||
@ -415,7 +415,7 @@ bool HybridObservablesTest::acquire_signal()
|
|||||||
System_and_Signal = "Galileo E5a";
|
System_and_Signal = "Galileo E5a";
|
||||||
config->set_property("Acquisition_5X.coherent_integration_time_ms", "1");
|
config->set_property("Acquisition_5X.coherent_integration_time_ms", "1");
|
||||||
config->set_property("Acquisition.max_dwells", std::to_string(FLAGS_external_signal_acquisition_dwells));
|
config->set_property("Acquisition.max_dwells", std::to_string(FLAGS_external_signal_acquisition_dwells));
|
||||||
config->set_property("Acquisition.CAF_window_hz", "0"); // **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is desactivated. Recommended value 3000 Hz
|
config->set_property("Acquisition.CAF_window_hz", "0"); // **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is deactivated. Recommended value 3000 Hz
|
||||||
config->set_property("Acquisition.Zero_padding", "0"); //**Only for E5a** Avoids power loss and doppler ambiguity in bit transitions by correlating one code with twice the input data length, ensuring that at least one full code is present without transitions. If set to 1 it is ON, if set to 0 it is OFF.
|
config->set_property("Acquisition.Zero_padding", "0"); //**Only for E5a** Avoids power loss and doppler ambiguity in bit transitions by correlating one code with twice the input data length, ensuring that at least one full code is present without transitions. If set to 1 it is ON, if set to 0 it is OFF.
|
||||||
config->set_property("Acquisition.bit_transition_flag", "false");
|
config->set_property("Acquisition.bit_transition_flag", "false");
|
||||||
acquisition = std::make_shared<GalileoE5aNoncoherentIQAcquisitionCaf>(config.get(), "Acquisition", 1, 0);
|
acquisition = std::make_shared<GalileoE5aNoncoherentIQAcquisitionCaf>(config.get(), "Acquisition", 1, 0);
|
||||||
@ -1649,7 +1649,7 @@ bool HybridObservablesTest::ReadRinexObs(std::vector<arma::mat>* obs_vec, Gnss_S
|
|||||||
std::cout << "ReadRinexObs info:" << std::endl;
|
std::cout << "ReadRinexObs info:" << std::endl;
|
||||||
for (unsigned int n = 0; n < gnss_synchro_vec.size(); n++)
|
for (unsigned int n = 0; n < gnss_synchro_vec.size(); n++)
|
||||||
{
|
{
|
||||||
std::cout << "SAT PRN " << gnss_synchro_vec.at(n).PRN << " RINEX epoch readed: " << obs_vec->at(n).n_rows << std::endl;
|
std::cout << "SAT PRN " << gnss_synchro_vec.at(n).PRN << " RINEX epoch read: " << obs_vec->at(n).n_rows << std::endl;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1455,7 +1455,7 @@ bool HybridObservablesTestFpga::ReadRinexObs(std::vector<arma::mat>* obs_vec, Gn
|
|||||||
std::cout << "ReadRinexObs info:" << std::endl;
|
std::cout << "ReadRinexObs info:" << std::endl;
|
||||||
for (unsigned int n = 0; n < gnss_synchro_vec.size(); n++)
|
for (unsigned int n = 0; n < gnss_synchro_vec.size(); n++)
|
||||||
{
|
{
|
||||||
std::cout << "SAT PRN " << gnss_synchro_vec.at(n).PRN << " RINEX epoch readed: " << obs_vec->at(n).n_rows << std::endl;
|
std::cout << "SAT PRN " << gnss_synchro_vec.at(n).PRN << " RINEX epoch read: " << obs_vec->at(n).n_rows << std::endl;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file bayesian_estimation_test.cc
|
* \file bayesian_estimation_test.cc
|
||||||
* \brief This file implements feasability test for the BCE library.
|
* \brief This file implements feasibility test for the BCE library.
|
||||||
* \author Gerald LaMountain, 2018. gerald(at)ece.neu.edu
|
* \author Gerald LaMountain, 2018. gerald(at)ece.neu.edu
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
@ -1056,7 +1056,7 @@ TEST_F(GpsL1CADllPllTrackingTest, ValidationOfResults)
|
|||||||
|
|
||||||
if (FLAGS_plot_gps_l1_tracking_test == true)
|
if (FLAGS_plot_gps_l1_tracking_test == true)
|
||||||
{
|
{
|
||||||
std::cout << "Ploting performance metrics..." << std::endl;
|
std::cout << "Plotting performance metrics..." << std::endl;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (generator_CN0_values.size() > 1)
|
if (generator_CN0_values.size() > 1)
|
||||||
|
@ -450,7 +450,7 @@ bool TrackingPullInTest::acquire_signal(int SV_ID)
|
|||||||
System_and_Signal = "Galileo E5a";
|
System_and_Signal = "Galileo E5a";
|
||||||
config->set_property("Acquisition_5X.coherent_integration_time_ms", "1");
|
config->set_property("Acquisition_5X.coherent_integration_time_ms", "1");
|
||||||
config->set_property("Acquisition.max_dwells", std::to_string(FLAGS_external_signal_acquisition_dwells));
|
config->set_property("Acquisition.max_dwells", std::to_string(FLAGS_external_signal_acquisition_dwells));
|
||||||
config->set_property("Acquisition.CAF_window_hz", "0"); // **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is desactivated. Recommended value 3000 Hz
|
config->set_property("Acquisition.CAF_window_hz", "0"); // **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is deactivated. Recommended value 3000 Hz
|
||||||
config->set_property("Acquisition.Zero_padding", "0"); //**Only for E5a** Avoids power loss and doppler ambiguity in bit transitions by correlating one code with twice the input data length, ensuring that at least one full code is present without transitions. If set to 1 it is ON, if set to 0 it is OFF.
|
config->set_property("Acquisition.Zero_padding", "0"); //**Only for E5a** Avoids power loss and doppler ambiguity in bit transitions by correlating one code with twice the input data length, ensuring that at least one full code is present without transitions. If set to 1 it is ON, if set to 0 it is OFF.
|
||||||
config->set_property("Acquisition.bit_transition_flag", "false");
|
config->set_property("Acquisition.bit_transition_flag", "false");
|
||||||
acquisition = std::make_shared<GalileoE5aNoncoherentIQAcquisitionCaf>(config.get(), "Acquisition", 1, 0);
|
acquisition = std::make_shared<GalileoE5aNoncoherentIQAcquisitionCaf>(config.get(), "Acquisition", 1, 0);
|
||||||
|
@ -385,7 +385,6 @@ void FrontEndCal::GPS_L1_front_end_model_E4000(double f_bb_true_Hz, double f_bb_
|
|||||||
double f_rf_err = (f_bb_meas_Hz - f_bb_true_Hz) - f_bb_err_pll;
|
double f_rf_err = (f_bb_meas_Hz - f_bb_true_Hz) - f_bb_err_pll;
|
||||||
double f_osc_err_hz = (f_rf_err * R) / (N + X / Y);
|
double f_osc_err_hz = (f_rf_err * R) / (N + X / Y);
|
||||||
|
|
||||||
// OJO,segun los datos gnss, la IF positiva hace disminuir la fs!!
|
|
||||||
f_osc_err_hz = -f_osc_err_hz;
|
f_osc_err_hz = -f_osc_err_hz;
|
||||||
*f_osc_err_ppm = f_osc_err_hz / (f_osc_n / 1e6);
|
*f_osc_err_ppm = f_osc_err_hz / (f_osc_n / 1e6);
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ This program is built along with GNSS-SDR if the options `ENABLE_UNIT_TESTING_EX
|
|||||||
```
|
```
|
||||||
$ cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
|
$ cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make intall
|
$ sudo make install
|
||||||
```
|
```
|
||||||
|
|
||||||
The last step is optional. Without it, you will get the executable at `../install/rinex2assist`.
|
The last step is optional. Without it, you will get the executable at `../install/rinex2assist`.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user