diff options
author | Sebastian Reichel <sre@ring0.de> | 2012-06-15 22:56:00 +0200 |
---|---|---|
committer | Sebastian Reichel <sre@ring0.de> | 2012-06-15 22:56:00 +0200 |
commit | 8a08b9dce9cfc161494ddb07a1c979c7796780ff (patch) | |
tree | e86e8a83212c617da44e1b9aed480fe6b50374af /ctrl/models/hexa.vala | |
parent | 626580d3a16d01f3ba5481d291c4c0c844ef4c46 (diff) | |
download | microcopterd-8a08b9dce9cfc161494ddb07a1c979c7796780ff.tar.bz2 |
restructure code
it is now loading its components from plugins
Diffstat (limited to 'ctrl/models/hexa.vala')
-rw-r--r-- | ctrl/models/hexa.vala | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/ctrl/models/hexa.vala b/ctrl/models/hexa.vala deleted file mode 100644 index 176d3d6..0000000 --- a/ctrl/models/hexa.vala +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2012, Sebastian Reichel <sre@ring0.de> - * - * 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. - */ - -public class Hexacopter : CopterModel { - int[] min = new int[6]; - int[] max = new int[6]; - int[] cmd = new int[6]; - - const int YAW_DIRECTION = 1; - - private enum Position { - FRONT, - FRONT_RIGHT, - REAR_RIGHT, - REAR, - REAR_LEFT, - FRONT_LEFT, - } - - public override uint8 get_motor_amount() { - return 6; - } - - public override void set_max(uint8 motor, int val) { - max[motor] = val; - } - - public override int get_max(uint8 motor) { - return max[motor]; - } - - public override void set_min(uint8 motor, int val) { - min[motor] = val; - } - - public override int get_min(uint8 motor) { - return min[motor]; - } - - public override int[] get_motor_data(int throttle, int motorAxisCommandYaw, int motorAxisCommandRoll, int motorAxisCommandPitch) { - int throttleCorrection = (motorAxisCommandYaw*3/6).abs(); - - cmd[Position.FRONT] = (throttle - throttleCorrection) + motorAxisCommandRoll/2 - motorAxisCommandPitch/2 - (YAW_DIRECTION * motorAxisCommandYaw); - cmd[Position.FRONT_RIGHT] = (throttle - throttleCorrection) - motorAxisCommandRoll/2 + motorAxisCommandPitch/2 + (YAW_DIRECTION * motorAxisCommandYaw); - cmd[Position.REAR_RIGHT] = (throttle - throttleCorrection) - motorAxisCommandRoll/2 - motorAxisCommandPitch/2 - (YAW_DIRECTION * motorAxisCommandYaw); - cmd[Position.REAR] = (throttle - throttleCorrection) + motorAxisCommandRoll/2 + motorAxisCommandPitch/2 + (YAW_DIRECTION * motorAxisCommandYaw); - cmd[Position.REAR_LEFT] = (throttle - throttleCorrection) - motorAxisCommandPitch + (YAW_DIRECTION * motorAxisCommandYaw); - cmd[Position.FRONT_LEFT] = (throttle - throttleCorrection) + motorAxisCommandPitch - (YAW_DIRECTION * motorAxisCommandYaw); - - return cmd; - } -} |