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