From 8a08b9dce9cfc161494ddb07a1c979c7796780ff Mon Sep 17 00:00:00 2001 From: Sebastian Reichel Date: Fri, 15 Jun 2012 22:56:00 +0200 Subject: restructure code it is now loading its components from plugins --- main.vala | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 main.vala (limited to 'main.vala') diff --git a/main.vala b/main.vala new file mode 100644 index 0000000..76fd3ab --- /dev/null +++ b/main.vala @@ -0,0 +1,63 @@ +/* Copyright 2012, Sebastian Reichel + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +Config cfg; +Gyroscope gyroscope; +Accelerometer accelerometer; +Compass compass; +Barometer barometer; +MotorController motorCtrl; +Receiver receiver; +CopterModel model; +FlightControl flightCtrl; +Kinematics kinematics; + +bool loop() { + try { + /* TODO: get sensor values */ + /* TODO: update kinematics */ + + flightCtrl.process(); + } catch(Error e) { + stderr.printf("%s\n", e.message); + } + + return true; +} + +int main(string[] args) { + try { + cfg = new Config(); + + gyroscope = cfg.get_gyroscope(); + accelerometer = cfg.get_accelerometer(); + compass = cfg.get_compass(); + barometer = cfg.get_barometer(); + motorCtrl = cfg.get_motor_controller(); + model = cfg.get_model(); + receiver = cfg.get_receiver(); + + kinematics = new Kinematics(0, 0); // TODO: Compass + flightCtrl = new FlightControl(); + + Timeout.add(10, loop, Priority.HIGH); + } catch(Error e) { + stderr.printf("%s\n", e.message); + return 1; + } + + new MainLoop(null, false).run(); + return 0; +} -- cgit v1.2.3