Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions create_ros_ws.sh
Original file line number Diff line number Diff line change
Expand Up @@ -138,15 +138,13 @@ function main
catkin config --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Release
fi
else
if [ ${dev} -gt 0 ]; then
echo 'build:' > ${abspath}/colcon_defaults.yaml
echo ' event-handlers: [ "console_direct+" ]' >> ${abspath}/colcon_defaults.yaml
echo ' cmake-args: [ "-DCMAKE_BUILD_TYPE=Debug", "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" ]' >> ${abspath}/colcon_defaults.yaml
else
echo 'build:' > ${abspath}/colcon_defaults.yaml
echo '# event-handlers: [ "console_direct+" ]' >> ${abspath}/colcon_defaults.yaml
echo ' cmake-args: [ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" ]' >> ${abspath}/colcon_defaults.yaml
echo 'build:' > ${abspath}/colcon_defaults.yaml
if [ ${dev} -eq 0 ]; then
echo -n '#' >> ${abspath}/colcon_defaults.yaml
fi
echo ' event-handlers: [ "console_direct+" ]' >> ${abspath}/colcon_defaults.yaml
echo ' cmake-args: [ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON", "-DFPSDK_BUILD_TESTING=OFF" ]' \
>> ${abspath}/colcon_defaults.yaml
fi

# Happy?
Expand Down
2 changes: 1 addition & 1 deletion fixposition-sdk
Submodule fixposition-sdk updated 48 files
+24 −8 .github/workflows/docker.yml
+5 −2 Makefile
+59 −22 docker/docker-compose.yaml
+1 −0 docker/docker.sh
+4 −0 docker/scripts/install_aptbase.sh
+2 −2 examples/ros1_fpsdk_demo/include/ros1_fpsdk_demo/node.hpp
+12 −6 examples/ros1_fpsdk_demo/src/node.cpp
+2 −2 examples/ros2_fpsdk_demo/include/ros2_fpsdk_demo/node.hpp
+4 −4 examples/ros2_fpsdk_demo/launch/config.yaml
+12 −6 examples/ros2_fpsdk_demo/src/node.cpp
+0 −47 fpsdk_apps/common/common.cpp
+0 −23 fpsdk_apps/common/common.hpp
+6 −2 fpsdk_apps/fpltool/fpltool_opts.hpp
+45 −0 fpsdk_apps/parsertool/parsertool.cpp
+10 −3 fpsdk_common/CMakeLists.txt
+14 −6 fpsdk_common/cmake/setup.cmake
+7 −1 fpsdk_common/cmake/testing.cmake
+1 −1 fpsdk_common/include/fpsdk_common/app.hpp
+5 −1 fpsdk_common/include/fpsdk_common/gnss.hpp
+2 −2 fpsdk_common/include/fpsdk_common/logging.hpp
+10 −0 fpsdk_common/include/fpsdk_common/math.hpp
+3 −2 fpsdk_common/include/fpsdk_common/parser.hpp
+9 −0 fpsdk_common/include/fpsdk_common/parser/fpa.hpp
+237 −228 fpsdk_common/include/fpsdk_common/parser/ubx.hpp
+17 −0 fpsdk_common/include/fpsdk_common/string.hpp
+64 −44 fpsdk_common/include/fpsdk_common/thread.hpp
+12 −16 fpsdk_common/include/fpsdk_common/time.hpp
+2 −7 fpsdk_common/include/fpsdk_common/trafo.hpp
+85 −2 fpsdk_common/include/fpsdk_common/types.hpp
+2 −2 fpsdk_common/src/app.cpp
+6 −5 fpsdk_common/src/codegen.pl
+40 −29 fpsdk_common/src/gnss.cpp
+1 −1 fpsdk_common/src/logging.cpp
+39 −12 fpsdk_common/src/math.cpp
+4 −1 fpsdk_common/src/parser.cpp
+14 −0 fpsdk_common/src/parser/fpa.cpp
+109 −25 fpsdk_common/src/parser/ubx.cpp
+13 −0 fpsdk_common/src/string.cpp
+59 −32 fpsdk_common/src/thread.cpp
+1 −1 fpsdk_common/src/types.cpp
+59 −24 fpsdk_common/test/math_test.cpp
+3 −3 fpsdk_common/test/parser_test.cpp
+40 −0 fpsdk_common/test/string_test.cpp
+103 −2 fpsdk_common/test/thread_test.cpp
+55 −3 fpsdk_common/test/types_test.cpp
+0 −7 fpsdk_common/test/yaml_test.cpp
+10 −0 fpsdk_doc/fpsdk_build.hpp
+2 −1 fpsdk_ros2/include/fpsdk_ros2/utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ class FixpositionDriver : private boost::noncopyable {
// Worker thread
fpsdk::common::parser::Parser parser_; //!< Protocol parser for incoming messages
fpsdk::common::thread::Thread worker_; //!< Worker thread handle
void Worker(void* arg); //!< Worker thread
bool Worker(); //!< Worker thread

// Observers for received messages
std::unordered_map<std::string, std::vector<FpaObserver>> fpa_observers_; //!< FP_A message observers
Expand Down
12 changes: 8 additions & 4 deletions fixposition_driver_lib/src/fixposition_driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,12 @@ namespace fixposition {

using namespace fpsdk::common;
using namespace fpsdk::common::parser;
using namespace fpsdk::common::thread;

FixpositionDriver::FixpositionDriver(const DriverParams& params)
: /* clang-format off */
params_ { params },
worker_ { "driver", std::bind(&FixpositionDriver::Worker, this, std::placeholders::_1) } // clang-format on
worker_ { "driver", std::bind(&FixpositionDriver::Worker, this) } // clang-format on
{}

FixpositionDriver::~FixpositionDriver() { StopDriver(); }
Expand Down Expand Up @@ -260,11 +261,13 @@ bool FixpositionDriver::Write(const uint8_t* buf, const std::size_t size) {
bool FixpositionDriver::StartDriver() { return Connect() && worker_.Start(); }

void FixpositionDriver::StopDriver() {
worker_.Stop();
if (worker_.GetStatus() == worker_.Status::RUNNING) {
worker_.Stop();
}
Disconnect();
}

void FixpositionDriver::Worker(void* /*arg*/) {
bool FixpositionDriver::Worker() {
INFO("Driver running...");

while (!worker_.ShouldAbort()) {
Expand Down Expand Up @@ -311,12 +314,13 @@ void FixpositionDriver::Worker(void* /*arg*/) {
// Reconnect after some time...
else {
INFO("Reconnecting in %.1f seconds...", params_.reconnect_delay_);
if (worker_.Sleep(params_.reconnect_delay_ * 1000)) {
if (worker_.Sleep(params_.reconnect_delay_ * 1000) == WaitRes::WOKEN) {
break;
}
Connect();
}
}
return true;
}

// ---------------------------------------------------------------------------------------------------------------------
Expand Down
Loading