diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-04-27 14:28:47 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-04-27 14:28:47 +0200 |
commit | 988bf1eb0a3d36532883734a416f9c9e1e6ba125 (patch) | |
tree | cc576d159661afe667a79527110c81b0588a1710 /apps/examples/control_demo/control_demo.cpp | |
parent | 5085023796b0ca68f28b08d3d98ffbb7f789fd3b (diff) | |
download | px4-firmware-988bf1eb0a3d36532883734a416f9c9e1e6ba125.tar.gz px4-firmware-988bf1eb0a3d36532883734a416f9c9e1e6ba125.tar.bz2 px4-firmware-988bf1eb0a3d36532883734a416f9c9e1e6ba125.zip |
Moved all fixed wing controllers to new world
Diffstat (limited to 'apps/examples/control_demo/control_demo.cpp')
-rw-r--r-- | apps/examples/control_demo/control_demo.cpp | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/apps/examples/control_demo/control_demo.cpp b/apps/examples/control_demo/control_demo.cpp deleted file mode 100644 index e609f2f4b..000000000 --- a/apps/examples/control_demo/control_demo.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2012 PX4 Development Team. All rights reserved. - * Author: @author Example User <mail@example.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file control_demo.cpp - * Demonstration of control library - */ - -#include <nuttx/config.h> -#include <unistd.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <systemlib/systemlib.h> -#include <controllib/fixedwing.hpp> -#include <systemlib/param/param.h> -#include <drivers/drv_hrt.h> -#include <math.h> - -static bool thread_should_exit = false; /**< Deamon exit flag */ -static bool thread_running = false; /**< Deamon status flag */ -static int deamon_task; /**< Handle of deamon task / thread */ - -/** - * Deamon management function. - */ -extern "C" __EXPORT int control_demo_main(int argc, char *argv[]); - -/** - * Mainloop of deamon. - */ -int control_demo_thread_main(int argc, char *argv[]); - -/** - * Test function - */ -void test(); - -/** - * Print the correct usage. - */ -static void usage(const char *reason); - -static void -usage(const char *reason) -{ - if (reason) - fprintf(stderr, "%s\n", reason); - - fprintf(stderr, "usage: control_demo {start|stop|status} [-p <additional params>]\n\n"); - exit(1); -} - -/** - * The deamon app only briefly exists to start - * the background job. The stack size assigned in the - * Makefile does only apply to this management task. - * - * The actual stack size should be set in the call - * to task_create(). - */ -int control_demo_main(int argc, char *argv[]) -{ - - if (argc < 1) - usage("missing command"); - - if (!strcmp(argv[1], "start")) { - - if (thread_running) { - printf("control_demo already running\n"); - /* this is not an error */ - exit(0); - } - - thread_should_exit = false; - deamon_task = task_spawn("control_demo", - SCHED_DEFAULT, - SCHED_PRIORITY_MAX - 10, - 5120, - control_demo_thread_main, - (argv) ? (const char **)&argv[2] : (const char **)NULL); - exit(0); - } - - if (!strcmp(argv[1], "test")) { - test(); - exit(0); - } - - if (!strcmp(argv[1], "stop")) { - thread_should_exit = true; - exit(0); - } - - if (!strcmp(argv[1], "status")) { - if (thread_running) { - printf("\tcontrol_demo app is running\n"); - - } else { - printf("\tcontrol_demo app not started\n"); - } - - exit(0); - } - - usage("unrecognized command"); - exit(1); -} - -int control_demo_thread_main(int argc, char *argv[]) -{ - - printf("[control_Demo] starting\n"); - - using namespace control; - - fixedwing::BlockMultiModeBacksideAutopilot autopilot(NULL, "FWB"); - - thread_running = true; - - while (!thread_should_exit) { - autopilot.update(); - } - - printf("[control_demo] exiting.\n"); - - thread_running = false; - - return 0; -} - -void test() -{ - printf("beginning control lib test\n"); - control::basicBlocksTest(); -} |