Subversion Repositories Projects

Rev

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

Rev 30 Rev 77
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 N73
88
 Nokia N73
89
 Nokia N80 
89
 Nokia N80 
90
 Nokia N93
90
 Nokia N93
91
 Nokia N95 
91
 Nokia N95
92
 
-
 
-
 
92
 Nokia E90 ( FrontDisplay )
93
 
93
 Nokia E51
94
 
94
 
95
 Nokia 6234
95
 Nokia 6234
96
 Nokia 6131 
96
 Nokia 6131 
97
 Nokia 6300
97
 Nokia 6300
98
 Nokia 6230
98
 Nokia 6230
99
 Nokia 6230i ( without MK )
99
 Nokia 6230i ( without MK )
100
 
100
 
101
*** Compile:
101
*** Compile:
102
 - install some tools to fullfill Compile-Dependencys ( see below )
102
 - install some tools to fullfill Compile-Dependencys ( see below )
103
 - Set the path to WTK it in build.xml 
103
 - Set the path to WTK it in build.xml 
104
 - execute $> ant build
104
 - execute $> ant build
105
 - the JAR and JAD will appear in build/bin when success
105
 - the JAR and JAD will appear in build/bin when success
106
 * 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
107
 
107
 
108
*** Dependencys:
108
*** Dependencys:
109
 Run:
109
 Run:
110
  - The Phone needs the Bluetooth API and MIDP 2.0 .
110
  - The Phone needs the Bluetooth API and MIDP 2.0 .
111
  - 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
112
 Compile:
112
 Compile:
113
  - WTK ( 2.2 proven to work - please test with newer )
113
  - WTK ( 2.2 proven to work - please test with newer )
114
  - 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
115
) when willing to obfuscate 
115
) when willing to obfuscate 
116
  - ANT 
116
  - ANT 
117
  - Ruby for some scripts around the build process
117
  - Ruby for some scripts around the build process
118
 
118
 
119
*** ToDo:
119
*** ToDo:
120
 - bidirektional Proxying to TCP/IP ( GPRS / UMTS / WLAN ( e.g. N80) .. )
120
 - bidirektional Proxying to TCP/IP ( GPRS / UMTS / WLAN ( e.g. N80) .. )
121
 - internationalize Stings
121
 - internationalize Stings
122
 - measure DebugSets per Second
122
 - measure DebugSets per Second
123
 - log data/csv ( send via TCP/IP ; save )
123
 - log data/csv ( send via TCP/IP ; save )
124
 - Sound Alarms on Batt low or other triggers
124
 - Sound Alarms on Batt low or other triggers
125
 - 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 )
126
 - 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)
127
 - triangulate MK by BT rssi
127
 - triangulate MK by BT rssi
128
 - trigger mobile-cammera via FC
128
 - trigger mobile-cammera via FC
129
 - 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 )
130
 - Port to Android ( will do when i have such a phone ;-)
130
 - Port to Android ( will do when i have such a phone ;-)
131
 - tbc 
131
 - tbc 
132
 
132
 
133
*** ChangeLog:
133
*** ChangeLog:
134
  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)
135
  0.02 - reconnect after connection loss ( e.g. switching on/off )
135
  0.02 - reconnect after connection loss ( e.g. switching on/off )
136
  0.03 - added send_command ( with CRC )
136
  0.03 - added send_command ( with CRC )
137
  0.04 - added decode64 to decode 'pseudo' BASE64
137
  0.04 - added decode64 to decode 'pseudo' BASE64
138
  0.05 - added get_version
138
  0.05 - added get_version
139
  0.06 - added parsing of DebugData
139
  0.06 - added parsing of DebugData
140
  0.07 - Code-(Doc&&Cleanup) && initial svn commit
140
  0.07 - Code-(Doc&&Cleanup) && initial svn commit
141
  0.08 - Initial README / ToDo List
141
  0.08 - Initial README / ToDo List
142
  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)
143
  0.10 - initial MKMinimalMidlet / Canvas
143
  0.10 - initial MKMinimalMidlet / Canvas
144
  0.11 - 1st public binary ( JAR/JAD)
144
  0.11 - 1st public binary ( JAR/JAD)
145
  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 ;-)
146
  0.14 - measure idling mixture
146
  0.14 - measure idling mixture
147
  0.15 - Fixed Nokia Problem 2 instead of 2.0 ..
147
  0.15 - Fixed Nokia Problem 2 instead of 2.0 ..
148
  0.16 - LCD implementation & polishing code on serveral places
148
  0.16 - LCD implementation & polishing code on serveral places
149
  0.17 - Quit via * | Rescan via #
149
  0.17 - Quit via * | Rescan via #
150
  0.18 - Remember URL ( bt-mac ) on quit
150
  0.18 - Remember URL ( bt-mac ) on quit
151
  0.19 - better handling of MK Version 
151
  0.19 - better handling of MK Version 
152
  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)
153
  0.24 - adding some GFX 
153
  0.24 - adding some GFX 
154
  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)
155
  0.26 - more Visuals
155
  0.26 - more Visuals
156
  0.27 - implemented motor_test
156
  0.27 - implemented motor_test
157
  0.28 - Icon
157
  0.28 - Icon
158
  0.29 - ressources for 176x220 / Ress differencing
158
  0.29 - ressources for 176x220 / Ress differencing
159
  0.30 - Load Parameters from MK
159
  0.30 - Load Parameters from MK
160
  0.31 - Edit Parameters ( MKParamEdit.java )
160
  0.31 - Edit Parameters ( MKParamEdit.java )
161
  0.32 - Main Menu
161
  0.32 - Main Menu
162
  0.33 - Bugfix / Code CleanUp
162
  0.33 - Bugfix / Code CleanUp
163
  0.34 - select ParamSet to edit
163
  0.34 - select ParamSet to edit
164
  0.35 - Proxy server test script
164
  0.35 - Proxy server test script
165
  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 )
166
  0.37 - write ParamSets / BugFixing
166
  0.37 - write ParamSets / BugFixing
167
  0.38 - scrolling intro string ( some EYE-Candy )
167
  0.38 - scrolling intro string ( some EYE-Candy )
168
  0.39 - rotation instead of clipping in main menu select
168
  0.39 - rotation instead of clipping in main menu select
169
  0.40 - Input Values in ParameterEditor via KEY0..KEY9
169
  0.40 - Input Values in ParameterEditor via KEY0..KEY9
170
  0.41 - block motortest values > 255 / BugFixes / better Parameter Input
170
  0.41 - block motortest values > 255 / BugFixes / better Parameter Input
171
  0.42 - Display UBatt and SenderOkay
171
  0.42 - Display UBatt and SenderOkay
172
       - RAW Debug Mode
172
       - RAW Debug Mode
173
       - BugFixes ( e.g. SetPoint in ParamsParser was wrong )
173
       - BugFixes ( e.g. SetPoint in ParamsParser was wrong )
174
       - 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	
175
       - 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
176
       - Vibration on Connection loss
176
       - Vibration on Connection loss
177
       - StarField BackGround
177
       - StarField BackGround
178
       - Fixing Bluetooth Image & Activity Indicator
178
       - Fixing Bluetooth Image & Activity Indicator