Subversion Repositories Projects

Rev

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

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