1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-11-10 20:10:05 +00:00

Fix formatting

This commit is contained in:
Victor Castillo 2024-08-17 23:31:27 +02:00
parent a99ceafe85
commit 27465f6a70
No known key found for this signature in database
GPG Key ID: 8EF1FC8B7182F608
9 changed files with 117 additions and 106 deletions

View File

@ -14,13 +14,13 @@
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
*/ */
#include "ion_gsms_signal_source.h"
#include "gnss_sdr_flags.h" #include "gnss_sdr_flags.h"
#include "gnss_sdr_string_literals.h" #include "gnss_sdr_string_literals.h"
#include "ion_gsms_signal_source.h"
#include <gnuradio/blocks/copy.h> #include <gnuradio/blocks/copy.h>
#include <string> #include <string>
#include <vector>
#include <unordered_set> #include <unordered_set>
#include <vector>
#if USE_GLOG_AND_GFLAGS #if USE_GLOG_AND_GFLAGS
#include <glog/logging.h> #include <glog/logging.h>
@ -53,7 +53,7 @@ IONGSMSSignalSource::IONGSMSSignalSource(const ConfigurationInterface* configura
const std::string& role, const std::string& role,
unsigned int in_streams, unsigned int in_streams,
unsigned int out_streams, unsigned int out_streams,
Concurrent_Queue<pmt::pmt_t>* queue) Concurrent_Queue<pmt::pmt_t>* queue __attribute__((unused)))
: SignalSourceBase(configuration, role, "ION_GSMS_Signal_Source"s), : SignalSourceBase(configuration, role, "ION_GSMS_Signal_Source"s),
metadata_file_(configuration->property(role + ".metadata_filename"s, "../data/example_capture_metadata.sdrx"s)), metadata_file_(configuration->property(role + ".metadata_filename"s, "../data/example_capture_metadata.sdrx"s)),
stream_ids_(parse_comma_list(configuration->property(role + ".streams"s, ""s))), stream_ids_(parse_comma_list(configuration->property(role + ".streams"s, ""s))),
@ -71,7 +71,7 @@ IONGSMSSignalSource::IONGSMSSignalSource(const ConfigurationInterface* configura
for (const auto& source : sources_) for (const auto& source : sources_)
{ {
for (int i = 0; i < source->output_stream_count(); ++i) for (std::size_t i = 0; i < source->output_stream_count(); ++i)
{ {
copy_blocks_.push_back(gr::blocks::copy::make(source->output_stream_item_size(i))); copy_blocks_.push_back(gr::blocks::copy::make(source->output_stream_item_size(i)));
} }
@ -84,7 +84,7 @@ void IONGSMSSignalSource::connect(gr::top_block_sptr top_block)
std::size_t cumulative_index = 0; std::size_t cumulative_index = 0;
for (const auto& source : sources_) for (const auto& source : sources_)
{ {
for (int i = 0; i < source->output_stream_count(); ++i, ++cumulative_index) for (std::size_t i = 0; i < source->output_stream_count(); ++i, ++cumulative_index)
{ {
top_block->connect(source, i, copy_blocks_[cumulative_index], 0); top_block->connect(source, i, copy_blocks_[cumulative_index], 0);
} }
@ -96,7 +96,7 @@ void IONGSMSSignalSource::disconnect(gr::top_block_sptr top_block)
std::size_t cumulative_index = 0; std::size_t cumulative_index = 0;
for (const auto& source : sources_) for (const auto& source : sources_)
{ {
for (int i = 0; i < source->output_stream_count(); ++i, ++cumulative_index) for (std::size_t i = 0; i < source->output_stream_count(); ++i, ++cumulative_index)
{ {
top_block->disconnect(source, i, copy_blocks_[cumulative_index], 0); top_block->disconnect(source, i, copy_blocks_[cumulative_index], 0);
} }

View File

@ -57,6 +57,7 @@ protected:
{ {
return (*sources_.begin())->output_stream_item_size(0); return (*sources_.begin())->output_stream_item_size(0);
} }
private: private:
std::string metadata_file_; std::string metadata_file_;
std::vector<std::string> stream_ids_; std::vector<std::string> stream_ids_;

View File

@ -14,25 +14,24 @@
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
*/ */
#include "gnuradio/block.h"
#include "ion_gsms.h" #include "ion_gsms.h"
#include <memory> #include "gnuradio/block.h"
#include <algorithm> #include <algorithm>
#include <memory>
#include <vector> #include <vector>
#if USE_GLOG_AND_GFLAGS #if USE_GLOG_AND_GFLAGS
#include <glog/logging.h> #include <glog/logging.h>
#else #else
#include <absl/log/log.h> #include <absl/log/log.h>
#include <utility> #include <utility>
#endif #endif
using namespace std::string_literals; using namespace std::string_literals;
IONGSMSFileSource::IONGSMSFileSource( IONGSMSFileSource::IONGSMSFileSource(
const ConfigurationInterface* configuration, const ConfigurationInterface* configuration __attribute__((unused)),
const std::string& role, const std::string& role __attribute__((unused)),
const std::filesystem::path& metadata_filepath, const std::filesystem::path& metadata_filepath,
const GnssMetadata::File& file, const GnssMetadata::File& file,
const GnssMetadata::Block& block, const GnssMetadata::Block& block,
@ -75,7 +74,7 @@ IONGSMSFileSource::~IONGSMSFileSource()
int IONGSMSFileSource::work( int IONGSMSFileSource::work(
int noutput_items, int noutput_items,
gr_vector_const_void_star& input_items, gr_vector_const_void_star& input_items __attribute__((unused)),
gr_vector_void_star& output_items) gr_vector_void_star& output_items)
{ {
const std::size_t max_sample_output = std::floor((noutput_items - 1.0) / maximum_item_rate_); const std::size_t max_sample_output = std::floor((noutput_items - 1.0) / maximum_item_rate_);
@ -84,9 +83,9 @@ int IONGSMSFileSource::work(
std::fread(io_buffer_.data(), sizeof(decltype(io_buffer_)::value_type), io_buffer_.size(), fd_); std::fread(io_buffer_.data(), sizeof(decltype(io_buffer_)::value_type), io_buffer_.size(), fd_);
items_produced_.resize(output_items.size()); items_produced_.resize(output_items.size());
for (std::size_t i = 0; i < items_produced_.size(); ++i) for (int& i : items_produced_)
{ {
items_produced_[i] = 0; i = 0;
} }
while (io_buffer_offset_ < io_buffer_.size()) while (io_buffer_offset_ < io_buffer_.size())
@ -121,7 +120,7 @@ std::size_t IONGSMSFileSource::output_stream_item_size(std::size_t stream_index)
gr::io_signature::sptr IONGSMSFileSource::make_output_signature(const GnssMetadata::Block& block, const std::vector<std::string>& stream_ids) gr::io_signature::sptr IONGSMSFileSource::make_output_signature(const GnssMetadata::Block& block, const std::vector<std::string>& stream_ids)
{ {
int nstreams = 0; int nstreams = 0;
std::vector<size_t> item_sizes{}; std::vector<int> item_sizes{};
for (const auto& chunk : block.Chunks()) for (const auto& chunk : block.Chunks())
{ {
@ -129,9 +128,16 @@ gr::io_signature::sptr IONGSMSFileSource::make_output_signature(const GnssMetada
{ {
for (const auto& stream : lump.Streams()) for (const auto& stream : lump.Streams())
{ {
if (std::ranges::any_of(stream_ids.begin(), stream_ids.end(), [&](const std::string& it) { bool found = false;
return stream.Id() == it; for (const auto& stream_id : stream_ids)
})) {
if (stream_id == stream.Id())
{
found = true;
break;
}
}
if (found)
{ {
++nstreams; ++nstreams;
std::size_t sample_bitsize = stream.Packedbits() / stream.RateFactor(); std::size_t sample_bitsize = stream.Packedbits() / stream.RateFactor();
@ -146,10 +152,8 @@ gr::io_signature::sptr IONGSMSFileSource::make_output_signature(const GnssMetada
} }
} }
return gr::io_signature::make( return gr::io_signature::makev(
nstreams, nstreams,
nstreams, nstreams,
item_sizes); item_sizes);
} }

View File

@ -17,14 +17,14 @@
#ifndef GNSS_SDR_ION_GNSS_SDR_METADATA_STANDARD_H #ifndef GNSS_SDR_ION_GNSS_SDR_METADATA_STANDARD_H
#define GNSS_SDR_ION_GNSS_SDR_METADATA_STANDARD_H #define GNSS_SDR_ION_GNSS_SDR_METADATA_STANDARD_H
#include "configuration_interface.h"
#include "gnss_block_interface.h" #include "gnss_block_interface.h"
#include "ion_gsms_chunk_data.h" #include "ion_gsms_chunk_data.h"
#include "configuration_interface.h"
#include <gnuradio/block.h> #include <gnuradio/block.h>
#include <gnuradio/sync_block.h> #include <gnuradio/sync_block.h>
#include <filesystem> #include <filesystem>
#include <string>
#include <memory> #include <memory>
#include <string>
#include <vector> #include <vector>

View File

@ -30,8 +30,7 @@ IONGSMSChunkData::IONGSMSChunkData(const GnssMetadata::Chunk& chunk, const std::
sizeword_(chunk_.SizeWord()), sizeword_(chunk_.SizeWord()),
countwords_(chunk_.CountWords()) countwords_(chunk_.CountWords())
{ {
with_word_type(sizeword_, [&]<typename WordType> with_word_type(sizeword_, [&]<typename WordType> {
{
buffer_ = new WordType[countwords_]; buffer_ = new WordType[countwords_];
}); });
@ -44,9 +43,16 @@ IONGSMSChunkData::IONGSMSChunkData(const GnssMetadata::Chunk& chunk, const std::
{ {
used_bitsize += stream.Packedbits(); used_bitsize += stream.Packedbits();
if (std::ranges::any_of(stream_ids.begin(), stream_ids.end(), [&](const std::string& it) { bool found = false;
return stream.Id() == it; for (const auto& stream_id : stream_ids)
})) {
if (stream_id == stream.Id())
{
found = true;
break;
}
}
if (found)
{ {
streams_.emplace_back(lump, stream, GnssMetadata::encoding_from_string(stream.Encoding()), output_streams + output_stream_offset); streams_.emplace_back(lump, stream, GnssMetadata::encoding_from_string(stream.Encoding()), output_streams + output_stream_offset);
++output_streams; ++output_streams;
@ -75,8 +81,7 @@ IONGSMSChunkData::IONGSMSChunkData(const GnssMetadata::Chunk& chunk, const std::
IONGSMSChunkData::~IONGSMSChunkData() IONGSMSChunkData::~IONGSMSChunkData()
{ {
with_word_type(sizeword_, [&]<typename WordType> with_word_type(sizeword_, [&]<typename WordType> {
{
delete[] static_cast<WordType*>(buffer_); delete[] static_cast<WordType*>(buffer_);
}); });
} }
@ -215,7 +220,6 @@ void IONGSMSChunkData::write_n_samples(
{ {
*sample = 0; *sample = 0;
ctx.shift_sample(sample_bitsize, sample); ctx.shift_sample(sample_bitsize, sample);
dump_sample(*sample);
decode_sample(sample_bitsize, sample, stream_encoding); decode_sample(sample_bitsize, sample, stream_encoding);
--sample; --sample;
} }
@ -227,7 +231,6 @@ void IONGSMSChunkData::write_n_samples(
{ {
*sample = 0; *sample = 0;
ctx.shift_sample(sample_bitsize, sample); ctx.shift_sample(sample_bitsize, sample);
dump_sample(*sample);
decode_sample(sample_bitsize, sample, stream_encoding); decode_sample(sample_bitsize, sample, stream_encoding);
++sample; ++sample;
} }
@ -237,7 +240,6 @@ void IONGSMSChunkData::write_n_samples(
} }
// Static utilities // Static utilities
void IONGSMSChunkData::decode_sample(const uint8_t sample_bitsize, auto* sample, const GnssMetadata::StreamEncoding encoding) void IONGSMSChunkData::decode_sample(const uint8_t sample_bitsize, auto* sample, const GnssMetadata::StreamEncoding encoding)
{ {
@ -262,14 +264,3 @@ void IONGSMSChunkData::decode_sample(const uint8_t sample_bitsize, auto* sample,
break; break;
} }
} }
void IONGSMSChunkData::dump_sample(auto value)
{
static int count = 100;
if (count > 0)
{
--count;
// std::cout << "SAMPLE: [0x" << std::hex << value << "] " << std::bitset<32>(value) << std::endl;
}
}

View File

@ -18,8 +18,8 @@
#define ION_GSM_CHUNK_DATA_H #define ION_GSM_CHUNK_DATA_H
#include "GnssMetadata.h" #include "GnssMetadata.h"
#include "ion_gsms_stream_encodings.h"
#include "ion_gsms_chunk_unpacking_ctx.h" #include "ion_gsms_chunk_unpacking_ctx.h"
#include "ion_gsms_stream_encodings.h"
#include <gnuradio/block.h> #include <gnuradio/block.h>
#include <string> #include <string>
#include <vector> #include <vector>
@ -120,8 +120,6 @@ private:
static void decode_sample(uint8_t sample_bitsize, auto* sample, GnssMetadata::StreamEncoding encoding); static void decode_sample(uint8_t sample_bitsize, auto* sample, GnssMetadata::StreamEncoding encoding);
static void dump_sample(auto value);
private: private:
const GnssMetadata::Chunk& chunk_; const GnssMetadata::Chunk& chunk_;
uint8_t sizeword_; uint8_t sizeword_;
@ -137,6 +135,17 @@ private:
const GnssMetadata::IonStream& stream; const GnssMetadata::IonStream& stream;
GnssMetadata::StreamEncoding stream_encoding; GnssMetadata::StreamEncoding stream_encoding;
int output_index = -1; int output_index = -1;
stream_metadata_t(
const GnssMetadata::Lump& lump_,
const GnssMetadata::IonStream& stream_,
GnssMetadata::StreamEncoding stream_encoding_,
int output_index_ = -1) : lump(lump_),
stream(stream_),
stream_encoding(stream_encoding_),
output_index(output_index_)
{
}
}; };
std::vector<stream_metadata_t> streams_; std::vector<stream_metadata_t> streams_;

View File

@ -64,6 +64,7 @@ std::vector<IONGSMSFileSource::sptr> IONGSMSMetadataHandler::make_stream_sources
{ {
for (const auto& block : lane.Blocks()) for (const auto& block : lane.Blocks())
{ {
bool block_done = false;
for (const auto& chunk : block.Chunks()) for (const auto& chunk : block.Chunks())
{ {
for (const auto& lump : chunk.Lumps()) for (const auto& lump : chunk.Lumps())
@ -93,12 +94,21 @@ std::vector<IONGSMSFileSource::sptr> IONGSMSMetadataHandler::make_stream_sources
// This file source will take care of any other matching streams in this block // This file source will take care of any other matching streams in this block
// We can skip the rest of this block // We can skip the rest of this block
goto next_block; block_done = true;
break;
} }
} }
if (block_done)
{
break;
}
}
if (block_done)
{
break;
} }
} }
next_block:
} }
break; break;
} }
@ -107,4 +117,3 @@ std::vector<IONGSMSFileSource::sptr> IONGSMSMetadataHandler::make_stream_sources
return sources; return sources;
} }

View File

@ -104,67 +104,63 @@ inline StreamEncoding encoding_from_string(const std::string& str)
} }
template <typename T> template <typename T>
inline T two_bit_look_up[11][4] inline T two_bit_look_up[11][4]{
{ {}, // [0]
[0] = {}, {-2, -1, 0, 1}, // [1 /*OB*/]
[1 /*OB*/] = {-2, -1, 0, 1}, {0, 1, 0, -1}, // [2 /*SM*/]
[2 /*SM*/] = {0, 1, 0, -1}, {0, 0, 1, -1}, // [3 /*MS*/]
[3 /*MS*/] = {0, 0, 1, -1}, {0, 1, -2, -1}, // [4 /*TC*/]
[4 /*TC*/] = {0, 1, -2, -1}, {-2, -1, 1, 0}, // [5 /*OG*/]
[5 /*OG*/] = {-2, -1, 1, 0}, {-3, -1, 1, 3}, // [6 /*OBA*/]
[6 /*OBA*/] = {-3, -1, 1, 3}, {1, 3, -1, -3}, // [7 /*SMA*/]
[7 /*SMA*/] = {1, 3, -1, -3}, {1, -1, 3, -3}, // [8 /*MSA*/]
[8 /*MSA*/] = {1, -1, 3, -3}, {1, 3, -3, -1}, // [9 /*TCA*/]
[9 /*TCA*/] = {1, 3, -3, -1}, {-3, -1, 3, 1}, // [10 /*OGA*/]
[10 /*OGA*/] = {-3, -1, 3, 1},
}; };
template <typename T> template <typename T>
inline T three_bit_look_up[11][8] inline T three_bit_look_up[11][8]{
{ {}, // [0]
[0] = {}, {-4, -3, -2, -1, 0, 1, 2, 3}, // [1 /*OB*/]
[1 /*OB*/] = {-4, -3, -2, -1, 0, 1, 2, 3}, {0, 1, 2, 3, 0, -1, -2, -3}, // [2 /*SM*/]
[2 /*SM*/] = {0, 1, 2, 3, 0, -1, -2, -3}, {0, 0, 1, -1, 0, 0, 1, -1}, // [3 /*MS*/]
[3 /*MS*/] = {0, 0, 1, -1, 0, 0, 1, -1}, {0, 1, 2, 3, -4, -3, -2, -1}, // [4 /*TC*/]
[4 /*TC*/] = {0, 1, 2, 3, -4, -3, -2, -1}, {-4, -3, -1, -2, 3, 2, 0, 1}, // [5 /*OG*/]
[5 /*OG*/] = {-4, -3, -1, -2, 3, 2, 0, 1}, {-7, -5, -3, -1, 1, 3, 5, 7}, // [6 /*OBA*/]
[6 /*OBA*/] = {-7, -5, -3, -1, 1, 3, 5, 7}, {1, 3, 5, 7, -1, -3, -5, -7}, // [7 /*SMA*/]
[7 /*SMA*/] = {1, 3, 5, 7, -1, -3, -5, -7}, {1, -1, 3, -3, 5, -5, 7, -7}, // [8 /*MSA*/]
[8 /*MSA*/] = {1, -1, 3, -3, 5, -5, 7, -7}, {1, 3, 5, 7, -7, -5, -3, -1}, // [9 /*TCA*/]
[9 /*TCA*/] = {1, 3, 5, 7, -7, -5, -3, -1}, {-7, -5, -1, -3, 7, 5, 1, 3}, // [10 /*OGA*/]
[10 /*OGA*/] = {-7, -5, -1, -3, 7, 5, 1, 3},
}; };
template <typename T> template <typename T>
inline T four_bit_look_up[11][16] inline T four_bit_look_up[11][16]{
{ {}, // [0]
[0] = {}, {-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7}, // [1 /*OB*/]
[1 /*OB*/] = {-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7}, {0, 1, 2, 3, 4, 5, 6, 7, 0, -1, -2, -3, -4, -5, -6, -7}, // [2 /*SM*/]
[2 /*SM*/] = {0, 1, 2, 3, 4, 5, 6, 7, 0, -1, -2, -3, -4, -5, -6, -7}, {0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1}, // [3 /*MS*/]
[3 /*MS*/] = {0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1}, {0, 1, 2, 3, 4, 5, 6, 7, -8, -7, -6, -5, -4, -3, -2, -1}, // [4 /*TC*/]
[4 /*TC*/] = {0, 1, 2, 3, 4, 5, 6, 7, -8, -7, -6, -5, -4, -3, -2, -1}, {-8, -7, -5, -6, -1, -2, -4, -3, 7, 6, 4, 5, 0, 1, 3, 2}, // [5 /*OG*/]
[5 /*OG*/] = {-8, -7, -5, -6, -1, -2, -4, -3, 7, 6, 4, 5, 0, 1, 3, 2}, {-15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 11, 13, 15}, // [6 /*OBA*/]
[6 /*OBA*/] = {-15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 11, 13, 15}, {1, 3, 5, 7, 9, 11, 13, 15, -1, -3, -5, -7, -9, -11, -13, -15}, // [7 /*SMA*/]
[7 /*SMA*/] = {1, 3, 5, 7, 9, 11, 13, 15, -1, -3, -5, -7, -9, -11, -13, -15}, {1, -1, 3, -3, 5, -5, 7, -7, 9, -9, 11, -11, 13, -13, 15, -15}, // [8 /*MSA*/]
[8 /*MSA*/] = {1, -1, 3, -3, 5, -5, 7, -7, 9, -9, 11, -11, 13, -13, 15, -15}, {1, 3, 5, 7, 9, 11, 13, 15, -15, -13, -11, -9, -7, -5, -3, -1}, // [9 /*TCA*/]
[9 /*TCA*/] = {1, 3, 5, 7, 9, 11, 13, 15, -15, -13, -11, -9, -7, -5, -3, -1}, {-15, -13, -9, -11, -1, -3, -7, -5, 15, 13, 9, 11, 1, 3, 7, 5}, // [10 /*OGA*/]
[10 /*OGA*/] = {-15, -13, -9, -11, -1, -3, -7, -5, 15, 13, 9, 11, 1, 3, 7, 5},
}; };
template <typename T> template <typename T>
inline T five_bit_look_up[11][32] inline T five_bit_look_up[11][32]{
{ {}, // [0]
[0] = {}, {-16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, // [1 /*OB*/]
[1 /*OB*/] = {-16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15}, // [2 /*SM*/]
[2 /*SM*/] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15}, {0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1}, // [3 /*MS*/]
[3 /*MS*/] = {0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1}, // [4 /*TC*/]
[4 /*TC*/] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1}, {-16, -15, -13, -14, -9, -10, -12, -11, -1, -2, -4, -3, -8, -7, -5, -6, 15, 14, 12, 13, 8, 9, 11, 10, 0, 1, 3, 2, 7, 6, 4, 5}, // [5 /*OG*/]
[5 /*OG*/] = {-16, -15, -13, -14, -9, -10, -12, -11, -1, -2, -4, -3, -8, -7, -5, -6, 15, 14, 12, 13, 8, 9, 11, 10, 0, 1, 3, 2, 7, 6, 4, 5}, {-31, -29, -27, -25, -23, -21, -19, -17, -15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31}, // [6 /*OBA*/]
[6 /*OBA*/] = {-31, -29, -27, -25, -23, -21, -19, -17, -15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31}, {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, -1, -3, -5, -7, -9, -11, -13, -15, -17, -19, -21, -23, -25, -27, -29, -31}, // [7 /*SMA*/]
[7 /*SMA*/] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, -1, -3, -5, -7, -9, -11, -13, -15, -17, -19, -21, -23, -25, -27, -29, -31}, {1, -1, 3, -3, 5, -5, 7, -7, 9, -9, 11, -11, 13, -13, 15, -15, 17, -17, 19, -19, 21, -21, 23, -23, 25, -25, 27, -27, 29, -29, 31, -31}, // [8 /*MSA*/]
[8 /*MSA*/] = {1, -1, 3, -3, 5, -5, 7, -7, 9, -9, 11, -11, 13, -13, 15, -15, 17, -17, 19, -19, 21, -21, 23, -23, 25, -25, 27, -27, 29, -29, 31, -31}, {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, -31, -29, -27, -25, -23, -21, -19, -17, -15, -13, -11, -9, -7, -5, -3, -1}, // [9 /*TCA*/]
[9 /*TCA*/] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, -31, -29, -27, -25, -23, -21, -19, -17, -15, -13, -11, -9, -7, -5, -3, -1}, {-31, -29, -25, -27, -17, -19, -23, -21, -1, -3, -7, -5, -15, -13, -9, -11, 31, 29, 25, 27, 17, 19, 23, 21, 1, 3, 7, 5, 15, 13, 9, 11}, // [10 /*OGA*/]
[10 /*OGA*/] = {-31, -29, -25, -27, -17, -19, -23, -21, -1, -3, -7, -5, -15, -13, -9, -11, 31, 29, 25, 27, 17, 19, 23, 21, 1, 3, 7, 5, 15, 13, 9, 11},
}; };
} // namespace GnssMetadata } // namespace GnssMetadata

View File

@ -197,6 +197,7 @@
#endif #endif
#if ENABLE_ION_SOURCE #if ENABLE_ION_SOURCE
#undef Owner
#include "ion_gsms_signal_source.h" #include "ion_gsms_signal_source.h"
#endif #endif