@@ -57,13 +57,13 @@ uint8_t * tbSEGCPCMD[] = {"MC", "VR", "MN", "IM", "OP", "DD", "CP", "PO", "DG",
5757#else
5858
5959uint8_t * tbSEGCPCMD [] = {"MC" , "VR" , "MN" , "IM" , "OP" , "CP" , "DG" , "KA" , "KI" , "KE" ,
60- "RI" , "LI" , "SM" , "GW" , "DS" , "DH" , "LP" , "RP" , "RH" , "BR" ,
61- "DB" , "PR" , "SB" , "FL" , "IT" , "PT" , "PS" , "PD" , "TE" , "SS" ,
62- "NP" , "SP" , "MA" , "PW" , "SV" , "EX" , "RT" , "UN" , "ST" , "FR" ,
63- "EC" , "GA" , "GB" , "GC" , "GD" , "CA" , "CB" , "CC" , "CD" , "SC" ,
64- "S0" , "S1" , "RX" , "UI" , "TR" , "QU" , "QP" , "QC" , "QK" , "PU" ,
65- "U0" , "U1" , "U2" , "QO" , "RC" , "CE" , "OC" , "LC" , "PK" , "UF " ,
66- "FW" , "SO" , 0 };
60+ "RI" , "LI" , "SM" , "GW" , "DS" , "DH" , "LP" , "RP" , "RH" , "BR" ,
61+ "DB" , "PR" , "SB" , "FL" , "PO" , " IT" , "PT" , "PS" , "PD" , "TE" ,
62+ "SS" , " NP" , "SP" , "MA" , "PW" , "SV" , "EX" , "RT" , "UN" , "ST" ,
63+ "FR" , " EC" , "GA" , "GB" , "GC" , "GD" , "CA" , "CB" , "CC" , "CD" ,
64+ "SC" , " S0" , "S1" , "RX" , "UI" , "TR" , "QU" , "QP" , "QC" , "QK" ,
65+ "PU" , " U0" , "U1" , "U2" , "QO" , "RC" , "CE" , "OC" , "LC" , "PK" ,
66+ "UF" , " FW" , "SO" , 0 };
6767
6868#endif
6969uint8_t * tbSEGCPERR [] = {"ERNULL" , "ERNOTAVAIL" , "ERNOPARAM" , "ERIGNORED" , "ERNOCOMMAND" , "ERINVALIDPARAM" , "ERNOPRIVILEGE" };
@@ -427,6 +427,8 @@ uint16_t proc_SEGCP(uint8_t* segcp_req, uint8_t* segcp_rep)
427427 break ;
428428 case SEGCP_FL : sprintf (trep , "%d" , dev_config -> serial_option .flow_control );
429429 break ;
430+ case SEGCP_PO : sprintf (trep , "%d" , dev_config -> serial_option .protocol );
431+ break ;
430432 case SEGCP_IT : sprintf (trep , "%d" , dev_config -> tcp_option .inactivity );
431433 break ;
432434 case SEGCP_PT : sprintf (trep , "%d" , dev_config -> serial_data_packing .packing_time );
@@ -790,6 +792,11 @@ uint16_t proc_SEGCP(uint8_t* segcp_req, uint8_t* segcp_rep)
790792 dev_config -> serial_option .flow_control = tmp_byte ;
791793 }
792794 break ;
795+ case SEGCP_PO :
796+ tmp_int = atoi (param );
797+ if (param_len > 2 || tmp_int > modbus_ascii ) ret |= SEGCP_RET_ERR_INVALIDPARAM ;
798+ else dev_config -> serial_option .protocol = tmp_int ;
799+ break ;
793800 case SEGCP_IT :
794801 tmp_long = atol (param );
795802 if (tmp_long > 0xFFFF ) ret |= SEGCP_RET_ERR_INVALIDPARAM ;
0 commit comments