/**************************************************
*
* class representing the Params Structure
*
* Author: Marcus -LiGi- Bueschleb
*
* see README for further Infos
*
*************************************************/
public class MKParamsParser
implements MKParamDefinitions
{
// -- start generated code --
public final static int PARAMTYPE_BYTE=
0;
public final static int PARAMTYPE_BITSWITCH=
1;
public final static int PARAMTYPE_STICK=
2;
public final static String[][] all_tab_names=
{{"Altitude",
"Camera",
"Channels",
"Configuration",
"Gyro",
"Other",
"Stick",
"User"},
{"Altitude",
"Camera",
"Channels",
"Configuration",
"Gyro",
"Looping",
"Other",
"Stick",
"User"},
{"Altitude",
"Camera",
"Channels",
"Configuration",
"Coupling",
"Gyro",
"Looping",
"Other",
"Stick",
"User"},
{"Altitude",
"Camera",
"Channels",
"Configuration",
"Coupling",
"Gyro",
"Looping",
"Other",
"Stick",
"User"}};
public final static String[][][] all_field_names=
{{{"Min. Accelerate",
"Barometric D",
"Setpoint",
"Altitude P",
"Gain",
"Z-ACC"},
{"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",
"GPS"},
{"ACC/Gyro Factor",
"P-Rate",
"I-Rate"},
{"Min Gas",
"Max Gas",
"Compass Effect",
"Voltage Warning",
"Distress Gas",
"Distress Gas Time"},
{"Nick/Roll P",
"Nick/Roll D",
"Gier P"},
{"Param 1",
"Param 2",
"Param 3",
"Param 4"}},
{{"Min. Accelerate",
"Barometric D",
"Setpoint",
"Altitude P",
"Gain",
"Z-ACC"},
{"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",
"GPS"},
{"ACC/Gyro Factor",
"P-Rate",
"I-Rate"},
{"Gas Limit",
"Threshold",
"UP",
"DOWN",
"LEFT",
"RIGHT"},
{"Min Gas",
"Max Gas",
"Compass Effect",
"Voltage Warning",
"Distress Gas",
"Distress Gas Time"},
{"Nick/Roll P",
"Nick/Roll D",
"Gier P"},
{"Param 1",
"Param 2",
"Param 3",
"Param 4"}},
{{"Min. Accelerate",
"Barometric D",
"Setpoint",
"Altitude P",
"Gain",
"Z-ACC"},
{"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"},
{"Gas Limit",
"Threshold",
"Hysterese",
"TurnOver Nick",
"TurnOver Roll",
"UP",
"DOWN",
"LEFT",
"RIGHT"},
{"Min Gas",
"Max Gas",
"Compass Effect",
"Voltage Warning",
"Distress Gas",
"Distress Gas Time"},
{"Nick/Roll P",
"Nick/Roll D",
"Gier P"},
{"Param 1",
"Param 2",
"Param 3",
"Param 4"}},
{{"Min. Accelerate",
"Barometric D",
"Setpoint",
"Altitude P",
"Gain",
"Z-ACC"},
{"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"},
{"Min Gas",
"Max Gas",
"Compass Effect",
"Voltage Warning",
"Distress Gas",
"Distress Gas Time"},
{"Nick/Roll P",
"Nick/Roll D",
"Gier P"},
{"Param 1",
"Param 2",
"Param 3",
"Param 4",
"Param 5",
"Param 6",
"Param 7",
"Param 8"}}};
public final static int[][][] all_field_positions=
{{{9,
10,
11,
12,
13,
14},
{33,
34,
35,
36,
37,
304},
{0,
1,
2,
3,
4,
5,
6,
7},
{64,
65,
66,
67,
69},
{20,
22,
23},
{18,
19,
21,
24,
25,
26},
{15,
16,
17},
{29,
30,
31,
32}},
{{9,
10,
11,
12,
13,
14},
{33,
34,
35,
36,
37,
328},
{0,
1,
2,
3,
4,
5,
6,
7},
{64,
65,
66,
67,
69},
{20,
22,
23},
{38,
39,
320,
321,
322,
323},
{18,
19,
21,
24,
25,
26},
{15,
16,
17},
{29,
30,
31,
32}},
{{9,
10,
11,
12,
13,
14},
{33,
34,
35,
36,
37,
384},
{0,
1,
2,
3,
4,
5,
6,
7},
{64,
65,
66,
67,
68,
69,
70,
71},
{41,
42},
{20,
22,
23,
45,
46},
{38,
39,
40,
43,
44,
376,
377,
378,
379},
{18,
19,
21,
24,
25,
26},
{15,
16,
17},
{29,
30,
31,
32}},
{{9,
10,
11,
12,
13,
14},
{33,
34,
35,
36,
37,
424},
{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,
416,
417,
418,
419},
{18,
19,
21,
24,
25,
26},
{15,
16,
17},
{29,
30,
31,
32,
48,
49,
50,
51}}};
public final static int[][][] all_field_types=
{{{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_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_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_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_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_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_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_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
}}};
public final static int[] all_name_positions=
{46,
46,
53,
58};
public final static int[] all_lengths=
{58,
58,
65,
70};
// -- end generated code --
public final static int MAX_PARAMSETS=
20;
public final static int MAX_PARAMLENGTH=
100;
public int[][] field
;
public String[] names=
{"Paramset 1",
"Paramset 2",
"Paramset 3",
"Paramset 4",
"Paramset 5"};
public int act_paramset=
0;
public int get_field_from_act
(int pos
)
{ return field
[act_paramset
][pos
]; }
public void set_field_from_act
(int pos,
int val
)
{
if (val
>255) val=
255;
if (val
<0) val=
255;
field
[act_paramset
][pos
]=val
;
}
public void field_from_act_add
(int pos,
int val
)
{
set_field_from_act
(pos , get_field_from_act
(pos
)+val
);
}
// for boolean Flags
public void field_from_act_xor
(int pos,
int val
)
{
field
[act_paramset
][pos
]^=val
;
}
public MKParamsParser
()
{
field=
new int[MAX_PARAMSETS
][];
for (int ii=
0;ii
<MAX_PARAMSETS
;ii++
)
field
[ii
]=
null;
}
//<--generated
public static final int COMP_COUNT=
3;
// public string[COMP_COUNT] categorys;
//->
public int[] param_type
;
public int[] param_pos
;
public int[] param_innerpos
;
public String[] tab_names
;
public String[][] field_names
;
public int[][] field_positions
;
public int[][] field_types
;
public int length
;
public int name_start
;
public void set_by_mk_data
(int paramset_num,
int[] in_arr,MKVersion version
)
{
tab_names=all_tab_names
[version.
compatible-
4];
field_names=all_field_names
[version.
compatible-
4];
field_positions=all_field_positions
[version.
compatible-
4];
field_types=all_field_types
[version.
compatible-
4];
name_start=all_name_positions
[version.
compatible-
4];
length=all_lengths
[version.
compatible-
4];
field
[paramset_num
]=
new int[length
];
for ( int i=
0;i
<length
;i++
)
field
[paramset_num
][i
]=in_arr
[i
];
names
[paramset_num
]=
"" +
(paramset_num+
1) +
": ";
for ( int i=name_start
;i
<length
;i++
)
{
if(in_arr
[i
]==
0)break;
names
[paramset_num
]+=
(char)in_arr
[i
];
}
}
}