1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-11 19:24:10 +01:00
Commit Graph

1391 Commits

Author SHA1 Message Date
James Cotton
be892e236d Merge remote-tracking branch 'origin/rghunter/udp_control' into next 2012-07-18 12:43:17 -05:00
Mike LaBranche
9507a79c6d MultiRotor Config, Bugfix: include TriYaw channel in getChannelDescriptions 2012-07-16 17:01:51 -05:00
Mike LaBranche
9f67e24ee5 MultiRotor Config, Bugfix: include TriYaw channel in getChannelDescriptions 2012-07-16 17:01:39 -05:00
James Cotton
719772c98a Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-07-16 11:42:29 -05:00
James Cotton
de2cee1b7f Merge remote-tracking branch 'origin/pt/haltfixes' 2012-07-16 11:27:46 -05:00
James Cotton
3e44389fa8 Merge remote-tracking branch 'origin/pt/haltfixes' into next 2012-07-15 11:23:57 -05:00
PT_Dreamer
3879baf263 GCS/OPMap-Fixes the jump and error destination number 2012-07-14 20:14:42 +01:00
Oleg Semyonov
1d1915d2be GCS Input widget: make RC inputs the default tab 2012-07-13 01:55:00 +03:00
Kenz Dale
bc87319a03 Minor int vs. unsigned int bugfix. 2012-07-12 14:41:41 +02:00
Kenz Dale
8c252f4474 Fixed bug in throttle. Slightly reworked UDP config page. Added comments to matlab file. 2012-07-12 14:39:36 +02:00
Brian Webb
3fabdb9963 Fixed conflicted merge with origin/next. 2012-07-11 19:25:05 -07:00
Oleg Semyonov
cfb8d24941 GCS Input widget: make RC inputs the default tab 2012-07-12 01:41:24 +03:00
James Cotton
53be9e5fdb Merge remote-tracking branch 'origin/dwillis/OP-646' into next
Conflicts:
	ground/openpilotgcs/src/plugins/systemhealth/systemhealthgadgetwidget.cpp
2012-07-11 13:10:02 -05:00
Werner Backes
f1b846593f Fixed line endings 2012-07-10 11:40:55 +02:00
Werner Backes
6751a4cd8b Satellite constellation display shouldn't display satellites with
negative elevation angle.
2012-07-10 11:01:45 +02:00
Werner Backes
0424172398 Better separation between UBX and NMEA parser
Make GPS protocol a user selectable option
Support for UBX protocol on CopterControl
2012-07-10 11:01:41 +02:00
David Willis
37ecfdcf1f Modify to show all alarm descriptions when no specific alarm is clicked on 2012-07-09 23:42:59 +01:00
Kenz Dale
4df81c5f85 UDP Control Plugin. Initial merge for review. 2012-07-09 18:18:57 +02:00
PT_Dreamer
58a9e9a6f7 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into next 2012-07-09 15:07:47 +01:00
PT_Dreamer
93f7494930 GCS/USB-Increase USB write timeout, this prevents
PipX from becoming disconnected to the GCS.
TODO:Handle timeouts in a better way
2012-07-09 14:39:17 +01:00
PT_Dreamer
4c9327da7e GCS-Fixes some crashes on hw disconnection. 2012-07-09 00:15:21 +01:00
David Willis
e15615b2e4 Add all new alarm descriptions to resource file. Modify to show OK message and general usage tooltip. 2012-07-08 23:04:39 +01:00
Fredrik Arvidsson
cbb66e5997 OP-642 Fixed meta data state bug. 2012-07-08 16:45:58 +02:00
Fredrik Arvidsson
3c32490f7e OP-642 Hopefully fixed color and highlight time bug that occurred after changing categorized node mode. 2012-07-08 16:17:59 +02:00
PT_Dreamer
42d06ef7d9 GCS/OPMap-fixes math error which was causing wrong wp location
and high processor usage
2012-07-07 16:05:28 +01:00
David
452e3d6a22 spacing 2012-07-07 21:39:21 +10:00
David
99c033bc3b Case issue with the SVG, updated comments 2012-07-07 21:08:11 +10:00
David
ec864c71cb Add update from dcat, fix prop directions 2012-07-07 20:46:57 +10:00
David
9ed60a2283 Lets default to MultiRotor and to a Quad X type as it is most common 2012-07-07 20:10:36 +10:00
David
4d5ddba2f9 Rename quad-shapes to multi-rotor shapes 2012-07-07 16:44:15 +10:00
PT_Dreamer
61dea64a76 GCS/OPMap-Increase several value limits and added
missing label on the wp editor.
2012-07-06 23:02:56 +01:00
PT_Dreamer
66ed4552be GCS/OPMap-add apply and cancel buttons to the wp editor 2012-07-06 22:57:20 +01:00
PT_Dreamer
71a35b2dd8 GCS/OPMap-make the waypoint numbers start with 1.
This is only visual, internal implementation is still zero based
2012-07-06 21:57:43 +01:00
PT_Dreamer
96fb46b38d GCS/OPMap-comment cleaning 2012-07-06 11:26:27 +01:00
PT_Dreamer
de633d1bcc GCS/OPMap-Give lines of different colors different widths and z orders. 2012-07-06 11:25:35 +01:00
PT_Dreamer
2fa4afd4a7 GCS/OPMap-Make the wp editor show on wp doubleclick if it is
already open
2012-07-05 22:44:39 +01:00
PT_Dreamer
68fba80301 GCS/OPMap-Add remove leg button functionality. 2012-07-05 21:58:23 +01:00
Laura Sebesta
2d94e29fd9 GCS/OPMap-Added dialog box to confirm on clear waypoints.
Also fixed some indenting.
2012-07-05 19:53:14 +01:00
Laura Sebesta
9938f221e1 GCS/OPMap-Improved dialog message in mac ripper. We might also want to rename module, as "rip" is a somewhat loaded word. Pre-cache might be more neutral. 2012-07-05 19:52:08 +01:00
Laura Sebesta
fa643e8dbb GCS/OPMap-Added tooltip to home location in waypoint editor. 2012-07-05 19:50:16 +01:00
PT_Dreamer
d2d4d4dabd GCS/OPMap-Move line path arrow to the midle of the line. 2012-07-05 19:24:41 +01:00
James Cotton
bdfefa25f2 Fix input label width to fit properly 2012-07-04 12:02:13 +02:00
James Cotton
58abe910d0 Merge remote-tracking branch 'origin/os/extended-flightmode-switch' into next 2012-07-04 11:52:38 +02:00
David
a3956c9c7c Change CPU gauge to be more meaningful 2012-07-04 15:07:06 +10:00
Oleg Semyonov
954cd9febc FlightMode GUI: remove ugly right slider 2012-07-04 07:46:38 +03:00
Oleg Semyonov
dd398e9bd5 FlightMode GUI: update right slider on settings change 2012-07-04 00:13:20 +03:00
Oleg Semyonov
4a75e226eb FlightMode GUI: attempt to fix label overlap on linux and OSX 2012-07-04 00:06:55 +03:00
Oleg Semyonov
12106c5549 FlightMode GUI: replace numeric value by slider 2012-07-03 17:20:10 +03:00
David
e0c4c97601 Remove redundant dial 2012-07-03 22:44:35 +10:00
James Cotton
e309ff7f2d Merge remote-tracking branch 'origin/MikeL_ConfigVehicle' into next 2012-07-03 14:19:33 +02:00
Oleg Semyonov
3cd293a5e6 Cosmetic FlightMode GUI fix (OPReview-228) 2012-07-03 11:04:18 +03:00
James Cotton
534d559501 Merge remote-tracking branch 'origin/brian/multi-trans-telem' into next 2012-07-02 18:21:19 +02:00
James Cotton
9de47330b5 Indentation fix. Fixed copyright dates. 2012-07-02 17:55:00 +02:00
James Cotton
305d881724 Merge remote-tracking branch 'origin/dwillis/OP-646' into next 2012-07-02 17:45:08 +02:00
PT_Dreamer
5fd4daa8f8 GCS/Uploader - Some changes to fix "halt" on Linux 2012-07-02 16:11:34 +01:00
Fredrik Arvidsson
d83bff100b Merge branch 'next' into thread/OP-642 2012-07-01 12:25:23 +02:00
Fredrik Arvidsson
069b5dda44 OP-642 Added a checkbox in the UAVOBrowser widget to select if the objects should be shown in a categorized manner or not.
It is now possible to switch between categorized and 'classic' view.
2012-07-01 09:58:55 +02:00
Stacey Sheldon
d9dca0b553 Merge branch 'wireshark-plugins' into next 2012-06-30 22:42:38 -04:00
Brian Webb
3405bc3ebe Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-30 10:06:51 -07:00
Fredrik Arvidsson
32abd2e32f Merge branch 'next' into thread/OP-642 2012-06-30 16:51:19 +02:00
Fredrik Arvidsson
ee9912c45d OP-642 Added code to create category items in tree. Changed some support methods to handle the the now arbitrary depth of the uavo tree. Removed several hard coded functions depending on tree only being two levels deep.
Changed implementation to use maps instead of lists to find tree items and meta items. This is probably much better performance wise, and the code gets much cleaner.
Changed the background highlight code to highlight all tree nodes that aren't TopTreeItem:s to enable category items to be highlighted.
Cleaned up some code.
2012-06-30 16:45:08 +02:00
Corvus Corax
bf0bea49da Merge remote branch 'baseorigin/kenz/math_scope' into basenext 2012-06-29 11:22:38 +02:00
Corvus Corax
d2606e64e4 bitfields: bugfix for bugfix: forgot one line 2012-06-29 09:48:35 +02:00
Corvus Corax
8e790642a0 GCS Bitfield: size bugfix 2012-06-29 09:48:20 +02:00
Corvus Corax
2540ee53dc Merge commit '80f53b185c67d475ead43df97c4a62bcc36d7d90' into gcsbitfields 2012-06-29 09:45:44 +02:00
PT_Dreamer
8bc83d49a5 GCS/OPMap-Make the overlays opacity user selectable and persistent. 2012-06-29 01:20:38 +01:00
Mike LaBranche
604a8e06cd Enhancement: change mixercurve points from pass by value to pass by const ref; 2012-06-28 15:56:40 -07:00
David Willis
3125f4089d Add remaing alarm descriptions 2012-06-28 22:37:34 +01:00
PT_Dreamer
70bdbf49c3 GCS/OPMap- Fixes bad coordinate calculation on home drag. 2012-06-28 20:17:16 +01:00
Mike LaBranche
5b64393f7f ConfigVehicle, all airframes: change return from throwConfigError to bool;
eliminates channel checking redundancy.  Smart ptr new VehicleConfig()'s.
2012-06-27 21:32:32 -07:00
zedamota
ee81296872 Merge remote-tracking branch 'remotes/origin/next' into MapEnhancements 2012-06-28 00:00:15 +01:00
zedamota
5eff06bdc1 GCS/OPMap-Fixes compilation under windows...again... 2012-06-27 23:54:41 +01:00
David Willis
7da39b23de Update alarm text. Add attitude critical and error descriptions 2012-06-27 23:33:40 +01:00
PT_Dreamer
b467a3e81e GCS/OPMap-Fixes compile under windows. 2012-06-27 15:06:53 +01:00
Mike LaBranche
3a8429d89b Merge branch 'next' of ssh://gitolite@git.openpilot.org/OpenPilot.git into MikeL_ConfigVehicle 2012-06-26 16:43:06 -07:00
Mike LaBranche
94ba42a3a9 MultirotorConfig, Bugfix: no default mixer values set for Tricopter;
setting defaults now to roll(100), pitch(100), yaw(50)
2012-06-26 16:34:36 -07:00
PT_Dreamer
6a85da9b46 GCS/OPMap-Fixes relative altitude refresh issue. 2012-06-27 00:25:40 +01:00
David Willis
bac7d171b0 Tweaked actuator critical text. Added r/c input critical and warning text 2012-06-26 23:17:19 +01:00
David Willis
14708a2e45 Updated to use html file as source of popup text. Updated to latest system health svg file. Support popup for actuator critical. 2012-06-26 22:14:56 +01:00
PT_Dreamer
96a8ff3a34 GCS/OPMap-Added relative altitude info to waypoint tooltip. 2012-06-26 20:47:14 +01:00
PT_Dreamer
2074889c9d GCS/OPMap-Clean commented out code. Delete some qDebugs 2012-06-26 20:22:55 +01:00
Fredrik Arvidsson
88a9b4cf89 Merge branch 'next' into thread/OP-642 2012-06-26 21:13:40 +02:00
PT_Dreamer
89d7f0adfd GCS/OPmap-Changed slot names to get rid of the automatic signal conection failure warning. 2012-06-25 21:11:07 +01:00
PT_Dreamer
2e97f1ac6a GCS/OPmap-Changed slot names to get rid of the automatic signal
conection failure warning.
2012-06-25 21:10:40 +01:00
PT_Dreamer
ecbf02fd33 GCS/OPMap-Added missing header information. Did some cleaning 2012-06-25 19:41:59 +01:00
Oleg Semyonov
727e67d7fd Even more optimize FlightMode switch position calculation
This runs in a high frequency loop and should use as little of
floating point as possible. Thanks to Kenn for the idea.
2012-06-25 11:41:42 +03:00
Oleg Semyonov
2c896c9e91 Do not care about FlightMode channel if only one flight mode configured 2012-06-25 01:52:06 +03:00
Oleg Semyonov
02fa6fde09 Optimize FlightMode switch position calculation 2012-06-25 00:30:42 +03:00
PT_Dreamer
55af80ffaf GCS/OPMap- handles home icon doubleclick.
Visual changes to the waypoint editor.
2012-06-24 20:05:27 +01:00
PT_Dreamer
b84af5c338 GCS/OPMap-Model/UAVO proxy class.
Handles the convertion between flight plan data from the model
to/from UAVObjects.
2012-06-24 20:04:13 +01:00
PT_Dreamer
2b85f1a9fd GCS/OPMap- Bugfixes to the model/map proxy.
Dynamic overlay creation based on the path plan actions.
2012-06-24 20:02:45 +01:00
PT_Dreamer
ff48babb46 GCS/OPMap- Small visual changes to the pathplanner editor.
Add buttons to synchronize planner data with UAVObjects.
2012-06-24 20:00:35 +01:00
PT_Dreamer
3466420a32 GCS - OPMap - small changes to the home editor. 2012-06-24 19:58:09 +01:00
PT_Dreamer
e34fc5be71 GCS - OPMap - allow different colors for overlays.
This is so we can use a different color for each kind
of route ex:error destination, jump destination, next destination
2012-06-24 19:57:02 +01:00
PT_Dreamer
2b9ad9dcb9 GCS - OPMap - Handle magic waypoint as special case with
different picture. This is not used now but can be needed in
the future
2012-06-24 19:55:23 +01:00
Mike LaBranche
fc5d0a0175 ConfigVehicleType, bugfix: set/get feedforward settings;
refactor set/getMixerValue into vehicleConfig;
2012-06-24 11:11:53 -07:00
David Willis
f492ea8527 First pass at popup info for alarms in system health widget 2012-06-24 01:22:43 +01:00
Brian Webb
43786c914d Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-23 15:01:53 -07:00
David
d43afddd14 Another Update from Chris 2012-06-24 06:54:24 +10:00
Oleg Semyonov
cd6387d0a6 Add support for more than 3-pos FlightMode switches
It is now possible to have 1 to 6 flight mode switch positions
(usefull for guidance, position hold and similar use).

The input channel range is divided into N (1 to 6) zones and each
zone represents a flight mode. Default is 3 zones (backward compatible),
but more can be chosen.

How to use: configure Tx mixers in a way they provide required number
of different values for the same FlightMode channel. For instance,
using Turnigy 9X radio with ER9X firmware, one can create a mixer like
this:

     -100 MAX ID0   Manual
   R  -50 MAX ID1   Stabilized1 (Rate)
   R    0 MAX ID2   Stabilized2 (Attitude)
   R   50 MAX RUD   PositionHold
   R  100 MAX ELE   ReturnToBase

And set number of flight mode positions to 5. As a result, the 3-pos
switch (ID0, ID1, ID2) will provide first three flight modes, the rudder
D/R switch will override those and enable the 4th flight mode, and
elevator D/R switch will have highest precedence and activate the 5th
flight mode.

This will change the ManualControlSettings objectID.
2012-06-23 22:10:19 +03:00
David
a242c2f383 From Gunnah, remove the odd letters from the QC artwork 2012-06-23 18:09:51 +10:00
Mike LaBranche
f6f98aa091 MixerCurveWidget refine setCurve logic 2012-06-22 17:31:14 -07:00
Mike LaBranche
9b25f68898 MixerCurveWidget: bugfix- don't delete edges in initNodes, just remove from scene;
simplify and remove unused objects in configccpm;  respect min/max in initLinearCurve.
2012-06-22 17:01:33 -07:00
Mike LaBranche
7eb0105886 MixerCurveWidget: enhance node value handling; draw node mixer value inside node; 2012-06-21 11:53:51 -07:00
Stacey Sheldon
5c7295549e gcs: fix incorrect file case on include path
This breaks the Linux build.  Introduced in d03282d.
2012-06-20 22:07:14 -04:00
Brian Webb
04f49498b2 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-20 18:34:56 -07:00
Brian Webb
7bd32253e5 Removed debug from GCS telemetry. 2012-06-20 18:34:16 -07:00
Brian Webb
3da382e828 Merge remote-tracking branch 'origin/next' into brian/multi-trans-telem 2012-06-20 17:43:17 -07:00
Mike LaBranche
5edd952ed6 VehicleConfig/mixer bugfix: keep the ui in synch when 'Save'ing from uavbrowser;
spruce up vehicleconfig with a couple more helpers;
2012-06-20 12:46:07 -07:00
Fredrik Arvidsson
3c754af484 OP-642 Added <category> element which is a string in uavo object type definition to be used in uavo browser to categorise uavo:s visually into subtrees. Category value is assigned in generated code and accessible via getter method. OP-644 Fixed option for uavo browser to enable disable hilights for objects which values wasn't really changed to indicate stream activity in uavo object tree. 2012-06-20 21:26:18 +02:00
PT_Dreamer
7425547b33 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into next 2012-06-20 16:16:29 +01:00
PT_Dreamer
5216835e18 GCS - OPMap - test functions 2012-06-20 15:02:57 +01:00
PT_Dreamer
09a67af3e1 GCS - MapLib - added home item editor 2012-06-20 15:01:03 +01:00
PT_Dreamer
b8b46e90a3 GCS - OPMapLib - data model cleaning 2012-06-20 15:00:15 +01:00
PT_Dreamer
1299bbda93 GCS -OPMapLib - add relative altitude to waypoints 2012-06-20 14:59:23 +01:00
PT_Dreamer
3cf4676aef GCS - OPMap - create doubleclick signal on the home item 2012-06-20 14:58:33 +01:00
James Cotton
621c78e5cb Merge remote-tracking branch 'origin/MikeL_ConfigVehicle' into next 2012-06-20 09:35:18 +02:00
James Cotton
28c5a038d1 Merge remote-tracking branch 'origin/amorale/fix_osx_multiple_usb_serial' into next 2012-06-20 09:02:33 +02:00
Mike LaBranche
02cdc6feff MixerCurveWidget: make Node smarter by storing a value whenever pos changes;
getCurve now reports back the list of node->getValue()
2012-06-19 16:51:22 -07:00
Mike LaBranche
9da2ffff2f MixerCurveWidget: incorporate m_thread's delete leak fix, combined node+edge init 2012-06-19 15:22:11 -07:00
Mike LaBranche
04ea5f24fa MixerCurveWidget: first pass refactoring for performance; bugfix for negative values 2012-06-19 10:28:42 -07:00
Mike LaBranche
fe2aed328e bugfix: configccpmwidget, updatethrottlecurvevalue using wrong table index 2012-06-19 10:27:08 -07:00
Brian Webb
c05b41aca6 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-19 06:16:30 -07:00
Stacey Sheldon
4c47a36bda uavobjgenerator: Add generator for wireshark UAVO plugin
Using 'make uavobjects_wireshark' now generates a complete
wireshark dissector that can decode all fields of the available
UAVObjects.
2012-06-19 00:21:35 -04:00
PT_Dreamer
88a089804b GCS - added uavo per instance "new instance" signal. 2012-06-18 00:16:23 +01:00
PT_Dreamer
e71ab57ffa Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into pt/MapEnhancements
Conflicts:
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-06-17 23:56:27 +01:00
PT_Dreamer
35cf2fe374 GCS/OPMap - pathplanner - added modelUavoProxy class. 2012-06-17 20:09:21 +01:00
PT_Dreamer
5d07b67922 GCS/OPMap - pathplanner - graphical stuff and GUI done. UAVO interfacing left. 2012-06-17 19:24:02 +01:00
Fredrik Arvidsson
c8b4abc71f Added comments to the code. 2012-06-17 12:46:45 +02:00
Fredrik Arvidsson
0e4ffa7f6d Merge branch 'next' into thread/uavobrowser_perf 2012-06-17 09:21:22 +02:00
Mike LaBranche
4650d4909d Add virtual keyword ConfigTaskWidget:: dtor; assures correct child deletion 2012-06-16 13:39:58 -07:00
Mike LaBranche
4807eb730f Compiler Warning kill: rearrange ctor member init order in ConfigInputWidget 2012-06-16 13:38:05 -07:00
Oleg Semyonov
4120eb300c HITLv2: fix shared object name captitalization 2012-06-16 20:13:41 +03:00
Fredrik Arvidsson
d03282d9b0 Changed the way change hilight of three cells works to bring down the
number of QTimer instances and the number of redraws to hopefully
increase performance.
Changed so that when a child gets hilighted it will hilight its parent.
2012-06-16 17:38:05 +02:00
Brian Webb
0bf27de28d Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-16 08:28:03 -07:00
Mike LaBranche
c1689b2205 VehicleConfig: add set/getThrottleCurve, enhance configwidgets to consume;
add resetMixerVector call in multirotor; ConfigVehicleType now VehicleConfig aware
2012-06-14 15:40:17 -07:00
PT_Dreamer
82b7f9f08d GCS/OPmap lib - changed the flight planner to a model view aproach 2012-06-14 23:06:37 +01:00
Brian Webb
6c8d8aeafb Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-14 06:55:52 -07:00
Mike LaBranche
a7ae258bc8 Bugfix, oops: missed a couple resetMixerVector opportunities. 2012-06-13 15:14:18 -07:00
Mike LaBranche
8de40c7847 BugFix: ConfigFixedWing reset the mixer vectors to zero prior to writing anew. 2012-06-13 15:09:54 -07:00
Mike LaBranche
8283d4280e UAVTalk, change private member QIODevice* io to smart pointer QPointer<QIODevice> 2012-06-13 14:57:43 -07:00
Laura Sebesta
9409ea53da Minor GUI settings upgrades, to fit small screens better. 2012-06-13 08:40:29 +03:00
James Cotton
295fa4a8f3 Fix bug where the aircraft gadget initially shows the quad tab but the selector
says plane.
2012-06-12 23:12:53 -05:00
Brian Webb
c06412f83b Removed some qDebug from PipX configuration widget. 2012-06-12 20:00:58 -07:00
Brian Webb
aa8ba898fc Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-12 19:49:03 -07:00
Brian Webb
69a38ddd77 PipX configuration screen improvements. 2012-06-12 19:48:31 -07:00
James Cotton
1fad5c9fc2 Fix the stabilization expert UI so the label is in the right place 2012-06-12 01:52:32 -05:00
Brian Webb
ce9d96e1b1 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-11 21:30:31 -07:00
Brian Webb
9c1549e6a2 Change return type from Telemetry::transactionTimeout back to void. 2012-06-11 21:24:56 -07:00
Brian Webb
952c6d9f32 Added support for multiple transactions to GCS telemetry. 2012-06-11 21:06:50 -07:00