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 |