[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [4662] Arduino Dangerboard updates
From: |
Allen Ibara |
Subject: |
[paparazzi-commits] [4662] Arduino Dangerboard updates |
Date: |
Thu, 11 Mar 2010 03:51:59 +0000 |
Revision: 4662
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4662
Author: aibara
Date: 2010-03-11 03:51:59 +0000 (Thu, 11 Mar 2010)
Log Message:
-----------
Arduino Dangerboard updates
Modified Paths:
--------------
paparazzi3/trunk/sw/ground_segment/python/joystick/arduino_dangerboard.py
paparazzi3/trunk/sw/ground_segment/python/joystick/ivydanger.py
Modified:
paparazzi3/trunk/sw/ground_segment/python/joystick/arduino_dangerboard.py
===================================================================
--- paparazzi3/trunk/sw/ground_segment/python/joystick/arduino_dangerboard.py
2010-03-11 03:51:25 UTC (rev 4661)
+++ paparazzi3/trunk/sw/ground_segment/python/joystick/arduino_dangerboard.py
2010-03-11 03:51:59 UTC (rev 4662)
@@ -25,7 +25,10 @@
self.port = serial.Serial('/dev/ttyUSB0', 115200)
self.SLIDER_COUNT = 3
self.sliders = [0] * self.SLIDER_COUNT
+ self.POT_MIN = 0.0
+ self.POT_MAX = 1023.0
+
def HandleEvent(self):
pass
Modified: paparazzi3/trunk/sw/ground_segment/python/joystick/ivydanger.py
===================================================================
--- paparazzi3/trunk/sw/ground_segment/python/joystick/ivydanger.py
2010-03-11 03:51:25 UTC (rev 4661)
+++ paparazzi3/trunk/sw/ground_segment/python/joystick/ivydanger.py
2010-03-11 03:51:59 UTC (rev 4662)
@@ -6,38 +6,40 @@
import os
import sys
import getopt
+import signal
PPRZ_HOME = os.getenv("PAPARAZZI_HOME")
sys.path.append(PPRZ_HOME + "/sw/lib/python")
from settings_tool import IvySettingsInterface
-DEFAULT_AC_IDS = [ 11 ]
+DEFAULT_AC_IDS = [ ]
# Map dangerboard sliders to these settings from aircraft settings
# file, in that order (dimension of this list needs to match number
# of sliders!)
-DEFAULT_SLIDERS = ["throttle_sp", "cyclic_sp", "collective_sp"]
+DEFAULT_SLIDERS = [ ]
-POT_MIN = 0.0
-POT_MAX = 1023.0
-
class IvyStick(arduino_dangerboard):
def __init__(self, ac_ids, settings_names):
arduino_dangerboard.__init__(self)
- self.last_values = [0] * self.SLIDER_COUNT
+ if (len(settings_names) > self.SLIDER_COUNT):
+ raise Exception("Number of settings greater than number of sliders")
+ if (len(ac_ids) < 1):
+ raise Exception("Need at least one ac_id")
+ self.last_values = [0] * len(settings_names)
self.ac_settings = IvySettingsInterface(ac_ids)
self.settings = []
for name in settings_names:
self.settings.append(self.ac_settings.name_lookup[name])
def ScalePot(self, pot_value, min_value, max_value, step_size):
- scale_factor = (max_value - min_value) / (POT_MAX - POT_MIN)
- offset = (POT_MIN - min_value) / scale_factor
+ scale_factor = (max_value - min_value) / (self.POT_MAX - self.POT_MIN)
+ offset = (self.POT_MIN - min_value) / scale_factor
return int((pot_value - offset) * scale_factor / step_size) * step_size
def HandleEvent(self):
- for setting_index in range(0, self.SLIDER_COUNT):
+ for setting_index in range(0, len(self.settings)):
value = self.ScalePot(self.sliders[setting_index],
self.settings[setting_index].min_value,
self.settings[setting_index].max_value,
@@ -82,7 +84,12 @@
return options
+def signal_handler(signal, frame):
+ sys.exit(0)
+
def main():
+ signal.signal(signal.SIGINT, signal_handler)
+
options = GetOptions()
ivyStick = IvyStick(options['ac_id'], options['sliders'])
ivyStick.poll()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [4662] Arduino Dangerboard updates,
Allen Ibara <=