Skip to content
Open
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
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "mavsdk-proto"]
path = proto
url = https://github.com/mavlink/MAVSDK-Proto.git
url = https://github.com/tpayne-censystech/MAVSDK-Proto.git
15 changes: 15 additions & 0 deletions c/src/cmavsdk/mavsdk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,16 @@ void mavsdk_configuration_set_always_send_heartbeats(mavsdk_configuration_t conf
cpp_config->set_always_send_heartbeats(always_send_heartbeats != 0);
}

double mavsdk_configuration_get_heartbeat_watchdog_timeout_s(mavsdk_configuration_t config) {
auto* cpp_config = reinterpret_cast<Mavsdk::Configuration*>(config);
return cpp_config->get_heartbeat_watchdog_timeout_s();
}

int mavsdk_configuration_set_heartbeat_watchdog_timeout_s(mavsdk_configuration_t config, double timeout_s) {
auto* cpp_config = reinterpret_cast<Mavsdk::Configuration*>(config);
return cpp_config->set_heartbeat_watchdog_timeout_s(timeout_s) ? 1 : 0;
}

mavsdk_component_type_t mavsdk_configuration_get_component_type(mavsdk_configuration_t config) {
auto* cpp_config = reinterpret_cast<Mavsdk::Configuration*>(config);
return c_component_type_from_cpp(cpp_config->get_component_type());
Expand Down Expand Up @@ -556,6 +566,11 @@ void mavsdk_set_timeout_s(mavsdk_t mavsdk, double timeout_s) {
cpp_mavsdk->set_timeout_s(timeout_s);
}

void mavsdk_feed_heartbeat_watchdog(mavsdk_t mavsdk) {
auto* cpp_mavsdk = reinterpret_cast<Mavsdk*>(mavsdk);
cpp_mavsdk->feed_heartbeat_watchdog();
}

// --- Memory Management Helpers ---
void mavsdk_free_connection_error(mavsdk_connection_error_t* error) {
if (error) {
Expand Down
4 changes: 4 additions & 0 deletions c/src/cmavsdk/mavsdk.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ CMAVSDK_EXPORT uint8_t mavsdk_configuration_get_component_id(mavsdk_configuratio
CMAVSDK_EXPORT void mavsdk_configuration_set_component_id(mavsdk_configuration_t config, uint8_t component_id);
CMAVSDK_EXPORT int mavsdk_configuration_get_always_send_heartbeats(mavsdk_configuration_t config);
CMAVSDK_EXPORT void mavsdk_configuration_set_always_send_heartbeats(mavsdk_configuration_t config, int always_send_heartbeats);
CMAVSDK_EXPORT double mavsdk_configuration_get_heartbeat_watchdog_timeout_s(mavsdk_configuration_t config);
// Returns 1 if the value was accepted, 0 if it was rejected (must be 0 or >= 1 second).
CMAVSDK_EXPORT int mavsdk_configuration_set_heartbeat_watchdog_timeout_s(mavsdk_configuration_t config, double timeout_s);
CMAVSDK_EXPORT mavsdk_component_type_t mavsdk_configuration_get_component_type(mavsdk_configuration_t config);
CMAVSDK_EXPORT void mavsdk_configuration_set_component_type(mavsdk_configuration_t config, mavsdk_component_type_t component_type);
CMAVSDK_EXPORT uint8_t mavsdk_configuration_get_mav_type(mavsdk_configuration_t config);
Expand Down Expand Up @@ -163,6 +166,7 @@ CMAVSDK_EXPORT void mavsdk_set_timeout_s(
mavsdk_t mavsdk,
double timeout_s
);
CMAVSDK_EXPORT void mavsdk_feed_heartbeat_watchdog(mavsdk_t mavsdk);

// ===== Server Components =====
CMAVSDK_EXPORT mavsdk_server_component_t mavsdk_server_component(
Expand Down
1 change: 1 addition & 0 deletions cpp/src/mavsdk/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@ list(APPEND UNIT_TEST_SOURCES
${PROJECT_SOURCE_DIR}/mavsdk/core/file_cache_test.cpp
${PROJECT_SOURCE_DIR}/mavsdk/core/locked_queue_test.cpp
${PROJECT_SOURCE_DIR}/mavsdk/core/geometry_test.cpp
${PROJECT_SOURCE_DIR}/mavsdk/core/heartbeat_watchdog_test.cpp
${PROJECT_SOURCE_DIR}/mavsdk/core/math_utils_test.cpp
${PROJECT_SOURCE_DIR}/mavsdk/core/mavsdk_test.cpp
${PROJECT_SOURCE_DIR}/mavsdk/core/mavsdk_time_test.cpp
Expand Down
Loading
Loading