diff --git a/src/algorithms/observables/adapters/CMakeLists.txt b/src/algorithms/observables/adapters/CMakeLists.txt
index fff1aeb7a..6a724753f 100644
--- a/src/algorithms/observables/adapters/CMakeLists.txt
+++ b/src/algorithms/observables/adapters/CMakeLists.txt
@@ -16,7 +16,10 @@
# along with GNSS-SDR. If not, see .
#
-set(OBS_ADAPTER_SOURCES gps_l1_ca_observables.cc)
+set(OBS_ADAPTER_SOURCES
+ gps_l1_ca_observables.cc
+ galileo_e1_observables.cc
+)
include_directories(
$(CMAKE_CURRENT_SOURCE_DIR)
diff --git a/src/algorithms/observables/adapters/galileo_e1_observables.cc b/src/algorithms/observables/adapters/galileo_e1_observables.cc
new file mode 100644
index 000000000..fb2e9a555
--- /dev/null
+++ b/src/algorithms/observables/adapters/galileo_e1_observables.cc
@@ -0,0 +1,102 @@
+/*!
+ * \file galileo_e1_observables.cc
+ * \brief Implementation of an adapter of a Galileo E1 observables block
+ * to a ObservablesInterface
+ * \author Javier Arribas, 2011. jarribas(at)cttc.es
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+
+#include "galileo_e1_observables.h"
+#include "configuration_interface.h"
+#include "galileo_e1_observables_cc.h"
+#include
+#include
+
+using google::LogMessage;
+
+GalileoE1Observables::GalileoE1Observables(ConfigurationInterface* configuration,
+ std::string role,
+ unsigned int in_streams,
+ unsigned int out_streams,
+ boost::shared_ptr queue) :
+ role_(role),
+ in_streams_(in_streams),
+ out_streams_(out_streams),
+ queue_(queue)
+{
+ int output_rate_ms;
+ output_rate_ms = configuration->property(role + ".output_rate_ms", 500);
+ std::string default_dump_filename = "./observables.dat";
+ DLOG(INFO) << "role " << role;
+ bool flag_averaging;
+ flag_averaging = configuration->property(role + ".flag_averaging", false);
+ dump_ = configuration->property(role + ".dump", false);
+ dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
+ fs_in_ = configuration->property("GNSS-SDR.internal_fs_hz", 2048000);
+ observables_ = galileo_e1_make_observables_cc(in_streams_, queue_, dump_, dump_filename_, output_rate_ms, flag_averaging);
+ observables_->set_fs_in(fs_in_);
+ DLOG(INFO) << "pseudorange(" << observables_->unique_id() << ")";
+}
+
+
+
+
+GalileoE1Observables::~GalileoE1Observables()
+{}
+
+
+
+
+void GalileoE1Observables::connect(gr::top_block_sptr top_block)
+{
+ // Nothing to connect internally
+ DLOG(INFO) << "nothing to connect internally";
+}
+
+
+
+void GalileoE1Observables::disconnect(gr::top_block_sptr top_block)
+{
+ // Nothing to disconnect
+}
+
+
+
+
+gr::basic_block_sptr GalileoE1Observables::get_left_block()
+{
+ return observables_;
+}
+
+
+
+
+gr::basic_block_sptr GalileoE1Observables::get_right_block()
+{
+ return observables_;
+}
+
diff --git a/src/algorithms/observables/adapters/galileo_e1_observables.h b/src/algorithms/observables/adapters/galileo_e1_observables.h
new file mode 100644
index 000000000..029e8c846
--- /dev/null
+++ b/src/algorithms/observables/adapters/galileo_e1_observables.h
@@ -0,0 +1,90 @@
+/*!
+ * \file galileo_e1_observables.h
+ * \brief Implementation of an adapter of a Galileo E1 observables block
+ * to a ObservablesInterface
+ * \author Mara Branzanti 2013. mara.branzanti(at)gmail.com
+ * \author Javier Arribas 2013. jarribas(at)cttc.es
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+
+#ifndef GNSS_SDR_GALILEO_E1_OBSERVABLES_H_
+#define GNSS_SDR_GALILEO_E1_OBSERVABLES_H_
+
+#include "observables_interface.h"
+#include "galileo_e1_observables_cc.h"
+#include
+
+class ConfigurationInterface;
+
+/*!
+ * \brief This class implements an ObservablesInterface for Galileo E1
+ */
+class GalileoE1Observables : public ObservablesInterface
+{
+public:
+ GalileoE1Observables(ConfigurationInterface* configuration,
+ std::string role,
+ unsigned int in_streams,
+ unsigned int out_streams,
+ boost::shared_ptr queue);
+ virtual ~GalileoE1Observables();
+ std::string role()
+ {
+ return role_;
+ }
+
+ std::string implementation()
+ {
+ return "Galileo_E1B_Observables";
+ }
+ void connect(gr::top_block_sptr top_block);
+ void disconnect(gr::top_block_sptr top_block);
+ gr::basic_block_sptr get_left_block();
+ gr::basic_block_sptr get_right_block();
+ void reset()
+ {
+ return;
+ }
+
+ //! All blocks must have an item_size() function implementation
+ size_t item_size()
+ {
+ return sizeof(gr_complex);
+ }
+
+private:
+ galileo_e1_observables_cc_sptr observables_;
+ bool dump_;
+ unsigned int fs_in_;
+ std::string dump_filename_;
+ std::string role_;
+ unsigned int in_streams_;
+ unsigned int out_streams_;
+ boost::shared_ptr queue_;
+};
+
+#endif
diff --git a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt
index 12bf5ce9b..3498152dc 100644
--- a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt
+++ b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt
@@ -16,7 +16,10 @@
# along with GNSS-SDR. If not, see .
#
-set(OBS_GR_BLOCKS_SOURCES gps_l1_ca_observables_cc.cc )
+set(OBS_GR_BLOCKS_SOURCES
+ gps_l1_ca_observables_cc.cc
+ galileo_e1_observables_cc.cc
+)
include_directories(
$(CMAKE_CURRENT_SOURCE_DIR)
diff --git a/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.cc b/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.cc
new file mode 100644
index 000000000..4e587f57a
--- /dev/null
+++ b/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.cc
@@ -0,0 +1,205 @@
+/*!
+ * \file gps_l1_ca_observables_cc.cc
+ * \brief Implementation of the pseudorange computation block for GPS L1 C/A
+ * \author Mara Branzanti 2013. mara.branzanti(at)gmail.com
+ * \author Javier Arribas 2013. jarribas(at)cttc.es
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "galileo_e1_observables_cc.h"
+#include
+#include
+#include
+#include