diff --git a/Release/include/XNCore/XNDDSInterface.h b/Release/include/XNCore/XNDDSInterface.h index a9e81f6..36bccd7 100644 --- a/Release/include/XNCore/XNDDSInterface.h +++ b/Release/include/XNCore/XNDDSInterface.h @@ -279,6 +279,28 @@ protected: } } + template + void assign_value_set(eprosima::fastcdr::optional &data, T2 &model_data) + { + if constexpr (std::is_arithmetic_v) { + data = model_data; + } else if constexpr (is_std_array_v) { + T1 temp; + size_t arraySize = array_size_v; + for (size_t i = 0; i < arraySize; ++i) { + if constexpr (std::is_arithmetic_v) { + temp[i] = model_data[i]; + } else if constexpr (is_std_array_v) { + size_t arraySize2 = array_size_v; + for (size_t j = 0; j < arraySize2; ++j) { + temp[i][j] = model_data[i][j]; + } + } + } + data = temp; + } + } + virtual void clearOutData() {} virtual void sendOutData() {} @@ -308,47 +330,3 @@ protected: setByteArrayFunction[#NAME] = [this](XNByteArray byteArray) { \ setByteArray(data.NAME(), byteArray); \ } - -#define ASSIGN_VALUE_GET(NAME) \ - if (data.NAME()) { \ - auto temp = data.NAME().value(); \ - if constexpr (std::is_arithmetic_v) { \ - model_data->NAME = temp; \ - } else if constexpr (is_std_array_v) { \ - size_t arraySize = array_size_v; \ - for (size_t i = 0; i < arraySize; ++i) { \ - if constexpr (std::is_arithmetic_v) { \ - model_data->NAME[i] = temp[i]; \ - } else if constexpr (is_std_array_v) { \ - size_t arraySize2 = array_size_v; \ - for (size_t j = 0; j < arraySize2; ++j) { \ - model_data->NAME[i][j] = temp[i][j]; \ - } \ - } \ - } \ - } \ - } - -#define ASSIGN_VALUE_SET(NAME) \ - if constexpr (std::is_arithmetic_v) { \ - out_data.NAME(model_data->NAME); \ - } else if constexpr (is_std_array_v) { \ - using thisType = typename decltype(out_data.NAME())::type; \ - thisType temp; \ - size_t arraySize1 = array_size_v; \ - using subType = thisType::value_type; \ - if constexpr (std::is_arithmetic_v) { \ - for (size_t i = 0; i < arraySize1; ++i) { \ - temp[i] = model_data->NAME[i]; \ - } \ - } else if constexpr (is_std_array_v) { \ - size_t arraySize2 = array_size_v; \ - std::array temp; \ - for (size_t i = 0; i < arraySize1; ++i) { \ - for (size_t j = 0; j < arraySize2; ++j) { \ - temp[i][j] = model_data->NAME[i][j]; \ - } \ - } \ - } \ - out_data.NAME(temp); \ - } diff --git a/XNCore/XNDDSInterface.h b/XNCore/XNDDSInterface.h index a9e81f6..36bccd7 100644 --- a/XNCore/XNDDSInterface.h +++ b/XNCore/XNDDSInterface.h @@ -279,6 +279,28 @@ protected: } } + template + void assign_value_set(eprosima::fastcdr::optional &data, T2 &model_data) + { + if constexpr (std::is_arithmetic_v) { + data = model_data; + } else if constexpr (is_std_array_v) { + T1 temp; + size_t arraySize = array_size_v; + for (size_t i = 0; i < arraySize; ++i) { + if constexpr (std::is_arithmetic_v) { + temp[i] = model_data[i]; + } else if constexpr (is_std_array_v) { + size_t arraySize2 = array_size_v; + for (size_t j = 0; j < arraySize2; ++j) { + temp[i][j] = model_data[i][j]; + } + } + } + data = temp; + } + } + virtual void clearOutData() {} virtual void sendOutData() {} @@ -308,47 +330,3 @@ protected: setByteArrayFunction[#NAME] = [this](XNByteArray byteArray) { \ setByteArray(data.NAME(), byteArray); \ } - -#define ASSIGN_VALUE_GET(NAME) \ - if (data.NAME()) { \ - auto temp = data.NAME().value(); \ - if constexpr (std::is_arithmetic_v) { \ - model_data->NAME = temp; \ - } else if constexpr (is_std_array_v) { \ - size_t arraySize = array_size_v; \ - for (size_t i = 0; i < arraySize; ++i) { \ - if constexpr (std::is_arithmetic_v) { \ - model_data->NAME[i] = temp[i]; \ - } else if constexpr (is_std_array_v) { \ - size_t arraySize2 = array_size_v; \ - for (size_t j = 0; j < arraySize2; ++j) { \ - model_data->NAME[i][j] = temp[i][j]; \ - } \ - } \ - } \ - } \ - } - -#define ASSIGN_VALUE_SET(NAME) \ - if constexpr (std::is_arithmetic_v) { \ - out_data.NAME(model_data->NAME); \ - } else if constexpr (is_std_array_v) { \ - using thisType = typename decltype(out_data.NAME())::type; \ - thisType temp; \ - size_t arraySize1 = array_size_v; \ - using subType = thisType::value_type; \ - if constexpr (std::is_arithmetic_v) { \ - for (size_t i = 0; i < arraySize1; ++i) { \ - temp[i] = model_data->NAME[i]; \ - } \ - } else if constexpr (is_std_array_v) { \ - size_t arraySize2 = array_size_v; \ - std::array temp; \ - for (size_t i = 0; i < arraySize1; ++i) { \ - for (size_t j = 0; j < arraySize2; ++j) { \ - temp[i][j] = model_data->NAME[i][j]; \ - } \ - } \ - } \ - out_data.NAME(temp); \ - } diff --git a/XNModels/XNGroundHandling/XNGroundHandlingInterface/XNGroundHandlingInterface.hpp b/XNModels/XNGroundHandling/XNGroundHandlingInterface/XNGroundHandlingInterface.hpp index 761ea08..bc82c9e 100755 --- a/XNModels/XNGroundHandling/XNGroundHandlingInterface/XNGroundHandlingInterface.hpp +++ b/XNModels/XNGroundHandling/XNGroundHandlingInterface/XNGroundHandlingInterface.hpp @@ -77,49 +77,62 @@ public: template void setData(T *model_data) { - // if (model_data == nullptr) - // return; - // clearOutData(); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_frz_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_chocks_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_alt_agl_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_frzflt_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_p_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_q_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_r_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_ug_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_vg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_wg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_blcg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_bscg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_wlcg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_pb_active_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_brake_torq_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_gear_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_gsteer_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_tire_pres_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_onjax_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_contdep_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_thetag_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_phig_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_rwyrgh_i2); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_rwyhdg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_reset_braketemp_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_reset_tirepress_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_temp_c_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_brake_temp_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_tire_tburst_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_tire_tflat_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_brk_reset_tpres_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_rcon_ci_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_pb_towforce_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_gsteer_state_i4); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_trim_active_l1); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_phi_deg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_theta_deg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_psi_deg_f8); - // ASSIGN_VALUE_SET(l_04_i_gdcomac_resetint_l1); - // sendOutData(); + if (model_data == nullptr) + return; + clearOutData(); + assign_value_set(data.l_04_i_gdcomac_frz_l1(), model_data->l_04_i_gdcomac_frz_l1); + assign_value_set(data.l_04_i_gdcomac_chocks_l1(), model_data->l_04_i_gdcomac_chocks_l1); + assign_value_set(data.l_04_i_gdcomac_alt_agl_f8(), model_data->l_04_i_gdcomac_alt_agl_f8); + assign_value_set(data.l_04_i_gdcomac_frzflt_l1(), model_data->l_04_i_gdcomac_frzflt_l1); + assign_value_set(data.l_04_i_gdcomac_p_f8(), model_data->l_04_i_gdcomac_p_f8); + assign_value_set(data.l_04_i_gdcomac_q_f8(), model_data->l_04_i_gdcomac_q_f8); + assign_value_set(data.l_04_i_gdcomac_r_f8(), model_data->l_04_i_gdcomac_r_f8); + assign_value_set(data.l_04_i_gdcomac_ug_f8(), model_data->l_04_i_gdcomac_ug_f8); + assign_value_set(data.l_04_i_gdcomac_vg_f8(), model_data->l_04_i_gdcomac_vg_f8); + assign_value_set(data.l_04_i_gdcomac_wg_f8(), model_data->l_04_i_gdcomac_wg_f8); + assign_value_set(data.l_04_i_gdcomac_blcg_f8(), model_data->l_04_i_gdcomac_blcg_f8); + assign_value_set(data.l_04_i_gdcomac_bscg_f8(), model_data->l_04_i_gdcomac_bscg_f8); + assign_value_set(data.l_04_i_gdcomac_wlcg_f8(), model_data->l_04_i_gdcomac_wlcg_f8); + assign_value_set(data.l_04_i_gdcomac_pb_active_l1(), + model_data->l_04_i_gdcomac_pb_active_l1); + assign_value_set(data.l_04_i_gdcomac_brake_torq_f8(), + model_data->l_04_i_gdcomac_brake_torq_f8); + assign_value_set(data.l_04_i_gdcomac_gear_f8(), model_data->l_04_i_gdcomac_gear_f8); + assign_value_set(data.l_04_i_gdcomac_gsteer_f8(), model_data->l_04_i_gdcomac_gsteer_f8); + assign_value_set(data.l_04_i_gdcomac_tire_pres_f8(), + model_data->l_04_i_gdcomac_tire_pres_f8); + assign_value_set(data.l_04_i_gdcomac_onjax_l1(), model_data->l_04_i_gdcomac_onjax_l1); + assign_value_set(data.l_04_i_gdcomac_contdep_f8(), model_data->l_04_i_gdcomac_contdep_f8); + assign_value_set(data.l_04_i_gdcomac_thetag_f8(), model_data->l_04_i_gdcomac_thetag_f8); + assign_value_set(data.l_04_i_gdcomac_phig_f8(), model_data->l_04_i_gdcomac_phig_f8); + assign_value_set(data.l_04_i_gdcomac_rwyrgh_i2(), model_data->l_04_i_gdcomac_rwyrgh_i2); + assign_value_set(data.l_04_i_gdcomac_rwyhdg_f8(), model_data->l_04_i_gdcomac_rwyhdg_f8); + assign_value_set(data.l_04_i_gdcomac_reset_braketemp_l1(), + model_data->l_04_i_gdcomac_reset_braketemp_l1); + assign_value_set(data.l_04_i_gdcomac_reset_tirepress_l1(), + model_data->l_04_i_gdcomac_reset_tirepress_l1); + assign_value_set(data.l_04_i_gdcomac_temp_c_f8(), model_data->l_04_i_gdcomac_temp_c_f8); + assign_value_set(data.l_04_i_gdcomac_brake_temp_f8(), + model_data->l_04_i_gdcomac_brake_temp_f8); + assign_value_set(data.l_04_i_gdcomac_tire_tburst_l1(), + model_data->l_04_i_gdcomac_tire_tburst_l1); + assign_value_set(data.l_04_i_gdcomac_tire_tflat_l1(), + model_data->l_04_i_gdcomac_tire_tflat_l1); + assign_value_set(data.l_04_i_gdcomac_brk_reset_tpres_l1(), + model_data->l_04_i_gdcomac_brk_reset_tpres_l1); + assign_value_set(data.l_04_i_gdcomac_rcon_ci_f8(), model_data->l_04_i_gdcomac_rcon_ci_f8); + assign_value_set(data.l_04_i_gdcomac_pb_towforce_f8(), + model_data->l_04_i_gdcomac_pb_towforce_f8); + assign_value_set(data.l_04_i_gdcomac_gsteer_state_i4(), + model_data->l_04_i_gdcomac_gsteer_state_i4); + assign_value_set(data.l_04_i_gdcomac_trim_active_l1(), + model_data->l_04_i_gdcomac_trim_active_l1); + assign_value_set(data.l_04_i_gdcomac_phi_deg_f8(), model_data->l_04_i_gdcomac_phi_deg_f8); + assign_value_set(data.l_04_i_gdcomac_theta_deg_f8(), + model_data->l_04_i_gdcomac_theta_deg_f8); + assign_value_set(data.l_04_i_gdcomac_psi_deg_f8(), model_data->l_04_i_gdcomac_psi_deg_f8); + assign_value_set(data.l_04_i_gdcomac_resetint_l1(), model_data->l_04_i_gdcomac_resetint_l1); + sendOutData(); } private: @@ -139,87 +152,105 @@ public: template void getData(T *model_data) { - // if (model_data == nullptr) - // return; - // ASSIGN_VALUE_GET(l_04_o_gdcomac_frz_l1); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_ac_on_ground_l1); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_ac_stationary_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_alt_tire_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_zcg_to_tire_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_fxb_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_fyb_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_fzb_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_mxb_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_myb_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_mzb_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_fygs_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_mzgs_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_mu_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_dstroke_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_sr_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_sy_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_sx_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_xft_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_yft_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_zft_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_distngrxcg_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_distmgrxcg_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_distmgrzcg_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_tire_vel_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_tire_burst_l1); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_tire_temp_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_wow_l1); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_utirew_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_vtirew_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_whl_omega_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_dstruc_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_wor_par_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_nd_f8); - // ASSIGN_VALUE_GET(l_04_o_gdcomac_vczt_f8); + if (model_data == nullptr) + return; + assign_value_get(data.l_04_o_gdcomac_frz_l1(), model_data->l_04_o_gdcomac_frz_l1); + assign_value_get(data.l_04_o_gdcomac_ac_on_ground_l1(), + model_data->l_04_o_gdcomac_ac_on_ground_l1); + assign_value_get(data.l_04_o_gdcomac_ac_stationary_f8(), + model_data->l_04_o_gdcomac_ac_stationary_f8); + assign_value_get(data.l_04_o_gdcomac_alt_tire_f8(), model_data->l_04_o_gdcomac_alt_tire_f8); + assign_value_get(data.l_04_o_gdcomac_zcg_to_tire_f8(), + model_data->l_04_o_gdcomac_zcg_to_tire_f8); + assign_value_get(data.l_04_o_gdcomac_fxb_f8(), model_data->l_04_o_gdcomac_fxb_f8); + assign_value_get(data.l_04_o_gdcomac_fyb_f8(), model_data->l_04_o_gdcomac_fyb_f8); + assign_value_get(data.l_04_o_gdcomac_fzb_f8(), model_data->l_04_o_gdcomac_fzb_f8); + assign_value_get(data.l_04_o_gdcomac_mxb_f8(), model_data->l_04_o_gdcomac_mxb_f8); + assign_value_get(data.l_04_o_gdcomac_myb_f8(), model_data->l_04_o_gdcomac_myb_f8); + assign_value_get(data.l_04_o_gdcomac_mzb_f8(), model_data->l_04_o_gdcomac_mzb_f8); + assign_value_get(data.l_04_o_gdcomac_fygs_f8(), model_data->l_04_o_gdcomac_fygs_f8); + assign_value_get(data.l_04_o_gdcomac_mzgs_f8(), model_data->l_04_o_gdcomac_mzgs_f8); + assign_value_get(data.l_04_o_gdcomac_mu_f8(), model_data->l_04_o_gdcomac_mu_f8); + assign_value_get(data.l_04_o_gdcomac_dstroke_f8(), model_data->l_04_o_gdcomac_dstroke_f8); + assign_value_get(data.l_04_o_gdcomac_sr_f8(), model_data->l_04_o_gdcomac_sr_f8); + assign_value_get(data.l_04_o_gdcomac_sy_f8(), model_data->l_04_o_gdcomac_sy_f8); + assign_value_get(data.l_04_o_gdcomac_sx_f8(), model_data->l_04_o_gdcomac_sx_f8); + assign_value_get(data.l_04_o_gdcomac_xft_f8(), model_data->l_04_o_gdcomac_xft_f8); + assign_value_get(data.l_04_o_gdcomac_yft_f8(), model_data->l_04_o_gdcomac_yft_f8); + assign_value_get(data.l_04_o_gdcomac_zft_f8(), model_data->l_04_o_gdcomac_zft_f8); + assign_value_get(data.l_04_o_gdcomac_distngrxcg_f8(), + model_data->l_04_o_gdcomac_distngrxcg_f8); + assign_value_get(data.l_04_o_gdcomac_distmgrxcg_f8(), + model_data->l_04_o_gdcomac_distmgrxcg_f8); + assign_value_get(data.l_04_o_gdcomac_distmgrzcg_f8(), + model_data->l_04_o_gdcomac_distmgrzcg_f8); + assign_value_get(data.l_04_o_gdcomac_tire_vel_f8(), model_data->l_04_o_gdcomac_tire_vel_f8); + assign_value_get(data.l_04_o_gdcomac_tire_burst_l1(), + model_data->l_04_o_gdcomac_tire_burst_l1); + assign_value_get(data.l_04_o_gdcomac_tire_temp_f8(), + model_data->l_04_o_gdcomac_tire_temp_f8); + assign_value_get(data.l_04_o_gdcomac_wow_l1(), model_data->l_04_o_gdcomac_wow_l1); + assign_value_get(data.l_04_o_gdcomac_utirew_f8(), model_data->l_04_o_gdcomac_utirew_f8); + assign_value_get(data.l_04_o_gdcomac_vtirew_f8(), model_data->l_04_o_gdcomac_vtirew_f8); + assign_value_get(data.l_04_o_gdcomac_whl_omega_f8(), + model_data->l_04_o_gdcomac_whl_omega_f8); + assign_value_get(data.l_04_o_gdcomac_dstruc_f8(), model_data->l_04_o_gdcomac_dstruc_f8); + assign_value_get(data.l_04_o_gdcomac_wor_par_f8(), model_data->l_04_o_gdcomac_wor_par_f8); + assign_value_get(data.l_04_o_gdcomac_nd_f8(), model_data->l_04_o_gdcomac_nd_f8); + assign_value_get(data.l_04_o_gdcomac_vczt_f8(), model_data->l_04_o_gdcomac_vczt_f8); } template void setData(T *model_data) { - // if (model_data == nullptr) - // return; - // clearOutData(); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_frz_l1); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_ac_on_ground_l1); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_ac_stationary_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_alt_tire_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_zcg_to_tire_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_fxb_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_fyb_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_fzb_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_mxb_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_myb_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_mzb_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_fygs_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_mzgs_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_mu_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_dstroke_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_sr_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_sy_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_sx_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_xft_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_yft_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_zft_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_distngrxcg_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_distmgrxcg_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_distmgrzcg_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_tire_vel_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_tire_burst_l1); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_tire_temp_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_wow_l1); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_utirew_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_vtirew_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_whl_omega_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_dstruc_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_wor_par_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_nd_f8); - // ASSIGN_VALUE_SET(l_04_o_gdcomac_vczt_f8); - // sendOutData(); + if (model_data == nullptr) + return; + clearOutData(); + assign_value_set(data.l_04_o_gdcomac_frz_l1(), model_data->l_04_o_gdcomac_frz_l1); + assign_value_set(data.l_04_o_gdcomac_ac_on_ground_l1(), + model_data->l_04_o_gdcomac_ac_on_ground_l1); + assign_value_set(data.l_04_o_gdcomac_ac_stationary_f8(), + model_data->l_04_o_gdcomac_ac_stationary_f8); + assign_value_set(data.l_04_o_gdcomac_alt_tire_f8(), model_data->l_04_o_gdcomac_alt_tire_f8); + assign_value_set(data.l_04_o_gdcomac_zcg_to_tire_f8(), + model_data->l_04_o_gdcomac_zcg_to_tire_f8); + assign_value_set(data.l_04_o_gdcomac_fxb_f8(), model_data->l_04_o_gdcomac_fxb_f8); + assign_value_set(data.l_04_o_gdcomac_fyb_f8(), model_data->l_04_o_gdcomac_fyb_f8); + assign_value_set(data.l_04_o_gdcomac_fzb_f8(), model_data->l_04_o_gdcomac_fzb_f8); + assign_value_set(data.l_04_o_gdcomac_mxb_f8(), model_data->l_04_o_gdcomac_mxb_f8); + assign_value_set(data.l_04_o_gdcomac_myb_f8(), model_data->l_04_o_gdcomac_myb_f8); + assign_value_set(data.l_04_o_gdcomac_mzb_f8(), model_data->l_04_o_gdcomac_mzb_f8); + assign_value_set(data.l_04_o_gdcomac_fygs_f8(), model_data->l_04_o_gdcomac_fygs_f8); + assign_value_set(data.l_04_o_gdcomac_mzgs_f8(), model_data->l_04_o_gdcomac_mzgs_f8); + assign_value_set(data.l_04_o_gdcomac_mu_f8(), model_data->l_04_o_gdcomac_mu_f8); + assign_value_set(data.l_04_o_gdcomac_dstroke_f8(), model_data->l_04_o_gdcomac_dstroke_f8); + assign_value_set(data.l_04_o_gdcomac_sr_f8(), model_data->l_04_o_gdcomac_sr_f8); + assign_value_set(data.l_04_o_gdcomac_sy_f8(), model_data->l_04_o_gdcomac_sy_f8); + assign_value_set(data.l_04_o_gdcomac_sx_f8(), model_data->l_04_o_gdcomac_sx_f8); + assign_value_set(data.l_04_o_gdcomac_xft_f8(), model_data->l_04_o_gdcomac_xft_f8); + assign_value_set(data.l_04_o_gdcomac_yft_f8(), model_data->l_04_o_gdcomac_yft_f8); + assign_value_set(data.l_04_o_gdcomac_zft_f8(), model_data->l_04_o_gdcomac_zft_f8); + assign_value_set(data.l_04_o_gdcomac_distngrxcg_f8(), + model_data->l_04_o_gdcomac_distngrxcg_f8); + assign_value_set(data.l_04_o_gdcomac_distmgrxcg_f8(), + model_data->l_04_o_gdcomac_distmgrxcg_f8); + assign_value_set(data.l_04_o_gdcomac_distmgrzcg_f8(), + model_data->l_04_o_gdcomac_distmgrzcg_f8); + assign_value_set(data.l_04_o_gdcomac_tire_vel_f8(), model_data->l_04_o_gdcomac_tire_vel_f8); + assign_value_set(data.l_04_o_gdcomac_tire_burst_l1(), + model_data->l_04_o_gdcomac_tire_burst_l1); + assign_value_set(data.l_04_o_gdcomac_tire_temp_f8(), + model_data->l_04_o_gdcomac_tire_temp_f8); + assign_value_set(data.l_04_o_gdcomac_wow_l1(), model_data->l_04_o_gdcomac_wow_l1); + assign_value_set(data.l_04_o_gdcomac_utirew_f8(), model_data->l_04_o_gdcomac_utirew_f8); + assign_value_set(data.l_04_o_gdcomac_vtirew_f8(), model_data->l_04_o_gdcomac_vtirew_f8); + assign_value_set(data.l_04_o_gdcomac_whl_omega_f8(), + model_data->l_04_o_gdcomac_whl_omega_f8); + assign_value_set(data.l_04_o_gdcomac_dstruc_f8(), model_data->l_04_o_gdcomac_dstruc_f8); + assign_value_set(data.l_04_o_gdcomac_wor_par_f8(), model_data->l_04_o_gdcomac_wor_par_f8); + assign_value_set(data.l_04_o_gdcomac_nd_f8(), model_data->l_04_o_gdcomac_nd_f8); + assign_value_set(data.l_04_o_gdcomac_vczt_f8(), model_data->l_04_o_gdcomac_vczt_f8); + sendOutData(); } private: @@ -239,19 +270,21 @@ public: template void getData(T *model_data) { - // if (model_data == nullptr) - // return; - // ASSIGN_VALUE_GET(groundhandling_model_heartbeat); + if (model_data == nullptr) + return; + assign_value_get(data.groundhandling_model_heartbeat(), + model_data->groundhandling_model_heartbeat); } template void setData(T *model_data) { - // if (model_data == nullptr) - // return; - // clearOutData(); - // ASSIGN_VALUE_SET(groundhandling_model_heartbeat); - // sendOutData(); + if (model_data == nullptr) + return; + clearOutData(); + assign_value_set(data.groundhandling_model_heartbeat(), + model_data->groundhandling_model_heartbeat); + sendOutData(); } private: