mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 20:50:33 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into next
This commit is contained in:
commit
622786aed1
@ -54,7 +54,8 @@ galileo_pcps_8ms_acquisition_cc::galileo_pcps_8ms_acquisition_cc(
|
||||
unsigned int sampled_ms, unsigned int max_dwells,
|
||||
unsigned int doppler_max, long freq, long fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool dump, std::string dump_filename) : gr::block("galileo_pcps_8ms_acquisition_cc",
|
||||
bool dump,
|
||||
std::string dump_filename) : gr::block("galileo_pcps_8ms_acquisition_cc",
|
||||
gr::io_signature::make(1, 1, sizeof(gr_complex) * sampled_ms * samples_per_ms),
|
||||
gr::io_signature::make(0, 0, sizeof(gr_complex) * sampled_ms * samples_per_ms))
|
||||
{
|
||||
|
@ -71,9 +71,7 @@ gps_pcps_acquisition_fpga_sc::gps_pcps_acquisition_fpga_sc(
|
||||
int samples_per_code, int vector_length, unsigned int nsamples_total,
|
||||
bool bit_transition_flag, bool use_CFAR_algorithm_flag,
|
||||
unsigned int select_queue_Fpga, std::string device_name, bool dump,
|
||||
std::string dump_filename) :
|
||||
|
||||
gr::block("pcps_acquisition_fpga_sc",
|
||||
std::string dump_filename) : gr::block("pcps_acquisition_fpga_sc",
|
||||
gr::io_signature::make(0, 0, sizeof(lv_16sc_t)),
|
||||
gr::io_signature::make(0, 0, 0))
|
||||
{
|
||||
|
@ -65,7 +65,8 @@ pcps_acquisition::pcps_acquisition(
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag, bool use_CFAR_algorithm_flag,
|
||||
bool dump, bool blocking,
|
||||
std::string dump_filename, size_t it_size) : gr::block("pcps_acquisition",
|
||||
std::string dump_filename,
|
||||
size_t it_size) : gr::block("pcps_acquisition",
|
||||
gr::io_signature::make(1, 1, it_size * sampled_ms * samples_per_ms * (bit_transition_flag ? 2 : 1)),
|
||||
gr::io_signature::make(0, 0, it_size * sampled_ms * samples_per_ms * (bit_transition_flag ? 2 : 1)))
|
||||
{
|
||||
|
@ -61,7 +61,8 @@ pcps_cccwsr_acquisition_cc::pcps_cccwsr_acquisition_cc(
|
||||
unsigned int sampled_ms, unsigned int max_dwells,
|
||||
unsigned int doppler_max, long freq, long fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool dump, std::string dump_filename) : gr::block("pcps_cccwsr_acquisition_cc",
|
||||
bool dump,
|
||||
std::string dump_filename) : gr::block("pcps_cccwsr_acquisition_cc",
|
||||
gr::io_signature::make(1, 1, sizeof(gr_complex) * sampled_ms * samples_per_ms),
|
||||
gr::io_signature::make(0, 0, sizeof(gr_complex) * sampled_ms * samples_per_ms))
|
||||
{
|
||||
|
@ -67,7 +67,8 @@ pcps_quicksync_acquisition_cc::pcps_quicksync_acquisition_cc(
|
||||
unsigned int doppler_max, long freq, long fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump, std::string dump_filename) : gr::block("pcps_quicksync_acquisition_cc",
|
||||
bool dump,
|
||||
std::string dump_filename) : gr::block("pcps_quicksync_acquisition_cc",
|
||||
gr::io_signature::make(1, 1, (sizeof(gr_complex) * sampled_ms * samples_per_ms)),
|
||||
gr::io_signature::make(0, 0, (sizeof(gr_complex) * sampled_ms * samples_per_ms)))
|
||||
{
|
||||
|
@ -76,7 +76,8 @@ pcps_tong_acquisition_cc::pcps_tong_acquisition_cc(
|
||||
long freq, long fs_in, int samples_per_ms,
|
||||
int samples_per_code, unsigned int tong_init_val,
|
||||
unsigned int tong_max_val, unsigned int tong_max_dwells,
|
||||
bool dump, std::string dump_filename) : gr::block("pcps_tong_acquisition_cc",
|
||||
bool dump,
|
||||
std::string dump_filename) : gr::block("pcps_tong_acquisition_cc",
|
||||
gr::io_signature::make(1, 1, sizeof(gr_complex) * sampled_ms * samples_per_ms),
|
||||
gr::io_signature::make(0, 0, sizeof(gr_complex) * sampled_ms * samples_per_ms))
|
||||
{
|
||||
|
@ -50,7 +50,8 @@
|
||||
#define __CLFFT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
@ -218,8 +218,7 @@ static string baseKernels = string(
|
||||
" fftKernel16((a), dir); \\\n"
|
||||
" fftKernel16((a) + 16, dir); \\\n"
|
||||
" bitreverse32((a)); \\\n"
|
||||
"}\n\n"
|
||||
);
|
||||
"}\n\n");
|
||||
|
||||
static string twistKernelInterleaved = string(
|
||||
"__kernel void \\\n"
|
||||
@ -243,8 +242,7 @@ static string twistKernelInterleaved = string(
|
||||
" startIndex += numCols; \\\n"
|
||||
" } \\\n"
|
||||
" } \\\n"
|
||||
"} \\\n"
|
||||
);
|
||||
"} \\\n");
|
||||
|
||||
static string twistKernelPlannar = string(
|
||||
"__kernel void \\\n"
|
||||
@ -269,9 +267,7 @@ static string twistKernelPlannar = string(
|
||||
" startIndex += numCols; \\\n"
|
||||
" } \\\n"
|
||||
" } \\\n"
|
||||
"} \\\n"
|
||||
);
|
||||
|
||||
"} \\\n");
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -95,8 +95,7 @@ allocateTemporaryBufferPlannar(cl_fft_plan *plan, cl_uint batchSize)
|
||||
return err;
|
||||
}
|
||||
|
||||
void
|
||||
getKernelWorkDimensions(cl_fft_plan *plan, cl_fft_kernel_info *kernelInfo, cl_int *batchSize, size_t *gWorkItems, size_t *lWorkItems)
|
||||
void getKernelWorkDimensions(cl_fft_plan *plan, cl_fft_kernel_info *kernelInfo, cl_int *batchSize, size_t *gWorkItems, size_t *lWorkItems)
|
||||
{
|
||||
*lWorkItems = kernelInfo->num_workitems_per_workgroup;
|
||||
int numWorkGroups = kernelInfo->num_workgroups;
|
||||
@ -193,8 +192,8 @@ clFFT_ExecuteInterleaved( cl_command_queue queue, clFFT_Plan Plan, cl_int batchS
|
||||
}
|
||||
// no dram shuffle (transpose required) transform
|
||||
// all kernels can execute in-place.
|
||||
else {
|
||||
|
||||
else
|
||||
{
|
||||
while (kernelInfo)
|
||||
{
|
||||
s = batchSize;
|
||||
@ -297,8 +296,8 @@ clFFT_ExecutePlannar( cl_command_queue queue, clFFT_Plan Plan, cl_int batchSize,
|
||||
}
|
||||
}
|
||||
// no dram shuffle (transpose required) transform
|
||||
else {
|
||||
|
||||
else
|
||||
{
|
||||
while (kernelInfo)
|
||||
{
|
||||
s = batchSize;
|
||||
@ -402,4 +401,3 @@ clFFT_1DTwistPlannar(clFFT_Plan Plan, cl_command_queue queue, cl_mem array_real,
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -135,41 +135,56 @@ getRadixArray(unsigned int n, unsigned int *radixArray, unsigned int *numRadices
|
||||
|
||||
case 16:
|
||||
*numRadices = 2;
|
||||
radixArray[0] = 8; radixArray[1] = 2;
|
||||
radixArray[0] = 8;
|
||||
radixArray[1] = 2;
|
||||
break;
|
||||
|
||||
case 32:
|
||||
*numRadices = 2;
|
||||
radixArray[0] = 8; radixArray[1] = 4;
|
||||
radixArray[0] = 8;
|
||||
radixArray[1] = 4;
|
||||
break;
|
||||
|
||||
case 64:
|
||||
*numRadices = 2;
|
||||
radixArray[0] = 8; radixArray[1] = 8;
|
||||
radixArray[0] = 8;
|
||||
radixArray[1] = 8;
|
||||
break;
|
||||
|
||||
case 128:
|
||||
*numRadices = 3;
|
||||
radixArray[0] = 8; radixArray[1] = 4; radixArray[2] = 4;
|
||||
radixArray[0] = 8;
|
||||
radixArray[1] = 4;
|
||||
radixArray[2] = 4;
|
||||
break;
|
||||
|
||||
case 256:
|
||||
*numRadices = 4;
|
||||
radixArray[0] = 4; radixArray[1] = 4; radixArray[2] = 4; radixArray[3] = 4;
|
||||
radixArray[0] = 4;
|
||||
radixArray[1] = 4;
|
||||
radixArray[2] = 4;
|
||||
radixArray[3] = 4;
|
||||
break;
|
||||
|
||||
case 512:
|
||||
*numRadices = 3;
|
||||
radixArray[0] = 8; radixArray[1] = 8; radixArray[2] = 8;
|
||||
radixArray[0] = 8;
|
||||
radixArray[1] = 8;
|
||||
radixArray[2] = 8;
|
||||
break;
|
||||
|
||||
case 1024:
|
||||
*numRadices = 3;
|
||||
radixArray[0] = 16; radixArray[1] = 16; radixArray[2] = 4;
|
||||
radixArray[0] = 16;
|
||||
radixArray[1] = 16;
|
||||
radixArray[2] = 4;
|
||||
break;
|
||||
case 2048:
|
||||
*numRadices = 4;
|
||||
radixArray[0] = 8; radixArray[1] = 8; radixArray[2] = 8; radixArray[3] = 4;
|
||||
radixArray[0] = 8;
|
||||
radixArray[1] = 8;
|
||||
radixArray[2] = 8;
|
||||
radixArray[3] = 4;
|
||||
break;
|
||||
default:
|
||||
*numRadices = 0;
|
||||
@ -602,7 +617,8 @@ insertTwiddleKernel(string &kernelString, int Nr, int numIter, int Nprev, int le
|
||||
kernelString += string(" angf = (float) (") + num2str(z * numWorkItemsPerXForm) + string(" + ii);\n");
|
||||
}
|
||||
|
||||
for(k = 1; k < Nr; k++) {
|
||||
for (k = 1; k < Nr; k++)
|
||||
{
|
||||
int ind = z * Nr + k;
|
||||
//float fac = (float) (2.0 * M_PI * (double) k / (double) len);
|
||||
kernelString += string(" ang = dir * ( 2.0f * M_PI * ") + num2str(k) + string(".0f / ") + num2str(len) + string(".0f )") + string(" * angf;\n");
|
||||
@ -617,7 +633,8 @@ getPadding(int numWorkItemsPerXForm, int Nprev, int numWorkItemsReq, int numXFor
|
||||
{
|
||||
if ((numWorkItemsPerXForm <= Nprev) || (Nprev >= numBanks))
|
||||
*offset = 0;
|
||||
else {
|
||||
else
|
||||
{
|
||||
int numRowsReq = ((numWorkItemsPerXForm < numBanks) ? numWorkItemsPerXForm : numBanks) / Nprev;
|
||||
int numColsReq = 1;
|
||||
if (numRowsReq > Nr)
|
||||
@ -628,7 +645,8 @@ getPadding(int numWorkItemsPerXForm, int Nprev, int numWorkItemsReq, int numXFor
|
||||
|
||||
if (numWorkItemsPerXForm >= numBanks || numXFormsPerWG == 1)
|
||||
*midPad = 0;
|
||||
else {
|
||||
else
|
||||
{
|
||||
int bankNum = ((numWorkItemsReq + *offset) * Nr) & (numBanks - 1);
|
||||
if (bankNum >= numWorkItemsPerXForm)
|
||||
*midPad = 0;
|
||||
@ -646,8 +664,10 @@ insertLocalStores(string &kernelString, int numIter, int Nr, int numWorkItemsPer
|
||||
{
|
||||
int z, k;
|
||||
|
||||
for(z = 0; z < numIter; z++) {
|
||||
for(k = 0; k < Nr; k++) {
|
||||
for (z = 0; z < numIter; z++)
|
||||
{
|
||||
for (k = 0; k < Nr; k++)
|
||||
{
|
||||
int index = k * (numWorkItemsReq + offset) + z * numWorkItemsPerXForm;
|
||||
kernelString += string(" lMemStore[") + num2str(index) + string("] = a[") + num2str(z * Nr + k) + string("].") + comp + string(";\n");
|
||||
}
|
||||
@ -671,13 +691,15 @@ insertLocalLoads(string &kernelString, int n, int Nr, int Nrn, int Nprev, int Nc
|
||||
|
||||
int stride = numWorkItemsReq / Nrn;
|
||||
int i;
|
||||
for(i = 0; i < iter; i++) {
|
||||
for (i = 0; i < iter; i++)
|
||||
{
|
||||
int ii = i / (interBlockHNum * vertNum);
|
||||
int zz = i % (interBlockHNum * vertNum);
|
||||
int jj = zz % interBlockHNum;
|
||||
int kk = zz / interBlockHNum;
|
||||
int z;
|
||||
for(z = 0; z < Nrn; z++) {
|
||||
for (z = 0; z < Nrn; z++)
|
||||
{
|
||||
int st = kk * vertStride + jj * interBlockHStride + ii * intraBlockHStride + z * stride;
|
||||
kernelString += string(" a[") + num2str(i * Nrn + z) + string("].") + comp + string(" = lMemLoad[") + num2str(st) + string("];\n");
|
||||
}
|
||||
@ -726,10 +748,12 @@ insertLocalLoadIndexArithmatic(string &kernelString, int Nprev, int Nr, int numW
|
||||
static void
|
||||
insertLocalStoreIndexArithmatic(string &kernelString, int numWorkItemsReq, int numXFormsPerWG, int Nr, int offset, int midPad)
|
||||
{
|
||||
if(numXFormsPerWG == 1) {
|
||||
if (numXFormsPerWG == 1)
|
||||
{
|
||||
kernelString += string(" lMemStore = sMem + ii;\n");
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
kernelString += string(" lMemStore = sMem + mad24(jj, ") + num2str((numWorkItemsReq + offset) * Nr + midPad) + string(", ii);\n");
|
||||
}
|
||||
}
|
||||
@ -822,7 +846,8 @@ createLocalMemfftKernelString(cl_fft_plan *plan)
|
||||
int Ncurr = Nprev * N[r];
|
||||
insertfftKernel(localString, N[r], numIter);
|
||||
|
||||
if(r < (numRadix - 1)) {
|
||||
if (r < (numRadix - 1))
|
||||
{
|
||||
insertTwiddleKernel(localString, N[r], numIter, Nprev, len, numWorkItemsPerXForm);
|
||||
lMemSize = getPadding(numWorkItemsPerXForm, Nprev, numWorkItemsReq, numXFormsPerWG, N[r], plan->num_local_mem_banks, &offset, &midPad);
|
||||
(*kInfo)->lmem_size = (lMemSize > (*kInfo)->lmem_size) ? lMemSize : (*kInfo)->lmem_size;
|
||||
@ -869,8 +894,7 @@ createLocalMemfftKernelString(cl_fft_plan *plan)
|
||||
// decompositions of base radices to generates different kernels and see which gives
|
||||
// best performance. Following function is just fixed to use 128 as base radix
|
||||
|
||||
void
|
||||
getGlobalRadixInfo(int n, int *radix, int *R1, int *R2, int *numRadices)
|
||||
void getGlobalRadixInfo(int n, int *radix, int *R1, int *R2, int *numRadices)
|
||||
{
|
||||
int baseRadix = min(n, 128);
|
||||
|
||||
@ -950,7 +974,6 @@ createGlobalFFTKernelString(cl_fft_plan *plan, int n, int BS, cl_fft_kernel_dir
|
||||
|
||||
for (passNum = 0; passNum < numPasses; passNum++)
|
||||
{
|
||||
|
||||
localString.clear();
|
||||
kernelName.clear();
|
||||
|
||||
@ -1123,7 +1146,6 @@ createGlobalFFTKernelString(cl_fft_plan *plan, int n, int BS, cl_fft_kernel_dir
|
||||
// Store Data
|
||||
if (strideO == 1)
|
||||
{
|
||||
|
||||
localString += string("lMemStore = sMem + mad24(i, ") + num2str(radix + 1) + string(", j << ") + num2str((int)log2(R1 / R2)) + string(");\n");
|
||||
localString += string("lMemLoad = sMem + mad24(tid >> ") + num2str((int)log2(radix)) + string(", ") + num2str(radix + 1) + string(", tid & ") + num2str(radix - 1) + string(");\n");
|
||||
|
||||
@ -1166,7 +1188,8 @@ createGlobalFFTKernelString(cl_fft_plan *plan, int n, int BS, cl_fft_kernel_dir
|
||||
localString += string("barrier(CLK_LOCAL_MEM_FENCE);\n");
|
||||
|
||||
localString += string("indexOut += tid;\n");
|
||||
if(dataFormat == clFFT_SplitComplexFormat) {
|
||||
if (dataFormat == clFFT_SplitComplexFormat)
|
||||
{
|
||||
localString += string("out_real += indexOut;\n");
|
||||
localString += string("out_imag += indexOut;\n");
|
||||
for (k = 0; k < R1; k++)
|
||||
@ -1174,17 +1197,18 @@ createGlobalFFTKernelString(cl_fft_plan *plan, int n, int BS, cl_fft_kernel_dir
|
||||
for (k = 0; k < R1; k++)
|
||||
localString += string("out_imag[") + num2str(k * threadsPerBlock) + string("] = a[") + num2str(k) + string("].y;\n");
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
localString += string("out += indexOut;\n");
|
||||
for (k = 0; k < R1; k++)
|
||||
localString += string("out[") + num2str(k * threadsPerBlock) + string("] = a[") + num2str(k) + string("];\n");
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
localString += string("indexOut += mad24(j, ") + num2str(numIter * strideO) + string(", i);\n");
|
||||
if(dataFormat == clFFT_SplitComplexFormat) {
|
||||
if (dataFormat == clFFT_SplitComplexFormat)
|
||||
{
|
||||
localString += string("out_real += indexOut;\n");
|
||||
localString += string("out_imag += indexOut;\n");
|
||||
for (k = 0; k < R1; k++)
|
||||
@ -1192,7 +1216,8 @@ createGlobalFFTKernelString(cl_fft_plan *plan, int n, int BS, cl_fft_kernel_dir
|
||||
for (k = 0; k < R1; k++)
|
||||
localString += string("out_imag[") + num2str(((k % R2) * R1 + (k / R2)) * strideO) + string("] = a[") + num2str(k) + string("].y;\n");
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
localString += string("out += indexOut;\n");
|
||||
for (k = 0; k < R1; k++)
|
||||
localString += string("out[") + num2str(((k % R2) * R1 + (k / R2)) * strideO) + string("] = a[") + num2str(k) + string("];\n");
|
||||
@ -1254,4 +1279,3 @@ void FFT1D(cl_fft_plan *plan, cl_fft_kernel_dir dir)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -218,7 +218,8 @@ int getMaxKernelWorkGroupSize(cl_fft_plan *plan, unsigned int *max_wg_size, unsi
|
||||
return reg_needed;
|
||||
}
|
||||
|
||||
#define ERR_MACRO(err) { \
|
||||
#define ERR_MACRO(err) \
|
||||
{ \
|
||||
if (err != CL_SUCCESS) \
|
||||
{ \
|
||||
if (error_code) \
|
||||
@ -367,8 +368,7 @@ patch_kernel_source:
|
||||
return (clFFT_Plan)plan;
|
||||
}
|
||||
|
||||
void
|
||||
clFFT_DestroyPlan(clFFT_Plan plan)
|
||||
void clFFT_DestroyPlan(clFFT_Plan plan)
|
||||
{
|
||||
cl_fft_plan *Plan = (cl_fft_plan *)plan;
|
||||
if (Plan)
|
||||
|
@ -253,7 +253,8 @@ const unsigned int tbl_CRC24Q[] = {
|
||||
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 *);
|
||||
extern void dgetri_(int *, double *, int *, int *, double *, int *, int *);
|
||||
|
@ -23,7 +23,10 @@ typedef ptrdiff_t ssize_t;
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
#if _MSC_VER < 1800
|
||||
#include <math.h>
|
||||
static inline long lrint(double x){return (long)(x > 0.0 ? x + 0.5 : x - 0.5);}
|
||||
static inline long lrint(double x)
|
||||
{
|
||||
return (long)(x > 0.0 ? x + 0.5 : x - 0.5);
|
||||
}
|
||||
static inline long lrintf(float x) { return (long)(x > 0.0f ? x + 0.5f : x - 0.5f); }
|
||||
static inline long long llrint(double x) { return (long long)(x > 0.0 ? x + 0.5 : x - 0.5); }
|
||||
static inline long long llrintf(float x) { return (long long)(x > 0.0f ? x + 0.5f : x - 0.5f); }
|
||||
@ -43,7 +46,10 @@ static inline float rintf(float x){return (x > 0.0f)? floorf(x + 0.5f) : ceilf(x
|
||||
// random and srandom
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
#include <stdlib.h>
|
||||
static inline long int random (void) { return rand(); }
|
||||
static inline long int random(void)
|
||||
{
|
||||
return rand();
|
||||
}
|
||||
static inline void srandom(unsigned int seed) { srand(seed); }
|
||||
|
||||
#endif // _MSC_CONFIG_H_ ]
|
||||
|
@ -37,13 +37,17 @@ struct volk_gnsssdr_machine *get_machine(void)
|
||||
|
||||
if (machine != NULL)
|
||||
return machine;
|
||||
else {
|
||||
else
|
||||
{
|
||||
unsigned int max_score = 0;
|
||||
unsigned int i;
|
||||
struct volk_gnsssdr_machine *max_machine = NULL;
|
||||
for(i=0; i<n_volk_gnsssdr_machines; i++) {
|
||||
if(!(volk_gnsssdr_machines[i]->caps & (~volk_gnsssdr_get_lvarch()))) {
|
||||
if(volk_gnsssdr_machines[i]->caps > max_score) {
|
||||
for (i = 0; i < n_volk_gnsssdr_machines; i++)
|
||||
{
|
||||
if (!(volk_gnsssdr_machines[i]->caps & (~volk_gnsssdr_get_lvarch())))
|
||||
{
|
||||
if (volk_gnsssdr_machines[i]->caps > max_score)
|
||||
{
|
||||
max_score = volk_gnsssdr_machines[i]->caps;
|
||||
max_machine = volk_gnsssdr_machines[i];
|
||||
}
|
||||
@ -63,8 +67,10 @@ void volk_gnsssdr_list_machines(void)
|
||||
extern unsigned int n_volk_gnsssdr_machines;
|
||||
|
||||
unsigned int i;
|
||||
for(i=0; i<n_volk_gnsssdr_machines; i++) {
|
||||
if(!(volk_gnsssdr_machines[i]->caps & (~volk_gnsssdr_get_lvarch()))) {
|
||||
for (i = 0; i < n_volk_gnsssdr_machines; i++)
|
||||
{
|
||||
if (!(volk_gnsssdr_machines[i]->caps & (~volk_gnsssdr_get_lvarch())))
|
||||
{
|
||||
printf("%s;", volk_gnsssdr_machines[i]->name);
|
||||
}
|
||||
}
|
||||
@ -79,13 +85,17 @@ const char* volk_gnsssdr_get_machine(void)
|
||||
|
||||
if (machine != NULL)
|
||||
return machine->name;
|
||||
else {
|
||||
else
|
||||
{
|
||||
unsigned int max_score = 0;
|
||||
unsigned int i;
|
||||
struct volk_gnsssdr_machine *max_machine = NULL;
|
||||
for(i=0; i<n_volk_gnsssdr_machines; i++) {
|
||||
if(!(volk_gnsssdr_machines[i]->caps & (~volk_gnsssdr_get_lvarch()))) {
|
||||
if(volk_gnsssdr_machines[i]->caps > max_score) {
|
||||
for (i = 0; i < n_volk_gnsssdr_machines; i++)
|
||||
{
|
||||
if (!(volk_gnsssdr_machines[i]->caps & (~volk_gnsssdr_get_lvarch())))
|
||||
{
|
||||
if (volk_gnsssdr_machines[i]->caps > max_score)
|
||||
{
|
||||
max_score = volk_gnsssdr_machines[i]->caps;
|
||||
max_machine = volk_gnsssdr_machines[i];
|
||||
}
|
||||
@ -110,6 +120,8 @@ bool volk_gnsssdr_is_aligned(const void *ptr)
|
||||
#define LV_HAVE_GENERIC
|
||||
#define LV_HAVE_DISPATCHER
|
||||
|
||||
// clang-format off
|
||||
|
||||
%for kern in kernels:
|
||||
|
||||
%if kern.has_dispatcher:
|
||||
@ -190,6 +202,8 @@ void ${kern.name}_manual(${kern.arglist_full}, const char* impl_name)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
volk_gnsssdr_func_desc_t ${kern.name}_get_func_desc(void) {
|
||||
const char **impl_names = get_machine()->${kern.name}_impl_names;
|
||||
const int *impl_deps = get_machine()->${kern.name}_impl_deps;
|
||||
@ -205,3 +219,5 @@ volk_gnsssdr_func_desc_t ${kern.name}_get_func_desc(void) {
|
||||
}
|
||||
|
||||
%endfor
|
||||
|
||||
// clang-format on
|
||||
|
@ -73,6 +73,7 @@ VOLK_API bool volk_gnsssdr_is_aligned(const void *ptr);
|
||||
//! A function pointer to the dispatcher implementation
|
||||
extern VOLK_API ${kern.pname} ${kern.name};
|
||||
|
||||
// clang-format off
|
||||
//! A function pointer to the fastest aligned implementation
|
||||
extern VOLK_API ${kern.pname} ${kern.name}_a;
|
||||
|
||||
@ -85,6 +86,7 @@ extern VOLK_API void ${kern.name}_manual(${kern.arglist_full}, const char* impl_
|
||||
//! Get description parameters for this kernel
|
||||
extern VOLK_API volk_gnsssdr_func_desc_t ${kern.name}_get_func_desc(void);
|
||||
%endfor
|
||||
// clang-format off
|
||||
|
||||
__VOLK_DECL_END
|
||||
|
||||
|
@ -19,10 +19,11 @@
|
||||
#ifndef INCLUDED_VOLK_GNSSSDR_CONFIG_FIXED_H
|
||||
#define INCLUDED_VOLK_GNSSSDR_CONFIG_FIXED_H
|
||||
|
||||
// clang-format off
|
||||
%for i, arch in enumerate(archs):
|
||||
//#ifndef LV_${arch.name.upper()}
|
||||
#define LV_${arch.name.upper()} ${i}
|
||||
//#endif
|
||||
%endfor
|
||||
|
||||
// clang-format on
|
||||
#endif /*INCLUDED_VOLK_GNSSSDR_CONFIG_FIXED*/
|
||||
|
@ -40,9 +40,12 @@ struct VOLK_CPU volk_gnsssdr_cpu;
|
||||
* check for AVX capability before executing.
|
||||
*/
|
||||
#if ((__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 2) || (__clang_major__ >= 3)) && defined(HAVE_XGETBV)
|
||||
static inline unsigned long long _xgetbv(unsigned int index){
|
||||
static inline unsigned long long _xgetbv(unsigned int index)
|
||||
{
|
||||
unsigned int eax, edx;
|
||||
__VOLK_ASM __VOLK_VOLATILE ("xgetbv" : "=a"(eax), "=d"(edx) : "c"(index));
|
||||
__VOLK_ASM __VOLK_VOLATILE("xgetbv"
|
||||
: "=a"(eax), "=d"(edx)
|
||||
: "c"(index));
|
||||
return ((unsigned long long)edx << 32) | eax;
|
||||
}
|
||||
#define __xgetbv() _xgetbv(0)
|
||||
@ -67,7 +70,8 @@ struct VOLK_CPU volk_gnsssdr_cpu;
|
||||
|
||||
#endif //defined(VOLK_CPU_x86)
|
||||
|
||||
static inline unsigned int cpuid_count_x86_bit(unsigned int level, unsigned int count, unsigned int reg, unsigned int bit) {
|
||||
static inline unsigned int cpuid_count_x86_bit(unsigned int level, unsigned int count, unsigned int reg, unsigned int bit)
|
||||
{
|
||||
#if defined(VOLK_CPU_x86)
|
||||
unsigned int regs[4] = {0};
|
||||
cpuid_x86_count(level, count, regs);
|
||||
@ -77,7 +81,8 @@ static inline unsigned int cpuid_count_x86_bit(unsigned int level, unsigned int
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline unsigned int cpuid_x86_bit(unsigned int reg, unsigned int op, unsigned int bit) {
|
||||
static inline unsigned int cpuid_x86_bit(unsigned int reg, unsigned int op, unsigned int bit)
|
||||
{
|
||||
#if defined(VOLK_CPU_x86)
|
||||
unsigned int regs[4];
|
||||
memset(regs, 0, sizeof(unsigned int) * 4);
|
||||
@ -88,7 +93,8 @@ static inline unsigned int cpuid_x86_bit(unsigned int reg, unsigned int op, unsi
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline unsigned int check_extended_cpuid(unsigned int val) {
|
||||
static inline unsigned int check_extended_cpuid(unsigned int val)
|
||||
{
|
||||
#if defined(VOLK_CPU_x86)
|
||||
unsigned int regs[4];
|
||||
memset(regs, 0, sizeof(unsigned int) * 4);
|
||||
@ -99,7 +105,8 @@ static inline unsigned int check_extended_cpuid(unsigned int val) {
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline unsigned int get_avx_enabled(void) {
|
||||
static inline unsigned int get_avx_enabled(void)
|
||||
{
|
||||
#if defined(VOLK_CPU_x86)
|
||||
return __xgetbv() & 0x6;
|
||||
#else
|
||||
@ -107,7 +114,8 @@ static inline unsigned int get_avx_enabled(void) {
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline unsigned int get_avx2_enabled(void) {
|
||||
static inline unsigned int get_avx2_enabled(void)
|
||||
{
|
||||
#if defined(VOLK_CPU_x86)
|
||||
return __xgetbv() & 0x6;
|
||||
#else
|
||||
@ -123,7 +131,8 @@ static inline unsigned int get_avx2_enabled(void) {
|
||||
#define VOLK_CPU_ARM
|
||||
#endif
|
||||
|
||||
static int has_neon(void){
|
||||
static int has_neon(void)
|
||||
{
|
||||
#if defined(VOLK_CPU_ARM)
|
||||
FILE *auxvec_f;
|
||||
unsigned long auxvec[2];
|
||||
@ -134,7 +143,8 @@ static int has_neon(void){
|
||||
size_t r = 1;
|
||||
//so auxv is basically 32b of ID and 32b of value
|
||||
//so it goes like this
|
||||
while(!found_neon && r) {
|
||||
while (!found_neon && r)
|
||||
{
|
||||
r = fread(auxvec, sizeof(unsigned long), 2, auxvec_f);
|
||||
if ((auxvec[0] == AT_HWCAP) && (auxvec[1] & HWCAP_NEON))
|
||||
found_neon = 1;
|
||||
@ -146,6 +156,7 @@ static int has_neon(void){
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
// clang-format off
|
||||
|
||||
%for arch in archs:
|
||||
static int i_can_has_${arch.name} (void) {
|
||||
@ -195,3 +206,4 @@ unsigned int volk_gnsssdr_get_lvarch() {
|
||||
%endfor
|
||||
return retval;
|
||||
}
|
||||
// clang-format on
|
||||
|
@ -23,11 +23,13 @@
|
||||
|
||||
__VOLK_DECL_BEGIN
|
||||
|
||||
// clang-format off
|
||||
struct VOLK_CPU {
|
||||
%for arch in archs:
|
||||
int (*has_${arch.name}) ();
|
||||
%endfor
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
extern struct VOLK_CPU volk_gnsssdr_cpu;
|
||||
|
||||
|
@ -16,6 +16,8 @@
|
||||
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
|
||||
<% this_machine = machine_dict[args[0]] %>
|
||||
<% arch_names = this_machine.arch_names %>
|
||||
|
||||
@ -31,6 +33,7 @@
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
|
||||
%for kern in kernels:
|
||||
#include <volk_gnsssdr/${kern.name}.h>
|
||||
%endfor
|
||||
@ -56,3 +59,4 @@ struct volk_gnsssdr_machine volk_gnsssdr_machine_${this_machine.name} = {
|
||||
<% len_impls = len(impls) %> ${len_impls},
|
||||
%endfor
|
||||
};
|
||||
// clang-format on
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <volk_gnsssdr/volk_gnsssdr_typedefs.h>
|
||||
#include "volk_gnsssdr_machines.h"
|
||||
|
||||
// clang-format off
|
||||
struct volk_gnsssdr_machine *volk_gnsssdr_machines[] = {
|
||||
%for machine in machines:
|
||||
#ifdef LV_MACHINE_${machine.name.upper()}
|
||||
@ -27,5 +28,5 @@ struct volk_gnsssdr_machine *volk_gnsssdr_machines[] = {
|
||||
#endif
|
||||
%endfor
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
unsigned int n_volk_gnsssdr_machines = sizeof(volk_gnsssdr_machines) / sizeof(*volk_gnsssdr_machines);
|
||||
|
@ -27,6 +27,7 @@
|
||||
|
||||
__VOLK_DECL_BEGIN
|
||||
|
||||
// clang-format off
|
||||
struct volk_gnsssdr_machine {
|
||||
const unsigned int caps; //capabilities (i.e., archs compiled into this machine, in the volk_gnsssdr_get_lvarch format)
|
||||
const char *name;
|
||||
@ -48,5 +49,6 @@ extern struct volk_gnsssdr_machine volk_gnsssdr_machine_${machine.name};
|
||||
%endfor
|
||||
|
||||
__VOLK_DECL_END
|
||||
// clang-format on
|
||||
|
||||
#endif //INCLUDED_LIBVOLK_GNSSSDR_MACHINES_H
|
||||
|
@ -22,8 +22,10 @@
|
||||
#include <inttypes.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
||||
|
||||
// clang-format off
|
||||
%for kern in kernels:
|
||||
typedef void (*${kern.pname})(${kern.arglist_types});
|
||||
%endfor
|
||||
// clang-format on
|
||||
|
||||
#endif /*INCLUDED_VOLK_GNSSSDR_TYPEDEFS*/
|
||||
|
@ -45,7 +45,8 @@
|
||||
#include <vector>
|
||||
|
||||
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#include "cnav_msg.h"
|
||||
#include "edc.h"
|
||||
#include "bits.h"
|
||||
|
@ -42,7 +42,8 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#include "cnav_msg.h"
|
||||
#include "edc.h"
|
||||
#include "bits.h"
|
||||
|
@ -34,7 +34,8 @@
|
||||
#ifndef GNSS_SDR_SUPL_CLIENT_H_
|
||||
#define GNSS_SDR_SUPL_CLIENT_H_
|
||||
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#include "supl.h"
|
||||
}
|
||||
#include "GPS_L1_CA.h"
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Accuracy */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AccuracyOpt */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AcquisAssist */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AddionalAngleFields */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AddionalDopplerFields */
|
||||
|
@ -17,7 +17,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AdditionalAssistanceData */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AdditionalDopplerFields */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AlertFlag */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Almanac-KeplerianSet */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Almanac */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AlmanacElement */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AntiSpoofFlag */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* AssistBTSData-R98-ExpOTD */
|
||||
|
@ -18,7 +18,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* BCCHCarrier */
|
||||
|
@ -8,7 +8,8 @@
|
||||
#include <OCTET_STRING.h> /* Some help from OCTET STRING */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
typedef struct BIT_STRING_s
|
||||
|
@ -8,7 +8,8 @@
|
||||
#include <asn_application.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* BSIC */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* BSICAndCarrier */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include "Ext-GeographicalInformation.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* BTSPosition */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* BadSignalElement */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* BitNumber */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* CalcAssistanceBTS */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* CellID */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* CellIDAndLAC */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* DGANSSSgnElement */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* DGPSCorrections */
|
||||
|
@ -8,7 +8,8 @@
|
||||
#include <INTEGER.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
typedef INTEGER_t ENUMERATED_t; /* Implemented via INTEGER */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* EOTDQuality */
|
||||
|
@ -14,11 +14,13 @@
|
||||
#include <ENUMERATED.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum EnvironmentCharacter {
|
||||
typedef enum EnvironmentCharacter
|
||||
{
|
||||
EnvironmentCharacter_badArea = 0,
|
||||
EnvironmentCharacter_notBadArea = 1,
|
||||
EnvironmentCharacter_mixedArea = 2
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* EphemerisSubframe1Reserved */
|
||||
|
@ -14,11 +14,13 @@
|
||||
#include <ENUMERATED.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum ErrorCodes {
|
||||
typedef enum ErrorCodes
|
||||
{
|
||||
ErrorCodes_unDefined = 0,
|
||||
ErrorCodes_missingComponet = 1,
|
||||
ErrorCodes_incorrectData = 2,
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* ExpOTDUncertainty */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* ExpectedOTD */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Ext-GeographicalInformation */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Extended-reference */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <INTEGER.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* ExtensionContainer */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* FineRTD */
|
||||
|
@ -14,11 +14,13 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum FixType {
|
||||
typedef enum FixType
|
||||
{
|
||||
FixType_twoDFix = 0,
|
||||
FixType_threeDFix = 1
|
||||
} e_FixType;
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* FrameDrift */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* FrameNumber */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSS-AssistData */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -18,7 +18,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -17,7 +17,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSS-SgnElement */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSS-SgnTypeElement */
|
||||
|
@ -15,11 +15,13 @@
|
||||
#include <constr_CHOICE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum GANSSAlmanacElement_PR {
|
||||
typedef enum GANSSAlmanacElement_PR
|
||||
{
|
||||
GANSSAlmanacElement_PR_NOTHING, /* No components present */
|
||||
GANSSAlmanacElement_PR_keplerianAlmanacSet,
|
||||
/* Extensions may appear below */
|
||||
|
@ -17,7 +17,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSAlmanacModel */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <OCTET_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSAssistanceData */
|
||||
|
@ -15,11 +15,13 @@
|
||||
#include <constr_CHOICE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum GANSSClockModel_PR {
|
||||
typedef enum GANSSClockModel_PR
|
||||
{
|
||||
GANSSClockModel_PR_NOTHING, /* No components present */
|
||||
GANSSClockModel_PR_standardClockModelList,
|
||||
/* Extensions may appear below */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSDataBit */
|
||||
|
@ -17,7 +17,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSDataBitAssist */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSDiffCorrections */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSIonoStormFlags */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSIonosphereModel */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -20,7 +20,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSMeasureInfo */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSNavModel */
|
||||
|
@ -15,11 +15,13 @@
|
||||
#include <constr_CHOICE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum GANSSOrbitModel_PR {
|
||||
typedef enum GANSSOrbitModel_PR
|
||||
{
|
||||
GANSSOrbitModel_PR_NOTHING, /* No components present */
|
||||
GANSSOrbitModel_PR_keplerianSet,
|
||||
/* Extensions may appear below */
|
||||
|
@ -14,11 +14,13 @@
|
||||
#include <BIT_STRING.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum GANSSPositioningMethod {
|
||||
typedef enum GANSSPositioningMethod
|
||||
{
|
||||
GANSSPositioningMethod_gps = 0,
|
||||
GANSSPositioningMethod_galileo = 1
|
||||
} e_GANSSPositioningMethod;
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSRealTimeIntegrity */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSRefLocation */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSRefMeasurementAssist */
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -17,7 +17,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSRefTimeInfo */
|
||||
|
@ -15,7 +15,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
|
@ -18,7 +18,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSSatelliteElement */
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <NativeInteger.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSSignalID */
|
||||
|
@ -20,7 +20,8 @@
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* GANSSTOD-GSMTimeAssociation */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user