Subversion Repositories Projects

Rev

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

Rev 3 Rev 30
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
 
-
 
88
 Nokia N95 
-
 
89
 Nokia N80 
87
 
-
 
88
 Nokia N73
-
 
89
 Nokia N80 
-
 
90
 Nokia N93
-
 
91
 Nokia N95 
-
 
92
 
-
 
93
 
90
 Nokia N73
94
 
91
 Nokia 6234
95
 Nokia 6234
92
 Nokia 6131 
96
 Nokia 6131 
93
 Nokia 6300
97
 Nokia 6300
94
 Nokia 6230
98
 Nokia 6230
95
 Nokia 6230i ( without MK )
99
 Nokia 6230i ( without MK )
96
 
100
 
97
*** Compile:
101
*** Compile:
98
 - install some tools to fullfill Compile-Dependencys ( see below )
102
 - install some tools to fullfill Compile-Dependencys ( see below )
99
 - Set the path to WTK it in build.xml 
103
 - Set the path to WTK it in build.xml 
100
 - execute $> ant build
104
 - execute $> ant build
101
 - the JAR and JAD will appear in build/bin when success
105
 - the JAR and JAD will appear in build/bin when success
102
 * see http://forum.mikrokopter.de/topic-post15829.html#post15829 for Hints on Compiling on Windows
106
 * see http://forum.mikrokopter.de/topic-post15829.html#post15829 for Hints on Compiling on Windows
103
 
107
 
104
*** Dependencys:
108
*** Dependencys:
105
 Run:
109
 Run:
106
  - The Phone needs the Bluetooth API and MIDP 2.0 .
110
  - The Phone needs the Bluetooth API and MIDP 2.0 .
107
  - The MK needs a Bluetooth-Modul - http://mikrokopter.de/ucwiki/F2M03GXA?action=show
111
  - The MK needs a Bluetooth-Modul - http://mikrokopter.de/ucwiki/F2M03GXA?action=show
108
 Compile:
112
 Compile:
109
  - WTK ( 2.2 proven to work - please test with newer )
113
  - WTK ( 2.2 proven to work - please test with newer )
110
  - Obfuscator (e.g. Proguard from http://sourceforge.net/project/showfiles.php?group_id=54750
114
  - Obfuscator (e.g. Proguard from http://sourceforge.net/project/showfiles.php?group_id=54750
111
) when willing to obfuscate 
115
) when willing to obfuscate 
112
  - ANT 
116
  - ANT 
113
  - Ruby for some scripts around the build process
117
  - Ruby for some scripts around the build process
114
 
118
 
115
*** ToDo:
119
*** ToDo:
116
 - bidirektional Proxying to TCP/IP ( GPRS / UMTS / WLAN ( e.g. N80) .. )
120
 - bidirektional Proxying to TCP/IP ( GPRS / UMTS / WLAN ( e.g. N80) .. )
117
 - internationalize Stings
121
 - internationalize Stings
118
 - measure DebugSets per Second
122
 - measure DebugSets per Second
119
 - log data/csv ( send via TCP/IP ; save )
123
 - log data/csv ( send via TCP/IP ; save )
120
 - Sound Alarms on Batt low or other triggers
124
 - Sound Alarms on Batt low or other triggers
121
 - Flash new MK Version via this Tool ( with online connectivity it could be an automatic update reminder )
125
 - Flash new MK Version via this Tool ( with online connectivity it could be an automatic update reminder )
122
 - making lib to be useable with desktop JAVA / will be sceduled after bluecove for linux is ready ( anounced for next Version)
126
 - making lib to be useable with desktop JAVA / will be sceduled after bluecove for linux is ready ( anounced for next Version)
123
 - triangulate MK by BT rssi
127
 - triangulate MK by BT rssi
124
 - trigger mobile-cammera via FC
128
 - trigger mobile-cammera via FC
125
 - save/reat Parameters in/from RMS ( e.g. to copy parameters from MK 2 MK )
129
 - save/reat Parameters in/from RMS ( e.g. to copy parameters from MK 2 MK )
126
 - Port to Android ( will do when i have such a phone ;-)
130
 - Port to Android ( will do when i have such a phone ;-)
127
 - tbc 
131
 - tbc 
128
 
132
 
129
*** ChangeLog:
133
*** ChangeLog:
130
  0.01 - initial Version ( initialize connection / main Thread with reading data from MK)
134
  0.01 - initial Version ( initialize connection / main Thread with reading data from MK)
131
  0.02 - reconnect after connection loss ( e.g. switching on/off )
135
  0.02 - reconnect after connection loss ( e.g. switching on/off )
132
  0.03 - added send_command ( with CRC )
136
  0.03 - added send_command ( with CRC )
133
  0.04 - added decode64 to decode 'pseudo' BASE64
137
  0.04 - added decode64 to decode 'pseudo' BASE64
134
  0.05 - added get_version
138
  0.05 - added get_version
135
  0.06 - added parsing of DebugData
139
  0.06 - added parsing of DebugData
136
  0.07 - Code-(Doc&&Cleanup) && initial svn commit
140
  0.07 - Code-(Doc&&Cleanup) && initial svn commit
137
  0.08 - Initial README / ToDo List
141
  0.08 - Initial README / ToDo List
138
  0.09 - implemented BTScanner for detecting BT-Devices (No hard mac anymore for first public bin)
142
  0.09 - implemented BTScanner for detecting BT-Devices (No hard mac anymore for first public bin)
139
  0.10 - initial MKMinimalMidlet / Canvas
143
  0.10 - initial MKMinimalMidlet / Canvas
140
  0.11 - 1st public binary ( JAR/JAD)
144
  0.11 - 1st public binary ( JAR/JAD)
141
  0.12 - measure Uptime ( like that word for MK being in Air ;-)
145
  0.12 - measure Uptime ( like that word for MK being in Air ;-)
142
  0.14 - measure idling mixture
146
  0.14 - measure idling mixture
143
  0.15 - Fixed Nokia Problem 2 instead of 2.0 ..
147
  0.15 - Fixed Nokia Problem 2 instead of 2.0 ..
144
  0.16 - LCD implementation & polishing code on serveral places
148
  0.16 - LCD implementation & polishing code on serveral places
145
  0.17 - Quit via * | Rescan via #
149
  0.17 - Quit via * | Rescan via #
146
  0.18 - Remember URL ( bt-mac ) on quit
150
  0.18 - Remember URL ( bt-mac ) on quit
147
  0.19 - better handling of MK Version 
151
  0.19 - better handling of MK Version 
148
  0.23 - care for Version while parsing DebugData - MK0.64 compatible now (0.20-0.23 - n1 bugfixing With CaSCade)
152
  0.23 - care for Version while parsing DebugData - MK0.64 compatible now (0.20-0.23 - n1 bugfixing With CaSCade)
149
  0.24 - adding some GFX 
153
  0.24 - adding some GFX 
150
  0.25 - adding Graph ( Nick int;Roll int; nick acc ;roll acc)
154
  0.25 - adding Graph ( Nick int;Roll int; nick acc ;roll acc)
151
  0.26 - more Visuals
155
  0.26 - more Visuals
152
  0.27 - implemented motor_test
156
  0.27 - implemented motor_test
153
  0.28 - Icon
157
  0.28 - Icon
154
  0.29 - ressources for 176x220 / Ress differencing
158
  0.29 - ressources for 176x220 / Ress differencing
155
  0.30 - Load Parameters from MK
159
  0.30 - Load Parameters from MK
156
  0.31 - Edit Parameters ( MKParamEdit.java )
160
  0.31 - Edit Parameters ( MKParamEdit.java )
157
  0.32 - Main Menu
161
  0.32 - Main Menu
158
  0.33 - Bugfix / Code CleanUp
162
  0.33 - Bugfix / Code CleanUp
159
  0.34 - select ParamSet to edit
163
  0.34 - select ParamSet to edit
160
  0.35 - Proxy server test script
164
  0.35 - Proxy server test script
161
  0.36 - initial Proxy-function in DUBwise ( send data recieved from mk to socket )
165
  0.36 - initial Proxy-function in DUBwise ( send data recieved from mk to socket )
162
  0.37 - write ParamSets / BugFixing
166
  0.37 - write ParamSets / BugFixing
163
  0.38 - scrolling intro string ( some EYE-Candy )
167
  0.38 - scrolling intro string ( some EYE-Candy )
164
  0.39 - rotation instead of clipping in main menu select
168
  0.39 - rotation instead of clipping in main menu select
165
  0.40 - Input Values in ParameterEditor via KEY0..KEY9
169
  0.40 - Input Values in ParameterEditor via KEY0..KEY9
166
  0.41 - block motortest values > 255 / BugFixes / better Parameter Input
170
  0.41 - block motortest values > 255 / BugFixes / better Parameter Input
167
  0.42 - Display UBatt and SenderOkay
171
  0.42 - Display UBatt and SenderOkay
168
       - RAW Debug Mode
172
       - RAW Debug Mode
169
       - BugFixes ( e.g. SetPoint in ParamsParser was wrong )
173
       - BugFixes ( e.g. SetPoint in ParamsParser was wrong )
170
       - using newer Antenna Preprocessor so that version has to be changed only once	
174
       - using newer Antenna Preprocessor so that version has to be changed only once	
171
       - KeyControl -> send KeyEvents as BitField from mobile to FC in order to control the MK
175
       - KeyControl -> send KeyEvents as BitField from mobile to FC in order to control the MK
172
       - Vibration on Connection loss
176
       - Vibration on Connection loss
173
       - StarField BackGround
177
       - StarField BackGround
174
       - Fixing Bluetooth Image & Activity Indicator
178
       - Fixing Bluetooth Image & Activity Indicator