增加了交互变量的状态,增加了设备状态和设备表的json解析和生成函数,修复了设备表类和通信协议中不同的地方
This commit is contained in:
Vendored
+2
-1
@@ -73,7 +73,8 @@
|
||||
"stop_token": "cpp",
|
||||
"thread": "cpp",
|
||||
"typeindex": "cpp",
|
||||
"variant": "cpp"
|
||||
"variant": "cpp",
|
||||
"*.ipp": "cpp"
|
||||
},
|
||||
"C_Cpp.errorSquiggles": "disabled",
|
||||
"marscode.chatLanguage": "cn",
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
{
|
||||
"HVABFTDev123Cur_uint16": 0,
|
||||
"HVABactCur_uint16": 0,
|
||||
"HVABbowRudCur_uint16": 0,
|
||||
"HVABbowRudCur_uint16": 58353,
|
||||
"HVABbusBCur_uint16": 0,
|
||||
"HVABbusBVol_uint16": 0,
|
||||
"HVABmastSteGeaCur_uint16": 0,
|
||||
"HVABopenWaterCur_uint16": 0,
|
||||
"HVABxczCur_uint16": 1,
|
||||
"HVBBCCUCur_uint16": 0,
|
||||
"HVABopenWaterCur_uint16": 52412,
|
||||
"HVABxczCur_uint16": 18176,
|
||||
"HVBBCCUCur_uint16": 193,
|
||||
"HVBBFCSSecurSysCur_uint16": 0,
|
||||
"HVBBbatInsCur_uint16": 0,
|
||||
"HVBBbowLowVolDisBoxCur_uint16": 0,
|
||||
"HVBBdcC1InsCur_uint16": 0,
|
||||
"HVBBemer2BusVol_uint16": 0,
|
||||
"HVBBemerBatCur_uint16": 0,
|
||||
"HVBBinsBusVol_uint16": 0,
|
||||
"HVBBbatInsCur_uint16": 22321,
|
||||
"HVBBbowLowVolDisBoxCur_uint16": 22321,
|
||||
"HVBBdcC1InsCur_uint16": 64995,
|
||||
"HVBBemer2BusVol_uint16": 22272,
|
||||
"HVBBemerBatCur_uint16": 47104,
|
||||
"HVBBinsBusVol_uint16": 49152,
|
||||
"HVBBplcCur_uint16": 0,
|
||||
"HVBBreservedCur1_uint16": 0,
|
||||
"HVBBreservedCur2_uint16": 0,
|
||||
"HVBBunit4Cur_uint16": 0,
|
||||
"HVBFTDev45Cur_uint16": 0,
|
||||
"HVBbatGroupCur_uint16": 0,
|
||||
"HVBbowHVolDisBoxCur_uint16": 0,
|
||||
"HVBBreservedCur1_uint16": 127,
|
||||
"HVBBreservedCur2_uint16": 127,
|
||||
"HVBBunit4Cur_uint16": 64995,
|
||||
"HVBFTDev45Cur_uint16": 32716,
|
||||
"HVBbatGroupCur_uint16": 64208,
|
||||
"HVBbowHVolDisBoxCur_uint16": 48482,
|
||||
"HVBbusACur_uint16": 0,
|
||||
"HVBbusAVol_uint16": 0,
|
||||
"HVBbusAVol_uint16": 48479,
|
||||
"HVBdcDc5Cur_uint16": 0,
|
||||
"HVBfbCur_uint16": 0,
|
||||
"HVBmotorCur_uint16": 0,
|
||||
"HVBpowerBusCur_uint16": 0,
|
||||
"HVBfbCur_uint16": 12532,
|
||||
"HVBmotorCur_uint16": 32716,
|
||||
"HVBpowerBusCur_uint16": 55488,
|
||||
"HVBpowerBusVol_uint16": 0,
|
||||
"HVBreservedCur1_uint16": 0,
|
||||
"HVBreservedCur1_uint16": 58199,
|
||||
"HVBreservedCur2_uint16": 0,
|
||||
"HVBreservedCur3_uint16": 0,
|
||||
"HVBsternRud1Cur_uint16": 0,
|
||||
"HVBsternRud2Cur_uint16": 0,
|
||||
"HVBreservedCur3_uint16": 58199,
|
||||
"HVBsternRud1Cur_uint16": 12536,
|
||||
"HVBsternRud2Cur_uint16": 32765,
|
||||
"HVBtyzCur_uint16": 0,
|
||||
"LVBBbowPZDevCur_uint16": 0,
|
||||
"LVBBemerBatCur_uint16": 0,
|
||||
"LVBBemerBusVol_uint16": 0,
|
||||
"LVBBemerBatCur_uint16": 64768,
|
||||
"LVBBemerBusVol_uint16": 44966,
|
||||
"LVBBinsBusCur_uint16": 0,
|
||||
"LVBBunit1Cur_uint16": 0,
|
||||
"LVBBunit2Cur_uint16": 0,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"HVolABusBreaker_unit16": 0,
|
||||
"HVolBBusBreaker_unit16": 79,
|
||||
"HVolBusBreaker_uint16": 58,
|
||||
"LVolBusBreaker_uint16": 159,
|
||||
"HVolBBusBreaker_unit16": 1640,
|
||||
"HVolBusBreaker_uint16": 21943,
|
||||
"LVolBusBreaker_uint16": 48483,
|
||||
"faultCode_array":
|
||||
[
|
||||
0
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"backpressure1_fp32": 8.0,
|
||||
"backpressure2_fp32": 9.0,
|
||||
"ch4oConcent1_fp32": 53.0,
|
||||
"ch4oConcent2_fp32": 81.0,
|
||||
"ch4o_fp32": 0.0,
|
||||
"excTemp_fp32": 84.0,
|
||||
"faultCode1_uint16": 0,
|
||||
"faultCode2_uint16": 0,
|
||||
"faultCode3_uint16": 0,
|
||||
"fcuCurIns_fp32": 0.0,
|
||||
"backpressure1_fp32": 1.129433109780545e-38,
|
||||
"backpressure2_fp32": 1.1736554268475541e-38,
|
||||
"ch4oConcent1_fp32": -1.6155215737897056e+25,
|
||||
"ch4oConcent2_fp32": 1.9618178500547439e-44,
|
||||
"ch4o_fp32": 1.1736554268475541e-38,
|
||||
"excTemp_fp32": 1.1736552867177076e-38,
|
||||
"faultCode1_uint16": 36880,
|
||||
"faultCode2_uint16": 48384,
|
||||
"faultCode3_uint16": 32716,
|
||||
"fcuCurIns_fp32": 8.602403116674333e-40,
|
||||
"fcuCurPower_fp32": 0.0,
|
||||
"fcuCur_fp32": 14.0,
|
||||
"fcuFaultLeve_uint8": 0,
|
||||
"fcuOutIns_fp32": 56.0,
|
||||
"fcuOutPower_fp32": 386.0,
|
||||
"fcuState_uint8": 0,
|
||||
"fcuVolIns_fp32": 0.0,
|
||||
"fcuVolPower_fp32": 0.0,
|
||||
"fcuVol_fp32": 382.0,
|
||||
"flameDet_uint8": 1,
|
||||
"h2Concent1_fp32": 5.0,
|
||||
"h2Concent2_fp32": 3.0,
|
||||
"o2Concent1_fp32": 80.0,
|
||||
"o2Concent2_fp32": 82.0,
|
||||
"o2Level_fp32": 0.0,
|
||||
"o2_fp32": 0.0,
|
||||
"powLimit_fp32": 10.0,
|
||||
"powerGen_fp32": 390.0
|
||||
"fcuCur_fp32": -1.1078134507391041e+21,
|
||||
"fcuFaultLeve_uint8": 96,
|
||||
"fcuOutIns_fp32": 1.1754185405753675e-38,
|
||||
"fcuOutPower_fp32": 194012262694912.0,
|
||||
"fcuState_uint8": 92,
|
||||
"fcuVolIns_fp32": 6.4791036039165641e+19,
|
||||
"fcuVolPower_fp32": 1.1736554268475541e-38,
|
||||
"fcuVol_fp32": 3.4331812375958018e-43,
|
||||
"flameDet_uint8": 0,
|
||||
"h2Concent1_fp32": 6.3595330338098774e+19,
|
||||
"h2Concent2_fp32": 1.1736554268475541e-38,
|
||||
"o2Concent1_fp32": 2.7580044118016918e+19,
|
||||
"o2Concent2_fp32": 1.1736554268475541e-38,
|
||||
"o2Level_fp32": 1.1736552867177076e-38,
|
||||
"o2_fp32": -1.7820938281008955e+23,
|
||||
"powLimit_fp32": 1.1736554268475541e-38,
|
||||
"powerGen_fp32": 2.9084246393558663e+19
|
||||
}
|
||||
@@ -1,38 +1,38 @@
|
||||
{
|
||||
"fcuCurToInsLimit1_uint8": 0,
|
||||
"fcuCurToinsLimit2_uint8": 0,
|
||||
"insBatCurElect_uint16": 0,
|
||||
"insBatLimit_uint16": 89,
|
||||
"insBatSoc_uint8": 57,
|
||||
"insBatTotalElect_uint16": 829,
|
||||
"insChargeState_uint8": 0,
|
||||
"insCurSocHold1_uint8": 0,
|
||||
"insBatCurElect_uint16": 32716,
|
||||
"insBatLimit_uint16": 58199,
|
||||
"insBatSoc_uint8": 0,
|
||||
"insBatTotalElect_uint16": 24778,
|
||||
"insChargeState_uint8": 209,
|
||||
"insCurSocHold1_uint8": 48,
|
||||
"insCurSocHold2_uint8": 0,
|
||||
"insCurSocHold3_uint8": 0,
|
||||
"insCurrent_uint16": 77,
|
||||
"insCurrent_uint16": 0,
|
||||
"insLinkVol_uint16": 0,
|
||||
"insNegRelayState_uint8": 1,
|
||||
"insNegRes_uint16": 0,
|
||||
"insNegRelayState_uint8": 0,
|
||||
"insNegRes_uint16": 48480,
|
||||
"insPackVol_uint16": 0,
|
||||
"insPosRelayState_uint8": 0,
|
||||
"insPosRes_uint16": 0,
|
||||
"insfaultCode_uint8": 0,
|
||||
"insPosRes_uint16": 23716,
|
||||
"insfaultCode_uint8": 228,
|
||||
"powBatCurElect_uint16": 0,
|
||||
"powBatSoc_uint8": 55,
|
||||
"powBatTotalElect_uint16": 924,
|
||||
"powChargeState_uint8": 0,
|
||||
"powBatSoc_uint8": 0,
|
||||
"powBatTotalElect_uint16": 48480,
|
||||
"powChargeState_uint8": 18,
|
||||
"powCurSocHold1_uint8": 0,
|
||||
"powCurSocHold2_uint8": 0,
|
||||
"powCurSocHold3_uint8": 0,
|
||||
"powCurToInsLimit1_uint8": 0,
|
||||
"powCurToinsLimit2_uint8": 0,
|
||||
"powCur_uint16": 74,
|
||||
"powLinkVol_uint16": 0,
|
||||
"powNegRelayState_uint8": 0,
|
||||
"powNegRes_uint16": 0,
|
||||
"powPosRelayState_uint8": 0,
|
||||
"powPosRes_uint16": 0,
|
||||
"powerBatLimit_uint16": 53,
|
||||
"powCurSocHold2_uint8": 244,
|
||||
"powCurSocHold3_uint8": 212,
|
||||
"powCurToInsLimit1_uint8": 95,
|
||||
"powCurToinsLimit2_uint8": 189,
|
||||
"powCur_uint16": 64208,
|
||||
"powLinkVol_uint16": 32716,
|
||||
"powNegRelayState_uint8": 48,
|
||||
"powNegRes_uint16": 32716,
|
||||
"powPosRelayState_uint8": 180,
|
||||
"powPosRes_uint16": 48482,
|
||||
"powerBatLimit_uint16": 32765,
|
||||
"powerPackVol_uint16": 0,
|
||||
"powfaultCode_uint8": 0
|
||||
"powfaultCode_uint8": 85
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"CTD1" : 0,
|
||||
"CTD2" : 0,
|
||||
"DVL" : 0,
|
||||
"USBL" : 0,
|
||||
"bowCover1" : 0,
|
||||
"bowCover2" : 0,
|
||||
"bowCover3" : 0,
|
||||
"bowCover4" : 0,
|
||||
"bowCover5" : 0,
|
||||
"bowCover6" : 0,
|
||||
"bowRudderDeploy" : 0,
|
||||
"bowRudderServo1" : 0,
|
||||
"bowRudderServo2" : 0,
|
||||
"bowThrow" : 0,
|
||||
"bowWaterlnet1" : 0,
|
||||
"bowWaterlnet2" : 0,
|
||||
"bowWaterlnet3" : 0,
|
||||
"bowWaterlnet4" : 0,
|
||||
"bowWaterlnet5" : 0,
|
||||
"bowWaterlnet6" : 0,
|
||||
"bowWaterlnet7" : 0,
|
||||
"bowWaterlnet8" : 0,
|
||||
"buoyage" : 0,
|
||||
"buoyancyAdjust1" : 0,
|
||||
"buoyancyAdjust2" : 0,
|
||||
"buoyancyAdjust3" : 0,
|
||||
"buoyancyAdjust4" : 0,
|
||||
"buoyancyAdjust5" : 0,
|
||||
"commMast" : 0,
|
||||
"depth1" : 0,
|
||||
"depth2" : 0,
|
||||
"depth3" : 0,
|
||||
"electSensor" : 0,
|
||||
"forwardSonar" : 0,
|
||||
"inputWaterSensor1" : 0,
|
||||
"inputWaterSensor2" : 0,
|
||||
"inputWaterSensor3" : 0,
|
||||
"ins" : 0,
|
||||
"launchControler" : 0,
|
||||
"lowFreqSonar" : 0,
|
||||
"mastLiftingServo" : 0,
|
||||
"ntp" : 0,
|
||||
"overDeep1" : 0,
|
||||
"overDeep2" : 0,
|
||||
"photoSensor" : 0,
|
||||
"sideSonar" : 0,
|
||||
"singleBeamSonar1" : 0,
|
||||
"singleBeamSonar2" : 0,
|
||||
"singleBeamSonar3" : 0,
|
||||
"singleBeamSonar4" : 0,
|
||||
"singleBeamSonar5" : 0,
|
||||
"singleBeamSonar6" : 0,
|
||||
"singleBeamSonar7" : 0,
|
||||
"singleBeamSonar8" : 0,
|
||||
"soundVeloc" : 0,
|
||||
"sternRudderServo1" : 0,
|
||||
"sternRudderServo2" : 0,
|
||||
"sternRudderServo3" : 0,
|
||||
"sternRudderServo4" : 0,
|
||||
"sternThrow" : 0,
|
||||
"thruster" : 0,
|
||||
"waterInject" : 0
|
||||
}
|
||||
@@ -161,6 +161,10 @@ bool PowerManger::Iterate()
|
||||
//c. 上位机反馈
|
||||
buildPowerSysReport();
|
||||
}
|
||||
///////////////////////
|
||||
string a = m_driver.getSubDisCmdJson(&m_subDisSysCmd);
|
||||
saveStringToJsonFile(a,"/home/zjk/project/H100/H100PowerManger/data/subDisSysCmd.json");
|
||||
///////////////////////
|
||||
//4. 打印错误信息
|
||||
if(!m_udpComm.sError.empty())
|
||||
{
|
||||
@@ -353,6 +357,23 @@ bool PowerManger::updatePmState()
|
||||
m_pmCurrentState.bus1State = m_disHighVolBusCurrentState.data;
|
||||
m_db->insertDisHighVolBusData(m_disHighVolBusCurrentState.data); //写入数据库
|
||||
msg_disHighVolBusFbMsg_Update_time = time;
|
||||
|
||||
disBus1Breaker* pdis1=new disBus1Breaker;
|
||||
(m_pmCurrentState.bus1State.fuelCellCircuitBreaker == BREAK_ON) ? pdis1 -> fuelCellCircuitBreaker = 1 : pdis1 -> fuelCellCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.powerLithiumBatteryCircuitBreaker == BREAK_ON) ? pdis1 -> powerLithiumBatteryCircuitBreaker = 1 : pdis1 -> powerLithiumBatteryCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.propulsionMotorCircuitBreaker == BREAK_ON) ? pdis1 -> propulsionMotorCircuitBreaker = 1 : pdis1 -> propulsionMotorCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.lithiumBatteryGroupInstrumentCircuitBreaker == BREAK_ON) ? pdis1 -> lithiumBatteryGroupInstrumentCircuitBreaker = 1 : pdis1 -> lithiumBatteryGroupInstrumentCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.dcDc5ModuleCircuitBreaker == BREAK_ON) ? pdis1 -> dcDc5ModuleCircuitBreaker = 1 : pdis1 -> dcDc5ModuleCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.bowHighVoltageDistributionBoxCircuitBreaker == BREAK_ON) ? pdis1 -> bowHighVoltageDistributionBoxCircuitBreaker = 1 : pdis1 -> bowHighVoltageDistributionBoxCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.sternFTDevice45CircuitBreaker == BREAK_ON) ? pdis1 -> sternFTDevice45CircuitBreaker = 1 : pdis1 -> sternFTDevice45CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.sternRudderSwitch1CircuitBreaker == BREAK_ON) ? pdis1 -> sternRudderSwitch1CircuitBreaker = 1 : pdis1 -> sternRudderSwitch1CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.sternRudderSwitch2CircuitBreaker == BREAK_ON) ? pdis1 -> sternRudderSwitch2CircuitBreaker = 1 : pdis1 -> sternRudderSwitch2CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.fbReservedCircuitBreaker == BREAK_ON) ? pdis1 -> fbReservedCircuitBreaker = 1 : pdis1 -> fbReservedCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.tyzReservedCircuitBreaker == BREAK_ON) ? pdis1 -> tyzReservedCircuitBreaker = 1 : pdis1 -> tyzReservedCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.reservedCircuitBreaker == BREAK_ON) ? pdis1 -> reservedCircuitBreaker = 1 : pdis1 -> reservedCircuitBreaker = 0;
|
||||
pdis1 -> paceholder = 0;
|
||||
m_currentDisBreakerState.bus1Breaker = *pdis1;
|
||||
delete pdis1;
|
||||
}
|
||||
if(!m_udpComm.m_qReceiveDisHighAVolBusBuffer.empty())
|
||||
{
|
||||
@@ -361,6 +382,17 @@ bool PowerManger::updatePmState()
|
||||
m_pmCurrentState.bus2State = m_disHighAVolBusCurrentState.data;
|
||||
m_db->insertDisHighAVolBusData(m_disHighAVolBusCurrentState.data); //写入数据库
|
||||
msg_disHighAVolBusFbMsg_Update_time = time;
|
||||
|
||||
disBus2Breaker* pdis2=new disBus2Breaker;
|
||||
(m_pmCurrentState.bus2State.bowFTDevice123CircuitBreaker == BREAK_ON)? pdis2 -> bowFTDevice123CircuitBreaker = 1 : pdis2 -> bowFTDevice123CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.actuatorCircuitBreaker == BREAK_ON)? pdis2 -> actuatorCircuitBreaker = 1 : pdis2 -> actuatorCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.mastSteeringGearControlBoxCircuitBreaker == BREAK_ON)? pdis2 -> mastSteeringGearControlBoxCircuitBreaker = 1 : pdis2 -> mastSteeringGearControlBoxCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.xczCircuitBreaker == BREAK_ON)? pdis2 -> xczCircuitBreaker = 1 : pdis2 -> xczCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.bowRudderControlBoxCircuitBreaker == BREAK_ON)? pdis2 -> bowRudderControlBoxCircuitBreaker = 1 : pdis2 -> bowRudderControlBoxCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.openWaterCoverStartCylinderCircuitBreaker == BREAK_ON)? pdis2 -> openWaterCoverStartCylinderCircuitBreaker = 1 : pdis2 -> openWaterCoverStartCylinderCircuitBreaker = 0;
|
||||
pdis2 -> paceholder = 0;
|
||||
m_currentDisBreakerState.bus2Breaker = *pdis2;
|
||||
delete pdis2;
|
||||
}
|
||||
if(!m_udpComm.m_qReceiveDisHighBVolBusBuffer.empty())
|
||||
{
|
||||
@@ -369,6 +401,18 @@ bool PowerManger::updatePmState()
|
||||
m_pmCurrentState.bus3State = m_disHighBVolBusCurrentState.data;
|
||||
m_db->insertDisHighBVolBusData(m_disHighBVolBusCurrentState.data); //写入数据库
|
||||
msg_disHighBVolBusFbMsg_Update_time = time;
|
||||
|
||||
disBus3Breaker* pdis3=new disBus3Breaker;
|
||||
(m_pmCurrentState.bus3State.lithiumBatteryGroupInstrumentCircuitBreaker == BREAK_ON)? pdis3 -> lithiumBatteryGroupInstrumentCircuitBreaker = 1 : pdis3 -> lithiumBatteryGroupInstrumentCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus3State.bowLowVoltageDistributionBoxCircuitBreaker == BREAK_ON)? pdis3 -> bowLowVoltageDistributionBoxCircuitBreaker = 1 : pdis3 -> bowLowVoltageDistributionBoxCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus3State.unit4InstrumentDC48VCircuitBreaker == BREAK_ON)? pdis3 -> unit4InstrumentDC48VCircuitBreaker = 1 : pdis3 -> unit4InstrumentDC48VCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus3State.dcC1DCDistributionPanelCircuitBreaker == BREAK_ON)? pdis3 -> dcC1DCDistributionPanelCircuitBreaker = 1 : pdis3 -> dcC1DCDistributionPanelCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus3State.reservedCircuitBreaker1 == BREAK_ON)? pdis3 -> reservedCircuitBreaker1 = 1 : pdis3 -> reservedCircuitBreaker1 = 0;
|
||||
(m_pmCurrentState.bus3State.reservedCircuitBreaker2 == BREAK_ON)? pdis3 -> reservedCircuitBreaker2 = 1 : pdis3 -> reservedCircuitBreaker2 = 0;
|
||||
(m_pmCurrentState.bus3State.emergencyLithiumBatteryGroup2CircuitBreaker == BREAK_ON)? pdis3 -> emergencyLithiumBatteryGroup2CircuitBreaker = 1 : pdis3 -> emergencyLithiumBatteryGroup2CircuitBreaker = 0;
|
||||
pdis3->paceholder = 0;
|
||||
m_currentDisBreakerState.bus3Breaker = *pdis3;
|
||||
delete pdis3;
|
||||
}
|
||||
if(!m_udpComm.m_qReceiveDisLowBusBuffer.empty())
|
||||
{
|
||||
@@ -377,6 +421,19 @@ bool PowerManger::updatePmState()
|
||||
m_pmCurrentState.bus4State = m_disLowBusState.data;
|
||||
m_db->insertDisLowBusData(m_disLowBusState.data); //写入数据库
|
||||
msg_disLowBusFbMsg_Update_time = time;
|
||||
|
||||
disBus4Breaker* pdis4=new disBus4Breaker;
|
||||
(m_pmCurrentState.bus4State.unit1CircuitBreaker == BREAK_ON)? pdis4 -> unit1CircuitBreaker = 1 : pdis4 -> unit1CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.unit2CircuitBreaker == BREAK_ON)? pdis4 -> unit2CircuitBreaker = 1 : pdis4 -> unit2CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.unit3CircuitBreaker == BREAK_ON)? pdis4 -> unit3CircuitBreaker = 1 : pdis4 -> unit3CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.unit5CircuitBreaker == BREAK_ON)? pdis4 -> unit5CircuitBreaker = 1 : pdis4 -> unit5CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.bowPZDeviceCircuitBreaker == BREAK_ON)? pdis4 -> bowPZDeviceCircuitBreaker = 1 : pdis4 -> bowPZDeviceCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.reservedCircuitBreaker1 == BREAK_ON)? pdis4 -> reservedCircuitBreaker1 = 1 : pdis4 -> reservedCircuitBreaker1 = 0;
|
||||
(m_pmCurrentState.bus4State.reservedCircuitBreaker2 == BREAK_ON)? pdis4 -> reservedCircuitBreaker2 = 1 : pdis4 -> reservedCircuitBreaker2 = 0;
|
||||
(m_pmCurrentState.bus4State.emergencyLithiumBatteryGroup1CircuitBreaker == BREAK_ON)? pdis4 -> emergencyLithiumBatteryGroup1CircuitBreaker = 1 : pdis4 -> emergencyLithiumBatteryGroup1CircuitBreaker = 0;
|
||||
pdis4 -> paceholder = 0;
|
||||
m_currentDisBreakerState.bus4Breaker = *pdis4;
|
||||
delete pdis4;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -400,63 +457,8 @@ void PowerManger::ccuOption()
|
||||
}
|
||||
void PowerManger::disSysOption()
|
||||
{
|
||||
//1.更新断路器的状态
|
||||
disBus1Breaker* pdis1=new disBus1Breaker;
|
||||
(m_pmCurrentState.bus1State.fuelCellCircuitBreaker == BREAK_ON) ? pdis1 -> fuelCellCircuitBreaker = 1 : pdis1 -> fuelCellCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.powerLithiumBatteryCircuitBreaker == BREAK_ON) ? pdis1 -> powerLithiumBatteryCircuitBreaker = 1 : pdis1 -> powerLithiumBatteryCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.propulsionMotorCircuitBreaker == BREAK_ON) ? pdis1 -> propulsionMotorCircuitBreaker = 1 : pdis1 -> propulsionMotorCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.lithiumBatteryGroupInstrumentCircuitBreaker == BREAK_ON) ? pdis1 -> lithiumBatteryGroupInstrumentCircuitBreaker = 1 : pdis1 -> lithiumBatteryGroupInstrumentCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.dcDc5ModuleCircuitBreaker == BREAK_ON) ? pdis1 -> dcDc5ModuleCircuitBreaker = 1 : pdis1 -> dcDc5ModuleCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.bowHighVoltageDistributionBoxCircuitBreaker == BREAK_ON) ? pdis1 -> bowHighVoltageDistributionBoxCircuitBreaker = 1 : pdis1 -> bowHighVoltageDistributionBoxCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.sternFTDevice45CircuitBreaker == BREAK_ON) ? pdis1 -> sternFTDevice45CircuitBreaker = 1 : pdis1 -> sternFTDevice45CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.sternRudderSwitch1CircuitBreaker == BREAK_ON) ? pdis1 -> sternRudderSwitch1CircuitBreaker = 1 : pdis1 -> sternRudderSwitch1CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.sternRudderSwitch2CircuitBreaker == BREAK_ON) ? pdis1 -> sternRudderSwitch2CircuitBreaker = 1 : pdis1 -> sternRudderSwitch2CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.fbReservedCircuitBreaker == BREAK_ON) ? pdis1 -> fbReservedCircuitBreaker = 1 : pdis1 -> fbReservedCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.tyzReservedCircuitBreaker == BREAK_ON) ? pdis1 -> tyzReservedCircuitBreaker = 1 : pdis1 -> tyzReservedCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus1State.reservedCircuitBreaker == BREAK_ON) ? pdis1 -> reservedCircuitBreaker = 1 : pdis1 -> reservedCircuitBreaker = 0;
|
||||
pdis1 -> paceholder = 0;
|
||||
|
||||
disBus2Breaker* pdis2=new disBus2Breaker;
|
||||
(m_pmCurrentState.bus2State.bowFTDevice123CircuitBreaker == BREAK_ON)? pdis2 -> bowFTDevice123CircuitBreaker = 1 : pdis2 -> bowFTDevice123CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.actuatorCircuitBreaker == BREAK_ON)? pdis2 -> actuatorCircuitBreaker = 1 : pdis2 -> actuatorCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.mastSteeringGearControlBoxCircuitBreaker == BREAK_ON)? pdis2 -> mastSteeringGearControlBoxCircuitBreaker = 1 : pdis2 -> mastSteeringGearControlBoxCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.xczCircuitBreaker == BREAK_ON)? pdis2 -> xczCircuitBreaker = 1 : pdis2 -> xczCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.bowRudderControlBoxCircuitBreaker == BREAK_ON)? pdis2 -> bowRudderControlBoxCircuitBreaker = 1 : pdis2 -> bowRudderControlBoxCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus2State.openWaterCoverStartCylinderCircuitBreaker == BREAK_ON)? pdis2 -> openWaterCoverStartCylinderCircuitBreaker = 1 : pdis2 -> openWaterCoverStartCylinderCircuitBreaker = 0;
|
||||
pdis2 -> paceholder = 0;
|
||||
|
||||
disBus3Breaker* pdis3=new disBus3Breaker;
|
||||
(m_pmCurrentState.bus3State.lithiumBatteryGroupInstrumentCircuitBreaker == BREAK_ON)? pdis3 -> lithiumBatteryGroupInstrumentCircuitBreaker = 1 : pdis3 -> lithiumBatteryGroupInstrumentCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus3State.bowLowVoltageDistributionBoxCircuitBreaker == BREAK_ON)? pdis3 -> bowLowVoltageDistributionBoxCircuitBreaker = 1 : pdis3 -> bowLowVoltageDistributionBoxCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus3State.unit4InstrumentDC48VCircuitBreaker == BREAK_ON)? pdis3 -> unit4InstrumentDC48VCircuitBreaker = 1 : pdis3 -> unit4InstrumentDC48VCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus3State.dcC1DCDistributionPanelCircuitBreaker == BREAK_ON)? pdis3 -> dcC1DCDistributionPanelCircuitBreaker = 1 : pdis3 -> dcC1DCDistributionPanelCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus3State.reservedCircuitBreaker1 == BREAK_ON)? pdis3 -> reservedCircuitBreaker1 = 1 : pdis3 -> reservedCircuitBreaker1 = 0;
|
||||
(m_pmCurrentState.bus3State.reservedCircuitBreaker2 == BREAK_ON)? pdis3 -> reservedCircuitBreaker2 = 1 : pdis3 -> reservedCircuitBreaker2 = 0;
|
||||
(m_pmCurrentState.bus3State.emergencyLithiumBatteryGroup2CircuitBreaker == BREAK_ON)? pdis3 -> emergencyLithiumBatteryGroup2CircuitBreaker = 1 : pdis3 -> emergencyLithiumBatteryGroup2CircuitBreaker = 0;
|
||||
pdis3->paceholder = 0;
|
||||
|
||||
disBus4Breaker* pdis4=new disBus4Breaker;
|
||||
(m_pmCurrentState.bus4State.unit1CircuitBreaker == BREAK_ON)? pdis4 -> unit1CircuitBreaker = 1 : pdis4 -> unit1CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.unit2CircuitBreaker == BREAK_ON)? pdis4 -> unit2CircuitBreaker = 1 : pdis4 -> unit2CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.unit3CircuitBreaker == BREAK_ON)? pdis4 -> unit3CircuitBreaker = 1 : pdis4 -> unit3CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.unit5CircuitBreaker == BREAK_ON)? pdis4 -> unit5CircuitBreaker = 1 : pdis4 -> unit5CircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.bowPZDeviceCircuitBreaker == BREAK_ON)? pdis4 -> bowPZDeviceCircuitBreaker = 1 : pdis4 -> bowPZDeviceCircuitBreaker = 0;
|
||||
(m_pmCurrentState.bus4State.reservedCircuitBreaker1 == BREAK_ON)? pdis4 -> reservedCircuitBreaker1 = 1 : pdis4 -> reservedCircuitBreaker1 = 0;
|
||||
(m_pmCurrentState.bus4State.reservedCircuitBreaker2 == BREAK_ON)? pdis4 -> reservedCircuitBreaker2 = 1 : pdis4 -> reservedCircuitBreaker2 = 0;
|
||||
(m_pmCurrentState.bus4State.emergencyLithiumBatteryGroup1CircuitBreaker == BREAK_ON)? pdis4 -> emergencyLithiumBatteryGroup1CircuitBreaker = 1 : pdis4 -> emergencyLithiumBatteryGroup1CircuitBreaker = 0;
|
||||
pdis4 -> paceholder = 0;
|
||||
|
||||
m_currentDisBreakerState.bus1Breaker = *pdis1;
|
||||
m_currentDisBreakerState.bus2Breaker = *pdis2;
|
||||
m_currentDisBreakerState.bus3Breaker = *pdis3;
|
||||
m_currentDisBreakerState.bus4Breaker = *pdis4;
|
||||
|
||||
delete pdis1;
|
||||
delete pdis2;
|
||||
delete pdis3;
|
||||
delete pdis4;
|
||||
|
||||
//2.根据目标状态进行断路器操作
|
||||
//根据目标状态进行断路器操作
|
||||
//a. 高压母线的断路器
|
||||
disHighVolBusCmd a;
|
||||
a.fuelCellCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.fuelCellCircuitBreaker);
|
||||
@@ -502,7 +504,6 @@ void PowerManger::disSysOption()
|
||||
d.reservedCircuitBreaker2 = getBreakerOption(m_targetDisBreakerState.bus4Breaker.reservedCircuitBreaker2);
|
||||
d.emergencyLithiumBatteryGroup1CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus4Breaker.emergencyLithiumBatteryGroup1CircuitBreaker);
|
||||
m_udpComm.sendDisSysCmd(d);
|
||||
|
||||
//将指令写入数据库
|
||||
m_db->insertDisSysCmd(a);
|
||||
m_db->insertDisSysCmd(b);
|
||||
|
||||
@@ -101,6 +101,16 @@ class PowerManger : public AppCastingMOOSApp
|
||||
|
||||
|
||||
protected:
|
||||
//===========================交互状态变量==================================
|
||||
Driver m_driver;
|
||||
pmState m_pmCurrentState; //能源系统的当前状态
|
||||
disSysBreakerList m_currentDisBreakerState; //配电断路器状态
|
||||
disSysBreakerList m_targetDisBreakerState;
|
||||
DriverTable m_currentDriverState;
|
||||
DriverTable m_MSDriverCmd;
|
||||
DriverTable m_subDisSysCmd;
|
||||
DriverTable m_subDisSysState;
|
||||
//===========================================================================
|
||||
//系统运行状态
|
||||
unsigned char workCondition;
|
||||
unsigned char currentMod;
|
||||
@@ -109,7 +119,7 @@ class PowerManger : public AppCastingMOOSApp
|
||||
vector<unsigned int> faultCode;
|
||||
unsigned int soc;
|
||||
unsigned int sustainableTime;
|
||||
pmState m_pmCurrentState; //能源系统的当前状态
|
||||
|
||||
|
||||
// 配电和CCU的反馈状态
|
||||
msg_CcuStateFbMsg m_CcuCurrentState;
|
||||
@@ -120,8 +130,6 @@ class PowerManger : public AppCastingMOOSApp
|
||||
|
||||
//下位机操作函数
|
||||
//断路器状态
|
||||
disSysBreakerList m_currentDisBreakerState;
|
||||
disSysBreakerList m_targetDisBreakerState;
|
||||
ccuColCmd m_CcuColCmd;
|
||||
void disSysOption();
|
||||
void ccuOption();
|
||||
@@ -146,8 +154,6 @@ class PowerManger : public AppCastingMOOSApp
|
||||
unsigned int m_faultNum;
|
||||
unsigned int m_ticker;
|
||||
|
||||
|
||||
|
||||
public:
|
||||
//===========================状态机实现==============================================
|
||||
void printState(FSM_State st, string desp);
|
||||
|
||||
+474
-181
@@ -65,16 +65,20 @@ void Driver::getSTANDBYTable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
//关闭所有负载
|
||||
driverTable->photoSensor = DRIVER_STANDBY;
|
||||
driverTable->electSensor = DRIVER_STANDBY;
|
||||
driverTable->zhfk = DRIVER_STANDBY;
|
||||
driverTable->launchControler = DRIVER_STANDBY;
|
||||
driverTable->sideSonar = DRIVER_POWER_OFF;
|
||||
driverTable->buoyage = DRIVER_POWER_OFF;
|
||||
//关闭所有水声设备
|
||||
@@ -88,31 +92,33 @@ void Driver::getSTANDBYTable(DriverTable* driverTable)
|
||||
driverTable->singleBeamSonar8 = DRIVER_POWER_OFF;
|
||||
driverTable->DVL = DRIVER_POWER_OFF;
|
||||
driverTable->forwardSonar = DRIVER_POWER_OFF;
|
||||
driverTable->zdp = DRIVER_POWER_OFF;
|
||||
driverTable->usbl = DRIVER_POWER_OFF;
|
||||
driverTable->lowFreqSonar = DRIVER_POWER_OFF;
|
||||
driverTable->USBL = DRIVER_POWER_OFF;
|
||||
//关闭所有执行机构
|
||||
driverTable->bowOpen1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderServo1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderServo2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover8 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderServo1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderServo2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet8 = DRIVER_POWER_OFF;
|
||||
driverTable->waterInject = DRIVER_POWER_OFF;
|
||||
driverTable->wgDJ = DRIVER_POWER_OFF;
|
||||
driverTable->mastLiftingServo = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_POWER_OFF;
|
||||
driverTable->sternRudderServo1 = DRIVER_POWER_OFF;
|
||||
driverTable->sternRudderServo2 = DRIVER_POWER_OFF;
|
||||
driverTable->sternRudderServo3 = DRIVER_POWER_OFF;
|
||||
@@ -130,18 +136,21 @@ void Driver::getSHORE_BASED_READYable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 允许启动负载
|
||||
// 关闭xcz
|
||||
driverTable->photoSensor = DRIVER_STANDBY;
|
||||
driverTable->electSensor = DRIVER_STANDBY;
|
||||
driverTable->zhfk = DRIVER_STANDBY;
|
||||
driverTable->launchControler = DRIVER_STANDBY;
|
||||
driverTable->sideSonar = DRIVER_POWER_OFF;
|
||||
driverTable->buoyage = DRIVER_STANDBY;
|
||||
|
||||
@@ -156,32 +165,34 @@ void Driver::getSHORE_BASED_READYable(DriverTable* driverTable)
|
||||
driverTable->singleBeamSonar8 = DRIVER_POWER_OFF;
|
||||
driverTable->DVL = DRIVER_POWER_OFF;
|
||||
driverTable->forwardSonar = DRIVER_POWER_OFF;
|
||||
driverTable->zdp = DRIVER_POWER_OFF;
|
||||
driverTable->usbl = DRIVER_POWER_OFF;
|
||||
driverTable->lowFreqSonar = DRIVER_POWER_OFF;
|
||||
driverTable->USBL = DRIVER_POWER_OFF;
|
||||
|
||||
// 打开必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover7 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover8 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet7 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet8 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->waterInject = DRIVER_FULL_POWER_ON;
|
||||
driverTable->wgDJ = DRIVER_FULL_POWER_ON;
|
||||
driverTable->mastLiftingServo = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -199,17 +210,20 @@ void Driver::getWATER_BASED_READYable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 允许启动负载
|
||||
driverTable->photoSensor = DRIVER_STANDBY;
|
||||
driverTable->electSensor = DRIVER_STANDBY;
|
||||
driverTable->zhfk = DRIVER_STANDBY;
|
||||
driverTable->launchControler = DRIVER_STANDBY;
|
||||
driverTable->sideSonar = DRIVER_STANDBY;
|
||||
driverTable->buoyage = DRIVER_STANDBY;
|
||||
|
||||
@@ -225,32 +239,34 @@ void Driver::getWATER_BASED_READYable(DriverTable* driverTable)
|
||||
driverTable->singleBeamSonar8 = DRIVER_STANDBY;
|
||||
driverTable->DVL = DRIVER_FULL_POWER_ON;
|
||||
driverTable->forwardSonar = DRIVER_STANDBY;
|
||||
driverTable->zdp = DRIVER_STANDBY;
|
||||
driverTable->usbl = DRIVER_STANDBY;
|
||||
driverTable->lowFreqSonar = DRIVER_STANDBY;
|
||||
driverTable->USBL = DRIVER_STANDBY;
|
||||
|
||||
// 打开必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover7 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover8 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet7 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet8 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->waterInject = DRIVER_FULL_POWER_ON;
|
||||
driverTable->wgDJ = DRIVER_FULL_POWER_ON;
|
||||
driverTable->mastLiftingServo = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -268,44 +284,49 @@ void Driver::getCRUISE_MODEable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 所有负载设备关机
|
||||
driverTable->photoSensor = DRIVER_POWER_OFF;
|
||||
driverTable->electSensor = DRIVER_POWER_OFF;
|
||||
driverTable->zhfk = DRIVER_POWER_OFF;
|
||||
driverTable->launchControler = DRIVER_POWER_OFF;
|
||||
driverTable->sideSonar = DRIVER_POWER_OFF;
|
||||
driverTable->buoyage = DRIVER_POWER_OFF;
|
||||
|
||||
// 打开必要的执行机构
|
||||
// 关闭非必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover8 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet8 = DRIVER_POWER_OFF;
|
||||
driverTable->waterInject = DRIVER_POWER_OFF;
|
||||
driverTable->wgDJ = DRIVER_FULL_POWER_ON;
|
||||
driverTable->mastLiftingServo = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -324,44 +345,49 @@ void Driver::getHIGH_SPEED_MODEable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 所有负载设备关机
|
||||
driverTable->photoSensor = DRIVER_POWER_OFF;
|
||||
driverTable->electSensor = DRIVER_POWER_OFF;
|
||||
driverTable->zhfk = DRIVER_POWER_OFF;
|
||||
driverTable->launchControler = DRIVER_POWER_OFF;
|
||||
driverTable->sideSonar = DRIVER_POWER_OFF;
|
||||
driverTable->buoyage = DRIVER_POWER_OFF;
|
||||
|
||||
// 打开必要的执行机构,只打开操纵机构
|
||||
// 关闭非必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover8 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet8 = DRIVER_POWER_OFF;
|
||||
driverTable->waterInject = DRIVER_POWER_OFF;
|
||||
driverTable->wgDJ = DRIVER_POWER_OFF;
|
||||
driverTable->mastLiftingServo = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_POWER_OFF;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -380,44 +406,49 @@ void Driver::getASCEND_DESCENDable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 所有负载设备关机
|
||||
driverTable->photoSensor = DRIVER_POWER_OFF;
|
||||
driverTable->electSensor = DRIVER_POWER_OFF;
|
||||
driverTable->zhfk = DRIVER_POWER_OFF;
|
||||
driverTable->launchControler = DRIVER_POWER_OFF;
|
||||
driverTable->sideSonar = DRIVER_POWER_OFF;
|
||||
driverTable->buoyage = DRIVER_POWER_OFF;
|
||||
|
||||
// 打开必要的执行机构
|
||||
// 关闭非必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover8 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet8 = DRIVER_POWER_OFF;
|
||||
driverTable->waterInject = DRIVER_POWER_OFF;
|
||||
driverTable->wgDJ = DRIVER_FULL_POWER_ON;
|
||||
driverTable->mastLiftingServo = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -436,44 +467,49 @@ void Driver::getBUOYANCY_ADJUSTable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 所有负载设备关机
|
||||
driverTable->photoSensor = DRIVER_POWER_OFF;
|
||||
driverTable->electSensor = DRIVER_POWER_OFF;
|
||||
driverTable->zhfk = DRIVER_POWER_OFF;
|
||||
driverTable->launchControler = DRIVER_POWER_OFF;
|
||||
driverTable->sideSonar = DRIVER_POWER_OFF;
|
||||
driverTable->buoyage = DRIVER_POWER_OFF;
|
||||
|
||||
// 打开必要的执行机构
|
||||
// 关闭非必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover8 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet8 = DRIVER_POWER_OFF;
|
||||
driverTable->waterInject = DRIVER_POWER_OFF;
|
||||
driverTable->wgDJ = DRIVER_FULL_POWER_ON;
|
||||
driverTable->mastLiftingServo = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -492,44 +528,49 @@ void Driver::getUNDERWATER_RECONable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 所有负载设备关机
|
||||
driverTable->photoSensor = DRIVER_POWER_OFF;
|
||||
driverTable->electSensor = DRIVER_POWER_OFF;
|
||||
driverTable->zhfk = DRIVER_POWER_OFF;
|
||||
driverTable->launchControler = DRIVER_POWER_OFF;
|
||||
driverTable->sideSonar = DRIVER_STANDBY;
|
||||
driverTable->buoyage = DRIVER_POWER_OFF;
|
||||
|
||||
// 打开必要的执行机构
|
||||
// 关闭非必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover8 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet8 = DRIVER_POWER_OFF;
|
||||
driverTable->waterInject = DRIVER_POWER_OFF;
|
||||
driverTable->wgDJ = DRIVER_POWER_OFF;
|
||||
driverTable->mastLiftingServo = DRIVER_POWER_OFF;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -548,44 +589,49 @@ void Driver::getSURFACE_RECONable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 所有负载设备关机
|
||||
driverTable->photoSensor = DRIVER_STANDBY;
|
||||
driverTable->electSensor = DRIVER_STANDBY;
|
||||
driverTable->zhfk = DRIVER_POWER_OFF;
|
||||
driverTable->launchControler = DRIVER_POWER_OFF;
|
||||
driverTable->sideSonar = DRIVER_POWER_OFF;
|
||||
driverTable->buoyage = DRIVER_POWER_OFF;
|
||||
|
||||
// 打开必要的执行机构
|
||||
// 关闭非必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowOpen6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowCover8 = DRIVER_POWER_OFF;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet2 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet3 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet4 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet5 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet6 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet7 = DRIVER_POWER_OFF;
|
||||
driverTable->bowWaterlnet8 = DRIVER_POWER_OFF;
|
||||
driverTable->waterInject = DRIVER_POWER_OFF;
|
||||
driverTable->wgDJ = DRIVER_FULL_POWER_ON;
|
||||
driverTable->mastLiftingServo = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -603,44 +649,49 @@ void Driver::getDJ_MODEable(DriverTable* driverTable)
|
||||
driverTable->depth3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->overDeep2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->CTD2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ctd2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->soundVeloc = DRIVER_FULL_POWER_ON;
|
||||
driverTable->commMast = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ins = DRIVER_FULL_POWER_ON;
|
||||
driverTable->ntp = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->inputWaterSensor3 = DRIVER_FULL_POWER_ON;
|
||||
|
||||
// 所有负载设备关机
|
||||
driverTable->photoSensor = DRIVER_POWER_OFF;
|
||||
driverTable->electSensor = DRIVER_POWER_OFF;
|
||||
driverTable->zhfk = DRIVER_FULL_POWER_ON;
|
||||
driverTable->launchControler = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sideSonar = DRIVER_POWER_OFF;
|
||||
driverTable->buoyage = DRIVER_STANDBY;
|
||||
|
||||
// 打开必要的执行机构
|
||||
// 关闭非必要的执行机构
|
||||
driverTable->bowOpen1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowOpen6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover7 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowCover8 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderDeploy = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet6 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet7 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->bowWaterlnet8 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->waterInject = DRIVER_POWER_OFF;
|
||||
driverTable->wgDJ = DRIVER_FULL_POWER_ON;
|
||||
driverTable->mastLiftingServo = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust3 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust4 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->buoyancyAdjust5 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo1 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo2 = DRIVER_FULL_POWER_ON;
|
||||
driverTable->sternRudderServo3 = DRIVER_FULL_POWER_ON;
|
||||
@@ -660,12 +711,16 @@ std::string Driver::saveDriverTableToJson(const DriverTable* driverTable)
|
||||
root["depth3"] = driverTable->depth3;
|
||||
root["overDeep1"] = driverTable->overDeep1;
|
||||
root["overDeep2"] = driverTable->overDeep2;
|
||||
root["CTD1"] = driverTable->CTD1;
|
||||
root["CTD2"] = driverTable->CTD2;
|
||||
root["ctd1"] = driverTable->ctd1;
|
||||
root["ctd2"] = driverTable->ctd2;
|
||||
root["soundVeloc"] = driverTable->soundVeloc;
|
||||
root["commMast"] = driverTable->commMast;
|
||||
root["ins"] = driverTable->ins;
|
||||
root["ntp"] = driverTable->ntp;
|
||||
root["inputWaterSensor1"] = driverTable->inputWaterSensor1;
|
||||
root["inputWaterSensor2"] = driverTable->inputWaterSensor2;
|
||||
root["inputWaterSensor3"] = driverTable->inputWaterSensor3;
|
||||
|
||||
root["singleBeamSonar1"] = driverTable->singleBeamSonar1;
|
||||
root["singleBeamSonar2"] = driverTable->singleBeamSonar2;
|
||||
root["singleBeamSonar3"] = driverTable->singleBeamSonar3;
|
||||
@@ -676,30 +731,32 @@ std::string Driver::saveDriverTableToJson(const DriverTable* driverTable)
|
||||
root["singleBeamSonar8"] = driverTable->singleBeamSonar8;
|
||||
root["forwardSonar"] = driverTable->forwardSonar;
|
||||
root["DVL"] = driverTable->DVL;
|
||||
root["zdp"] = driverTable->zdp;
|
||||
root["usbl"] = driverTable->usbl;
|
||||
root["bowOpen1"] = driverTable->bowOpen1;
|
||||
root["bowOpen2"] = driverTable->bowOpen2;
|
||||
root["bowOpen3"] = driverTable->bowOpen3;
|
||||
root["bowOpen4"] = driverTable->bowOpen4;
|
||||
root["bowOpen5"] = driverTable->bowOpen5;
|
||||
root["bowOpen6"] = driverTable->bowOpen6;
|
||||
root["bowRudderDeploy"] = driverTable->bowRudderDeploy;
|
||||
root["bowRudderServo1"] = driverTable->bowRudderServo1;
|
||||
root["bowRudderServo2"] = driverTable->bowRudderServo2;
|
||||
root["lowFreqSonar"] = driverTable->lowFreqSonar;
|
||||
root["USBL"] = driverTable->USBL;
|
||||
root["bowCover1"] = driverTable->bowCover1;
|
||||
root["bowCover2"] = driverTable->bowCover2;
|
||||
root["bowCover3"] = driverTable->bowCover3;
|
||||
root["bowCover4"] = driverTable->bowCover4;
|
||||
root["bowCover5"] = driverTable->bowCover5;
|
||||
root["bowCover6"] = driverTable->bowCover6;
|
||||
root["bowCover7"] = driverTable->bowCover7;
|
||||
root["bowCover8"] = driverTable->bowCover8;
|
||||
root["bowRudderDeploy"] = driverTable->bowRudderDeploy;
|
||||
root["bowRudderServo1"] = driverTable->bowRudderServo1;
|
||||
root["bowRudderServo2"] = driverTable->bowRudderServo2;
|
||||
root["bowWaterlnet1"] = driverTable->bowWaterlnet1;
|
||||
root["bowWaterlnet2"] = driverTable->bowWaterlnet2;
|
||||
root["bowWaterlnet3"] = driverTable->bowWaterlnet3;
|
||||
root["bowWaterlnet4"] = driverTable->bowWaterlnet4;
|
||||
root["bowWaterlnet5"] = driverTable->bowWaterlnet5;
|
||||
root["bowWaterlnet6"] = driverTable->bowWaterlnet6;
|
||||
root["bowWaterlnet7"] = driverTable->bowWaterlnet7;
|
||||
root["bowWaterlnet8"] = driverTable->bowWaterlnet8;
|
||||
root["waterInject"] = driverTable->waterInject;
|
||||
root["wgDJ"] = driverTable->wgDJ;
|
||||
root["mastLiftingServo"] = driverTable->mastLiftingServo;
|
||||
root["buoyancyAdjust1"] = driverTable->buoyancyAdjust1;
|
||||
root["buoyancyAdjust2"] = driverTable->buoyancyAdjust2;
|
||||
root["buoyancyAdjust3"] = driverTable->buoyancyAdjust3;
|
||||
root["buoyancyAdjust4"] = driverTable->buoyancyAdjust4;
|
||||
root["buoyancyAdjust5"] = driverTable->buoyancyAdjust5;
|
||||
root["sternRudderServo1"] = driverTable->sternRudderServo1;
|
||||
root["sternRudderServo2"] = driverTable->sternRudderServo2;
|
||||
root["sternRudderServo3"] = driverTable->sternRudderServo3;
|
||||
@@ -709,13 +766,249 @@ std::string Driver::saveDriverTableToJson(const DriverTable* driverTable)
|
||||
root["sternThrow"] = driverTable->sternThrow;
|
||||
root["photoSensor"] = driverTable->photoSensor;
|
||||
root["electSensor"] = driverTable->electSensor;
|
||||
root["zhfk"] = driverTable->zhfk;
|
||||
root["launchControler"] = driverTable->launchControler;
|
||||
root["sideSonar"] = driverTable->sideSonar;
|
||||
root["buoyage"] = driverTable->buoyage;
|
||||
|
||||
|
||||
return root.toStyledString();
|
||||
}
|
||||
std::string Driver::getDriverTableJson()
|
||||
{
|
||||
return saveDriverTableToJson(currentDriverTable);
|
||||
}
|
||||
|
||||
std::string Driver::getSubDisCmdJson(const DriverTable* driverTable)
|
||||
{
|
||||
return saveDriverTableToJson(currentDriverTable);
|
||||
}
|
||||
|
||||
std::string Driver::getDriveStateJson(const DriverTable* driverTable)
|
||||
{
|
||||
return saveDriverTableToJson(currentDriverTable);
|
||||
}
|
||||
|
||||
|
||||
int Driver::SafeReadUInt(const Json::Value& root, const std::string& key, unsigned char& value) {
|
||||
if (!root.isMember(key)) {
|
||||
std::cerr << "错误: 缺少字段 " << key << std::endl;
|
||||
return -1; // 返回-1表示缺少字段
|
||||
}
|
||||
|
||||
if (!root[key].isUInt()) {
|
||||
std::cerr << "错误: 字段 " << key << " 数据类型不正确,应为无符号整数" << std::endl;
|
||||
return -2; // 返回-2表示数据类型错误
|
||||
}
|
||||
|
||||
value = root[key].asUInt();
|
||||
return 0; // 成功读取
|
||||
}
|
||||
|
||||
int Driver::loadDriverTableFromJson(const std::string &strJson, DriverTable& table)
|
||||
{
|
||||
Json::CharReaderBuilder builder;
|
||||
Json::Value root;
|
||||
std::string errs;
|
||||
|
||||
// 解析JSON字符串
|
||||
std::istringstream s(strJson);
|
||||
if (!Json::parseFromStream(builder, s, &root, &errs))
|
||||
{
|
||||
std::cerr << "JSON解析失败: " << errs << std::endl;
|
||||
return -3; // 解析失败
|
||||
}
|
||||
|
||||
// 读取 JSON 数据并填充结构体,逐个字段检查
|
||||
int error_code = 0;
|
||||
|
||||
error_code = SafeReadUInt(root, "depth1", table.depth1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "depth2", table.depth2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "depth3", table.depth3);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "overDeep1", table.overDeep1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "overDeep2", table.overDeep2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "ctd1", table.ctd1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "ctd2", table.ctd2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "soundVeloc", table.soundVeloc);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "commMast", table.commMast);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "ins", table.ins);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "ntp", table.ntp);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "inputWaterSensor1", table.inputWaterSensor1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "inputWaterSensor2", table.inputWaterSensor2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "inputWaterSensor3", table.inputWaterSensor3);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
// 水声设备
|
||||
error_code = SafeReadUInt(root, "singleBeamSonar1", table.singleBeamSonar1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "singleBeamSonar2", table.singleBeamSonar2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "singleBeamSonar3", table.singleBeamSonar3);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "singleBeamSonar4", table.singleBeamSonar4);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "singleBeamSonar5", table.singleBeamSonar5);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "singleBeamSonar6", table.singleBeamSonar6);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "singleBeamSonar7", table.singleBeamSonar7);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "singleBeamSonar8", table.singleBeamSonar8);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "forwardSonar", table.forwardSonar);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "DVL", table.DVL);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "lowFreqSonar", table.lowFreqSonar);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "USBL", table.USBL);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
// 执行机构
|
||||
error_code = SafeReadUInt(root, "bowWaterlnet1", table.bowWaterlnet1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowWaterlnet2", table.bowWaterlnet2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowWaterlnet3", table.bowWaterlnet3);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowWaterlnet4", table.bowWaterlnet4);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowWaterlnet5", table.bowWaterlnet5);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowWaterlnet6", table.bowWaterlnet6);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowWaterlnet7", table.bowWaterlnet7);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowWaterlnet8", table.bowWaterlnet8);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowRudderDeploy", table.bowRudderDeploy);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowRudderServo1", table.bowRudderServo1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowRudderServo2", table.bowRudderServo2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowCover1", table.bowCover1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowCover2", table.bowCover2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowCover3", table.bowCover3);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowCover4", table.bowCover4);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowCover5", table.bowCover5);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowCover6", table.bowCover6);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "waterInject", table.waterInject);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "mastLiftingServo", table.mastLiftingServo);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "buoyancyAdjust1", table.buoyancyAdjust1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "buoyancyAdjust2", table.buoyancyAdjust2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "buoyancyAdjust3", table.buoyancyAdjust3);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "buoyancyAdjust4", table.buoyancyAdjust4);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "buoyancyAdjust5", table.buoyancyAdjust5);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "sternRudderServo1", table.sternRudderServo1);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "sternRudderServo2", table.sternRudderServo2);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "sternRudderServo3", table.sternRudderServo3);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "sternRudderServo4", table.sternRudderServo4);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "thruster", table.thruster);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "bowThrow", table.bowThrow);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "sternThrow", table.sternThrow);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
// 负载
|
||||
error_code = SafeReadUInt(root, "photoSensor", table.photoSensor);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "electSensor", table.electSensor);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "launchControler", table.launchControler);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "sideSonar", table.sideSonar);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
error_code = SafeReadUInt(root, "buoyage", table.buoyage);
|
||||
if (error_code != 0) return error_code;
|
||||
|
||||
return 0; // 返回0表示所有数据成功读取
|
||||
}
|
||||
+33
-20
@@ -2,6 +2,8 @@
|
||||
#define DRIVER_H
|
||||
#include "json/json.h"
|
||||
#include "iostream"
|
||||
#include <sstream>
|
||||
|
||||
|
||||
#define DRIVER_POWER_OFF 0x00
|
||||
#define DRIVER_FULL_POWER_ON 0x01
|
||||
@@ -16,12 +18,15 @@ struct DriverTable
|
||||
unsigned char depth3;
|
||||
unsigned char overDeep1;
|
||||
unsigned char overDeep2;
|
||||
unsigned char CTD1;
|
||||
unsigned char CTD2;
|
||||
unsigned char ctd1;
|
||||
unsigned char ctd2;
|
||||
unsigned char soundVeloc;
|
||||
unsigned char commMast;
|
||||
unsigned char ins;
|
||||
unsigned char ntp;
|
||||
unsigned char inputWaterSensor1;
|
||||
unsigned char inputWaterSensor2;
|
||||
unsigned char inputWaterSensor3;
|
||||
//水声设备
|
||||
unsigned char singleBeamSonar1;
|
||||
unsigned char singleBeamSonar2;
|
||||
@@ -33,15 +38,17 @@ struct DriverTable
|
||||
unsigned char singleBeamSonar8;
|
||||
unsigned char forwardSonar;
|
||||
unsigned char DVL;
|
||||
unsigned char zdp;
|
||||
unsigned char usbl;
|
||||
unsigned char lowFreqSonar;
|
||||
unsigned char USBL;
|
||||
//执行机构
|
||||
unsigned char bowOpen1;
|
||||
unsigned char bowOpen2;
|
||||
unsigned char bowOpen3;
|
||||
unsigned char bowOpen4;
|
||||
unsigned char bowOpen5;
|
||||
unsigned char bowOpen6;
|
||||
unsigned char bowWaterlnet1;
|
||||
unsigned char bowWaterlnet2;
|
||||
unsigned char bowWaterlnet3;
|
||||
unsigned char bowWaterlnet4;
|
||||
unsigned char bowWaterlnet5;
|
||||
unsigned char bowWaterlnet6;
|
||||
unsigned char bowWaterlnet7;
|
||||
unsigned char bowWaterlnet8;
|
||||
unsigned char bowRudderDeploy;
|
||||
unsigned char bowRudderServo1;
|
||||
unsigned char bowRudderServo2;
|
||||
@@ -51,13 +58,13 @@ struct DriverTable
|
||||
unsigned char bowCover4;
|
||||
unsigned char bowCover5;
|
||||
unsigned char bowCover6;
|
||||
unsigned char bowCover7;
|
||||
unsigned char bowCover8;
|
||||
unsigned char waterInject;
|
||||
unsigned char wgDJ;
|
||||
unsigned char mastLiftingServo;
|
||||
unsigned char buoyancyAdjust1;
|
||||
unsigned char buoyancyAdjust2;
|
||||
unsigned char buoyancyAdjust3;
|
||||
unsigned char buoyancyAdjust4;
|
||||
unsigned char buoyancyAdjust5;
|
||||
unsigned char sternRudderServo1;
|
||||
unsigned char sternRudderServo2;
|
||||
unsigned char sternRudderServo3;
|
||||
@@ -68,17 +75,17 @@ struct DriverTable
|
||||
//负载
|
||||
unsigned char photoSensor;
|
||||
unsigned char electSensor;
|
||||
unsigned char zhfk;
|
||||
unsigned char launchControler;
|
||||
unsigned char sideSonar;
|
||||
unsigned char buoyage;
|
||||
};
|
||||
|
||||
enum DriverState
|
||||
{
|
||||
POWER_OFF, // 断电
|
||||
POWER_OFF, // 断电
|
||||
FULL_POWER_ON, // 全电
|
||||
INSTRUMENT_POWER_ON, // 仪表电上电
|
||||
MOTIVE_POWER_ON, // 动力电上电
|
||||
INSTRUMENT_POWER_ON, // 仪表电上电
|
||||
MOTIVE_POWER_ON, // 动力电上电
|
||||
};
|
||||
|
||||
enum workCondition
|
||||
@@ -119,12 +126,18 @@ public:
|
||||
void getUNDERWATER_RECONable(DriverTable* driverTable);
|
||||
void getSURFACE_RECONable(DriverTable* driverTable);
|
||||
void getDJ_MODEable(DriverTable* driverTable);
|
||||
|
||||
std::string saveDriverTableToJson(const DriverTable* driverTable);
|
||||
|
||||
|
||||
std::string getDriverTableJson();
|
||||
std::string getSubDisCmdJson(const DriverTable* driverTable);
|
||||
std::string getDriveStateJson(const DriverTable* driverTable);
|
||||
|
||||
std::string saveDriverTableToJson(const DriverTable* driverTable);
|
||||
int loadDriverTableFromJson(const std::string &strJson, DriverTable& table);
|
||||
|
||||
int SafeReadUInt(const Json::Value& root, const std::string& key, unsigned char& value);
|
||||
|
||||
private:
|
||||
|
||||
bool debug;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user