Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 76 → Rev 77

/DUBwise/README
88,10 → 88,10
Nokia N73
Nokia N80
Nokia N93
Nokia N95
Nokia N95
Nokia E90 ( FrontDisplay )
Nokia E51
 
 
 
Nokia 6234
Nokia 6131
Nokia 6300
/DUBwise/build.xml
2,7 → 2,7
<property name="wtk.home" value="/home/ligi/tools/WTK2.2/"/>
 
<property name="project_name" value="DUBwise"/> <!-- jar filename -->
<property name="project_version" value="0.42"/>
<property name="project_version" value="0.43"/>
 
<property file="build.props"/>
 
20,7 → 20,7
<property name="wtk.midpapi" value="${lib_dir}/classes.zip"/>
<target name="build">
<wtkpreprocess version="2" srcdir="${src_dir}" destdir="${preprocessed_src_dir}" symbols="VERSION=${project_version}" verbose="false"/>
<wtkpreprocess version="2" srcdir="${src_dir}" destdir="${preprocessed_src_dir}" symbols="VERSION=${project_version},voice_mode=${voice_mode}" verbose="false"/>
<wtkbuild destdir="${build_dir}/classes" srcdir="${preprocessed_src_dir}" target="1.1" preverify="true"/>
<wtkjad
jadfile="${build_dir}/bin/${basename}.jad"
/DUBwise/build_all.rb
14,11 → 14,12
 
 
 
screensizes=["240x320","176x220","128x128"]
voice_modes=["no_voice","de_tts"]
screensizes=["128x128","176x220","240x320"]
voice_modes=["no_voice","de_tts","de_64kbit_tts","en_speedy","wav"]
#screensizes=["240x320"]
#voice_modes=["wav"]
 
 
 
if !ARGV[0].nil?
screensizes&=[ARGV[0]]
if screensizes.length==0
31,18 → 32,25
propertys={}
p "?"
screensizes.each { |screensize|
p "cleaning ressources"
p `rm -rf tmp/res`
p `mkdir tmp/res`
p "processing Screensize " + screensize
p `cp -v res/images_by_screensize/#{screensize}/* tmp/res/`
 
 
propertys["screensize"]=screensize
 
 
 
voice_modes.each { |voice_mode|
p "processing voice_mode" + voice_mode
 
p "cleaning ressources"
p `rm -rf tmp/res`
p `mkdir tmp/res`
 
p `cp -v res/images_by_screensize/#{screensize}/* tmp/res/`
 
propertys["screensize"]=screensize
 
p "voice_mode" + voice_mode
p "Screensize " + screensize
 
propertys["voice_mode"]=voice_mode
 
propertys["basename"]="DUBwise-#{screensize}-#{voice_mode}"
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/1.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/10.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/11.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/12.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/13.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/2.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/3.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/4.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/5.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/6.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/7.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/8.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/9.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/komma.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/de_64kbit_tts/volt.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/1.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/10.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/11.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/12.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/13.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/2.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/3.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/4.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/5.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/6.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/7.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/8.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/9.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/komma.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/en_speedy/volt.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/1.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/10.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/11.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/12.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/13.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/2.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/3.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/4.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/5.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/6.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/7.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/8.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/9.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/komma.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/res/voice_samples_by_name/wav/volt.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/DUBwise/src/MKDebugData.java
21,10 → 21,10
private int i;
 
public int motor_val(int id) { return analog[12+id]; }
public int nick_int() { return analog[1]; }
public int roll_int() { return analog[2]; }
public int accnick() { return analog[3]; }
public int accroll() { return analog[4]; }
public int nick_int() { return analog[0]; }
public int roll_int() { return analog[1]; }
public int accnick() { return analog[2]; }
public int accroll() { return analog[3]; }
 
 
public int UBatt() { return analog[9]; }
69,7 → 69,8
{
for (i=0;i<32;i++)
{
analog[i]=(int)((in_arr[1+i*2]<<8) | in_arr[2+i*2]);
//analog[i]=(int)((in_arr[1+i*2]<<8) | in_arr[2+i*2]);
analog[i]=(int)((in_arr[3+i*2]<<8) | in_arr[2+i*2]);
if ((analog[i]&(1<<15))!=0)
analog[i]=-(analog[i]&(0xFFFF-1))^(0xFFFF-1);
}
/DUBwise/src/MKLCD.java
1,12 → 1,12
/*********************************************************************************************************************************
* *
* Handling of MK LCD *
* *
* Author: Marcus -LiGi- Bueschleb *
*
/*******************************************
*
* Handling of MK LCD
*
* Author: Marcus -LiGi- Bueschleb
* see README for further Infos
*
*********************************************************************************************************************************/
*
*******************************************/
 
public class MKLCD
implements Runnable
14,11 → 14,36
 
MKCommunicator mk=null;
 
public String[] LCD_str;
// public String[] LCD_str;
 
private String[][] lcd_buf;
private final static int MAX_LCD_PAGES=20;
int act_key=0;
int act_mk_page=0;
int act_user_page=0;
boolean initial_run=true;
 
int pages=0;
 
int pages_read=0;
 
byte init_state=0;
 
public String[] get_act_page()
{ return lcd_buf[act_user_page]; }
 
public MKLCD(MKCommunicator _mk)
{
LCD_str=new String[4];
lcd_buf=new String[MAX_LCD_PAGES][4];
 
for (int p=0;p<MAX_LCD_PAGES;p++)
{
lcd_buf[p][0]="buffering Page ";
lcd_buf[p][1]="please stay patient ";
lcd_buf[p][2]=" ";
lcd_buf[p][3]=" ;-) ";
}
 
mk=_mk;
new Thread( this ).start(); // fire up main Thread
}
28,51 → 53,104
while(true)
{
try {
if (mk.connected)
{
 
if (mk.connected)
trigger_LCD();
Thread.sleep(100);
}
else
{
 
}
Thread.sleep(100); }
catch (Exception e) { }
}
}
 
public void set_page(int page)
{
act_user_page=page;
}
 
public void handle_lcd_data(int[] data,int row)
{
LCD_str[row]="";
if (row==0) // firs row indicates page
{
pages_read++;
act_mk_page=data[18]-48;
if (data[17]!=91) // [
act_mk_page+=10*(data[17]-48);
if (act_mk_page>pages)
pages=act_mk_page;
if (( init_state==1)&&(act_mk_page==0))
{ init_state=2; act_key=1; }
else if ((init_state==2)&&(act_mk_page!=0))
{ init_state=3; act_key=2; }
 
 
}
lcd_buf[act_mk_page][row]="";
for(int foo=0;foo<20;foo++)
LCD_str[row]+=(char)data[foo];
lcd_buf[act_mk_page][row]+=(char)data[foo];
 
if (init_state==-1) // init over
{
if (act_mk_page<act_user_page)
act_key=2;
if (act_mk_page>act_user_page)
act_key=1;
 
}
else if (init_state==3)
{
if (row==3)
{
if(act_mk_page==pages-1)
init_state=-1;
else
act_key=2;
}
}
}
 
boolean init=true;
public void trigger_LCD()
{
try {
if (mk.connected && mk.version.known)
try {
if (init_state==0)
{
mk.trigger_LCD(3);
init_state++;
}
else
mk.trigger_LCD(act_key);
 
mk.trigger_LCD(act_key);
act_key=0;
act_key=0;
}
catch (Exception e) { }
}
 
int act_key=0;
 
 
 
 
 
public void LCD_NEXTPAGE()
{
act_key=2;
if (act_user_page!=pages)
act_user_page++;
else
act_user_page=0;
 
}
 
public void LCD_PREVPAGE()
{
act_key=1;
if (act_user_page!=0)
act_user_page--;
else
act_user_page=pages;
}
}
/DUBwise/src/MKMiniCanvas.java
48,6 → 48,7
final static int SKINID_DARK= 0;
final static int SKINID_LIGHT = 1;
 
//holds id of actual skin
byte act_skin=SKINID_DARK;
 
 
64,6 → 65,9
int line_scaler=20;
 
int rawdebug_cursor_y=0;
int rawdebug_off_y=0;
 
public int line_middle_y;
 
boolean quit=false;
132,7 → 136,20
public void paint_menu(Graphics g)
{
for ( int i=0;i<menu_items.length;i++)
lcd_lines[i]=(act_menu_select==i?"# ":" ") + menu_items[i];
{
if ((frame_pos%3)!=0)
{
lcd_lines[i]=(act_menu_select==i?">":" ") + menu_items[i];
for ( int ii=0;ii<(18-menu_items[i].length());ii++)
lcd_lines[i]+=" ";
if (act_menu_select==i)
lcd_lines[i]+="<";
}
else
lcd_lines[i]=" " + menu_items[i];
 
}
paint_lcd(g,true);
}
 
565,11 → 582,33
 
case STATEID_RAWDEBUG:
g.setFont(f2);
for (int i=0;i<16;i++)
rawdebug_off_y=0;
if ((rawdebug_cursor_y+2)*spacer1>this.getHeight())
rawdebug_off_y=((rawdebug_cursor_y+2)*spacer1-this.getHeight())/spacer1;
for (int i=0;i<(this.getHeight()/spacer1);i++)
{
g.drawString(mk.debug_data.names[i] + mk.debug_data.analog[i] ,0,y_off,Graphics.TOP | Graphics.LEFT);
g.drawString(mk.debug_data.names[16+i] + mk.debug_data.analog[16+i] ,this.getWidth()/2,y_off,Graphics.TOP | Graphics.LEFT);
if (i+rawdebug_off_y==rawdebug_cursor_y)
{
g.setColor(0x0000CC);
g.fillRect(0,y_off,this.getWidth(),spacer1);
 
switch (act_skin)
{
case SKINID_DARK:
g.setColor(0x2dcf20);
break;
case SKINID_LIGHT:
g.setColor(0x000000);
break;
}
}
if (i+rawdebug_off_y<32) //todo better style
g.drawString(mk.debug_data.names[i+rawdebug_off_y] + mk.debug_data.analog[i+rawdebug_off_y] ,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer1;
}
 
 
613,7 → 652,7
// !!TODO!! check exactly which version those Datas where introduced
if (mk.version.compare(0,60)==mk.version.VERSION_PREVIOUS)
{
g.drawString("Power: " + (mk.debug_data.UBatt()/10) + "," +(mk.debug_data.UBatt()%10)+"V" ,0,y_off,Graphics.TOP | Graphics.LEFT);
g.drawString("Voltage: " + (mk.debug_data.UBatt()/10) + "," +(mk.debug_data.UBatt()%10)+"V" ,0,y_off,Graphics.TOP | Graphics.LEFT);
g.drawString("Sender: " + mk.debug_data.SenderOkay(),this.getWidth()/2,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
}
646,7 → 685,7
for (int x=0;x<20;x++)
{
g.setClip((lcd_img.getWidth()/222)*x,y_off,(lcd_img.getWidth()/222),lcd_img.getHeight());
g.drawImage(lcd_img,(lcd_img.getWidth()/222)*x-(mk.LCD.LCD_str[foo].charAt(x)-' ')*(lcd_img.getWidth()/222),y_off, g.TOP | g.LEFT);
g.drawImage(lcd_img,(lcd_img.getWidth()/222)*x-(mk.LCD.get_act_page()[foo].charAt(x)-' ')*(lcd_img.getWidth()/222),y_off, g.TOP | g.LEFT);
 
}
y_off+=lcd_img.getHeight();
911,6 → 950,26
}
switch(state)
{
case STATEID_RAWDEBUG:
switch (getGameAction (keyCode))
{
case UP:
if (rawdebug_cursor_y==0)
rawdebug_cursor_y=31;
else
rawdebug_cursor_y--;
break;
case DOWN:
if (rawdebug_cursor_y==31)
rawdebug_cursor_y=0;
else
rawdebug_cursor_y++;
break;
 
}
break;
case STATEID_KEYCONTROL:
if (keyCode==KEY_POUND)
keycontrol_exit |= 1;
1034,7 → 1093,6
 
case SETTINGSMENU_BACK:
chg_state(STATEID_MAINMENU);
chg_state(STATEID_SETTINGSMENU);
break;
}
1130,19 → 1188,22
 
case STATEID_FLIGHTVIEW:
 
if ((keyCode >= this.KEY_NUM0) && (keyCode <= this.KEY_NUM9))
mk.LCD.set_page(keyCode-this.KEY_NUM0);
else
switch (getGameAction (keyCode))
{
case LEFT:
case UP:
mk.LCD.LCD_PREVPAGE();
break;
case RIGHT:
case DOWN:
mk.LCD.LCD_NEXTPAGE();
break;
 
case LEFT:
chg_state(STATEID_MAINMENU);
break;
 
}
break;
/DUBwise/src/MKStatusVoice.java
70,7 → 70,12
{
try {
player = Manager.createPlayer(getClass().getResourceAsStream(name), "audio/mp3");
try {
player = Manager.createPlayer(getClass().getResourceAsStream(name+".mp3"), "audio/mp3");
}
catch (Exception e) {
player = Manager.createPlayer(getClass().getResourceAsStream(name+".wav"), "audio/x-wav");
}
player.addPlayerListener(this);
player.realize();
act_player_state=PLAYERSTATE_PLAYING;
84,7 → 89,12
player.setLoopCount(1);
player.start();
}
catch (Exception e) { }
catch (Exception e) {
 
 
 
}
}
public void wait_for_end()
108,17 → 118,17
{
int ubatt=mk.debug_data.UBatt();
 
start_playing((ubatt/10)+".mp3");
start_playing(""+(ubatt/10));
wait_for_end();
 
if((ubatt%10)!=0)
{
start_playing("komma.mp3");
start_playing("komma");
wait_for_end();
start_playing((ubatt%10)+".mp3");
start_playing(""+(ubatt%10));
wait_for_end();
}
start_playing("volt.mp3");
start_playing("volt");
}
/DUBwise/src/MKVersion.java
16,7 → 16,10
public int compatible=-1;
public String str="--";
 
// version known?
public boolean known=false;
 
public final byte VERSION_AFTER=0;
public final byte VERSION_EQUAL=1;
public final byte VERSION_PREVIOUS=2;
28,6 → 31,7
minor=data[1];
compatible=data[2];
str="v"+major+"."+minor+"/"+compatible;
known=true;
}
public byte compare(int major_c,int minor_c)