From b5eccef69ead2efb1f5469c6f6f0e4171edc3c95 Mon Sep 17 00:00:00 2001 From: Julian Oes Date: Sun, 23 Dec 2012 13:23:28 -0800 Subject: [PATCH] Started with px4io stop implementation --- apps/drivers/px4io/px4io.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/apps/drivers/px4io/px4io.cpp b/apps/drivers/px4io/px4io.cpp index fd531a3279..c0a20c133e 100644 --- a/apps/drivers/px4io/px4io.cpp +++ b/apps/drivers/px4io/px4io.cpp @@ -825,9 +825,38 @@ px4io_main(int argc, char *argv[]) exit(0); } + if (!strcmp(argv[1], "stop")) { + + if (g_dev != nullptr) { + /* stop the driver */ + delete g_dev; + } else { + errx(1, "not loaded"); + } + exit(0); + } + + + if (!strcmp(argv[1], "status")) { + + if (g_dev != nullptr) + printf("[px4io] loaded\n"); + else + printf("[px4io] not loaded\n"); + + exit(0); + } + /* note, stop not currently implemented */ if (!strcmp(argv[1], "update")) { + + if (g_dev != nullptr) { + printf("[px4io] loaded, detaching first\n"); + /* stop the driver */ + delete g_dev; + } + PX4IO_Uploader *up; const char *fn[3]; @@ -883,5 +912,5 @@ px4io_main(int argc, char *argv[]) if (!strcmp(argv[1], "monitor")) monitor(); - errx(1, "need a command, try 'start', 'test', 'monitor' or 'update'"); + errx(1, "need a command, try 'start', 'stop', 'status', 'test', 'monitor' or 'update'"); }