Subversion Repositories Projects

Rev

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

Rev 233 Rev 252
1
/**************************************************
1
/**************************************************
2
 *                                            
2
 *                                            
3
 * class representing the Params Structure    
3
 * class representing the Params Structure    
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
package org.ligi.ufo;
11
package org.ligi.ufo;
12
 
12
 
13
 
13
 
14
 
14
 
15
public class MKParamsParser  extends ParamsClass
15
public class MKParamsParser  extends ParamsClass
16
 
-
 
-
 
16
    implements MKParamDefinitions
17
 
17
 
18
{
18
{
19
// -- start generated code --
19
// -- start generated code --
20
public final static int PARAMTYPE_BYTE=0;
-
 
21
public final static int PARAMTYPE_BITSWITCH=1;
-
 
22
public final static int PARAMTYPE_STICK=2;
-
 
23
public final static String[][] all_tab_names={{"Altitude","Camera","Channels","Configuration","Coupling","Gyro","Looping","Navi","Other","Output","Stick","User"},{"Altitude","Camera","Channels","Configuration","Coupling","Gyro","Looping","Navi","Other","Output","Stick","User"}};
20
public final static String[][] all_tab_names={{"Altitude","Camera","Channels","Configuration","Coupling","Gyro","Looping","Navi","Other","Output","Stick","User"},{"Altitude","Camera","Channels","Configuration","Coupling","Gyro","Looping","Navi","Other","Output","Stick","User"}};
24
public final static String[][][] all_field_names={{{"Min. Accelerate","Barometric D","Setpoint","Altitude P","Gain","Z-ACC","3-Way switch"},{"Servo control","Nick compensation","Servo min","Servo max","Refresh rate","Invert Direction"},{"Nick","Roll","Accelerate","Gier","POTI1","POTI2","POTI3","POTI4"},{"ALTITUDE_CONTROL","Switch for Setpoint","Heading Hold","Compas Active","Compas Fix","GPS","Coupling","Yaw Rate Limiter"},{"Yaw pos. feedback","Yaw neg. feedback"},{"ACC/Gyro Factor","P-Rate","I-Rate","ACC/Gyro Comp","Drift-Compensation","Dynamic stability"},{"Gas Limit","Threshold","Hysterese","TurnOver Nick","TurnOver Roll","UP","DOWN","LEFT","RIGHT"},{"Mode Control","GPS-Gain","GPS-P","GPS-I","GPS-D","GPS-ACC","Satelite Minimum","Stick Threhsold","Wind Correction","Speed Compensation","Operating Radius","Angle Limit"},{"Min Gas","Max Gas","Compass Effect","Voltage Warning","Distress Gas","Distress Gas Time"},{"J16 Bitmask","J16 Timing","J17 Bitmask","J17 Timing"},{"Nick/Roll P","Nick/Roll D","Gier P","External Control"},{"Param 1","Param 2","Param 3","Param 4","Param 5","Param 6","Param 7","Param 8"}},{{"Min. Accelerate","Barometric D","Setpoint","Altitude P","Gain","Z-ACC","3-Way switch"},{"Servo control","Nick compensation","Servo min","Servo max","Refresh rate","Invert Direction"},{"Nick","Roll","Accelerate","Gier","POTI1","POTI2","POTI3","POTI4"},{"ALTITUDE_CONTROL","Switch for Setpoint","Heading Hold","Compas Active","Compas Fix","GPS","Coupling","Yaw Rate Limiter"},{"Yaw pos. feedback","Coupling2","Coupling YawCorrect"},{"ACC/Gyro Factor","P-Rate","I-Rate","D-Rate","ACC/Gyro Comp","Drift-Compensation","Dynamic stability"},{"Gas Limit","Threshold","Hysterese","TurnOver Nick","TurnOver Roll","UP","DOWN","LEFT","RIGHT"},{"Mode Control","GPS-Gain","GPS-P","GPS-I","GPS-D","GPS-P Limit","GPS-I Limit","GPS-D Limit","GPS-ACC","Satelite Minimum","Stick Threhsold","Wind Correction","Speed Compensation","Operating Radius","Angle Limit","PH LoginTime"},{"Min Gas","Max Gas","Compass Effect","Voltage Warning","Distress Gas","Distress Gas Time"},{"J16 Bitmask","J16 Timing","J17 Bitmask","J17 Timing"},{"Nick/Roll P","Nick/Roll D","Gier P","External Control"},{"Param 1","Param 2","Param 3","Param 4","Param 5","Param 6","Param 7","Param 8"}}};
21
public final static String[][][] all_field_names={{{"Min. Accelerate","Barometric D","Setpoint","Altitude P","Gain","Z-ACC","3-Way switch"},{"Servo control","Nick compensation","Servo min","Servo max","Refresh rate","Invert Direction"},{"Nick","Roll","Accelerate","Gier","POTI1","POTI2","POTI3","POTI4"},{"ALTITUDE_CONTROL","Switch for Setpoint","Heading Hold","Compas Active","Compas Fix","GPS","Coupling","Yaw Rate Limiter"},{"Yaw pos. feedback","Yaw neg. feedback"},{"ACC/Gyro Factor","P-Rate","I-Rate","ACC/Gyro Comp","Drift-Compensation","Dynamic stability"},{"Gas Limit","Threshold","Hysterese","TurnOver Nick","TurnOver Roll","UP","DOWN","LEFT","RIGHT"},{"Mode Control","GPS-Gain","GPS-P","GPS-I","GPS-D","GPS-ACC","Satelite Minimum","Stick Threhsold","Wind Correction","Speed Compensation","Operating Radius","Angle Limit"},{"Min Gas","Max Gas","Compass Effect","Voltage Warning","Distress Gas","Distress Gas Time"},{"J16 Bitmask","J16 Timing","J17 Bitmask","J17 Timing"},{"Nick/Roll P","Nick/Roll D","Gier P","External Control"},{"Param 1","Param 2","Param 3","Param 4","Param 5","Param 6","Param 7","Param 8"}},{{"Min. Accelerate","Barometric D","Setpoint","Altitude P","Gain","Z-ACC","3-Way switch"},{"Servo control","Nick compensation","Servo min","Servo max","Refresh rate","Invert Direction"},{"Nick","Roll","Accelerate","Gier","POTI1","POTI2","POTI3","POTI4"},{"ALTITUDE_CONTROL","Switch for Setpoint","Heading Hold","Compas Active","Compas Fix","GPS","Coupling","Yaw Rate Limiter"},{"Yaw pos. feedback","Coupling2","Coupling YawCorrect"},{"ACC/Gyro Factor","P-Rate","I-Rate","D-Rate","ACC/Gyro Comp","Drift-Compensation","Dynamic stability"},{"Gas Limit","Threshold","Hysterese","TurnOver Nick","TurnOver Roll","UP","DOWN","LEFT","RIGHT"},{"Mode Control","GPS-Gain","GPS-P","GPS-I","GPS-D","GPS-P Limit","GPS-I Limit","GPS-D Limit","GPS-ACC","Satelite Minimum","Stick Threhsold","Wind Correction","Speed Compensation","Operating Radius","Angle Limit","PH LoginTime"},{"Min Gas","Max Gas","Compass Effect","Voltage Warning","Distress Gas","Distress Gas Time"},{"J16 Bitmask","J16 Timing","J17 Bitmask","J17 Timing"},{"Nick/Roll P","Nick/Roll D","Gier P","External Control"},{"Param 1","Param 2","Param 3","Param 4","Param 5","Param 6","Param 7","Param 8"}}};
25
public final static int[][][] all_field_positions={{{9,10,11,12,13,14,556},{33,34,35,36,37,560},{0,1,2,3,4,5,6,7},{64,65,66,67,68,69,70,71},{41,42},{20,22,23,45,46,47},{38,39,40,43,44,552,553,554,555},{56,57,58,59,60,61,62,63,64,65,66,67},{18,19,21,24,25,26},{52,53,54,55},{15,16,17,68},{29,30,31,32,48,49,50,51}},{{9,10,11,12,13,14,604},{34,35,36,37,38,608},{0,1,2,3,4,5,6,7},{64,65,66,67,68,69,70,71},{42,43,44},{20,22,23,24,47,48,49},{39,40,41,45,46,600,601,602,603},{58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73},{18,19,21,25,26,27},{54,55,56,57},{15,16,17,74},{30,31,32,33,50,51,52,53}}};
22
public final static int[][][] all_field_positions={{{9,10,11,12,13,14,556},{33,34,35,36,37,560},{0,1,2,3,4,5,6,7},{64,65,66,67,68,69,70,71},{41,42},{20,22,23,45,46,47},{38,39,40,43,44,552,553,554,555},{56,57,58,59,60,61,62,63,64,65,66,67},{18,19,21,24,25,26},{52,53,54,55},{15,16,17,68},{29,30,31,32,48,49,50,51}},{{9,10,11,12,13,14,604},{34,35,36,37,38,608},{0,1,2,3,4,5,6,7},{64,65,66,67,68,69,70,71},{42,43,44},{20,22,23,24,47,48,49},{39,40,41,45,46,600,601,602,603},{58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73},{18,19,21,25,26,27},{54,55,56,57},{15,16,17,74},{30,31,32,33,50,51,52,53}}};
26
public final static int[][][] all_field_types={{{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK},{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}},{{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK},{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}}};
23
public final static int[][][] all_field_types={{{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK},{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_BITMASK,PARAMTYPE_MKBYTE,PARAMTYPE_BITMASK,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE}},{{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK},{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_BITMASK,PARAMTYPE_MKBYTE,PARAMTYPE_BITMASK,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE},{PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE,PARAMTYPE_MKBYTE}}};
27
public final static int[] all_name_positions={75,81};
24
public final static int[] all_name_positions={75,81};
28
public final static int[] all_lengths={87,93};
25
public final static int[] all_lengths={87,93};
29
// -- end generated code --
26
// -- end generated code --
-
 
27
 
30
 
28
 
31
    public final static int MAX_PARAMSETS=5;
29
    public final static int MAX_PARAMSETS=5;
32
    //    public final static int MAX_PARAMLENGTH=100;
30
    //    public final static int MAX_PARAMLENGTH=100;
33
 
31
 
34
    public int[][] field;
32
    public int[][] field;
35
    public int[][] field_bak;
33
    public int[][] field_bak;
36
    //    public String[] names={"","","","",""};
34
    //    public String[] names={"","","","",""};
37
 
35
 
38
    public int act_paramset=0;
36
    public int act_paramset=0;
39
 
37
 
40
 
38
 
41
    public int params_version=-1;
39
    public int params_version=-1;
42
    public int last_parsed_paramset=-1;
40
    public int last_parsed_paramset=-1;
43
    public int active_paramset=-1;
41
    public int active_paramset=-1;
44
   
42
   
45
    public boolean found_incompatible=false;
43
    public boolean found_incompatible=false;
46
 
44
 
47
    public String[] stick_names;
45
    public String[] stick_names;
48
 
46
 
49
    public int get_field_from_act(int pos)
47
    public int get_field_from_act(int pos)
50
    {       return field[act_paramset][pos];    }
48
    {       return field[act_paramset][pos];    }
51
 
49
 
52
    public void set_field_from_act(int pos,int val)
50
    public void set_field_from_act(int pos,int val)
53
    {
51
    {
54
        if (val>255) val=255;
52
        if (val>255) val=255;
55
        if (val<0) val=255;
53
        if (val<0) val=255;
56
        field[act_paramset][pos]=val;
54
        field[act_paramset][pos]=val;
57
    }
55
    }
58
 
56
 
59
 
57
 
60
    /*    public void field_from_act_add(int pos,int val)
58
    /*    public void field_from_act_add(int pos,int val)
61
    {
59
    {
62
        set_field_from_act(pos , get_field_from_act(pos)+val);
60
        set_field_from_act(pos , get_field_from_act(pos)+val);
63
        }
61
        }
64
 
62
 
65
    // for boolean Flags
63
    // for boolean Flags
66
    public void field_from_act_xor(int pos,int val)
64
    public void field_from_act_xor(int pos,int val)
67
    {
65
    {
68
        field[act_paramset][pos]^=val;
66
        field[act_paramset][pos]^=val;
69
    }
67
    }
70
 
68
 
71
    */
69
    */
72
 
70
 
73
    public void set_name(String nme)
71
    public void set_name(String nme)
74
    {
72
    {
75
        if (nme.length()>10)
73
        if (nme.length()>10)
76
            nme=nme.substring(0,10);
74
            nme=nme.substring(0,10);
77
        //      names[act_paramset]=nme;
75
        //      names[act_paramset]=nme;
78
        int nme_pos=0;
76
        int nme_pos=0;
79
        while(nme_pos<nme.length())
77
        while(nme_pos<nme.length())
80
            {
78
            {
81
                field[act_paramset][name_start+nme_pos]=(byte)nme.charAt(nme_pos);
79
                field[act_paramset][name_start+nme_pos]=(byte)nme.charAt(nme_pos);
82
                nme_pos++;
80
                nme_pos++;
83
            }
81
            }
84
        field[act_paramset][name_start+nme_pos]=0;
82
        field[act_paramset][name_start+nme_pos]=0;
85
    }
83
    }
86
 
84
 
87
    public MKParamsParser()
85
    public MKParamsParser()
88
    {
86
    {
89
        field=new int[MAX_PARAMSETS][];
87
        field=new int[MAX_PARAMSETS][];
90
        field_bak=new int[MAX_PARAMSETS][];
88
        field_bak=new int[MAX_PARAMSETS][];
91
       
89
       
92
        for (int ii=0;ii<MAX_PARAMSETS;ii++)
90
        for (int ii=0;ii<MAX_PARAMSETS;ii++)
93
                {
91
                {
94
                   field[ii]=null;
92
                   field[ii]=null;
95
                   field_bak[ii]=null;
93
                   field_bak[ii]=null;
96
                 
94
                 
97
                }
95
                }
98
 
96
 
99
        stick_names=new String[10];
97
        stick_names=new String[10];
100
        for (int i=0;i<10;i++)
98
        for (int i=0;i<10;i++)
101
            stick_names[i]="not read yet";
99
            stick_names[i]="not read yet";
102
    }
100
    }
103
 
101
 
104
    public  int length=0;
102
    public  int length=0;
105
    public  int name_start=0;
103
    public  int name_start=0;
106
    /*
104
    /*
107
    public int[] param_type;
105
    public int[] param_type;
108
    public int[] param_pos;
106
    public int[] param_pos;
109
    public int[] param_innerpos;
107
    public int[] param_innerpos;
110
 
108
 
111
    public  String[] tab_names;
109
    public  String[] tab_names;
112
    public  String[][] field_names;
110
    public  String[][] field_names;
113
    public  int[][] field_positions;
111
    public  int[][] field_positions;
114
    public  int[][] field_types;
112
    public  int[][] field_types;
115
 
113
 
116
    public  int length;
114
    public  int length;
117
    public  int name_start;
115
    public  int name_start;
118
    */
116
    */
119
 
117
 
120
 
118
 
121
    public void use_backup()
119
    public void use_backup()
122
    {
120
    {
123
        set_by_mk_data(field_bak[act_paramset]);
121
        set_by_mk_data(field_bak[act_paramset]);
124
    }
122
    }
125
 
123
 
126
    public void update_backup(int to)
124
    public void update_backup(int to)
127
    {  
125
    {  
128
        for ( int i=0 ; i<field[act_paramset].length;i++)
126
        for ( int i=0 ; i<field[act_paramset].length;i++)
129
       
127
       
130
            {
128
            {
131
                field_bak[to][i+2]=field[act_paramset][i];
129
                field_bak[to][i+2]=field[act_paramset][i];
132
                field[to][i]=field[act_paramset][i];
130
                field[to][i]=field[act_paramset][i];
133
            }
131
            }
134
 
132
 
135
        field_bak[to][0]=to+1;
133
        field_bak[to][0]=to+1;
136
        field_bak[to][1]=params_version;
134
        field_bak[to][1]=params_version;
137
 
135
 
138
    }
136
    }
139
 
137
 
140
    public void reset()
138
    public void reset()
141
    {
139
    {
142
        last_parsed_paramset=-1;
140
        last_parsed_paramset=-1;
143
 
141
 
144
        for (int ii=0;ii<MAX_PARAMSETS;ii++)
142
        for (int ii=0;ii<MAX_PARAMSETS;ii++)
145
            field[ii]=null;
143
            field[ii]=null;
146
    }
144
    }
147
       
145
       
148
    public String getParamName(int paramset)
146
    public String getParamName(int paramset)
149
    {
147
    {
150
        String res="";
148
        String res="";
151
        for ( int i=name_start;i<length;i++)
149
        for ( int i=name_start;i<length;i++)
152
            {
150
            {
153
                if(field[paramset][i]==0)break;
151
                if(field[paramset][i]==0)break;
154
                res+=(char)field[paramset][i];
152
                res+=(char)field[paramset][i];
155
            }
153
            }
156
        return res;
154
        return res;
157
    }
155
    }
158
 
156
 
159
    public void set_by_mk_data(int[] in_arr)
157
    public void set_by_mk_data(int[] in_arr)
160
    {
158
    {
161
        params_version=in_arr[1];
159
        params_version=in_arr[1];
162
        int definition_pos=params_version-73;
160
        int definition_pos=params_version-73;
163
 
161
 
164
 
162
 
165
        if ((definition_pos<0)||( (definition_pos>=all_tab_names.length)))
163
        if ((definition_pos<0)||( (definition_pos>=all_tab_names.length)))
166
            {
164
            {
167
                found_incompatible=true;
165
                found_incompatible=true;
168
                return;
166
                return;
169
            }
167
            }
170
 
168
 
171
 
169
 
172
 
170
 
173
        last_parsed_paramset=in_arr[0]-1;
171
        last_parsed_paramset=in_arr[0]-1;
174
 
172
 
175
        if (active_paramset==-1)active_paramset=last_parsed_paramset;
173
        if (active_paramset==-1)active_paramset=last_parsed_paramset;
176
 
174
 
177
        tab_names=all_tab_names[definition_pos];
175
        tab_names=all_tab_names[definition_pos];
178
        field_names=all_field_names[definition_pos];
176
        field_names=all_field_names[definition_pos];
179
        field_positions=all_field_positions[definition_pos];
177
        field_positions=all_field_positions[definition_pos];
180
        field_types=all_field_types[definition_pos];
178
        field_types=all_field_types[definition_pos];
181
 
179
 
182
        name_start=all_name_positions[definition_pos];
180
        name_start=all_name_positions[definition_pos];
183
        length=all_lengths[definition_pos];
181
        length=all_lengths[definition_pos];
184
 
182
 
185
        field[last_parsed_paramset]=new int[length];
183
        field[last_parsed_paramset]=new int[length];
186
        field_bak[last_parsed_paramset]=new int[length+2];
184
        field_bak[last_parsed_paramset]=new int[length+2];
187
 
185
 
188
        //      names[last_parsed_paramset]="";
186
        //      names[last_parsed_paramset]="";
189
        for ( int i=0;i<length+2;i++)
187
        for ( int i=0;i<length+2;i++)
190
            {
188
            {
191
            if (i<length)
189
            if (i<length)
192
                field[last_parsed_paramset][i]=in_arr[i+2];
190
                field[last_parsed_paramset][i]=in_arr[i+2];
193
            field_bak[last_parsed_paramset][i]=in_arr[i];
191
            field_bak[last_parsed_paramset][i]=in_arr[i];
194
            }
192
            }
195
 
193
 
196
 
194
 
197
        for (int i=0;i<10;i++)
195
        for (int i=0;i<10;i++)
198
            stick_names[i]="not associated";
196
            stick_names[i]="not associated";
199
 
197
 
200
        for (int tab=0;tab<tab_names.length;tab++)
198
        for (int tab=0;tab<tab_names.length;tab++)
201
            for (int item=0;item<field_types[tab].length;item++)
199
            for (int item=0;item<field_types[tab].length;item++)
202
                if (field_types[tab][item]==PARAMTYPE_STICK)
200
                if (field_types[tab][item]==PARAMTYPE_STICK)
203
                    stick_names[ field[last_parsed_paramset][field_positions[tab][item]] ] = field_names[tab][item];
201
                    stick_names[ field[last_parsed_paramset][field_positions[tab][item]] ] = field_names[tab][item];
204
       
202
       
205
    }
203
    }
206
 
204
 
207
 
205
 
208
 
206
 
209
}
207
}
210
 
208