diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-30 22:34:51 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-30 22:34:51 +0100 |
commit | 727342a5168bb23501c50287acb8edfe6d80e157 (patch) | |
tree | 2e1f680c5b0033d55ef8a5a6ce6e9954eca092b3 /src/drivers/px4fmu/fmu.cpp | |
parent | 8131d28a0faf7d33060cf067f5bd8dee41666fed (diff) | |
download | px4-firmware-727342a5168bb23501c50287acb8edfe6d80e157.tar.gz px4-firmware-727342a5168bb23501c50287acb8edfe6d80e157.tar.bz2 px4-firmware-727342a5168bb23501c50287acb8edfe6d80e157.zip |
Teached the FMU driver that stopping is also an option
Diffstat (limited to 'src/drivers/px4fmu/fmu.cpp')
-rw-r--r-- | src/drivers/px4fmu/fmu.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/drivers/px4fmu/fmu.cpp b/src/drivers/px4fmu/fmu.cpp index 6d4019f24..dd475bb6c 100644 --- a/src/drivers/px4fmu/fmu.cpp +++ b/src/drivers/px4fmu/fmu.cpp @@ -1093,6 +1093,20 @@ fmu_start(void) return ret; } +int +fmu_stop(void) +{ + int ret = OK; + + if (g_fmu != nullptr) { + + delete g_fmu; + g_fmu = nullptr; + } + + return ret; +} + void test(void) { @@ -1224,6 +1238,12 @@ fmu_main(int argc, char *argv[]) PortMode new_mode = PORT_MODE_UNSET; const char *verb = argv[1]; + if (!strcmp(verb, "stop")) { + fmu_stop(); + errx(0, "FMU driver stopped"); + } + + if (fmu_start() != OK) errx(1, "failed to start the FMU driver"); |