From 095b7559af83449bb292bd7beba464ee6ae2b47a Mon Sep 17 00:00:00 2001 From: zjk <1553836110@qq.com> Date: Sun, 29 Jun 2025 11:21:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- missions/alder/alder.moos | 4 +- src/pAUV150/AUV150.cpp | 4 +- src/pAUV150/Controler/Controler.cpp | 808 +++++++++++++++------- src/pAUV150/Controler/Controler.h | 430 ++++++------ src/pAUV150/Controler/Controler_data.cpp | 46 +- src/pAUV150/Controler/Controler_private.h | 4 +- src/pAUV150/Controler/Controler_types.h | 4 +- src/pAUV150/Controler/rtGetNaN.cpp | 4 +- src/pAUV150/Controler/rtGetNaN.h | 4 +- src/pAUV150/Controler/rt_nonfinite.cpp | 4 +- src/pAUV150/Controler/rt_nonfinite.h | 4 +- src/pAUV150/Controler/rtmodel.h | 44 ++ src/pAUV150/Controler/rtwtypes.h | 4 +- 13 files changed, 891 insertions(+), 473 deletions(-) create mode 100644 src/pAUV150/Controler/rtmodel.h diff --git a/missions/alder/alder.moos b/missions/alder/alder.moos index 71f7cec..fa71112 100644 --- a/missions/alder/alder.moos +++ b/missions/alder/alder.moos @@ -21,7 +21,7 @@ ProcessConfig = ANTLER Run = pMarineViewer @ NewConsole = false Run = uProcessWatch @ NewConsole = false Run = pHelmIvP @ NewConsole = false - Run = pAUV150 @ NewConsole = true + Run = pAUV150 @ NewConsole = false //Run = pMotionControler @ NewConsole = false } @@ -164,7 +164,7 @@ ProcessConfig = pAUV150 //server_host = 10.127.0.18 //server_host = 127.0.0.1 - server_host = 172.18.96.1 + server_host = 172.24.224.1 LatOrigin = 43.825300 LongOrigin = -70.330400 diff --git a/src/pAUV150/AUV150.cpp b/src/pAUV150/AUV150.cpp index e948d17..f77f9ec 100644 --- a/src/pAUV150/AUV150.cpp +++ b/src/pAUV150/AUV150.cpp @@ -13,7 +13,7 @@ #include #include -#define DEBUG_ +// #define DEBUG_ using namespace std; @@ -145,7 +145,7 @@ bool AUV150::Iterate() m_geodesy.LatLong2LocalGrid(m_status.insLatitude, m_status.insLongitude, m_pos_x, m_pos_y); postStatusUpdate("NAV"); #endif - // AppCastingMOOSApp::PostReport(); + AppCastingMOOSApp::PostReport(); return(true); } diff --git a/src/pAUV150/Controler/Controler.cpp b/src/pAUV150/Controler/Controler.cpp index 218793f..4580e04 100644 --- a/src/pAUV150/Controler/Controler.cpp +++ b/src/pAUV150/Controler/Controler.cpp @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) @@ -27,25 +27,365 @@ void Controler::step() { real_T mod_error; + real_T rtb_Delay1; + real_T rtb_Delay1_d; + real_T rtb_Delay5; + real_T rtb_Delay6; + real_T rtb_Delay6_c; + real_T rtb_Delay7; + real_T rtb_Delay7_c; real_T rtb_FilterCoefficient; - real_T rtb_FilterCoefficient_a; - real_T rtb_FilterCoefficient_lc; - real_T rtb_Filter_b; + real_T rtb_FilterCoefficient_g; + real_T rtb_FilterCoefficient_l; + real_T rtb_Filter_k; real_T rtb_IntegralGain; real_T rtb_Integrator_d; real_T rtb_Switch; real_T rtb_depth_error; + real_T rtb_pitch_error; + real_T rtb_pos_i1; + real_T rtb_pos_i1_k; + real_T rtb_pos_i2; + real_T rtb_pos_i2_l; + real_T rtb_pos_i3; + real_T rtb_ref_i1; + real_T rtb_ref_i1_p; + real_T rtb_ref_i2; + real_T rtb_ref_i2_d; + real_T rtb_ref_i3; int8_T rtb_Switch1; int8_T tmp; + int8_T tmp_0; boolean_T rtb_RelationalOperator; boolean_T rtb_fixforDTpropagationissue; // Outputs for Atomic SubSystem: '/Controler' + // Delay: '/pos_i-1' + rtb_pos_i1 = rtDW.pos_i1_DSTATE; + + // Delay: '/pos_i-2' + rtb_pos_i2 = rtDW.pos_i2_DSTATE; + + // Delay: '/pos_i-3' + rtb_pos_i3 = rtDW.pos_i3_DSTATE; + + // Delay: '/ref_i-1' + rtb_ref_i1 = rtDW.ref_i1_DSTATE; + + // Delay: '/ref_i-2' + rtb_ref_i2 = rtDW.ref_i2_DSTATE; + + // Delay: '/ref_i-3' + rtb_ref_i3 = rtDW.ref_i3_DSTATE; + + // Delay: '/Delay1' + rtb_Delay1 = rtDW.Delay1_DSTATE; + + // Delay: '/Delay6' + rtb_Delay6 = rtDW.Delay6_DSTATE; + + // Delay: '/Delay7' + rtb_Delay7 = rtDW.Delay7_DSTATE; + + // Delay: '/Delay5' + rtb_Delay5 = rtDW.Delay5_DSTATE; + + // Sum: '/Sum1' incorporates: + // Delay: '/Delay1' + // Delay: '/Delay10' + // Delay: '/Delay2' + // Delay: '/Delay3' + // Delay: '/Delay4' + // Delay: '/Delay5' + // Delay: '/Delay6' + // Delay: '/Delay7' + // Delay: '/Delay8' + // Delay: '/Delay9' + // Delay: '/pos_i-1' + // Delay: '/pos_i-2' + // Delay: '/pos_i-3' + // Delay: '/pos_i-4' + // Delay: '/ref_i-1' + // Delay: '/ref_i-2' + // Delay: '/ref_i-3' + // Delay: '/ref_i-4' + // Gain: '/Gain1' + // Gain: '/Gain10' + // Gain: '/Gain11' + // Gain: '/Gain2' + // Gain: '/Gain3' + // Gain: '/Gain4' + // Gain: '/Gain5' + // Gain: '/Gain6' + // Gain: '/Gain7' + // Gain: '/Gain9' + // Gain: '/Compensation Gain' + // Gain: '/Gain' + // Gain: '/Gain1' + // Gain: '/Gain10' + // Gain: '/Gain11' + // Gain: '/Gain12' + // Gain: '/Gain13' + // Gain: '/Gain14' + // Gain: '/Gain15' + // Gain: '/Gain16' + // Gain: '/Gain17' + // Gain: '/Gain18' + // Gain: '/Gain19' + // Gain: '/Gain2' + // Gain: '/Gain3' + // Gain: '/Gain4' + // Gain: '/Gain5' + // Gain: '/Gain6' + // Gain: '/Gain7' + // Gain: '/Gain8' + // Gain: '/Gain9' + // Inport: '/depth_cmd' + // Inport: '/z' + // Sum: '/Add2' + // Sum: '/Add' + // Sum: '/Add' + // Sum: '/Add1' + // Sum: '/predict_error_(i+2)' + + rtb_depth_error = rtU.z - ((rtU.depth_cmd - ((((((((((((((((((((rtU.z - + 4.96546716 * rtDW.Delay1_DSTATE) - -9.86401854 * rtDW.Delay6_DSTATE) - + 9.7928555 * rtDW.Delay7_DSTATE) - -4.85552402 * rtDW.Delay5_DSTATE) - + 0.9612199 * rtDW.Delay8_DSTATE) - -0.0031985800000000021 * + rtDW.Delay10_DSTATE) - 0.0095957400000000071 * rtDW.Delay9_DSTATE) - + -0.0031985800000000073 * rtDW.Delay4_DSTATE) - -0.0095957399999999984 * + rtDW.Delay3_DSTATE) - 0.0063971600000000007 * rtDW.Delay2_DSTATE) + + (((((((((4.96546716 * rtU.z + -9.86401854 * rtDW.pos_i1_DSTATE) + 9.7928555 * + rtDW.pos_i2_DSTATE) + -4.85552402 * rtDW.pos_i3_DSTATE) + 0.9612199 * + rtDW.pos_i4_DSTATE) + 0.0063971600000000007 * rtU.depth_cmd) + + -0.0095957399999999984 * rtDW.ref_i1_DSTATE) + -0.0031985800000000073 * + rtDW.ref_i2_DSTATE) + 0.0095957400000000071 * rtDW.ref_i3_DSTATE) + + -0.0031985800000000021 * rtDW.ref_i4_DSTATE)) * 4.96546716 + -9.86401854 * + rtU.z) + 9.7928555 * rtDW.pos_i1_DSTATE) + -4.85552402 * rtDW.pos_i2_DSTATE) + + 0.9612199 * rtDW.pos_i3_DSTATE) + 0.0063971600000000007 * rtU.depth_cmd) + + -0.0095957399999999984 * rtU.depth_cmd) + -0.0031985800000000073 * + rtDW.ref_i1_DSTATE) + 0.0095957400000000071 * rtDW.ref_i2_DSTATE) + + -0.0031985800000000021 * rtDW.ref_i3_DSTATE)) * rtP.gamma_depth + + rtU.depth_cmd); + + // Gain: '/Filter Coefficient' incorporates: + // DiscreteIntegrator: '/Filter' + // Gain: '/Derivative Gain' + // Sum: '/SumD' + + rtb_FilterCoefficient = (rtP.pid_depth.D * rtb_depth_error - + rtDW.Filter_DSTATE) * rtP.pid_depth.N; + + // Sum: '/Sum' incorporates: + // DiscreteIntegrator: '/Integrator' + // Gain: '/Proportional Gain' + + rtb_Filter_k = (rtP.pid_depth.P * rtb_depth_error + rtDW.Integrator_DSTATE) + + rtb_FilterCoefficient; + + // Saturate: '/Saturation' + if (rtb_Filter_k > 30.0) { + rtb_pitch_error = 30.0; + } else if (rtb_Filter_k < -30.0) { + rtb_pitch_error = -30.0; + } else { + rtb_pitch_error = rtb_Filter_k; + } + + // Sum: '/Sum2' incorporates: + // Inport: '/theta' + // Saturate: '/Saturation' + + rtb_pitch_error -= rtU.theta; + + // Gain: '/Filter Coefficient' incorporates: + // DiscreteIntegrator: '/Filter' + // Gain: '/Derivative Gain' + // Sum: '/SumD' + + rtb_FilterCoefficient_g = (rtP.pid_pitch.D * rtb_pitch_error - + rtDW.Filter_DSTATE_l) * rtP.pid_pitch.N; + + // Sum: '/Sum' incorporates: + // DiscreteIntegrator: '/Integrator' + // Gain: '/Proportional Gain' + + rtb_Integrator_d = (rtP.pid_pitch.P * rtb_pitch_error + + rtDW.Integrator_DSTATE_f) + rtb_FilterCoefficient_g; + + // Saturate: '/Saturation' incorporates: + // DeadZone: '/DeadZone' + + if (rtb_Integrator_d > 35.0) { + // Outport: '/DirectLeftRudderServoAngleCmd' + rtY.DirectLeftRudderServoAngleCmd = 35.0; + rtb_Integrator_d -= 35.0; + } else { + if (rtb_Integrator_d < -35.0) { + // Outport: '/DirectLeftRudderServoAngleCmd' + rtY.DirectLeftRudderServoAngleCmd = -35.0; + } else { + // Outport: '/DirectLeftRudderServoAngleCmd' + rtY.DirectLeftRudderServoAngleCmd = rtb_Integrator_d; + } + + if (rtb_Integrator_d >= -35.0) { + rtb_Integrator_d = 0.0; + } else { + rtb_Integrator_d -= -35.0; + } + } + + // End of Saturate: '/Saturation' + + // RelationalOperator: '/Relational Operator' incorporates: + // Constant: '/Clamping_zero' + + rtb_RelationalOperator = (rtb_Integrator_d != 0.0); + + // RelationalOperator: '/fix for DT propagation issue' incorporates: + // Constant: '/Clamping_zero' + + rtb_fixforDTpropagationissue = (rtb_Integrator_d > 0.0); + + // Gain: '/Integral Gain' + rtb_Integrator_d = rtP.pid_pitch.I * rtb_pitch_error; + + // Switch: '/Switch1' incorporates: + // Constant: '/Constant' + // Constant: '/Constant2' + + if (rtb_fixforDTpropagationissue) { + tmp = 1; + } else { + tmp = -1; + } + + // Switch: '/Switch2' incorporates: + // Constant: '/Clamping_zero' + // Constant: '/Constant3' + // Constant: '/Constant4' + // RelationalOperator: '/fix for DT propagation issue1' + + if (rtb_Integrator_d > 0.0) { + tmp_0 = 1; + } else { + tmp_0 = -1; + } + + // Switch: '/Switch' incorporates: + // Constant: '/Constant1' + // Logic: '/AND3' + // RelationalOperator: '/Equal1' + // Switch: '/Switch1' + // Switch: '/Switch2' + + if (rtb_RelationalOperator && (tmp == tmp_0)) { + rtb_Switch = 0.0; + } else { + rtb_Switch = rtb_Integrator_d; + } + + // End of Switch: '/Switch' + + // DeadZone: '/DeadZone' + if (rtb_Filter_k > 30.0) { + rtb_Filter_k -= 30.0; + } else if (rtb_Filter_k >= -30.0) { + rtb_Filter_k = 0.0; + } else { + rtb_Filter_k -= -30.0; + } + + // End of DeadZone: '/DeadZone' + + // Gain: '/Integral Gain' + rtb_Integrator_d = rtP.pid_depth.I * rtb_depth_error; + + // Delay: '/pos_i-1' + rtb_pos_i1_k = rtDW.pos_i1_DSTATE_f; + + // Delay: '/pos_i-2' + rtb_pos_i2_l = rtDW.pos_i2_DSTATE_n; + + // Delay: '/ref_i-1' + rtb_ref_i1_p = rtDW.ref_i1_DSTATE_c; + + // Delay: '/ref_i-2' + rtb_ref_i2_d = rtDW.ref_i2_DSTATE_m; + + // Delay: '/Delay1' + rtb_Delay1_d = rtDW.Delay1_DSTATE_o; + + // Delay: '/Delay6' + rtb_Delay6_c = rtDW.Delay6_DSTATE_k; + + // Delay: '/Delay7' + rtb_Delay7_c = rtDW.Delay7_DSTATE_o; + // MATLAB Function: '/MATLAB Function' incorporates: + // Delay: '/Delay1' + // Delay: '/Delay2' + // Delay: '/Delay3' + // Delay: '/Delay4' + // Delay: '/Delay5' + // Delay: '/Delay6' + // Delay: '/Delay7' + // Delay: '/Delay9' + // Delay: '/pos_i-1' + // Delay: '/pos_i-2' + // Delay: '/pos_i-3' + // Delay: '/ref_i-1' + // Delay: '/ref_i-2' + // Delay: '/ref_i-3' + // Gain: '/Gain1' + // Gain: '/Gain10' + // Gain: '/Gain11' + // Gain: '/Gain2' + // Gain: '/Gain3' + // Gain: '/Gain4' + // Gain: '/Gain7' + // Gain: '/Gain9' + // Gain: '/Compensation Gain' + // Gain: '/Gain' + // Gain: '/Gain1' + // Gain: '/Gain10' + // Gain: '/Gain11' + // Gain: '/Gain12' + // Gain: '/Gain14' + // Gain: '/Gain15' + // Gain: '/Gain16' + // Gain: '/Gain2' + // Gain: '/Gain3' + // Gain: '/Gain4' + // Gain: '/Gain5' + // Gain: '/Gain6' + // Gain: '/Gain7' + // Gain: '/Gain8' + // Gain: '/Gain9' // Inport: '/heading_cmd' // Inport: '/psi' + // Sum: '/Add2' + // Sum: '/Add1' + // Sum: '/Add' + // Sum: '/Add1' + // Sum: '/predict_error_(i+2)' - mod_error = rtU.heading_cmd - rtU.psi; + mod_error = ((rtU.heading_cmd - ((((((((((((((((rtU.psi - 3.828503 * + rtDW.Delay1_DSTATE_o) - -5.5210193 * rtDW.Delay6_DSTATE_k) - 3.5572363 * + rtDW.Delay7_DSTATE_o) - -0.86472 * rtDW.Delay5_DSTATE_d) - + -7.589415207398531E-19 * rtDW.Delay9_DSTATE_m) - -0.0032962999999999985 * + rtDW.Delay4_DSTATE_a) - 0.0072993 * rtDW.Delay3_DSTATE_f) - + -0.0040030000000000005 * rtDW.Delay2_DSTATE_g) + (((((((3.828503 * rtU.psi + + -5.5210193 * rtDW.pos_i1_DSTATE_f) + 3.5572363 * rtDW.pos_i2_DSTATE_n) + + -0.86472 * rtDW.pos_i3_DSTATE_b) + -0.0040030000000000005 * rtU.heading_cmd) + + 0.0072993 * rtDW.ref_i1_DSTATE_c) + -0.0032962999999999985 * + rtDW.ref_i2_DSTATE_m) + -7.589415207398531E-19 * rtDW.ref_i3_DSTATE_i)) * + 3.828503 + -5.5210193 * rtU.psi) + 3.5572363 * rtDW.pos_i1_DSTATE_f) + + -0.86472 * rtDW.pos_i2_DSTATE_n) + -0.0040030000000000005 * rtU.heading_cmd) + + 0.0072993 * rtU.heading_cmd) + -0.0032962999999999985 * + rtDW.ref_i1_DSTATE_c) + -7.589415207398531E-19 * rtDW.ref_i2_DSTATE_m)) * + rtP.gamma_heading + rtU.heading_cmd) - rtU.psi; if (!std::isnan(mod_error)) { if (std::isinf(mod_error)) { mod_error = (rtNaN); @@ -67,23 +407,23 @@ void Controler::step() // End of MATLAB Function: '/MATLAB Function' - // Gain: '/Filter Coefficient' incorporates: - // DiscreteIntegrator: '/Filter' - // Gain: '/Derivative Gain' - // Sum: '/SumD' + // Gain: '/Filter Coefficient' incorporates: + // DiscreteIntegrator: '/Filter' + // Gain: '/Derivative Gain' + // Sum: '/SumD' - rtb_FilterCoefficient = (rtP.pid_heading.D * mod_error - rtDW.Filter_DSTATE) * - rtP.pid_heading.N; + rtb_FilterCoefficient_l = (rtP.pid_heading.D * mod_error - + rtDW.Filter_DSTATE_m) * rtP.pid_heading.N; - // Sum: '/Sum' incorporates: - // DiscreteIntegrator: '/Integrator' - // Gain: '/Proportional Gain' + // Sum: '/Sum' incorporates: + // DiscreteIntegrator: '/Integrator' + // Gain: '/Proportional Gain' - rtb_IntegralGain = (rtP.pid_heading.P * mod_error + rtDW.Integrator_DSTATE) + - rtb_FilterCoefficient; + rtb_IntegralGain = (rtP.pid_heading.P * mod_error + rtDW.Integrator_DSTATE_b) + + rtb_FilterCoefficient_l; - // Saturate: '/Saturation' incorporates: - // DeadZone: '/DeadZone' + // Saturate: '/Saturation' incorporates: + // DeadZone: '/DeadZone' if (rtb_IntegralGain > 35.0) { // Outport: '/DirectUpperRudderServoAngleCmd' @@ -105,271 +445,257 @@ void Controler::step() } } - // End of Saturate: '/Saturation' + // End of Saturate: '/Saturation' - // RelationalOperator: '/Relational Operator' incorporates: - // Constant: '/Clamping_zero' + // RelationalOperator: '/Relational Operator' incorporates: + // Constant: '/Clamping_zero' rtb_RelationalOperator = (rtb_IntegralGain != 0.0); - // RelationalOperator: '/fix for DT propagation issue' incorporates: - // Constant: '/Clamping_zero' + // Switch: '/Switch1' incorporates: + // Constant: '/Clamping_zero' + // Constant: '/Constant' + // Constant: '/Constant2' + // RelationalOperator: '/fix for DT propagation issue' - rtb_fixforDTpropagationissue = (rtb_IntegralGain > 0.0); + if (rtb_IntegralGain > 0.0) { + rtb_Switch1 = 1; + } else { + rtb_Switch1 = -1; + } - // Gain: '/Integral Gain' + // End of Switch: '/Switch1' + + // Gain: '/Integral Gain' rtb_IntegralGain = rtP.pid_heading.I * mod_error; - // Switch: '/Switch1' incorporates: - // Constant: '/Constant' - // Constant: '/Constant2' - - if (rtb_fixforDTpropagationissue) { - tmp = 1; - } else { - tmp = -1; - } - - // Switch: '/Switch2' incorporates: - // Constant: '/Clamping_zero' - // Constant: '/Constant3' - // Constant: '/Constant4' - // RelationalOperator: '/fix for DT propagation issue1' - - if (rtb_IntegralGain > 0.0) { - rtb_Switch1 = 1; - } else { - rtb_Switch1 = -1; - } - - // Switch: '/Switch' incorporates: - // Constant: '/Constant1' - // Logic: '/AND3' - // RelationalOperator: '/Equal1' - // Switch: '/Switch1' - // Switch: '/Switch2' - - if (rtb_RelationalOperator && (tmp == rtb_Switch1)) { - rtb_Switch = 0.0; - } else { - rtb_Switch = rtb_IntegralGain; - } - - // End of Switch: '/Switch' - - // Sum: '/Sum1' incorporates: - // Inport: '/depth_cmd' + // Update for Delay: '/pos_i-1' incorporates: // Inport: '/z' - rtb_depth_error = rtU.z - rtU.depth_cmd; + rtDW.pos_i1_DSTATE = rtU.z; - // Gain: '/Integral Gain' - rtb_IntegralGain = rtP.pid_depth.I * rtb_depth_error; + // Update for Delay: '/pos_i-2' + rtDW.pos_i2_DSTATE = rtb_pos_i1; - // Gain: '/Filter Coefficient' incorporates: - // DiscreteIntegrator: '/Filter' - // Gain: '/Derivative Gain' - // Sum: '/SumD' + // Update for Delay: '/pos_i-3' + rtDW.pos_i3_DSTATE = rtb_pos_i2; - rtb_FilterCoefficient_lc = (rtP.pid_depth.D * rtb_depth_error - - rtDW.Filter_DSTATE_m) * rtP.pid_depth.N; + // Update for Delay: '/pos_i-4' + rtDW.pos_i4_DSTATE = rtb_pos_i3; - // Sum: '/Sum' incorporates: - // DiscreteIntegrator: '/Integrator' - // Gain: '/Proportional Gain' + // Update for Delay: '/ref_i-1' incorporates: + // Inport: '/depth_cmd' - rtb_Filter_b = (rtP.pid_depth.P * rtb_depth_error + rtDW.Integrator_DSTATE_o) - + rtb_FilterCoefficient_lc; + rtDW.ref_i1_DSTATE = rtU.depth_cmd; - // DeadZone: '/DeadZone' - if (rtb_Filter_b > 30.0) { - rtb_Integrator_d = rtb_Filter_b - 30.0; + // Update for Delay: '/ref_i-2' + rtDW.ref_i2_DSTATE = rtb_ref_i1; - // Switch: '/Switch1' incorporates: - // Constant: '/Constant' + // Update for Delay: '/ref_i-3' + rtDW.ref_i3_DSTATE = rtb_ref_i2; + // Update for Delay: '/ref_i-4' + rtDW.ref_i4_DSTATE = rtb_ref_i3; + + // Update for Delay: '/Delay1' incorporates: + // Inport: '/z' + + rtDW.Delay1_DSTATE = rtU.z; + + // Update for Delay: '/Delay6' + rtDW.Delay6_DSTATE = rtb_Delay1; + + // Update for Delay: '/Delay7' + rtDW.Delay7_DSTATE = rtb_Delay6; + + // Update for Delay: '/Delay5' + rtDW.Delay5_DSTATE = rtb_Delay7; + + // Update for Delay: '/Delay8' + rtDW.Delay8_DSTATE = rtb_Delay5; + + // Update for Delay: '/Delay10' incorporates: + // Delay: '/Delay9' + + rtDW.Delay10_DSTATE = rtDW.Delay9_DSTATE; + + // Update for Delay: '/Delay9' incorporates: + // Delay: '/Delay4' + + rtDW.Delay9_DSTATE = rtDW.Delay4_DSTATE; + + // Update for Delay: '/Delay4' incorporates: + // Delay: '/Delay3' + + rtDW.Delay4_DSTATE = rtDW.Delay3_DSTATE; + + // Update for Delay: '/Delay3' incorporates: + // Delay: '/Delay2' + + rtDW.Delay3_DSTATE = rtDW.Delay2_DSTATE; + + // Update for Delay: '/Delay2' incorporates: + // Inport: '/depth_cmd' + + rtDW.Delay2_DSTATE = rtU.depth_cmd; + + // Switch: '/Switch1' incorporates: + // Constant: '/Clamping_zero' + // Constant: '/Constant' + // Constant: '/Constant2' + // RelationalOperator: '/fix for DT propagation issue' + + if (rtb_Filter_k > 0.0) { tmp = 1; } else { - if (rtb_Filter_b >= -30.0) { - rtb_Integrator_d = 0.0; - } else { - rtb_Integrator_d = rtb_Filter_b - -30.0; - } - - // Switch: '/Switch1' incorporates: - // Constant: '/Constant2' - tmp = -1; } - // End of DeadZone: '/DeadZone' + // Switch: '/Switch2' incorporates: + // Constant: '/Clamping_zero' + // Constant: '/Constant3' + // Constant: '/Constant4' + // RelationalOperator: '/fix for DT propagation issue1' - // Switch: '/Switch2' incorporates: - // Constant: '/Clamping_zero' - // Constant: '/Constant3' - // Constant: '/Constant4' - // RelationalOperator: '/fix for DT propagation issue1' - - if (rtb_IntegralGain > 0.0) { - rtb_Switch1 = 1; + if (rtb_Integrator_d > 0.0) { + tmp_0 = 1; } else { - rtb_Switch1 = -1; + tmp_0 = -1; } - // Switch: '/Switch' incorporates: - // Constant: '/Clamping_zero' - // Constant: '/Constant1' - // Logic: '/AND3' - // RelationalOperator: '/Equal1' - // RelationalOperator: '/Relational Operator' - // Switch: '/Switch1' - // Switch: '/Switch2' + // Switch: '/Switch' incorporates: + // Constant: '/Clamping_zero' + // Constant: '/Constant1' + // Logic: '/AND3' + // RelationalOperator: '/Equal1' + // RelationalOperator: '/Relational Operator' + // Switch: '/Switch1' + // Switch: '/Switch2' - if ((rtb_Integrator_d != 0.0) && (tmp == rtb_Switch1)) { + if ((rtb_Filter_k != 0.0) && (tmp == tmp_0)) { rtb_Integrator_d = 0.0; - } else { - rtb_Integrator_d = rtb_IntegralGain; } - // End of Switch: '/Switch' + // Update for DiscreteIntegrator: '/Integrator' incorporates: + // Switch: '/Switch' - // Saturate: '/Saturation' - if (rtb_Filter_b > 30.0) { - rtb_Filter_b = 30.0; - } else if (rtb_Filter_b < -30.0) { - rtb_Filter_b = -30.0; + rtDW.Integrator_DSTATE += rtb_Integrator_d; + if (rtDW.Integrator_DSTATE > 10.0) { + rtDW.Integrator_DSTATE = 10.0; + } else if (rtDW.Integrator_DSTATE < -10.0) { + rtDW.Integrator_DSTATE = -10.0; } - // Sum: '/Sum2' incorporates: - // Inport: '/theta' - // Saturate: '/Saturation' + // End of Update for DiscreteIntegrator: '/Integrator' - rtb_Filter_b -= rtU.theta; - - // Gain: '/Filter Coefficient' incorporates: - // DiscreteIntegrator: '/Filter' - // Gain: '/Derivative Gain' - // Sum: '/SumD' - - rtb_FilterCoefficient_a = (rtP.pid_pitch.D * rtb_Filter_b - - rtDW.Filter_DSTATE_l) * rtP.pid_pitch.N; - - // Sum: '/Sum' incorporates: - // DiscreteIntegrator: '/Integrator' - // Gain: '/Proportional Gain' - - rtb_IntegralGain = (rtP.pid_pitch.P * rtb_Filter_b + rtDW.Integrator_DSTATE_f) - + rtb_FilterCoefficient_a; - - // Saturate: '/Saturation' incorporates: - // DeadZone: '/DeadZone' - - if (rtb_IntegralGain > 35.0) { - // Outport: '/DirectLeftRudderServoAngleCmd' - rtY.DirectLeftRudderServoAngleCmd = 35.0; - rtb_IntegralGain -= 35.0; - } else { - if (rtb_IntegralGain < -35.0) { - // Outport: '/DirectLeftRudderServoAngleCmd' - rtY.DirectLeftRudderServoAngleCmd = -35.0; - } else { - // Outport: '/DirectLeftRudderServoAngleCmd' - rtY.DirectLeftRudderServoAngleCmd = rtb_IntegralGain; - } - - if (rtb_IntegralGain >= -35.0) { - rtb_IntegralGain = 0.0; - } else { - rtb_IntegralGain -= -35.0; - } - } - - // End of Saturate: '/Saturation' - - // RelationalOperator: '/Relational Operator' incorporates: - // Constant: '/Clamping_zero' - - rtb_RelationalOperator = (rtb_IntegralGain != 0.0); - - // Switch: '/Switch1' incorporates: - // Constant: '/Clamping_zero' - // Constant: '/Constant' - // Constant: '/Constant2' - // RelationalOperator: '/fix for DT propagation issue' - - if (rtb_IntegralGain > 0.0) { - rtb_Switch1 = 1; - } else { - rtb_Switch1 = -1; - } - - // End of Switch: '/Switch1' - - // Gain: '/Integral Gain' - rtb_IntegralGain = rtP.pid_pitch.I * rtb_Filter_b; - - // Update for DiscreteIntegrator: '/Integrator' - rtDW.Integrator_DSTATE += rtb_Switch; - if (rtDW.Integrator_DSTATE > 15.0) { - rtDW.Integrator_DSTATE = 15.0; - } else if (rtDW.Integrator_DSTATE < -15.0) { - rtDW.Integrator_DSTATE = -15.0; - } - - // End of Update for DiscreteIntegrator: '/Integrator' - - // Update for DiscreteIntegrator: '/Filter' + // Update for DiscreteIntegrator: '/Filter' rtDW.Filter_DSTATE += 0.1 * rtb_FilterCoefficient; - // Update for DiscreteIntegrator: '/Integrator' - rtDW.Integrator_DSTATE_o += rtb_Integrator_d; - if (rtDW.Integrator_DSTATE_o > 10.0) { - rtDW.Integrator_DSTATE_o = 10.0; - } else if (rtDW.Integrator_DSTATE_o < -10.0) { - rtDW.Integrator_DSTATE_o = -10.0; - } - - // End of Update for DiscreteIntegrator: '/Integrator' - - // Update for DiscreteIntegrator: '/Filter' - rtDW.Filter_DSTATE_m += 0.1 * rtb_FilterCoefficient_lc; - - // Switch: '/Switch2' incorporates: - // Constant: '/Clamping_zero' - // Constant: '/Constant3' - // Constant: '/Constant4' - // RelationalOperator: '/fix for DT propagation issue1' - - if (rtb_IntegralGain > 0.0) { - tmp = 1; - } else { - tmp = -1; - } - - // Switch: '/Switch' incorporates: - // Constant: '/Constant1' - // Logic: '/AND3' - // RelationalOperator: '/Equal1' - // Switch: '/Switch2' - - if (rtb_RelationalOperator && (rtb_Switch1 == tmp)) { - rtb_IntegralGain = 0.0; - } - - // Update for DiscreteIntegrator: '/Integrator' incorporates: - // Switch: '/Switch' - - rtDW.Integrator_DSTATE_f += rtb_IntegralGain; + // Update for DiscreteIntegrator: '/Integrator' + rtDW.Integrator_DSTATE_f += rtb_Switch; if (rtDW.Integrator_DSTATE_f > 15.0) { rtDW.Integrator_DSTATE_f = 15.0; } else if (rtDW.Integrator_DSTATE_f < -15.0) { rtDW.Integrator_DSTATE_f = -15.0; } - // End of Update for DiscreteIntegrator: '/Integrator' + // End of Update for DiscreteIntegrator: '/Integrator' - // Update for DiscreteIntegrator: '/Filter' - rtDW.Filter_DSTATE_l += 0.1 * rtb_FilterCoefficient_a; + // Update for DiscreteIntegrator: '/Filter' + rtDW.Filter_DSTATE_l += 0.1 * rtb_FilterCoefficient_g; + + // Update for Delay: '/pos_i-1' incorporates: + // Inport: '/psi' + + rtDW.pos_i1_DSTATE_f = rtU.psi; + + // Update for Delay: '/pos_i-2' + rtDW.pos_i2_DSTATE_n = rtb_pos_i1_k; + + // Update for Delay: '/pos_i-3' + rtDW.pos_i3_DSTATE_b = rtb_pos_i2_l; + + // Update for Delay: '/ref_i-1' incorporates: + // Inport: '/heading_cmd' + + rtDW.ref_i1_DSTATE_c = rtU.heading_cmd; + + // Update for Delay: '/ref_i-2' + rtDW.ref_i2_DSTATE_m = rtb_ref_i1_p; + + // Update for Delay: '/ref_i-3' + rtDW.ref_i3_DSTATE_i = rtb_ref_i2_d; + + // Update for Delay: '/Delay1' incorporates: + // Inport: '/psi' + + rtDW.Delay1_DSTATE_o = rtU.psi; + + // Update for Delay: '/Delay6' + rtDW.Delay6_DSTATE_k = rtb_Delay1_d; + + // Update for Delay: '/Delay7' + rtDW.Delay7_DSTATE_o = rtb_Delay6_c; + + // Update for Delay: '/Delay5' + rtDW.Delay5_DSTATE_d = rtb_Delay7_c; + + // Update for Delay: '/Delay9' incorporates: + // Delay: '/Delay4' + + rtDW.Delay9_DSTATE_m = rtDW.Delay4_DSTATE_a; + + // Update for Delay: '/Delay4' incorporates: + // Delay: '/Delay3' + + rtDW.Delay4_DSTATE_a = rtDW.Delay3_DSTATE_f; + + // Update for Delay: '/Delay3' incorporates: + // Delay: '/Delay2' + + rtDW.Delay3_DSTATE_f = rtDW.Delay2_DSTATE_g; + + // Update for Delay: '/Delay2' incorporates: + // Inport: '/heading_cmd' + + rtDW.Delay2_DSTATE_g = rtU.heading_cmd; + + // Switch: '/Switch2' incorporates: + // Constant: '/Clamping_zero' + // Constant: '/Constant3' + // Constant: '/Constant4' + // RelationalOperator: '/fix for DT propagation issue1' + + if (rtb_IntegralGain > 0.0) { + tmp = 1; + } else { + tmp = -1; + } + + // Switch: '/Switch' incorporates: + // Constant: '/Constant1' + // Logic: '/AND3' + // RelationalOperator: '/Equal1' + // Switch: '/Switch2' + + if (rtb_RelationalOperator && (rtb_Switch1 == tmp)) { + rtb_IntegralGain = 0.0; + } + + // Update for DiscreteIntegrator: '/Integrator' incorporates: + // Switch: '/Switch' + + rtDW.Integrator_DSTATE_b += rtb_IntegralGain; + if (rtDW.Integrator_DSTATE_b > 15.0) { + rtDW.Integrator_DSTATE_b = 15.0; + } else if (rtDW.Integrator_DSTATE_b < -15.0) { + rtDW.Integrator_DSTATE_b = -15.0; + } + + // End of Update for DiscreteIntegrator: '/Integrator' + + // Update for DiscreteIntegrator: '/Filter' + rtDW.Filter_DSTATE_m += 0.1 * rtb_FilterCoefficient_l; // End of Outputs for SubSystem: '/Controler' @@ -392,7 +718,7 @@ void Controler::step() rtY.heading_error = mod_error; // Outport: '/pitch_error' - rtY.pitch_error = rtb_Filter_b; + rtY.pitch_error = rtb_pitch_error; // Outport: '/depth_error' rtY.depth_error = rtb_depth_error; diff --git a/src/pAUV150/Controler/Controler.h b/src/pAUV150/Controler/Controler.h index bae67cf..d8a9292 100644 --- a/src/pAUV150/Controler/Controler.h +++ b/src/pAUV150/Controler/Controler.h @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) @@ -32,6 +32,8 @@ extern "C" } +#define Controler_M (rtM) + // Class declaration for model Controler class Controler final { @@ -39,12 +41,44 @@ class Controler final public: // Block signals and states (default storage) for system '' struct DW { - real_T Integrator_DSTATE; // '/Integrator' - real_T Filter_DSTATE; // '/Filter' - real_T Integrator_DSTATE_o; // '/Integrator' - real_T Filter_DSTATE_m; // '/Filter' - real_T Integrator_DSTATE_f; // '/Integrator' - real_T Filter_DSTATE_l; // '/Filter' + real_T pos_i1_DSTATE; // '/pos_i-1' + real_T pos_i2_DSTATE; // '/pos_i-2' + real_T pos_i3_DSTATE; // '/pos_i-3' + real_T pos_i4_DSTATE; // '/pos_i-4' + real_T ref_i1_DSTATE; // '/ref_i-1' + real_T ref_i2_DSTATE; // '/ref_i-2' + real_T ref_i3_DSTATE; // '/ref_i-3' + real_T ref_i4_DSTATE; // '/ref_i-4' + real_T Delay1_DSTATE; // '/Delay1' + real_T Delay6_DSTATE; // '/Delay6' + real_T Delay7_DSTATE; // '/Delay7' + real_T Delay5_DSTATE; // '/Delay5' + real_T Delay8_DSTATE; // '/Delay8' + real_T Delay10_DSTATE; // '/Delay10' + real_T Delay9_DSTATE; // '/Delay9' + real_T Delay4_DSTATE; // '/Delay4' + real_T Delay3_DSTATE; // '/Delay3' + real_T Delay2_DSTATE; // '/Delay2' + real_T Integrator_DSTATE; // '/Integrator' + real_T Filter_DSTATE; // '/Filter' + real_T Integrator_DSTATE_f; // '/Integrator' + real_T Filter_DSTATE_l; // '/Filter' + real_T pos_i1_DSTATE_f; // '/pos_i-1' + real_T pos_i2_DSTATE_n; // '/pos_i-2' + real_T pos_i3_DSTATE_b; // '/pos_i-3' + real_T ref_i1_DSTATE_c; // '/ref_i-1' + real_T ref_i2_DSTATE_m; // '/ref_i-2' + real_T ref_i3_DSTATE_i; // '/ref_i-3' + real_T Delay1_DSTATE_o; // '/Delay1' + real_T Delay6_DSTATE_k; // '/Delay6' + real_T Delay7_DSTATE_o; // '/Delay7' + real_T Delay5_DSTATE_d; // '/Delay5' + real_T Delay9_DSTATE_m; // '/Delay9' + real_T Delay4_DSTATE_a; // '/Delay4' + real_T Delay3_DSTATE_f; // '/Delay3' + real_T Delay2_DSTATE_g; // '/Delay2' + real_T Integrator_DSTATE_b; // '/Integrator' + real_T Filter_DSTATE_m; // '/Filter' }; // External inputs (root inport signals with default storage) @@ -86,24 +120,30 @@ class Controler final struct P { struct_n3jlyiLoC0PV1TieyhpPwD pid_depth;// Variable: pid_depth // Referenced by: - // '/Derivative Gain' - // '/Integral Gain' - // '/Filter Coefficient' - // '/Proportional Gain' + // '/Derivative Gain' + // '/Integral Gain' + // '/Filter Coefficient' + // '/Proportional Gain' struct_n3jlyiLoC0PV1TieyhpPwD pid_heading;// Variable: pid_heading // Referenced by: - // '/Derivative Gain' - // '/Integral Gain' - // '/Filter Coefficient' - // '/Proportional Gain' + // '/Derivative Gain' + // '/Integral Gain' + // '/Filter Coefficient' + // '/Proportional Gain' struct_n3jlyiLoC0PV1TieyhpPwD pid_pitch;// Variable: pid_pitch // Referenced by: - // '/Derivative Gain' - // '/Integral Gain' - // '/Filter Coefficient' - // '/Proportional Gain' + // '/Derivative Gain' + // '/Integral Gain' + // '/Filter Coefficient' + // '/Proportional Gain' + + real_T gamma_depth; // Variable: gamma_depth + // Referenced by: '/Compensation Gain' + + real_T gamma_heading; // Variable: gamma_heading + // Referenced by: '/Compensation Gain' }; @@ -159,12 +199,6 @@ class Controler final RT_MODEL rtM; }; -//- -// These blocks were eliminated from the model due to optimizations: -// -// Block '/Scope' : Unused code path elimination - - //- // The generated code includes comments that allow you to trace directly // back to the appropriate location in the model. The basic format @@ -177,179 +211,183 @@ class Controler final // MATLAB hilite_system command to trace the generated code back // to the parent model. For example, // -// hilite_system('SimModel0618/Controler') - opens subsystem SimModel0618/Controler -// hilite_system('SimModel0618/Controler/Kp') - opens and selects block Kp +// hilite_system('SimModel0621/Controler') - opens subsystem SimModel0621/Controler +// hilite_system('SimModel0621/Controler/Kp') - opens and selects block Kp // // Here is the system hierarchy for this model // -// '' : 'SimModel0618' -// '' : 'SimModel0618/Controler' -// '' : 'SimModel0618/Controler/MATLAB Function' -// '' : 'SimModel0618/Controler/PID Controller' -// '' : 'SimModel0618/Controler/PID Controller1' -// '' : 'SimModel0618/Controler/PID Controller2' -// '' : 'SimModel0618/Controler/PID Controller/Anti-windup' -// '' : 'SimModel0618/Controler/PID Controller/D Gain' -// '' : 'SimModel0618/Controler/PID Controller/External Derivative' -// '' : 'SimModel0618/Controler/PID Controller/Filter' -// '' : 'SimModel0618/Controler/PID Controller/Filter ICs' -// '' : 'SimModel0618/Controler/PID Controller/I Gain' -// '' : 'SimModel0618/Controler/PID Controller/Ideal P Gain' -// '' : 'SimModel0618/Controler/PID Controller/Ideal P Gain Fdbk' -// '' : 'SimModel0618/Controler/PID Controller/Integrator' -// '' : 'SimModel0618/Controler/PID Controller/Integrator ICs' -// '' : 'SimModel0618/Controler/PID Controller/N Copy' -// '' : 'SimModel0618/Controler/PID Controller/N Gain' -// '' : 'SimModel0618/Controler/PID Controller/P Copy' -// '' : 'SimModel0618/Controler/PID Controller/Parallel P Gain' -// '' : 'SimModel0618/Controler/PID Controller/Reset Signal' -// '' : 'SimModel0618/Controler/PID Controller/Saturation' -// '' : 'SimModel0618/Controler/PID Controller/Saturation Fdbk' -// '' : 'SimModel0618/Controler/PID Controller/Sum' -// '' : 'SimModel0618/Controler/PID Controller/Sum Fdbk' -// '' : 'SimModel0618/Controler/PID Controller/Tracking Mode' -// '' : 'SimModel0618/Controler/PID Controller/Tracking Mode Sum' -// '' : 'SimModel0618/Controler/PID Controller/Tsamp - Integral' -// '' : 'SimModel0618/Controler/PID Controller/Tsamp - Ngain' -// '' : 'SimModel0618/Controler/PID Controller/postSat Signal' -// '' : 'SimModel0618/Controler/PID Controller/preInt Signal' -// '' : 'SimModel0618/Controler/PID Controller/preSat Signal' -// '' : 'SimModel0618/Controler/PID Controller/Anti-windup/Disc. Clamping Parallel' -// '' : 'SimModel0618/Controler/PID Controller/Anti-windup/Disc. Clamping Parallel/Dead Zone' -// '' : 'SimModel0618/Controler/PID Controller/Anti-windup/Disc. Clamping Parallel/Dead Zone/Enabled' -// '' : 'SimModel0618/Controler/PID Controller/D Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller/External Derivative/Error' -// '' : 'SimModel0618/Controler/PID Controller/Filter/Disc. Forward Euler Filter' -// '' : 'SimModel0618/Controler/PID Controller/Filter ICs/Internal IC - Filter' -// '' : 'SimModel0618/Controler/PID Controller/I Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller/Ideal P Gain/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller/Ideal P Gain Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller/Integrator/Discrete' -// '' : 'SimModel0618/Controler/PID Controller/Integrator ICs/Internal IC' -// '' : 'SimModel0618/Controler/PID Controller/N Copy/Disabled' -// '' : 'SimModel0618/Controler/PID Controller/N Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller/P Copy/Disabled' -// '' : 'SimModel0618/Controler/PID Controller/Parallel P Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller/Reset Signal/Disabled' -// '' : 'SimModel0618/Controler/PID Controller/Saturation/Enabled' -// '' : 'SimModel0618/Controler/PID Controller/Saturation Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller/Sum/Sum_PID' -// '' : 'SimModel0618/Controler/PID Controller/Sum Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller/Tracking Mode/Disabled' -// '' : 'SimModel0618/Controler/PID Controller/Tracking Mode Sum/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller/Tsamp - Integral/TsSignalSpecification' -// '' : 'SimModel0618/Controler/PID Controller/Tsamp - Ngain/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller/postSat Signal/Forward_Path' -// '' : 'SimModel0618/Controler/PID Controller/preInt Signal/Internal PreInt' -// '' : 'SimModel0618/Controler/PID Controller/preSat Signal/Forward_Path' -// '' : 'SimModel0618/Controler/PID Controller1/Anti-windup' -// '' : 'SimModel0618/Controler/PID Controller1/D Gain' -// '' : 'SimModel0618/Controler/PID Controller1/External Derivative' -// '' : 'SimModel0618/Controler/PID Controller1/Filter' -// '' : 'SimModel0618/Controler/PID Controller1/Filter ICs' -// '' : 'SimModel0618/Controler/PID Controller1/I Gain' -// '' : 'SimModel0618/Controler/PID Controller1/Ideal P Gain' -// '' : 'SimModel0618/Controler/PID Controller1/Ideal P Gain Fdbk' -// '' : 'SimModel0618/Controler/PID Controller1/Integrator' -// '' : 'SimModel0618/Controler/PID Controller1/Integrator ICs' -// '' : 'SimModel0618/Controler/PID Controller1/N Copy' -// '' : 'SimModel0618/Controler/PID Controller1/N Gain' -// '' : 'SimModel0618/Controler/PID Controller1/P Copy' -// '' : 'SimModel0618/Controler/PID Controller1/Parallel P Gain' -// '' : 'SimModel0618/Controler/PID Controller1/Reset Signal' -// '' : 'SimModel0618/Controler/PID Controller1/Saturation' -// '' : 'SimModel0618/Controler/PID Controller1/Saturation Fdbk' -// '' : 'SimModel0618/Controler/PID Controller1/Sum' -// '' : 'SimModel0618/Controler/PID Controller1/Sum Fdbk' -// '' : 'SimModel0618/Controler/PID Controller1/Tracking Mode' -// '' : 'SimModel0618/Controler/PID Controller1/Tracking Mode Sum' -// '' : 'SimModel0618/Controler/PID Controller1/Tsamp - Integral' -// '' : 'SimModel0618/Controler/PID Controller1/Tsamp - Ngain' -// '' : 'SimModel0618/Controler/PID Controller1/postSat Signal' -// '' : 'SimModel0618/Controler/PID Controller1/preInt Signal' -// '' : 'SimModel0618/Controler/PID Controller1/preSat Signal' -// '' : 'SimModel0618/Controler/PID Controller1/Anti-windup/Disc. Clamping Parallel' -// '' : 'SimModel0618/Controler/PID Controller1/Anti-windup/Disc. Clamping Parallel/Dead Zone' -// '' : 'SimModel0618/Controler/PID Controller1/Anti-windup/Disc. Clamping Parallel/Dead Zone/Enabled' -// '' : 'SimModel0618/Controler/PID Controller1/D Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller1/External Derivative/Error' -// '' : 'SimModel0618/Controler/PID Controller1/Filter/Disc. Forward Euler Filter' -// '' : 'SimModel0618/Controler/PID Controller1/Filter ICs/Internal IC - Filter' -// '' : 'SimModel0618/Controler/PID Controller1/I Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller1/Ideal P Gain/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller1/Ideal P Gain Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller1/Integrator/Discrete' -// '' : 'SimModel0618/Controler/PID Controller1/Integrator ICs/Internal IC' -// '' : 'SimModel0618/Controler/PID Controller1/N Copy/Disabled' -// '' : 'SimModel0618/Controler/PID Controller1/N Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller1/P Copy/Disabled' -// '' : 'SimModel0618/Controler/PID Controller1/Parallel P Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller1/Reset Signal/Disabled' -// '' : 'SimModel0618/Controler/PID Controller1/Saturation/Enabled' -// '' : 'SimModel0618/Controler/PID Controller1/Saturation Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller1/Sum/Sum_PID' -// '' : 'SimModel0618/Controler/PID Controller1/Sum Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller1/Tracking Mode/Disabled' -// '' : 'SimModel0618/Controler/PID Controller1/Tracking Mode Sum/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller1/Tsamp - Integral/TsSignalSpecification' -// '' : 'SimModel0618/Controler/PID Controller1/Tsamp - Ngain/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller1/postSat Signal/Forward_Path' -// '' : 'SimModel0618/Controler/PID Controller1/preInt Signal/Internal PreInt' -// '' : 'SimModel0618/Controler/PID Controller1/preSat Signal/Forward_Path' -// '' : 'SimModel0618/Controler/PID Controller2/Anti-windup' -// '' : 'SimModel0618/Controler/PID Controller2/D Gain' -// '' : 'SimModel0618/Controler/PID Controller2/External Derivative' -// '' : 'SimModel0618/Controler/PID Controller2/Filter' -// '' : 'SimModel0618/Controler/PID Controller2/Filter ICs' -// '' : 'SimModel0618/Controler/PID Controller2/I Gain' -// '' : 'SimModel0618/Controler/PID Controller2/Ideal P Gain' -// '' : 'SimModel0618/Controler/PID Controller2/Ideal P Gain Fdbk' -// '' : 'SimModel0618/Controler/PID Controller2/Integrator' -// '' : 'SimModel0618/Controler/PID Controller2/Integrator ICs' -// '' : 'SimModel0618/Controler/PID Controller2/N Copy' -// '' : 'SimModel0618/Controler/PID Controller2/N Gain' -// '' : 'SimModel0618/Controler/PID Controller2/P Copy' -// '' : 'SimModel0618/Controler/PID Controller2/Parallel P Gain' -// '' : 'SimModel0618/Controler/PID Controller2/Reset Signal' -// '' : 'SimModel0618/Controler/PID Controller2/Saturation' -// '' : 'SimModel0618/Controler/PID Controller2/Saturation Fdbk' -// '' : 'SimModel0618/Controler/PID Controller2/Sum' -// '' : 'SimModel0618/Controler/PID Controller2/Sum Fdbk' -// '' : 'SimModel0618/Controler/PID Controller2/Tracking Mode' -// '' : 'SimModel0618/Controler/PID Controller2/Tracking Mode Sum' -// '' : 'SimModel0618/Controler/PID Controller2/Tsamp - Integral' -// '' : 'SimModel0618/Controler/PID Controller2/Tsamp - Ngain' -// '' : 'SimModel0618/Controler/PID Controller2/postSat Signal' -// '' : 'SimModel0618/Controler/PID Controller2/preInt Signal' -// '' : 'SimModel0618/Controler/PID Controller2/preSat Signal' -// '' : 'SimModel0618/Controler/PID Controller2/Anti-windup/Disc. Clamping Parallel' -// '' : 'SimModel0618/Controler/PID Controller2/Anti-windup/Disc. Clamping Parallel/Dead Zone' -// '' : 'SimModel0618/Controler/PID Controller2/Anti-windup/Disc. Clamping Parallel/Dead Zone/Enabled' -// '' : 'SimModel0618/Controler/PID Controller2/D Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller2/External Derivative/Error' -// '' : 'SimModel0618/Controler/PID Controller2/Filter/Disc. Forward Euler Filter' -// '' : 'SimModel0618/Controler/PID Controller2/Filter ICs/Internal IC - Filter' -// '' : 'SimModel0618/Controler/PID Controller2/I Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller2/Ideal P Gain/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller2/Ideal P Gain Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller2/Integrator/Discrete' -// '' : 'SimModel0618/Controler/PID Controller2/Integrator ICs/Internal IC' -// '' : 'SimModel0618/Controler/PID Controller2/N Copy/Disabled' -// '' : 'SimModel0618/Controler/PID Controller2/N Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller2/P Copy/Disabled' -// '' : 'SimModel0618/Controler/PID Controller2/Parallel P Gain/Internal Parameters' -// '' : 'SimModel0618/Controler/PID Controller2/Reset Signal/Disabled' -// '' : 'SimModel0618/Controler/PID Controller2/Saturation/Enabled' -// '' : 'SimModel0618/Controler/PID Controller2/Saturation Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller2/Sum/Sum_PID' -// '' : 'SimModel0618/Controler/PID Controller2/Sum Fdbk/Disabled' -// '' : 'SimModel0618/Controler/PID Controller2/Tracking Mode/Disabled' -// '' : 'SimModel0618/Controler/PID Controller2/Tracking Mode Sum/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller2/Tsamp - Integral/TsSignalSpecification' -// '' : 'SimModel0618/Controler/PID Controller2/Tsamp - Ngain/Passthrough' -// '' : 'SimModel0618/Controler/PID Controller2/postSat Signal/Forward_Path' -// '' : 'SimModel0618/Controler/PID Controller2/preInt Signal/Internal PreInt' -// '' : 'SimModel0618/Controler/PID Controller2/preSat Signal/Forward_Path' +// '' : 'SimModel0621' +// '' : 'SimModel0621/Controler' +// '' : 'SimModel0621/Controler/MATLAB Function' +// '' : 'SimModel0621/Controler/PID Controller' +// '' : 'SimModel0621/Controler/PID Controller1' +// '' : 'SimModel0621/Controler/PID Controller2' +// '' : 'SimModel0621/Controler/Pred_Depth' +// '' : 'SimModel0621/Controler/Pred_Steering' +// '' : 'SimModel0621/Controler/PID Controller/Anti-windup' +// '' : 'SimModel0621/Controler/PID Controller/D Gain' +// '' : 'SimModel0621/Controler/PID Controller/External Derivative' +// '' : 'SimModel0621/Controler/PID Controller/Filter' +// '' : 'SimModel0621/Controler/PID Controller/Filter ICs' +// '' : 'SimModel0621/Controler/PID Controller/I Gain' +// '' : 'SimModel0621/Controler/PID Controller/Ideal P Gain' +// '' : 'SimModel0621/Controler/PID Controller/Ideal P Gain Fdbk' +// '' : 'SimModel0621/Controler/PID Controller/Integrator' +// '' : 'SimModel0621/Controler/PID Controller/Integrator ICs' +// '' : 'SimModel0621/Controler/PID Controller/N Copy' +// '' : 'SimModel0621/Controler/PID Controller/N Gain' +// '' : 'SimModel0621/Controler/PID Controller/P Copy' +// '' : 'SimModel0621/Controler/PID Controller/Parallel P Gain' +// '' : 'SimModel0621/Controler/PID Controller/Reset Signal' +// '' : 'SimModel0621/Controler/PID Controller/Saturation' +// '' : 'SimModel0621/Controler/PID Controller/Saturation Fdbk' +// '' : 'SimModel0621/Controler/PID Controller/Sum' +// '' : 'SimModel0621/Controler/PID Controller/Sum Fdbk' +// '' : 'SimModel0621/Controler/PID Controller/Tracking Mode' +// '' : 'SimModel0621/Controler/PID Controller/Tracking Mode Sum' +// '' : 'SimModel0621/Controler/PID Controller/Tsamp - Integral' +// '' : 'SimModel0621/Controler/PID Controller/Tsamp - Ngain' +// '' : 'SimModel0621/Controler/PID Controller/postSat Signal' +// '' : 'SimModel0621/Controler/PID Controller/preInt Signal' +// '' : 'SimModel0621/Controler/PID Controller/preSat Signal' +// '' : 'SimModel0621/Controler/PID Controller/Anti-windup/Disc. Clamping Parallel' +// '' : 'SimModel0621/Controler/PID Controller/Anti-windup/Disc. Clamping Parallel/Dead Zone' +// '' : 'SimModel0621/Controler/PID Controller/Anti-windup/Disc. Clamping Parallel/Dead Zone/Enabled' +// '' : 'SimModel0621/Controler/PID Controller/D Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller/External Derivative/Error' +// '' : 'SimModel0621/Controler/PID Controller/Filter/Disc. Forward Euler Filter' +// '' : 'SimModel0621/Controler/PID Controller/Filter ICs/Internal IC - Filter' +// '' : 'SimModel0621/Controler/PID Controller/I Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller/Ideal P Gain/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller/Ideal P Gain Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller/Integrator/Discrete' +// '' : 'SimModel0621/Controler/PID Controller/Integrator ICs/Internal IC' +// '' : 'SimModel0621/Controler/PID Controller/N Copy/Disabled' +// '' : 'SimModel0621/Controler/PID Controller/N Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller/P Copy/Disabled' +// '' : 'SimModel0621/Controler/PID Controller/Parallel P Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller/Reset Signal/Disabled' +// '' : 'SimModel0621/Controler/PID Controller/Saturation/Enabled' +// '' : 'SimModel0621/Controler/PID Controller/Saturation Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller/Sum/Sum_PID' +// '' : 'SimModel0621/Controler/PID Controller/Sum Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller/Tracking Mode/Disabled' +// '' : 'SimModel0621/Controler/PID Controller/Tracking Mode Sum/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller/Tsamp - Integral/TsSignalSpecification' +// '' : 'SimModel0621/Controler/PID Controller/Tsamp - Ngain/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller/postSat Signal/Forward_Path' +// '' : 'SimModel0621/Controler/PID Controller/preInt Signal/Internal PreInt' +// '' : 'SimModel0621/Controler/PID Controller/preSat Signal/Forward_Path' +// '' : 'SimModel0621/Controler/PID Controller1/Anti-windup' +// '' : 'SimModel0621/Controler/PID Controller1/D Gain' +// '' : 'SimModel0621/Controler/PID Controller1/External Derivative' +// '' : 'SimModel0621/Controler/PID Controller1/Filter' +// '' : 'SimModel0621/Controler/PID Controller1/Filter ICs' +// '' : 'SimModel0621/Controler/PID Controller1/I Gain' +// '' : 'SimModel0621/Controler/PID Controller1/Ideal P Gain' +// '' : 'SimModel0621/Controler/PID Controller1/Ideal P Gain Fdbk' +// '' : 'SimModel0621/Controler/PID Controller1/Integrator' +// '' : 'SimModel0621/Controler/PID Controller1/Integrator ICs' +// '' : 'SimModel0621/Controler/PID Controller1/N Copy' +// '' : 'SimModel0621/Controler/PID Controller1/N Gain' +// '' : 'SimModel0621/Controler/PID Controller1/P Copy' +// '' : 'SimModel0621/Controler/PID Controller1/Parallel P Gain' +// '' : 'SimModel0621/Controler/PID Controller1/Reset Signal' +// '' : 'SimModel0621/Controler/PID Controller1/Saturation' +// '' : 'SimModel0621/Controler/PID Controller1/Saturation Fdbk' +// '' : 'SimModel0621/Controler/PID Controller1/Sum' +// '' : 'SimModel0621/Controler/PID Controller1/Sum Fdbk' +// '' : 'SimModel0621/Controler/PID Controller1/Tracking Mode' +// '' : 'SimModel0621/Controler/PID Controller1/Tracking Mode Sum' +// '' : 'SimModel0621/Controler/PID Controller1/Tsamp - Integral' +// '' : 'SimModel0621/Controler/PID Controller1/Tsamp - Ngain' +// '' : 'SimModel0621/Controler/PID Controller1/postSat Signal' +// '' : 'SimModel0621/Controler/PID Controller1/preInt Signal' +// '' : 'SimModel0621/Controler/PID Controller1/preSat Signal' +// '' : 'SimModel0621/Controler/PID Controller1/Anti-windup/Disc. Clamping Parallel' +// '' : 'SimModel0621/Controler/PID Controller1/Anti-windup/Disc. Clamping Parallel/Dead Zone' +// '' : 'SimModel0621/Controler/PID Controller1/Anti-windup/Disc. Clamping Parallel/Dead Zone/Enabled' +// '' : 'SimModel0621/Controler/PID Controller1/D Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller1/External Derivative/Error' +// '' : 'SimModel0621/Controler/PID Controller1/Filter/Disc. Forward Euler Filter' +// '' : 'SimModel0621/Controler/PID Controller1/Filter ICs/Internal IC - Filter' +// '' : 'SimModel0621/Controler/PID Controller1/I Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller1/Ideal P Gain/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller1/Ideal P Gain Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller1/Integrator/Discrete' +// '' : 'SimModel0621/Controler/PID Controller1/Integrator ICs/Internal IC' +// '' : 'SimModel0621/Controler/PID Controller1/N Copy/Disabled' +// '' : 'SimModel0621/Controler/PID Controller1/N Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller1/P Copy/Disabled' +// '' : 'SimModel0621/Controler/PID Controller1/Parallel P Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller1/Reset Signal/Disabled' +// '' : 'SimModel0621/Controler/PID Controller1/Saturation/Enabled' +// '' : 'SimModel0621/Controler/PID Controller1/Saturation Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller1/Sum/Sum_PID' +// '' : 'SimModel0621/Controler/PID Controller1/Sum Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller1/Tracking Mode/Disabled' +// '' : 'SimModel0621/Controler/PID Controller1/Tracking Mode Sum/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller1/Tsamp - Integral/TsSignalSpecification' +// '' : 'SimModel0621/Controler/PID Controller1/Tsamp - Ngain/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller1/postSat Signal/Forward_Path' +// '' : 'SimModel0621/Controler/PID Controller1/preInt Signal/Internal PreInt' +// '' : 'SimModel0621/Controler/PID Controller1/preSat Signal/Forward_Path' +// '' : 'SimModel0621/Controler/PID Controller2/Anti-windup' +// '' : 'SimModel0621/Controler/PID Controller2/D Gain' +// '' : 'SimModel0621/Controler/PID Controller2/External Derivative' +// '' : 'SimModel0621/Controler/PID Controller2/Filter' +// '' : 'SimModel0621/Controler/PID Controller2/Filter ICs' +// '' : 'SimModel0621/Controler/PID Controller2/I Gain' +// '' : 'SimModel0621/Controler/PID Controller2/Ideal P Gain' +// '' : 'SimModel0621/Controler/PID Controller2/Ideal P Gain Fdbk' +// '' : 'SimModel0621/Controler/PID Controller2/Integrator' +// '' : 'SimModel0621/Controler/PID Controller2/Integrator ICs' +// '' : 'SimModel0621/Controler/PID Controller2/N Copy' +// '' : 'SimModel0621/Controler/PID Controller2/N Gain' +// '' : 'SimModel0621/Controler/PID Controller2/P Copy' +// '' : 'SimModel0621/Controler/PID Controller2/Parallel P Gain' +// '' : 'SimModel0621/Controler/PID Controller2/Reset Signal' +// '' : 'SimModel0621/Controler/PID Controller2/Saturation' +// '' : 'SimModel0621/Controler/PID Controller2/Saturation Fdbk' +// '' : 'SimModel0621/Controler/PID Controller2/Sum' +// '' : 'SimModel0621/Controler/PID Controller2/Sum Fdbk' +// '' : 'SimModel0621/Controler/PID Controller2/Tracking Mode' +// '' : 'SimModel0621/Controler/PID Controller2/Tracking Mode Sum' +// '' : 'SimModel0621/Controler/PID Controller2/Tsamp - Integral' +// '' : 'SimModel0621/Controler/PID Controller2/Tsamp - Ngain' +// '' : 'SimModel0621/Controler/PID Controller2/postSat Signal' +// '' : 'SimModel0621/Controler/PID Controller2/preInt Signal' +// '' : 'SimModel0621/Controler/PID Controller2/preSat Signal' +// '' : 'SimModel0621/Controler/PID Controller2/Anti-windup/Disc. Clamping Parallel' +// '' : 'SimModel0621/Controler/PID Controller2/Anti-windup/Disc. Clamping Parallel/Dead Zone' +// '' : 'SimModel0621/Controler/PID Controller2/Anti-windup/Disc. Clamping Parallel/Dead Zone/Enabled' +// '' : 'SimModel0621/Controler/PID Controller2/D Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller2/External Derivative/Error' +// '' : 'SimModel0621/Controler/PID Controller2/Filter/Disc. Forward Euler Filter' +// '' : 'SimModel0621/Controler/PID Controller2/Filter ICs/Internal IC - Filter' +// '' : 'SimModel0621/Controler/PID Controller2/I Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller2/Ideal P Gain/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller2/Ideal P Gain Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller2/Integrator/Discrete' +// '' : 'SimModel0621/Controler/PID Controller2/Integrator ICs/Internal IC' +// '' : 'SimModel0621/Controler/PID Controller2/N Copy/Disabled' +// '' : 'SimModel0621/Controler/PID Controller2/N Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller2/P Copy/Disabled' +// '' : 'SimModel0621/Controler/PID Controller2/Parallel P Gain/Internal Parameters' +// '' : 'SimModel0621/Controler/PID Controller2/Reset Signal/Disabled' +// '' : 'SimModel0621/Controler/PID Controller2/Saturation/Enabled' +// '' : 'SimModel0621/Controler/PID Controller2/Saturation Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller2/Sum/Sum_PID' +// '' : 'SimModel0621/Controler/PID Controller2/Sum Fdbk/Disabled' +// '' : 'SimModel0621/Controler/PID Controller2/Tracking Mode/Disabled' +// '' : 'SimModel0621/Controler/PID Controller2/Tracking Mode Sum/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller2/Tsamp - Integral/TsSignalSpecification' +// '' : 'SimModel0621/Controler/PID Controller2/Tsamp - Ngain/Passthrough' +// '' : 'SimModel0621/Controler/PID Controller2/postSat Signal/Forward_Path' +// '' : 'SimModel0621/Controler/PID Controller2/preInt Signal/Internal PreInt' +// '' : 'SimModel0621/Controler/PID Controller2/preSat Signal/Forward_Path' +// '' : 'SimModel0621/Controler/Pred_Depth/gamma' +// '' : 'SimModel0621/Controler/Pred_Steering/gamma' #endif // Controler_h_ diff --git a/src/pAUV150/Controler/Controler_data.cpp b/src/pAUV150/Controler/Controler_data.cpp index 499169c..7609911 100644 --- a/src/pAUV150/Controler/Controler_data.cpp +++ b/src/pAUV150/Controler/Controler_data.cpp @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) @@ -24,45 +24,55 @@ Controler::P Controler::rtP{ // Variable: pid_depth // Referenced by: - // '/Derivative Gain' - // '/Integral Gain' - // '/Filter Coefficient' - // '/Proportional Gain' + // '/Derivative Gain' + // '/Integral Gain' + // '/Filter Coefficient' + // '/Proportional Gain' { 2.0, - 0.0, - 0.0, + 0.5, + 0.1, 10.0 }, // Variable: pid_heading // Referenced by: - // '/Derivative Gain' - // '/Integral Gain' - // '/Filter Coefficient' - // '/Proportional Gain' + // '/Derivative Gain' + // '/Integral Gain' + // '/Filter Coefficient' + // '/Proportional Gain' { 1, - 0.1, + 0.8, 0.01, 10.0 }, // Variable: pid_pitch // Referenced by: - // '/Derivative Gain' - // '/Integral Gain' - // '/Filter Coefficient' - // '/Proportional Gain' + // '/Derivative Gain' + // '/Integral Gain' + // '/Filter Coefficient' + // '/Proportional Gain' { 0.5, 0.0, 0.1, 10.0 - } + }, + + // Variable: gamma_depth + // Referenced by: '/Compensation Gain' + + 5.0, + + // Variable: gamma_heading + // Referenced by: '/Compensation Gain' + + 1.0 }; // diff --git a/src/pAUV150/Controler/Controler_private.h b/src/pAUV150/Controler/Controler_private.h index bafc1c3..3da9a0a 100644 --- a/src/pAUV150/Controler/Controler_private.h +++ b/src/pAUV150/Controler/Controler_private.h @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) diff --git a/src/pAUV150/Controler/Controler_types.h b/src/pAUV150/Controler/Controler_types.h index f871d4e..0a3df34 100644 --- a/src/pAUV150/Controler/Controler_types.h +++ b/src/pAUV150/Controler/Controler_types.h @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) diff --git a/src/pAUV150/Controler/rtGetNaN.cpp b/src/pAUV150/Controler/rtGetNaN.cpp index a6924f2..52704a1 100644 --- a/src/pAUV150/Controler/rtGetNaN.cpp +++ b/src/pAUV150/Controler/rtGetNaN.cpp @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) diff --git a/src/pAUV150/Controler/rtGetNaN.h b/src/pAUV150/Controler/rtGetNaN.h index c8a9487..8d070a1 100644 --- a/src/pAUV150/Controler/rtGetNaN.h +++ b/src/pAUV150/Controler/rtGetNaN.h @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) diff --git a/src/pAUV150/Controler/rt_nonfinite.cpp b/src/pAUV150/Controler/rt_nonfinite.cpp index 0e33e04..8d33e43 100644 --- a/src/pAUV150/Controler/rt_nonfinite.cpp +++ b/src/pAUV150/Controler/rt_nonfinite.cpp @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) diff --git a/src/pAUV150/Controler/rt_nonfinite.h b/src/pAUV150/Controler/rt_nonfinite.h index f9a5bc6..77e59dc 100644 --- a/src/pAUV150/Controler/rt_nonfinite.h +++ b/src/pAUV150/Controler/rt_nonfinite.h @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64) diff --git a/src/pAUV150/Controler/rtmodel.h b/src/pAUV150/Controler/rtmodel.h new file mode 100644 index 0000000..817ce1a --- /dev/null +++ b/src/pAUV150/Controler/rtmodel.h @@ -0,0 +1,44 @@ +// +// Academic License - for use in teaching, academic research, and meeting +// course requirements at degree granting institutions only. Not for +// government, commercial, or other organizational use. +// +// File: rtmodel.h +// +// Code generated for Simulink model 'Controler'. +// +// Model version : 5.77 +// Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 +// +// Target selection: ert.tlc +// Embedded hardware selection: Intel->x86-64 (Linux 64) +// Code generation objectives: +// 1. Execution efficiency +// 2. RAM efficiency +// Validation result: Not run +// +#ifndef rtmodel_h_ +#define rtmodel_h_ +#include "Controler.h" +#define MODEL_CLASSNAME Controler +#define MODEL_STEPNAME step + +// +// ROOT_IO_FORMAT: 0 (Individual arguments) +// ROOT_IO_FORMAT: 1 (Structure reference) +// ROOT_IO_FORMAT: 2 (Part of model data structure) + +#define ROOT_IO_FORMAT 1 + +// Macros generated for backwards compatibility +#ifndef rtmGetStopRequested +#define rtmGetStopRequested(rtm) ((void*) 0) +#endif +#endif // rtmodel_h_ + +// +// File trailer for generated code. +// +// [EOF] +// diff --git a/src/pAUV150/Controler/rtwtypes.h b/src/pAUV150/Controler/rtwtypes.h index d228e9d..c607d90 100644 --- a/src/pAUV150/Controler/rtwtypes.h +++ b/src/pAUV150/Controler/rtwtypes.h @@ -7,9 +7,9 @@ // // Code generated for Simulink model 'Controler'. // -// Model version : 5.56 +// Model version : 5.77 // Simulink Coder version : 24.2 (R2024b) 21-Jun-2024 -// C/C++ source code generated on : Wed Jun 18 22:52:45 2025 +// C/C++ source code generated on : Thu Jun 26 20:56:30 2025 // // Target selection: ert.tlc // Embedded hardware selection: Intel->x86-64 (Linux 64)