]> git.zndr.dk Git - dotfiles.git/commitdiff
Add geni params name
authorJannik Zander <jannikz@gmail.com>
Mon, 13 Jun 2016 21:13:40 +0000 (23:13 +0200)
committerJannik Zander <jannikz@gmail.com>
Mon, 13 Jun 2016 21:13:40 +0000 (23:13 +0200)
.local/bin/gf.py
.local/bin/gf_config.py

index bb907967e1e16a9e4fae0cfc3fb644324682e268..8cca2f923e4695df51b77396718ed024bff9ba46 100755 (executable)
@@ -14,6 +14,7 @@ from datetime import datetime,date,time
 ######################################################
 
 # global variable
+cl=0
 td=[]
 master=[]
 speed=[]
@@ -26,6 +27,7 @@ def dbg_speed(ids5,val5,ts,sa):
   global td
   global master
   global speed
+
   td=td+[ts.timestamp()]
   master=master+[1+(sa-31)/10]
   for i in range(4):
@@ -132,11 +134,11 @@ def process_data(line,le,size1,size2):
       tmp,line=readbyte(line)
       val[i]=(val[i]<<8)+tmp
     if size1>0 and size2>0:
-      print("Id:",ids[i], "Value:",val[i])
+      print(gf.params[cl][ids[i]],"=",val[i])
     elif size1>0:
-      print("Id:",ids[i])
+      print(gf.params[cl][ids[i]])
     elif size2>0:
-      print("Value:",val[i])
+      print("=",val[i])
   return ids,val,line
 
 # section: process_string {{{1
@@ -151,11 +153,11 @@ def process_string(line,le,size1,size2):
   string=''.join(chr(i) for i in val)
   string=string[:-1]
   if size1>0 and size2>0:
-    print("Id:",ids,"Value:",val,"String:",repr(string))
+    print(gf.params[cl][ids],"=",repr(string))
   elif size1>0:
-    print("Id:",ids)
+    print(gf.params[cl][ids])
   elif size2>0:
-    print("Value:",val,"String:",repr(string))
+    print("=",repr(string))
   return ids,val,line
 
 # section: process_object {{{1
@@ -167,12 +169,13 @@ def process_object(line,le,size1,size2):
     ids,line=readbyte(line)
   for i in range(0,size2):
     val[i],line=readbyte(line)
+
   if size1>0 and size2>0:
-    print("Id:",ids,"Value:",val)
+    print(gf.params[cl][ids],"=",val)
   elif size1>0:
-    print("Id:",ids)
+    print(gf.params[cl][ids])
   elif size2>0:
-    print("Value:",val)
+    print("=",val)
   return ids,val,line
 
 # section: process_crc {{{1
@@ -190,6 +193,7 @@ def process_crc(line):
 ######################################################
 def process_telegram(line):
   # section: headers {{{2
+  global cl
   # Check if timestamp exists
   ts,line=readtimestamp(line)
   # Check if line is ok
@@ -202,7 +206,7 @@ def process_telegram(line):
     print("--------------------------------------------------------------------")
     cl,os,ale,line=process_apdu(line)
     numbytes=numbytes-2-ale
-    # section: data {{{2
+    # section: classes {{{2
     if cl==2 and ds==gf.DATA_REQUEST and os==gf.OS_GET:
       ids2,val2,line=process_data(line,ale,1,0)
     elif cl==2 and ds==gf.DATA_REPLY and os==gf.OS_GET:
index a45bb378abc7308a90ec6027408ac868ab3a1bcc..4729a5a63d9b7c6ac543643fcbf5deb5ea5f8708 100644 (file)
@@ -1,6 +1,7 @@
 # config file for gf.py script
 
 # section: constants {{{1
+
 DATA_REQUEST=0x27
 DATA_MESSAGE=0x26
 DATA_REPLY=0x24
@@ -11,3 +12,1011 @@ ACK_OK=0
 ACK_CLASS_UNKNOWN=1
 ACK_ID_UNKNOWN=2
 ACK_OPERATION_UNKNOWN=3
+
+class0=[""]*4
+class1=[]
+class2=[""]*256
+class3=[""]*256
+class4=[""]*256
+class5=[""]*256
+class6=[]
+class7=[""]*256
+class8=[]
+class9=[]
+class10=[""]*256
+class11=[""]*256
+class12=[""]*256
+class13=[""]*3
+class14=[""]*256
+class15=[""]*256
+class16=[""]*3
+
+params=[]
+params.append(class0)
+params.append(class1)
+params.append(class2)
+params.append(class3)
+params.append(class4)
+params.append(class5)
+params.append(class6)
+params.append(class7)
+params.append(class8)
+params.append(class9)
+params.append(class10)
+params.append(class11)
+params.append(class12)
+params.append(class13)
+params.append(class14)
+params.append(class15)
+params.append(class16)
+
+# section: class 2 {{{2
+class2[18 ]="outlet_diff"
+class2[19 ]="h_remote_diff"
+class2[20 ]="t_remote_diff"
+class2[21 ]="h_storage_tank"
+class2[22 ]="temp_att"
+class2[23 ]="h_diff"
+class2[24 ]="t_2hour_hi"
+class2[25 ]="t_2hour_lo"
+class2[26 ]="i_dc"
+class2[27 ]="v_dc"
+class2[28 ]="t_e"
+class2[30 ]="i_mo"
+class2[31 ]="h_outlet"
+class2[32 ]="f_act"
+class2[33 ]="p_hi"
+class2[34 ]="p_lo"
+class2[35 ]="speed_hi"
+class2[36 ]="speed_lo"
+class2[37 ]="h"
+class2[38 ]="h_inlet"
+class2[39 ]="q"
+class2[40 ]="ref_loc"
+class2[41 ]="p_max"
+class2[42 ]="q_kn1"
+class2[43 ]="q_max"
+class2[44 ]="h_max"
+class2[45 ]="torque_hi"
+class2[46 ]="torque_lo"
+class2[47 ]="led_contr"
+class2[48 ]="ref_act"
+class2[49 ]="ref_norm"
+class2[50 ]="q_remote"
+class2[51 ]="v_mo"
+class2[52 ]="v_line"
+class2[53 ]="h_remote_1"
+class2[54 ]="h_feed_tank"
+class2[55 ]="ref_inf"
+class2[56 ]="p2_hi"
+class2[57 ]="p2_lo"
+class2[58 ]="t_w"
+class2[59 ]="t_ambient"
+class2[60 ]="sys_fb"
+class2[61 ]="ref_att"
+class2[62 ]="sys_ref"
+class2[63 ]="t_remote_1"
+class2[64 ]="start_alarm1"
+class2[66 ]="qsd_alarm1"
+class2[68 ]="stop_alarm1"
+class2[73 ]="h_remote_2"
+class2[74 ]="ref_ctr"
+class2[75 ]="f_pid"
+class2[76 ]="r_min"
+class2[77 ]="r_max"
+class2[78 ]="f_mo"
+class2[79 ]="ref_map"
+class2[80 ]="f_cl"
+class2[81 ]="act_mode1"
+class2[82 ]="act_mode2"
+class2[83 ]="act_mode3"
+class2[84 ]="act_mode4"
+class2[85 ]="loc_setup1"
+class2[86 ]="t_remote_2"
+class2[87 ]="rem_setup1"
+class2[88 ]="prop_press_infl"
+class2[89 ]="dig_in_ctr_sig"
+class2[90 ]="contr_source"
+class2[91 ]="pump_at_limit"
+class2[92 ]="aux_sensor"
+class2[94 ]="dyn_drive_state1"
+class2[95 ]="drive_modes1"
+class2[96 ]="q_low_flow_ind"
+class2[97 ]="curve_no_ref"
+class2[98 ]="dyn_drive_state2"
+class2[99 ]="lfs_state"
+class2[100]="liqtec_dryrun_status"
+class2[101]="lfs_est_time"
+class2[102]="t_2hour_on_hi"
+class2[103]="t_2hour_on_lo"
+class2[105]="load_pct"
+class2[106]="power_up_cnt_hi"
+class2[107]="power_up_cnt_lo1"
+class2[108]="power_up_cnt_lo2"
+class2[109]="lubric_cnt"
+class2[110]="bear_change_cnt"
+class2[111]="time_to_bear_service"
+class2[112]="control_mode"
+class2[113]="ana_in_1"
+class2[114]="ana_in_2"
+class2[115]="ana_in_3"
+class2[116]="temp_in_1"
+class2[117]="temp_in_2"
+class2[119]="t_bear_de"
+class2[120]="t_bear_nde"
+class2[121]="volume_hi"
+class2[122]="volume_lo1"
+class2[123]="volume_lo2"
+class2[124]="volume_lo3"
+class2[125]="spec_energy_hi"
+class2[126]="spec_energy_lo"
+class2[127]="grf_sensor_press"
+class2[128]="grf_sensor_temp"
+class2[129]="liqtec_temp"
+class2[148]="unit_family"
+class2[149]="unit_type"
+class2[150]="unit_version"
+class2[151]="energy_hi"
+class2[152]="energy_lo1"
+class2[153]="energy_lo2"
+class2[154]="alarm_code_pump"
+class2[155]="alarm_code_disp"
+class2[156]="warn_code"
+class2[157]="warn_code_disp"
+class2[158]="alarm_code"
+class2[159]="warn_bits1"
+class2[160]="warn_bits2"
+class2[161]="warn_bits3"
+class2[162]="warn_bits4"
+class2[163]="alarm_log_1"
+class2[164]="alarm_log_2"
+class2[165]="alarm_log_3"
+class2[166]="alarm_log_4"
+class2[167]="alarm_log_5"
+class2[168]="alarm_log_1_disp"
+class2[169]="alarm_log_2_disp"
+class2[170]="alarm_log_3_disp"
+class2[171]="alarm_log_4_disp"
+class2[172]="alarm_log_5_disp"
+class2[173]="warn_log_1"
+class2[174]="warn_log_2"
+class2[175]="warn_log_3"
+class2[176]="warn_log_4"
+class2[177]="warn_log_5"
+class2[178]="warn_log_1_disp"
+class2[179]="warn_log_2_disp"
+class2[180]="warn_log_3_disp"
+class2[181]="warn_log_4_disp"
+class2[182]="warn_log_5_disp"
+class2[183]="alarm_log_change_cnt"
+class2[184]="pumps_present"
+class2[185]="pumps_running"
+class2[186]="pumps_fault"
+class2[187]="pumps_com_fault"
+class2[188]="pumps_fb_sensor"
+class2[189]="fb_sensor_status"
+class2[190]="up_down_button"
+class2[191]="off_button"
+class2[192]="add_on_actual"
+class2[193]="r100_menu_setup1_act"
+class2[194]="dig_out"
+class2[195]="dig_in"
+class2[196]="ana_out"
+class2[197]="i_mo_max"
+class2[199]="t_mo"
+class2[200]="t_w_3d"
+class2[201]="q_3d"
+class2[202]="h_3d"
+class2[203]="p_3d"
+class2[207]="functional_module"
+class2[208]="hmi_module"
+class2[209]="power_board"
+class2[220]="tps_i_mo"
+class2[221]="tps_t_2hour_hi"
+class2[222]="tps_t_2hour_lo"
+class2[223]="tps_t_w"
+class2[224]="tps_start_cnt_hi"
+class2[225]="tps_start_cnt_lo1"
+class2[226]="tps_start_cnt_lo2"
+class2[227]="tps_act_mode1"
+class2[228]="tps_act_mode3"
+class2[229]="tps_contr_source"
+class2[230]="tps_dig_in"
+class2[231]="tps_alarm_code"
+class2[234]="soft_press_status"
+class2[235]="varistor_wear_out"
+class2[236]="glowpan_radio_status"
+class2[237]="dyn_info_change_cnt"
+class2[238]="actual_pwm_type"
+# section: class 3 {{{2
+class3[1  ]="reset"
+class3[2  ]="reset_alarm"
+class3[3  ]="factory_boot"
+class3[4  ]="user_boot"
+class3[5  ]="stop"
+class3[6  ]="start"
+class3[7  ]="remote"
+class3[8  ]="local"
+class3[15 ]="forward"
+class3[16 ]="reverse"
+class3[20 ]="test"
+class3[22 ]="const_freq"
+class3[23 ]="prop_press"
+class3[24 ]="const_press"
+class3[25 ]="min"
+class3[26 ]="max"
+class3[30 ]="lock_keys"
+class3[31 ]="unlock_keys"
+class3[33 ]="ref_up"
+class3[34 ]="ref_down"
+class3[36 ]="reset_hist"
+class3[40 ]="mp_master"
+class3[41 ]="auto_restart_e"
+class3[42 ]="auto_restart_d"
+class3[47 ]="mcp_stop"
+class3[48 ]="mcp_derate"
+class3[49 ]="low_flow_stop_e"
+class3[50 ]="low_flow_stop_d"
+class3[51 ]="reset_alarm_log"
+class3[52 ]="auto_adapt"
+class3[59 ]="duty_standby_e"
+class3[61 ]="const_temp"
+class3[62 ]="cl_sensor_contr"
+class3[63 ]="const_flow"
+class3[64 ]="const_level"
+class3[65 ]="flow_adapt"
+class3[66 ]="night_reduct_e"
+class3[67 ]="night_reduct_d"
+class3[68 ]="forced_local"
+class3[69 ]="release_forced_local"
+class3[75 ]="hand"
+class3[76 ]="ds_ref_up"
+class3[77 ]="reset_auto_adapt"
+class3[79 ]="relay_1_open"
+class3[80 ]="relay_1_close"
+class3[81 ]="relay_3_open"
+class3[82 ]="relay_3_close"
+class3[83 ]="relay_4_open"
+class3[84 ]="relay_4_close"
+class3[86 ]="reset_start_cnt"
+class3[87 ]="mp_start_search"
+class3[88 ]="mp_join_req_accepted"
+class3[89 ]="mp_join_req_rejected"
+class3[90 ]="reset_heat_energy_cnt"
+class3[91 ]="reset_energy_cnt"
+class3[92 ]="mp_start_multi_pump"
+class3[93 ]="mp_end_multi_pump"
+class3[94 ]="twin_pump_master"
+class3[95 ]="twin_pump_slave"
+class3[96 ]="const_diff_press"
+class3[97 ]="const_diff_temp"
+class3[98 ]="authen_req_accepted"
+class3[99 ]="authen_req_rejected"
+class3[103]="user_def"
+class3[104]="wink_p1"
+class3[105]="wink_p2"
+class3[106]="wink_p3"
+class3[107]="wink_p4"
+class3[108]="wink_p5"
+class3[109]="wink_p6"
+class3[110]="lubrication_done"
+class3[111]="bearing_changed"
+class3[112]="varistor_changed"
+class3[113]="relay_2_open"
+class3[114]="relay_2_close"
+class3[115]="debug"
+class3[116]="update_h_max"
+class3[118]="reset_corr_hist_log"
+class3[119]="geniair_node_ping"
+class3[120]="mp_start_wired_search"
+class3[121]="wink_on"
+class3[122]="wink_off"
+# section: class 4 {{{2
+class4[0  ]="production_code_1"
+class4[1  ]="production_code_2"
+class4[2  ]="production_code_3"
+class4[3  ]="production_code_4"
+class4[4  ]="production_code_5"
+class4[5  ]="production_code_6"
+class4[6  ]="production_code_7"
+class4[7  ]="production_code_8"
+class4[8  ]="production_code_9"
+class4[9  ]="production_code_10"
+class4[10 ]="configuration_code_1"
+class4[11 ]="configuration_code_2"
+class4[12 ]="configuration_code_3"
+class4[13 ]="configuration_code_4"
+class4[14 ]="vir_conf_code_year"
+class4[15 ]="vir_conf_code_week"
+class4[16 ]="act_conf_code_year"
+class4[17 ]="act_conf_code_week"
+class4[18 ]="el_version_char_1"
+class4[19 ]="el_version_char_2"
+class4[20 ]="el_version_char_3"
+class4[21 ]="t_min_delay"
+class4[22 ]="t_standby"
+class4[23 ]="t_ramp_up_1_hi"
+class4[24 ]="t_ramp_up_1_lo"
+class4[25 ]="t_ramp_down_1_hi"
+class4[26 ]="t_ramp_down_1_lo"
+class4[27 ]="local_mode_setup"
+class4[28 ]="local_ref_setup"
+class4[29 ]="f_lower"
+class4[30 ]="f_upper"
+class4[31 ]="f_nom"
+class4[32 ]="f_min_stop"
+class4[33 ]="f_night"
+class4[34 ]="f_min"
+class4[35 ]="f_max"
+class4[36 ]="f_min_start"
+class4[37 ]="user_curve"
+class4[38 ]="r100_menu_setup_2"
+class4[39 ]="auto_restarts_per_day"
+class4[40 ]="motor_type"
+class4[41 ]="h_max_limit"
+class4[42 ]="h_max_limit_ed"
+class4[43 ]="geniair_channel"
+class4[44 ]="stator_heater_level"
+class4[45 ]="mp_master_addr"
+class4[46 ]="unit_addr"
+class4[47 ]="group_addr"
+class4[48 ]="event_action_setup1"
+class4[49 ]="event_action_setup2"
+class4[50 ]="event_action_setup3"
+class4[51 ]="event_action_setup4"
+class4[52 ]="event_action_setup5"
+class4[55 ]="bear_superv_setup"
+class4[56 ]="bear_superv_detect_del"
+class4[57 ]="bear_superv_reset_hyst"
+class4[58 ]="t_bear_de_warn_limit"
+class4[59 ]="t_bear_de_alarm_limit"
+class4[60 ]="t_bear_nde_warn_limit"
+class4[61 ]="t_bear_nde_alarm_limit"
+class4[62 ]="bear_lubric_setup"
+class4[63 ]="bear_lubric_max"
+class4[64 ]="r100_menu_setup_4"
+class4[65 ]="p_max"
+class4[66 ]="r100_menu_select"
+class4[67 ]="limit_exc_1_setup"
+class4[68 ]="limit_exc_2_setup"
+class4[69 ]="limit_exc_1_source"
+class4[70 ]="limit_exc_2_source"
+class4[71 ]="limit_exc_1_action"
+class4[72 ]="limit_exc_2_action"
+class4[78 ]="min_reply_delay_default"
+class4[79 ]="baud_rate_default"
+class4[80 ]="temp_influence_setup"
+class4[81 ]="geni_setup"
+class4[82 ]="r100_menu_setup_1"
+class4[83 ]="h_const_ref_min"
+class4[84 ]="h_const_ref_max"
+class4[85 ]="h_prop_ref_min"
+class4[86 ]="h_prop_ref_max"
+class4[87 ]="ref_steps"
+class4[88 ]="h_max"
+class4[89 ]="q_max"
+class4[90 ]="q_bezier1"
+class4[91 ]="h_bezier1"
+class4[92 ]="q_bezier2"
+class4[93 ]="h_bezier2"
+class4[94 ]="liqtec_dryrun_det_delay"
+class4[95 ]="liqtec_dryrun_limit"
+class4[96 ]="h_auto_act"
+class4[97 ]="application_type"
+class4[98 ]="h_ref_min"
+class4[99 ]="h_auto_ref_min"
+class4[100]="q_low_meas_limit"
+class4[101]="delta_h"
+class4[102]="lfs_type_select"
+class4[103]="h_max_hi"
+class4[104]="h_max_lo"
+class4[105]="q_max_hi"
+class4[106]="q_max_lo"
+class4[109]="def_direction"
+class4[110]="ext_fault_quick_rst_tim"
+class4[111]="ext_fault_quick_rst_max"
+class4[112]="ext_fault_slow_rst_tim"
+class4[113]="ext_fault_slow_rst_max"
+class4[114]="external_fault_delay"
+class4[115]="dry_run_f0"
+class4[116]="dry_run_p0"
+class4[117]="dry_run_f_min"
+class4[118]="quick_restart_max"
+class4[119]="quick_restart_time"
+class4[120]="prop_curve_select"
+class4[121]="prop_curve_reduc_pct"
+class4[122]="h_auto_set"
+class4[123]="h_auto_foot"
+class4[124]="fac_restart_setup1"
+class4[125]="fac_restart_setup2"
+class4[126]="fac_restart_setup3"
+class4[127]="dig_in_options"
+class4[128]="t_ramp_up_2_hi"
+class4[129]="t_ramp_up_2_lo"
+class4[130]="t_ramp_down_2_hi"
+class4[131]="t_ramp_down_2_lo"
+class4[132]="procent_k"
+class4[133]="h_max_def"
+class4[134]="h_max_act"
+class4[136]="prop_ctr_qmax_hi"
+class4[137]="prop_ctr_qmax_lo"
+class4[138]="ref_preset_1"
+class4[139]="ref_preset_2"
+class4[140]="ref_preset_3"
+class4[141]="ref_preset_4"
+class4[142]="ref_preset_5"
+class4[143]="ref_preset_6"
+class4[144]="ref_preset_7"
+class4[145]="ref_preset_direction"
+class4[147]="fs1_begin_hi"
+class4[148]="fs1_begin_lo"
+class4[149]="fs1_end_hi"
+class4[150]="fs1_end_lo"
+class4[151]="fs2_begin_hi"
+class4[152]="fs2_begin_lo"
+class4[153]="fs2_end_hi"
+class4[154]="fs2_end_lo"
+class4[155]="t_start_ramp"
+class4[156]="t_stop_ramp"
+class4[157]="t_skip_band_ramp"
+class4[162]="t_power_up_delay"
+class4[163]="t_fan_ctr_limit"
+class4[164]="t_alternate"
+class4[165]="alarm_setup1"
+class4[166]="alarm_setup2"
+class4[167]="restart_setup1"
+class4[168]="restart_setup2"
+class4[169]="application_setup1"
+class4[170]="application_setup2"
+class4[171]="cl_ctr_setup1"
+class4[172]="application_setup3"
+class4[173]="application_setup4"
+class4[175]="ref_inf_source"
+class4[176]="h_nom_hi"
+class4[177]="h_nom_lo"
+class4[178]="q_nom_hi"
+class4[179]="q_nom_lo"
+class4[180]="k_p"
+class4[181]="t_i_hi"
+class4[182]="t_i_lo"
+class4[183]="t_d_hi"
+class4[184]="t_d_lo"
+class4[185]="f_pid_start"
+class4[188]="pulse_cnt_setup_hi"
+class4[189]="pulse_cnt_setup_lo1"
+class4[190]="pulse_cnt_setup_lo2"
+class4[191]="dig_io_direction"
+class4[195]="dig_in_polarity"
+class4[196]="dig_in_1_func"
+class4[197]="dig_in_2_func"
+class4[198]="dig_in_3_func"
+class4[199]="dig_in_4_func"
+class4[200]="dig_out_1_func"
+class4[201]="dig_out_2_func"
+class4[202]="dig_out_3_func"
+class4[203]="dig_out_4_func"
+class4[204]="dig_out_1_delay"
+class4[205]="dig_out_2_delay"
+class4[206]="dig_out_3_delay"
+class4[207]="dig_out_4_delay"
+class4[208]="ana_in_1_unit"
+class4[209]="ana_in_1_min_hi"
+class4[210]="ana_in_1_min_lo"
+class4[211]="ana_in_1_max_hi"
+class4[212]="ana_in_1_max_lo"
+class4[213]="ana_in_2_unit"
+class4[214]="ana_in_2_min_hi"
+class4[215]="ana_in_2_min_lo"
+class4[216]="ana_in_2_max_hi"
+class4[217]="ana_in_2_max_lo"
+class4[218]="ana_in_3_unit"
+class4[219]="ana_in_3_min_hi"
+class4[220]="ana_in_3_min_lo"
+class4[221]="ana_in_3_max_hi"
+class4[222]="ana_in_3_max_lo"
+class4[223]="ana_in_1_sig_type"
+class4[224]="ana_in_2_sig_type"
+class4[225]="ana_in_3_sig_type"
+class4[226]="ana_in_1_applic"
+class4[227]="ana_in_2_applic"
+class4[228]="ana_in_3_applic"
+class4[229]="ana_in_1_func"
+class4[230]="ana_in_2_func"
+class4[231]="ana_in_3_func"
+class4[232]="temp_in_1_applic"
+class4[233]="temp_in_2_applic"
+class4[234]="temp_in_3_applic"
+class4[236]="temp_in_2_func"
+class4[237]="temp_in_3_func"
+class4[238]="grf_sensor_press_func"
+class4[239]="grf_sensor_temp_func"
+class4[240]="ana_out_parm"
+class4[241]="tp_mode"
+class4[242]="ana_out_sig_type"
+class4[243]="liqtec_temp_func"
+# section: class 5 {{{2
+class5[1  ]="ref_rem"
+class5[2  ]="ref_ir"
+class5[3  ]="sys_fb_rem"
+class5[4  ]="ref_hand"
+class5[5  ]="ref_led_indication"
+class5[27 ]="duty_standby_func_ctr"
+class5[30 ]="alarm_code_sim"
+class5[31 ]="warn_code_sim"
+class5[35 ]="alarm_sim_activate"
+class5[38 ]="set_min_reply_delay"
+class5[39 ]="set_baud_rate"
+class5[40 ]="set_lubric_cnt"
+class5[41 ]="set_bear_change_cnt"
+class5[49 ]="sim_card_status"
+class5[50 ]="signal_level_act"
+class5[51 ]="signal_level_avg"
+class5[55 ]="gsm_state"
+class5[56 ]="cim_heartbeat"
+class5[57 ]="cim_type"
+class5[58 ]="network_heartbeat"
+class5[65 ]="non_master_mode"
+class5[66 ]="mp_master_ref"
+class5[67 ]="mp_master_ref_p1"
+class5[68 ]="mp_master_ref_p2"
+class5[69 ]="mp_master_ref_p3"
+class5[70 ]="mp_master_ref_p4"
+class5[71 ]="mp_master_ref_p5"
+class5[72 ]="mp_master_ref_p6"
+# section: class 7 {{{2
+class7[1  ]="product_name"
+class7[2  ]="project_name"
+class7[3  ]="software_name1"
+class7[4  ]="compile_date"
+class7[5  ]="genipro_ver"
+class7[6  ]="hex_file_prod_no"
+class7[7  ]="developers"
+class7[8  ]="device_prod_no"
+class7[9  ]="serial_no"
+class7[14 ]="software_name2"
+class7[16 ]="data_log_ver"
+class7[17 ]="user_string1"
+class7[18 ]="user_string2"
+class7[19 ]="gsc_file_description"
+class7[20 ]="gsc_file_version"
+class7[21 ]="gsc_file_id"
+class7[50 ]="fe_sw_ver_str"
+class7[51 ]="be_sw_ver_string"
+class7[52 ]="gpds_lib_sw_ver_string"
+class7[53 ]="pdm_sw_ver_string"
+class7[54 ]="pdm_fe_sw_ver_string"
+class7[55 ]="cim_sw_ver_string"
+class7[56 ]="sensor_sw_string"
+class7[70 ]="geniair_node_name_1"
+class7[71 ]="geniair_node_name_2"
+class7[72 ]="geniair_group_name_1"
+class7[73 ]="geniair_group_name_2"
+class7[74 ]="pump_1_name_str_1"
+class7[75 ]="pump_1_name_str_2"
+class7[76 ]="pump_2_name_str_1"
+class7[77 ]="pump_2_name_str_2"
+class7[78 ]="pump_3_name_str_1"
+class7[79 ]="pump_3_name_str_2"
+class7[80 ]="pump_4_name_str_1"
+class7[81 ]="pump_4_name_str_2"
+class7[82 ]="pump_5_name_str_1"
+class7[83 ]="pump_5_name_str_2"
+class7[84 ]="pump_6_name_str_1"
+class7[85 ]="pump_6_name_str_2"
+# section: class 10 {{{2
+class10[0 ]="contents_obj"
+class10[53]="corr_hist_obj"
+class10[55]="event_back_log"
+class10[56]="mge_event_log_obj"
+class10[57]="event_connect_obj"
+class10[71]="geniair_appl_bind_tab"
+class10[72]="geniair_nwk_status_obj" class10[73]="twin_pump_data_exch_obj"
+class10[74]="max_power_log_records_obj"
+class10[76]="pump_setup_options_obj"
+class10[77]="multi_pump_sync_obj"
+# section: class 11 {{{2
+class11[0  ]="gpds_eeprom_alarm_cnt"
+class11[1  ]="gpds_inrush_alarm_cnt"
+class11[2  ]="gpds_dpfc_hsd_alarm_cnt"
+class11[3  ]="gpds_u_dc_max_alarm_cnt"
+class11[4  ]="gpds_low_power_alarm_cnt"
+class11[5  ]="gpds_motor_con_alarm_cnt"
+class11[6  ]="gpds_turbine_alarm_cnt"
+class11[7  ]="gpds_derate_max_alarm_cnt"
+class11[8  ]="gpds_blocked_alarm_cnt"
+class11[9  ]="gpds_hsd_in_cl_alarm_cnt"
+class11[10 ]="gpds_lost_rotor_alarm_cnt"
+class11[11 ]="gpds_supply_low_alarm_cnt"
+class11[12 ]="gpds_temp_alarm_cnt"
+class11[14 ]="gpds_adc_mux_alarm_cnt"
+class11[16 ]="gpds_api_fuffer_fault_cnt"
+class11[17 ]="gpds_api_com_fault_cnt"
+class11[18 ]="gpds_api_id_fault_cnt"
+class11[19 ]="gpds_api_obj_fault_cnt"
+class11[20 ]="gpds_api_state_fault_cnt"
+class11[21 ]="gpds_api_version_fault_cnt"
+class11[22 ]="power_24v_fault_cnt"
+class11[23 ]="power_4v75_fault_cnt"
+class11[24 ]="power_5v2_fault_cnt"
+class11[25 ]="grf_sens_nack_fault_cnt"
+class11[26 ]="grf_sens_sum_fault_cnt"
+class11[27 ]="grf_sens_timeout_1_fault_cnt"
+class11[28 ]="grf_sens_timeout_2_fault_cnt"
+class11[29 ]="grf_sens_low_press_fault_cnt"
+class11[30 ]="ana_in_1_16bits"
+class11[31 ]="ana_in_2_16bits"
+class11[32 ]="ana_in_3_16bits"
+class11[33 ]="grf_sensor_press_16bits"
+class11[34 ]="grf_sensor_temp_16bits"
+class11[35 ]="geniair_ping_result"
+class11[36 ]="geniair_signal_quality"
+class11[37 ]="mp_no_of_pumps"
+class11[38 ]="mp_pump_search_status"
+class11[39 ]="mp_search_timeout"
+class11[40 ]="ref_act_16"
+class11[41 ]="ref_loc_16"
+class11[42 ]="ref_norm_16"
+class11[43 ]="ref_ctr_16"
+class11[44 ]="sys_ref_16"
+class11[45 ]="sys_fb_16"
+class11[46 ]="r_max_abs"
+class11[47 ]="r_min_abs"
+class11[50 ]="power_16"
+class11[51 ]="t_w_16"
+class11[52 ]="diff_press_16"
+class11[53 ]="flow_16"
+class11[80 ]="tps_power_16"
+class11[81 ]="tps_ana_in_1_16bits"
+class11[82 ]="tps_ana_in_2_16bits"
+class11[83 ]="tps_ana_in_3_16bits"
+class11[101]="p0_act_mode1"
+class11[102]="p0_contr_source"
+class11[103]="p0_start_cnt_hi"
+class11[104]="p0_start_cnt_lo"
+class11[105]="p0_opr_time_hi"
+class11[106]="p0_opr_time_lo"
+class11[107]="p0_energy_hi"
+class11[108]="p0_energy_lo"
+class11[109]="p0_power"
+class11[110]="p0_i_mo"
+class11[111]="p0_speed"
+class11[112]="p0_speed_pct"
+class11[113]="p0_t_mo"
+class11[114]="p0_alarm_code"
+class11[115]="p0_warn_code"
+class11[121]="p1_act_mode1"
+class11[141]="p2_act_mode1"
+class11[161]="p3_act_mode1"
+class11[181]="p4_act_mode1"
+class11[201]="p5_act_mode1"
+class11[221]="p6_act_mode1"
+# section: class 12 {{{2
+class12[0  ]="ref_inf_setup"
+class12[1  ]="no_of_table_points"
+class12[2  ]="ref_inf_pct_value_1"
+class12[3  ]="ref_inf_pct_value_2"
+class12[4  ]="ref_inf_pct_value_3"
+class12[5  ]="ref_inf_pct_value_4"
+class12[6  ]="ref_inf_pct_value_5"
+class12[7  ]="ref_inf_pct_value_6"
+class12[8  ]="ref_inf_pct_value_7"
+class12[9  ]="ref_inf_pct_value_8"
+class12[10 ]="ref_inf_item_value_1"
+class12[11 ]="ref_inf_item_value_2"
+class12[12 ]="ref_inf_item_value_3"
+class12[13 ]="ref_inf_item_value_4"
+class12[14 ]="ref_inf_item_value_5"
+class12[15 ]="ref_inf_item_value_6"
+class12[16 ]="ref_inf_item_value_7"
+class12[17 ]="ref_inf_item_value_8"
+class12[18 ]="ref_inf_filter_time"
+class12[19 ]="ref_att_mode"
+class12[21 ]="lfs_boost_band_scale"
+class12[22 ]="lfs_t_boost_max"
+class12[23 ]="lfs_t_boost_min"
+class12[24 ]="lfs_tank_volume"
+class12[25 ]="lfs_estim_interval"
+class12[26 ]="lfs_q_lim_opt"
+class12[27 ]="lfs_max_press_drop_opt"
+class12[28 ]="lfs_q_lim_comf"
+class12[29 ]="lfs_max_press_drop_comf"
+class12[30 ]="lfs_q_lim_cust"
+class12[31 ]="lfs_max_press_drop_cust"
+class12[32 ]="lfs_feed_forward_gain"
+class12[33 ]="lfs_settling_time"
+class12[34 ]="lfs_setpoint_band"
+class12[35 ]="lfs_gradient_est_limit"
+class12[36 ]="lfs_hyst_band"
+class12[37 ]="extra_boost"
+class12[38 ]="lfs_flow_test_limit"
+class12[40 ]="dig_in_1_delay"
+class12[41 ]="dig_in_1_dur_tim"
+class12[42 ]="dig_in_1_dur_tim_mode"
+class12[43 ]="dig_in_2_delay"
+class12[44 ]="dig_in_2_dur_tim"
+class12[45 ]="dig_in_2_dur_tim_mode"
+class12[46 ]="dig_in_3_delay"
+class12[47 ]="dig_in_3_dur_tim"
+class12[48 ]="dig_in_3_dur_tim_mode"
+class12[49 ]="dig_in_4_delay"
+class12[50 ]="dig_in_4_dur_tim"
+class12[51 ]="dig_in_4_dur_tim_mode"
+class12[65 ]="relub_interval"
+class12[67 ]="setpoint_reduction_k1"
+class12[68 ]="setpoint_reduction_k2"
+class12[69 ]="pdc_ref_max"
+class12[70 ]="iq_ref_max"
+class12[71 ]="mot_contr_bits"
+class12[72 ]="hi_f6_on"
+class12[73 ]="hi_f6_off"
+class12[74 ]="hi_f12_on"
+class12[75 ]="hi_f12_off"
+class12[76 ]="hi_f24_on"
+class12[77 ]="hi_f24_off"
+class12[78 ]="hi_fx_on"
+class12[79 ]="hi_fx_off"
+class12[80 ]="hi_amp6_g"
+class12[81 ]="hi_amp6_o"
+class12[82 ]="hi_amp12"
+class12[83 ]="hi_amp24"
+class12[84 ]="hi_ampx"
+class12[85 ]="hi_ang6_g"
+class12[86 ]="hi_ang6_o"
+class12[87 ]="hi_ang12"
+class12[88 ]="hi_ang24"
+class12[89 ]="hi_angx"
+class12[90 ]="hi_hx"
+class12[171]="inlet_diameter"
+class12[172]="outlet_diameter"
+class12[173]="in_out_hight_diff"
+class12[175]="bearing_temp_nom"
+class12[176]="bearing_speed_nom"
+class12[180]="disp_misch_setup"
+class12[181]="disp_language"
+class12[183]="disp_quant_setup_1"
+class12[184]="disp_quant_setup_2"
+class12[185]="disp_quant_setup_3"
+class12[186]="disp_home_screen_parm_1"
+class12[187]="disp_home_screen_parm_2"
+class12[188]="disp_home_screen_parm_3"
+class12[189]="disp_home_screen_parm_4"
+class12[190]="spb_setup"
+class12[191]="spb_ol_max_pump_speed"
+class12[192]="spb_speed_ctr_pumps"
+class12[193]="spb_ramp"
+class12[194]="spb_ol_press_timeout"
+class12[195]="spb_release_press"
+class12[197]="t_fc_max"
+class12[198]="t_fc_max_hys"
+class12[201]="q_max_limit"
+class12[202]="local_ref_setup"
+class12[203]="q_max_limit_upper"
+class12[205]="limit_exc_1_limit"
+class12[206]="limit_exc_2_limit"
+class12[207]="limit_exc_1_reset_hyst"
+class12[208]="limit_exc_2_reset_hyst"
+class12[209]="limit_exc_1_detect_del"
+class12[210]="limit_exc_2_detect_del"
+class12[211]="limit_exc_1_reset_del"
+class12[212]="limit_exc_2_reset_del"
+class12[214]="pump_stop_speed"
+class12[215]="pump_start_speed"
+class12[216]="pump_stop_delay"
+class12[217]="ramp_up_time"
+class12[218]="ramp_down_time"
+class12[219]="cas_ctr_cut_out_hys"
+class12[220]="max_cut_in_delay"
+class12[221]="max_cut_in_delay_dev"
+class12[222]="calc_cut_in_speed_offset"
+class12[223]="pump_switch_off_period"
+class12[224]="cas_ctr_pid_preset_time"
+class12[225]="cas_ctr_cut_in_speed_2"
+class12[226]="cas_ctr_cut_out_speed_1"
+class12[227]="cas_ctr_min_speed"
+class12[228]="cas_ctr_min_no_of_pumps"
+class12[229]="cas_ctr_protect_ramp"
+class12[230]="cut_in_first_e_pump"
+class12[231]="max_starts_per_hour"
+class12[232]="pump_min_switch_delay"
+class12[233]="p1_prio"
+class12[234]="p2_prio"
+class12[235]="p3_prio"
+class12[236]="p4_prio"
+class12[237]="p5_prio"
+class12[238]="p6_prio"
+class12[239]="standby_pumps"
+class12[240]="time_based_alter"
+class12[241]="energy_based_alter"
+class12[242]="f_lower_16"
+class12[243]="f_upper_16"
+class12[244]="f_nom_16"
+# section: class 13 {{{2
+class13[1]="ref_rem_16"
+class13[2]="ref_ir_16"
+# section: class 14 {{{2
+class14[0  ]="geniair_trans_cnt"
+class14[1  ]="geniair_rec_cnt"
+class14[2  ]="geniair_trans_and_ack_cnt"
+class14[3  ]="geni_profile_version"
+class14[6  ]="disp_event_ctr"
+class14[9  ]="power_on_time"
+class14[10 ]="alarm_log_1_app_time"
+class14[11 ]="alarm_log_2_app_time"
+class14[12 ]="alarm_log_3_app_time"
+class14[13 ]="alarm_log_4_app_time"
+class14[14 ]="alarm_log_5_app_time"
+class14[15 ]="warn_log_1_app_time"
+class14[16 ]="warn_log_2_app_time"
+class14[17 ]="warn_log_3_app_time"
+class14[18 ]="warn_log_4_app_time"
+class14[19 ]="warn_log_5_app_time"
+class14[20 ]="alarm_log_1_dis_time"
+class14[21 ]="alarm_log_2_dis_time"
+class14[22 ]="alarm_log_3_dis_time"
+class14[23 ]="alarm_log_4_dis_time"
+class14[24 ]="alarm_log_5_dis_time"
+class14[25 ]="warn_log_1_dis_time"
+class14[26 ]="warn_log_2_dis_time"
+class14[27 ]="warn_log_3_dis_time"
+class14[28 ]="warn_log_4_dis_time"
+class14[29 ]="warn_log_5_dis_time"
+class14[30 ]="unix_rtc"
+class14[31 ]="volume_cnt1"
+class14[32 ]="volume_cnt1_year"
+class14[33 ]="heat_energy_cnt1"
+class14[34 ]="heat_energy_cnt1_year"
+class14[35 ]="heat_power"
+class14[36 ]="heat_temp_diff"
+class14[37 ]="power_32"
+class14[38 ]="energy_32"
+class14[40 ]="opr_time"
+class14[41 ]="mp_power"
+class14[42 ]="mp_energy"
+class14[43 ]="mp_pressure"
+class14[44 ]="mp_flow"
+class14[45 ]="mp_speed"
+class14[46 ]="mp_speed_pct"
+class14[47 ]="mp_media_temp"
+class14[51 ]="volume_cnt2"
+class14[52 ]="volume_cnt2_year"
+class14[53 ]="heat_energy_cnt2"
+class14[54 ]="heat_energy_cnt2_year"
+class14[55 ]="last_time_stamp_cnt1"
+class14[56 ]="last_time_stamp_cnt2"
+class14[57 ]="counter_status"
+class14[60 ]="flow_below_range_cnt"
+class14[61 ]="flow_above_range_cnt"
+class14[80 ]="tps_head"
+class14[81 ]="tps_flow"
+class14[82 ]="tps_energy"
+class14[83 ]="tps_speed"
+class14[84 ]="tau_est"
+class14[85 ]="dp_est"
+class14[86 ]="p_shaft"
+class14[87 ]="pm_loss"
+class14[88 ]="q_est"
+class14[89 ]="i_mo_32"
+class14[238]="sector_1_writes"
+class14[239]="sector_2_writes"
+class14[240]="sector_3_writes"
+class14[241]="sector_4_writes"
+class14[242]="sector_5_writes"
+class14[243]="sector_6_writes"
+class14[244]="sector_7_writes"
+class14[245]="sector_8_writes"
+class14[246]="sector_1_account"
+class14[247]="sector_2_account"
+class14[248]="sector_3_account"
+class14[249]="sector_4_account"
+class14[250]="sector_5_account"
+class14[251]="sector_6_account"
+class14[252]="sector_7_account"
+class14[253]="sector_8_account"
+class14[254]="persistence_lock"
+class14[255]="persistence_lock_cnt"
+# section: class 15 {{{2
+class15[0  ]="flow_est_coeff_g0"
+class15[1  ]="flow_est_coeff_g1"
+class15[2  ]="flow_est_coeff_g2"
+class15[3  ]="flow_est_coeff_g3"
+class15[4  ]="flow_est_coeff_g4"
+class15[5  ]="flow_est_coeff_g5"
+class15[6  ]="flow_est_coeff_kp"
+class15[7  ]="flow_est_coeff_kh"
+class15[8  ]="flow_est_coeff_k0"
+class15[9  ]="flow_est_q_min"
+class15[15 ]="control_mode_mask"
+class15[20 ]="geniair_mac_addr_hi"
+class15[21 ]="geniair_mac_addr_lo"
+class15[22 ]="geniair_pan_id_nwk_addr"
+class15[23 ]="geniair_nwk_key_hi"
+class15[24 ]="geniair_nwk_key_lo1"
+class15[25 ]="geniair_nwk_key_lo2"
+class15[26 ]="geniair_nwk_key_lo3"
+class15[27 ]="geniair_mode_and_mask"
+class15[28 ]="geniair_radio_ed"
+class15[29 ]="pulse_cnt_setup"
+class15[40 ]="a0m"
+class15[41 ]="a1m"
+class15[42 ]="a2m"
+class15[43 ]="a3m"
+class15[44 ]="a4m"
+class15[45 ]="a5m"
+class15[46 ]="a6m"
+class15[47 ]="k1"
+class15[48 ]="aqdp0m"
+class15[49 ]="aqdp1m"
+class15[50 ]="aqdp2m"
+class15[51 ]="aqdp3m"
+class15[52 ]="aqdp4m"
+class15[53 ]="aqdp5m"
+class15[54 ]="aqdp6m"
+class15[55 ]="aqdp7m"
+class15[56 ]="at0m"
+class15[57 ]="at1m"
+class15[58 ]="at2m"
+class15[59 ]="at3m"
+class15[60 ]="at4m"
+class15[61 ]="at5m"
+class15[62 ]="at6m"
+class15[63 ]="at7m"
+class15[64 ]="at8m"
+class15[65 ]="scale1_a"
+class15[66 ]="scale1_b"
+class15[67 ]="scale2_a"
+class15[68 ]="scale2_b"
+class15[69 ]="scale_max"
+class15[70 ]="scale_min"
+class15[71 ]="aqh0"
+class15[72 ]="aqh1"
+class15[73 ]="aqh2"
+class15[74 ]="aqh3"
+class15[75 ]="aqh4"
+class15[76 ]="aqh5"
+class15[77 ]="dp_scale"
+class15[78 ]="t_scale"
+class15[79 ]="max_curve_qh_0"
+class15[80 ]="max_curve_qh_1"
+class15[81 ]="max_curve_qh_2"
+class15[82 ]="qp_max_curve_0"
+class15[83 ]="qp_max_curve_1"
+class15[84 ]="qp_max_curve_2"
+class15[85 ]="qp_max_curve_3"
+class15[86 ]="qp_max_curve_4"
+class15[87 ]="qp_max_curve_5"
+class15[88 ]="qh_max_curve_0"
+class15[89 ]="qh_max_curve_1"
+class15[90 ]="qh_max_curve_2"
+class15[91 ]="qh_max_curve_3"
+class15[92 ]="qh_max_curve_4"
+class15[93 ]="qh_max_curve_5"
+class15[94 ]="flow_limit_kp"
+class15[95 ]="flow_limit_ti"
+class15[96 ]="pressure_limit_kp"
+class15[97 ]="pressure_limit_ti"
+class15[98 ]="kq_max"
+class15[99 ]="kq_min"
+class15[100]="pwm_1"
+class15[101]="pwm_2"
+class15[102]="n_alpha"
+class15[103]="pp_filter_const"
+class15[104]="h_max_est"
+class15[105]="tp_test_run_time"
+class15[106]="tp_switch_time"
+class15[107]="tp_switch_interval"
+class15[108]="a1"
+class15[109]="a2"
+class15[110]="b1"
+class15[111]="b2"
+class15[112]="q_const_ref_min"
+class15[113]="q_const_ref_max"
+class15[114]="t_const_ref_min"
+class15[115]="t_const_ref_max"
+class15[116]="level_const_ref_min"
+class15[117]="level_const_ref_max"
+class15[118]="p_max_32"
+class15[120]="kq_max2"
+# section: class 16 {{{2
+class16[0]="set_unix_rtc"
+class16[1]="disp_event_ctr_ack"
+class16[2]="disp_data_to_applic"