Subversion Repositories Projects

Rev

Rev 255 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 255 Rev 382
1
/**************************************
1
/**************************************
2
 *  
2
 *  
3
 * WatchDog for MK-Connection
3
 * WatchDog for MK-Connection
4
 *                      
4
 *                      
5
 * Author:        Marcus -LiGi- Bueschleb
5
 * Author:        Marcus -LiGi- Bueschleb
6
 *
6
 *
7
 * see README for further Infos
7
 * see README for further Infos
8
 *
8
 *
9
 *
9
 *
10
 
10
 
11
 **************************************/
11
 **************************************/
-
 
12
 
-
 
13
import java.util.Vector;
12
 
14
import java.io.*;
13
             
15
             
-
 
16
public class FirmwareLoader
-
 
17
    implements Runnable // for http download task
14
public class FirmwareLoader
18
               ,org.ligi.ufo.DUBwiseLangDefs
15
    implements Runnable
19
               , DUBwiseUIDefinitions
16
{
20
{
17
 
21
 
18
    public final static String base_url= "http://mikrocontroller.cco-ev.de/mikrosvn/Projects/DUBwise/trunk/misc/firmwares/";
22
    public final static String base_url= "http://mikrocontroller.cco-ev.de/mikrosvn/Projects/DUBwise/trunk/misc/firmwares/";
19
    boolean got_list=false;
23
    boolean got_list=false;
20
    String list_str="";
24
    String list_str="";
21
 
25
 
22
    String[] names;
26
    String[] names;
23
    String[] filenames;
27
    String[] filenames;
-
 
28
   
-
 
29
    DUBwiseCanvas canvas;
-
 
30
 
-
 
31
 
24
   
32
    int selected=0;
-
 
33
    public void menu_fire(byte pos)
-
 
34
    {
-
 
35
 
-
 
36
        if ( pos<(names.length-1))
-
 
37
            {
-
 
38
                selected=pos;
-
 
39
                canvas.chg_state(STATEID_FLASHING);
-
 
40
            }
-
 
41
        else
-
 
42
            canvas.chg_state(STATEID_MAINMENU);
-
 
43
           
-
 
44
    }
-
 
45
 
-
 
46
 
25
    public FirmwareLoader()
47
    public InputStream get_input_str()
-
 
48
    {
-
 
49
        if ( selected<fws_in_jar)
-
 
50
            return this.getClass().getResourceAsStream("/fw_"+avrsig+"_"+selected+".bin");         
-
 
51
 
-
 
52
        return null;
-
 
53
    }
-
 
54
 
-
 
55
 
-
 
56
    int fws_in_jar=0;
-
 
57
    int avrsig;
-
 
58
 
-
 
59
    public FirmwareLoader(int _avrsig,DUBwiseCanvas _canvas)
-
 
60
    {
-
 
61
        avrsig=_avrsig;
-
 
62
        canvas=_canvas;
-
 
63
 
-
 
64
        // firmware files in jar
-
 
65
        Vector jar_names_vector = new Vector();
-
 
66
 
-
 
67
        String tmp_str="";
-
 
68
        try {
-
 
69
            InputStream in=this.getClass().getResourceAsStream("/fw_"+avrsig+".lst");      
-
 
70
            char ch=0;
-
 
71
            while (in.available()>0)
-
 
72
                {
-
 
73
                    if ( (ch=(char)in.read())!='\n')
-
 
74
                        tmp_str+=ch;
-
 
75
                    else
-
 
76
                        {
-
 
77
                            jar_names_vector.addElement( tmp_str );
-
 
78
                            tmp_str="";
-
 
79
                        }
-
 
80
 
-
 
81
                }
-
 
82
        }
-
 
83
            catch (Exception e) {}
-
 
84
           
-
 
85
        fws_in_jar= jar_names_vector.size();
-
 
86
 
-
 
87
        names=new String[ fws_in_jar+2];
-
 
88
 
-
 
89
        if ( jar_names_vector.size()>0)
-
 
90
        for(int loop=0; loop<fws_in_jar; loop++)
-
 
91
            names[loop] = (String)jar_names_vector.elementAt(loop);
-
 
92
               
-
 
93
        names[jar_names_vector.size()]="Download";
-
 
94
        names[jar_names_vector.size()+1]=canvas.l(STRINGID_BACK);
26
    {
95
 
27
        new Thread( this ).start(); // fire up main Thread 
96
        //      new Thread( this ).start(); // fire up main Thread 
28
    }
97
    }
29
 
98
 
30
    public void run()
99
    public void run()
31
    {
100
    {
32
        if (!got_list)
101
        if (!got_list)
33
            {
102
            {
34
                list_str=DUBwiseHelper.get_http_string(base_url+"list");
103
                list_str=DUBwiseHelper.get_http_string(base_url+"list");
35
               
104
               
36
 
105
 
37
                String[] split=DUBwiseHelper.split_str(list_str,"\n");
106
                String[] split=DUBwiseHelper.split_str(list_str,"\n");
38
                names=new String[ split.length];
107
                names=new String[ split.length];
39
                filenames=new String[ split.length];
108
                filenames=new String[ split.length];
40
               
109
               
41
 
110
 
42
                for ( int i=0;i<split.length;i++)
111
                for ( int i=0;i<split.length;i++)
43
                    {
112
                    {
44
                        String[] sp2=DUBwiseHelper.split_str(split[i],":");
113
                        String[] sp2=DUBwiseHelper.split_str(split[i],":");
45
                        if (sp2.length==2)
114
                        if (sp2.length==2)
46
                           {
115
                           {
47
                               names[i]=sp2[0];
116
                               names[i]=sp2[0];
48
                               filenames[i]=sp2[1];
117
                               filenames[i]=sp2[1];
49
                           }
118
                           }
50
                        else
119
                        else
51
                            names[i]="fail";
120
                            names[i]="fail";
52
 
121
 
53
                       
122
                       
54
                    }
123
                    }
55
               
124
               
56
                System.out.println(list_str);
125
                System.out.println(list_str);
57
               
126
               
58
                got_list=true;
127
                got_list=true;
59
            }
128
            }
60
        else
129
        else
61
            {
130
            {
62
 
131
 
63
            }
132
            }
64
    }
133
    }
65
 
134
 
66
   
135
   
67
}
136
}
68
 
137