Subversion Repositories FlightCtrl

Rev

Rev 485 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 485 Rev 495
1
/*************************************************************************************************
1
/*************************************************************************************************
2
 *
2
 *
3
 * DUBwise
3
 * DUBwise
4
 * Digital UFO Broadcasting with intelligent service equipment
4
 * Digital UFO Broadcasting with intelligent service equipment
5
 *
5
 *
6
 * Project to Communicate via J2ME (Mobile Phone) and Bluetooth 
6
 * Project to Communicate via J2ME (Mobile Phone) and Bluetooth 
7
 * with a MikroKopter ( www.mikrokopter.de )
7
 * with a MikroKopter ( www.mikrokopter.de )
8
 * 
8
 * 
9
 *
9
 *
10
 * Author:        Marcus -LiGi- Bueschleb
10
 * Author:        Marcus -LiGi- Bueschleb
11
 * Project-Start: 9/2007
11
 * Project-Start: 9/2007
12
 * Version:	  0.42
12
 * Version:	  0.42
13
 * Mailto:        ligi 
13
 * Mailto:        ligi 
14
 *		  <-/AT/-> 
14
 *		  <-/AT/-> 
15
 *		  smart4mobile.de
15
 *		  smart4mobile.de
16
 *
16
 *
17
 * Licence:       http://creativecommons.org/licenses/by-nc-sa/2.0/de/
17
 * Licence:       http://creativecommons.org/licenses/by-nc-sa/2.0/de/
18
 *                (Creative Commons / Non Commercial / Share Alike) 
18
 *                (Creative Commons / Non Commercial / Share Alike) 
19
 *		  Addtitonally to this Licence it is not allowed to use this software in any violent manner.
19
 *		  Addtitonally to this Licence it is not allowed to use this software in any violent manner.
20
 *                This explicitly includes that lethal Weapon owning "People" (e.g. Army & Police) are not allowed to use this Project
20
 *                This explicitly includes that lethal Weapon owning "People" (e.g. Army & Police) are not allowed to use this Project
21
 *		  If you want to use this tool in any Commercial Context - please contact me first!
21
 *		  If you want to use this tool in any Commercial Context - please contact me first!
22
 *
22
 *
23
 * Disclaimer:    Use this Project at your own Risk!
23
 * Disclaimer:    Use this Project at your own Risk!
24
 *
24
 *
25
 * Credits:       Holger&Ingo for the MikroKopter Project
25
 * Credits:       Holger&Ingo for the MikroKopter Project
26
 *                CaScAdE for Testing and Graphics
26
 *                CaScAdE for Testing and Graphics
27
 *                Orion8 for inspiration
27
 *                Orion8 for inspiration
28
 *                Joko for Testing and Comments
28
 *                Joko for Testing and Comments
29
 *                Thomas Fitchen for equipping me with my first RC stuff
29
 *                Thomas Fitchen for equipping me with my first RC stuff
30
 *
30
 *
31
 * Online Links:
31
 * Online Links:
32
 *
32
 *
33
 *  -this Document (Subversion):                                                                                       
33
 *  -this Document (Subversion):                                                                                       
34
 *   http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/branches/ligi_j2me/README
34
 *   http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/branches/ligi_j2me/README
35
 *
35
 *
36
 *  -Wiki:
36
 *  -Wiki:
37
 *   http://mikrokopter.de/ucwiki/en/DUBwise
37
 *   http://mikrokopter.de/ucwiki/en/DUBwise
38
 * 
38
 * 
39
 *  -Forum ( German Discussion around DUBwise ):
39
 *  -Forum ( German Discussion around DUBwise ):
40
 *   http://forum.mikrokopter.de/topic-1682.html
40
 *   http://forum.mikrokopter.de/topic-1682.html
41
 *  
41
 *  
42
 *  -GetJar:
42
 *  -GetJar:
43
 *   http://www.getjar.com/products/12587/DUBwise   
43
 *   http://www.getjar.com/products/12587/DUBwise   
44
 *
44
 *
45
 *************************************************************************************************/
45
 *************************************************************************************************/
46
 
46
 
47
*** Features:
47
*** Features:
48
 - draw Graphs with Nick integral / Roll integral / Nick acc / Roll acc
48
 - draw Graphs with Nick integral / Roll integral / Nick acc / Roll acc
49
 - test each motor ( like MotorTest in MK-Tool )
49
 - test each motor ( like MotorTest in MK-Tool )
50
 - Draw LCD of mk ( + interact with it Up/Down )
50
 - Draw LCD of mk ( + interact with it Up/Down )
51
 - Fly the MikroKopter ( you nees GPS and a special MK-Version )
51
 - Fly the MikroKopter ( you nees GPS and a special MK-Version )
52
 - View all DebugValues
52
 - View all DebugValues
53
 - measure ConnectionTime / Motor=15Time / Motor>15Time ( UpTime )
53
 - measure ConnectionTime / Motor=15Time / Motor>15Time ( UpTime )
54
 - Read and Edit Settings/Parameters from MK
54
 - Read and Edit Settings/Parameters from MK
55
 - initial Proxy Function ( send Data from MK via TCP/IP to socket )
55
 - initial Proxy Function ( send Data from MK via TCP/IP to socket )
56
 - save MK MAC/Name - so that scanning is only needed once ( you have to Quit via the Menu-Item - not the systems Exit button or simply turning the Phone off)
56
 - save MK MAC/Name - so that scanning is only needed once ( you have to Quit via the Menu-Item - not the systems Exit button or simply turning the Phone off)
57
 - get MK_version
57
 - get MK_version
58
 - reconnect after connection loss ( detection of disconnect could be faster )
58
 - reconnect after connection loss ( detection of disconnect could be faster )
59
 
59
 
60
 
60
 
61
*** Install:
61
*** Install:
62
 - If u know how to handle JAR/JADs take the ones from the bin directory. 
62
 - If u know how to handle JAR/JADs take the ones from the bin directory. 
63
 - If u dont visit http://www.getjar.com/products/12587/DUBwise ( SVN might be more recent)
63
 - If u dont visit http://www.getjar.com/products/12587/DUBwise ( SVN might be more recent)
64
 
64
 
65
*** Usage:
65
*** Usage:
66
 General:
66
 General:
67
  KEY # toggle Fullscreen
67
  KEY # toggle Fullscreen
68
  KEY * MainMenu
68
  KEY * MainMenu
69
 
69
 
70
 Device selection Screen:
70
 Device selection Screen:
71
  KEY UP/Down to select device
71
  KEY UP/Down to select device
72
 
72
 
73
 Telemetry Screen:
73
 Telemetry Screen:
74
  KEY UP to go Page up in MK-LCD
74
  KEY UP to go Page up in MK-LCD
75
  KEY DOWN to go Page up in MK-LCD
75
  KEY DOWN to go Page up in MK-LCD
76
   
76
   
77
 MotorTest Screen
77
 MotorTest Screen
78
  UP/DOWN increas/decrease speed of actual motor
78
  UP/DOWN increas/decrease speed of actual motor
79
  LEFT prev motor ( if first go to main screen )
79
  LEFT prev motor ( if first go to main screen )
80
  RIGHT next motor 
80
  RIGHT next motor 
81
   
81
   
82
*** Tested on:
82
*** Tested on:
83
 SE  K800i
83
 SE  K800i
84
 SE  W800i
84
 SE  W800i
85
 SE  W810i
85
 SE  W810i
86
 SE  K610i
86
 SE  K610i
87
 
87
 
88
 Nokia N95 
88
 Nokia N95 
89
 Nokia N80 
89
 Nokia N80 
90
 Nokia 6234
90
 Nokia 6234
91
 Nokia 6131 
91
 Nokia 6131 
92
 Nokia 6300
92
 Nokia 6300
93
 Nokia 6230
93
 Nokia 6230
94
 Nokia 6230i ( without MK )
94
 Nokia 6230i ( without MK )
95
 
95
 
96
*** Compile:
96
*** Compile:
97
 - install some tools to fullfill Compile-Dependencys ( see below )
97
 - install some tools to fullfill Compile-Dependencys ( see below )
98
 - Set the path to WTK it in build.xml 
98
 - Set the path to WTK it in build.xml 
99
 - execute $> ant build
99
 - execute $> ant build
100
 - the JAR and JAD will appear in build/bin when success
100
 - the JAR and JAD will appear in build/bin when success
101
 * see http://forum.mikrokopter.de/topic-post15829.html#post15829 for Hints on Compiling on Windows
101
 * see http://forum.mikrokopter.de/topic-post15829.html#post15829 for Hints on Compiling on Windows
102
 
102
 
103
*** Dependencys:
103
*** Dependencys:
104
 Run:
104
 Run:
105
  - The Phone needs the Bluetooth API and MIDP 2.0 .
105
  - The Phone needs the Bluetooth API and MIDP 2.0 .
106
  - The MK needs a Bluetooth-Modul - http://mikrokopter.de/ucwiki/F2M03GXA?action=show
106
  - The MK needs a Bluetooth-Modul - http://mikrokopter.de/ucwiki/F2M03GXA?action=show
107
 Compile:
107
 Compile:
108
  - WTK ( 2.2 proven to work - please test with newer )
108
  - WTK ( 2.2 proven to work - please test with newer )
109
  - Obfuscator (e.g. Proguard from http://sourceforge.net/project/showfiles.php?group_id=54750
109
  - Obfuscator (e.g. Proguard from http://sourceforge.net/project/showfiles.php?group_id=54750
110
) when willing to obfuscate 
110
) when willing to obfuscate 
111
  - ANT 
111
  - ANT 
112
  - Ruby for some scripts around the build process
112
  - Ruby for some scripts around the build process
113
 
113
 
114
*** ToDo:
114
*** ToDo:
115
 - bidirektional Proxying to TCP/IP ( GPRS / UMTS / WLAN ( e.g. N80) .. )
115
 - bidirektional Proxying to TCP/IP ( GPRS / UMTS / WLAN ( e.g. N80) .. )
116
 - internationalize Stings
116
 - internationalize Stings
117
 - measure DebugSets per Second
117
 - measure DebugSets per Second
118
 - log data/csv ( send via TCP/IP ; save )
118
 - log data/csv ( send via TCP/IP ; save )
119
 - Sound Alarms on Batt low or other triggers
119
 - Sound Alarms on Batt low or other triggers
120
 - Flash new MK Version via this Tool ( with online connectivity it could be an automatic update reminder )
120
 - Flash new MK Version via this Tool ( with online connectivity it could be an automatic update reminder )
121
 - making lib to be useable with desktop JAVA / will be sceduled after bluecove for linux is ready ( anounced for next Version)
121
 - making lib to be useable with desktop JAVA / will be sceduled after bluecove for linux is ready ( anounced for next Version)
122
 - triangulate MK by BT rssi
122
 - triangulate MK by BT rssi
123
 - trigger mobile-cammera via FC
123
 - trigger mobile-cammera via FC
124
 - save/reat Parameters in/from RMS ( e.g. to copy parameters from MK 2 MK )
124
 - save/reat Parameters in/from RMS ( e.g. to copy parameters from MK 2 MK )
125
 - Port to Android ( will do when i have such a phone ;-)
125
 - Port to Android ( will do when i have such a phone ;-)
126
 - tbc 
126
 - tbc 
127
 
127
 
128
*** ChangeLog:
128
*** ChangeLog:
129
  0.01 - initial Version ( initialize connection / main Thread with reading data from MK)
129
  0.01 - initial Version ( initialize connection / main Thread with reading data from MK)
130
  0.02 - reconnect after connection loss ( e.g. switching on/off )
130
  0.02 - reconnect after connection loss ( e.g. switching on/off )
131
  0.03 - added send_command ( with CRC )
131
  0.03 - added send_command ( with CRC )
132
  0.04 - added decode64 to decode 'pseudo' BASE64
132
  0.04 - added decode64 to decode 'pseudo' BASE64
133
  0.05 - added get_version
133
  0.05 - added get_version
134
  0.06 - added parsing of DebugData
134
  0.06 - added parsing of DebugData
135
  0.07 - Code-(Doc&&Cleanup) && initial svn commit
135
  0.07 - Code-(Doc&&Cleanup) && initial svn commit
136
  0.08 - Initial README / ToDo List
136
  0.08 - Initial README / ToDo List
137
  0.09 - implemented BTScanner for detecting BT-Devices (No hard mac anymore for first public bin)
137
  0.09 - implemented BTScanner for detecting BT-Devices (No hard mac anymore for first public bin)
138
  0.10 - initial MKMinimalMidlet / Canvas
138
  0.10 - initial MKMinimalMidlet / Canvas
139
  0.11 - 1st public binary ( JAR/JAD)
139
  0.11 - 1st public binary ( JAR/JAD)
140
  0.12 - measure Uptime ( like that word for MK being in Air ;-)
140
  0.12 - measure Uptime ( like that word for MK being in Air ;-)
141
  0.14 - measure idling mixture
141
  0.14 - measure idling mixture
142
  0.15 - Fixed Nokia Problem 2 instead of 2.0 ..
142
  0.15 - Fixed Nokia Problem 2 instead of 2.0 ..
143
  0.16 - LCD implementation & polishing code on serveral places
143
  0.16 - LCD implementation & polishing code on serveral places
144
  0.17 - Quit via * | Rescan via #
144
  0.17 - Quit via * | Rescan via #
145
  0.18 - Remember URL ( bt-mac ) on quit
145
  0.18 - Remember URL ( bt-mac ) on quit
146
  0.19 - better handling of MK Version 
146
  0.19 - better handling of MK Version 
147
  0.23 - care for Version while parsing DebugData - MK0.64 compatible now (0.20-0.23 - n1 bugfixing With CaSCade)
147
  0.23 - care for Version while parsing DebugData - MK0.64 compatible now (0.20-0.23 - n1 bugfixing With CaSCade)
148
  0.24 - adding some GFX 
148
  0.24 - adding some GFX 
149
  0.25 - adding Graph ( Nick int;Roll int; nick acc ;roll acc)
149
  0.25 - adding Graph ( Nick int;Roll int; nick acc ;roll acc)
150
  0.26 - more Visuals
150
  0.26 - more Visuals
151
  0.27 - implemented motor_test
151
  0.27 - implemented motor_test
152
  0.28 - Icon
152
  0.28 - Icon
153
  0.29 - ressources for 176x220 / Ress differencing
153
  0.29 - ressources for 176x220 / Ress differencing
154
  0.30 - Load Parameters from MK
154
  0.30 - Load Parameters from MK
155
  0.31 - Edit Parameters ( MKParamEdit.java )
155
  0.31 - Edit Parameters ( MKParamEdit.java )
156
  0.32 - Main Menu
156
  0.32 - Main Menu
157
  0.33 - Bugfix / Code CleanUp
157
  0.33 - Bugfix / Code CleanUp
158
  0.34 - select ParamSet to edit
158
  0.34 - select ParamSet to edit
159
  0.35 - Proxy server test script
159
  0.35 - Proxy server test script
160
  0.36 - initial Proxy-function in DUBwise ( send data recieved from mk to socket )
160
  0.36 - initial Proxy-function in DUBwise ( send data recieved from mk to socket )
161
  0.37 - write ParamSets / BugFixing
161
  0.37 - write ParamSets / BugFixing
162
  0.38 - scrolling intro string ( some EYE-Candy )
162
  0.38 - scrolling intro string ( some EYE-Candy )
163
  0.39 - rotation instead of clipping in main menu select
163
  0.39 - rotation instead of clipping in main menu select
164
  0.40 - Input Values in ParameterEditor via KEY0..KEY9
164
  0.40 - Input Values in ParameterEditor via KEY0..KEY9
165
  0.41 - block motortest values > 255 / BugFixes / better Parameter Input
165
  0.41 - block motortest values > 255 / BugFixes / better Parameter Input
166
  0.42 - Display UBatt and SenderOkay
166
  0.42 - Display UBatt and SenderOkay
167
       - RAW Debug Mode
167
       - RAW Debug Mode
168
       - BugFixes ( e.g. SetPoint in ParamsParser was wrong )
168
       - BugFixes ( e.g. SetPoint in ParamsParser was wrong )
169
       - using newer Antenna Preprocessor so that version has to be changed only once	
169
       - using newer Antenna Preprocessor so that version has to be changed only once	
170
       - KeyControl -> send KeyEvents as BitField from mobile to FC in order to control the MK
170
       - KeyControl -> send KeyEvents as BitField from mobile to FC in order to control the MK
-
 
171
       - Vibration on Connection loss
-
 
172
       - StarField BackGround
-
 
173
       - Fixing Bluetooth Image & Activity Indicator