Commit 40fbdba3 authored by Mubeena Ishaq's avatar Mubeena Ishaq
Browse files

Merge branch 'TTF_T036' of https://forge.etsi.org/rep/ITS/TS.ITS into TTF_T036

parents 9f71bc40 5f3177ff
Loading
Loading
Loading
Loading
Loading
+12 −3
Original line number Original line Diff line number Diff line
@@ -71,6 +71,15 @@ namespace LibItsCps__TestSystem {
    loggers::get_instance().set_stop_time(_time_key, duration);
    loggers::get_instance().set_stop_time(_time_key, duration);
  }
  }


  void UpperTesterPort::outgoing_send(const LibItsCps__TypesAndValues::UtCpmTrigger &send_par) {
    loggers::get_instance().log_msg(">>> UpperTesterPort_Cps::outgoing_send: ", send_par);

    float duration;
    loggers::get_instance().set_start_time(_time_key);
    static_cast<uppertester_cps_layer*>(_layer)->sendMsg(send_par, _layer_params);
    loggers::get_instance().set_stop_time(_time_key, duration);
  }

  void UpperTesterPort::receiveMsg(const Base_Type &p_ind, const params &p_params) {
  void UpperTesterPort::receiveMsg(const Base_Type &p_ind, const params &p_params) {
    loggers::get_instance().log_msg(">>> UpperTesterPort_Cps::receive_msg: ", p_ind);
    loggers::get_instance().log_msg(">>> UpperTesterPort_Cps::receive_msg: ", p_ind);
    // Sanity check
    // Sanity check
+1 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@ namespace LibItsCps__TestSystem {
    void user_stop();
    void user_stop();


    void outgoing_send(const LibItsCps__TypesAndValues::UtCpmInitialize &send_par);
    void outgoing_send(const LibItsCps__TypesAndValues::UtCpmInitialize &send_par);
    void outgoing_send(const LibItsCps__TypesAndValues::UtCpmTrigger &send_par);
  };
  };


} // namespace LibItsCps__TestSystem
} // namespace LibItsCps__TestSystem
+89 −0
Original line number Original line Diff line number Diff line
@@ -450,6 +450,9 @@ void ConfigRsuSimulatorLayer::sendMsg(const LibItsVru__TypesAndValues::UtVamResu
  if (send_par.ischosen(LibItsVru__TypesAndValues::UtVamResults::ALT_utVamInitializeResult)) {
  if (send_par.ischosen(LibItsVru__TypesAndValues::UtVamResults::ALT_utVamInitializeResult)) {
    encoding_buffer.put_c(static_cast<const uint8_t>(uppertester_vru_codec::c_utVamInitializeResult));
    encoding_buffer.put_c(static_cast<const uint8_t>(uppertester_vru_codec::c_utVamInitializeResult));
    encoding_buffer.put_c((uint8_t)static_cast<const boolean>(send_par.utVamInitializeResult()));
    encoding_buffer.put_c((uint8_t)static_cast<const boolean>(send_par.utVamInitializeResult()));
  } else if (send_par.ischosen(LibItsVru__TypesAndValues::UtVamResults::ALT_utVamTriggerResult)) {
    encoding_buffer.put_c(static_cast<const uint8_t>(uppertester_vru_codec::c_utVamTriggerResult));
    encoding_buffer.put_c((uint8_t)static_cast<const boolean>(send_par.utVamTriggerResult()));
  } else {
  } else {
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::sendMsg: Unsupported UtVamResults variant");
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::sendMsg: Unsupported UtVamResults variant");
    return;
    return;
@@ -529,6 +532,10 @@ void ConfigRsuSimulatorLayer::receive_data(OCTETSTRING &data, params &params) {
  } else if ((id == uppertester_pki_codec::c_utPkiTriggerEnrolmentRequest) ||
  } else if ((id == uppertester_pki_codec::c_utPkiTriggerEnrolmentRequest) ||
             (id == uppertester_pki_codec::c_utPkiTriggerAuthorizationRequest)) { // Receive an UtPkiTrigger
             (id == uppertester_pki_codec::c_utPkiTriggerAuthorizationRequest)) { // Receive an UtPkiTrigger
    process_ut_pki_trigger(data, params);
    process_ut_pki_trigger(data, params);
  } else if (id == uppertester_vru_codec::c_utVamTrigger) { // Receive an UtMbrTrigger
    process_ut_vam_trigger(data, params);
  // } else if (id == uppertester_cps_codec::c_utCpmTrigger) { // Receive an UtMbrTrigger
  //   process_ut_cpm_trigger(data, params);
  } else if (id == uppertester_mbr_codec::c_utMbrTrigger) { // Receive an UtMbrTrigger
  } else if (id == uppertester_mbr_codec::c_utMbrTrigger) { // Receive an UtMbrTrigger
    process_ut_mbr_trigger(data, params);
    process_ut_mbr_trigger(data, params);
  } else {
  } else {
@@ -590,6 +597,16 @@ int ConfigRsuSimulatorLayer::process_utinitialize_data(const OCTETSTRING &data,
    LibItsMbr__TypesAndValues::UtMbrInitialize p(hashedId);
    LibItsMbr__TypesAndValues::UtMbrInitialize p(hashedId);
    // Pass it to the ports if any
    // Pass it to the ports if any
    to_all_upper_ports(p, params);
    to_all_upper_ports(p, params);
  } else if (_params[std::string("ut")].compare("vam") == 0) {
    OCTETSTRING                                      hashedId(data.lengthof() - 1, 1 + static_cast<const uint8_t *>(data));
    LibItsVru__TypesAndValues::UtVamInitialize p(hashedId);
    // Pass it to the ports if any
    to_all_upper_ports(p, params);
  } else if (_params[std::string("ut")].compare("cpm") == 0) {
    OCTETSTRING                                      hashedId(data.lengthof() - 1, 1 + static_cast<const uint8_t *>(data));
    LibItsCps__TypesAndValues::UtCpmInitialize p(hashedId);
    // Pass it to the ports if any
    to_all_upper_ports(p, params);
  } else {
  } else {
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_utinitialize_data: Unsupported protocol");
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_utinitialize_data: Unsupported protocol");
    return -1;
    return -1;
@@ -1582,6 +1599,78 @@ int ConfigRsuSimulatorLayer::process_ut_rtcmem_termination(const OCTETSTRING &da
  return 0;
  return 0;
}
}


int ConfigRsuSimulatorLayer::process_ut_vam_trigger(const OCTETSTRING &data, params &params) {
  loggers::get_instance().log_msg(">>> ConfigRsuSimulatorLayer::process_ut_vam_trigger", data);

  params::const_iterator it = _params.find("ut");
  if (it == _params.cend()) {
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_ut_vam_trigger: CF layer's ut parameter is missing");
    return -1;
  }

  if (_params[std::string("ut")].compare("vam") == 0) {
    uint8_t *p      = (uint8_t *)static_cast<const uint8_t *>(data);
    uint8_t  msg_id = *p++;
    loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_vam_trigger: msg_id=%02x", msg_id);
    uint8_t flag = *p++;
    loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_vam_trigger: flag=%02x", flag);
    LibItsVru__TypesAndValues::UtVamTrigger trigger;
    // Decode msgs
    if ((flag & 0x80) == 0x80) {
      trigger.setVruProfile() = *p;
    }
    if ((flag & 0x40) == 0x40) {
      trigger.leaveClusterWithCause() = *p;
    }
    loggers::get_instance().log_msg("ConfigRsuSimulatorLayer::process_ut_vam_trigger: ", trigger);

    // Pass it to the ports if any
    to_all_upper_ports(trigger, params);
  } else {
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_ut_vam_trigger: Unsupported protocol");
    return -1;
  }

  return 0;
}

int ConfigRsuSimulatorLayer::process_ut_cpm_trigger(const OCTETSTRING &data, params &params) {
  loggers::get_instance().log_msg(">>> ConfigRsuSimulatorLayer::process_ut_cpm_trigger", data);

  params::const_iterator it = _params.find("ut");
  if (it == _params.cend()) {
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_ut_cpm_trigger: CF layer's ut parameter is missing");
    return -1;
  }

  if (_params[std::string("ut")].compare("cpm") == 0) {
    uint8_t *p      = (uint8_t *)static_cast<const uint8_t *>(data);
    uint8_t  msg_id = *p++;
    loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_cpm_trigger: msg_id=%02x", msg_id);
    uint8_t flag = *p++;
    loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_cpm_trigger: flag=%02x", flag);
    // LibItsCps__TypesAndValues::UtCpmTrigger trigger;
    // // Decode msgs
    // if ((flag & 0x80) == 0x80) {
    //   trigger.setVruProfile() = *p;
    // }
    // if ((flag & 0x40) == 0x40) {
    //   trigger.leaveClusterWithCause() = *p;
    // }
    // loggers::get_instance().log_msg("ConfigRsuSimulatorLayer::process_ut_cpm_trigger: ", trigger);

    // // Pass it to the ports if any
    // to_all_upper_ports(trigger, params);
  } else {
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_ut_cpm_trigger: Unsupported protocol");
    return -1;
  }

  return 0;
}



int ConfigRsuSimulatorLayer::set_cause_code_choice(const int p_cause, ETSI__ITS__CDD::CauseCodeChoice& p_causeCodeChoice) {
int ConfigRsuSimulatorLayer::set_cause_code_choice(const int p_cause, ETSI__ITS__CDD::CauseCodeChoice& p_causeCodeChoice) {
  loggers::get_instance().log(">>> ConfigRsuSimulatorLayer::set_cause_code_choice: %d", p_cause);
  loggers::get_instance().log(">>> ConfigRsuSimulatorLayer::set_cause_code_choice: %d", p_cause);


+3 −0
Original line number Original line Diff line number Diff line
@@ -96,5 +96,8 @@ private:
  int process_ut_rtcmem_trigger(const OCTETSTRING &data, params &params);
  int process_ut_rtcmem_trigger(const OCTETSTRING &data, params &params);
  int process_ut_rtcmem_update(const OCTETSTRING &data, params &params);
  int process_ut_rtcmem_update(const OCTETSTRING &data, params &params);
  int process_ut_rtcmem_termination(const OCTETSTRING &data, params &params);
  int process_ut_rtcmem_termination(const OCTETSTRING &data, params &params);
  int process_ut_vam_trigger(const OCTETSTRING &data, params &params);
  int process_ut_cpm_trigger(const OCTETSTRING &data, params &params);

  int set_cause_code_choice(const int p_cause, ETSI__ITS__CDD::CauseCodeChoice& p_causeCodeChoice);
  int set_cause_code_choice(const int p_cause, ETSI__ITS__CDD::CauseCodeChoice& p_causeCodeChoice);
}; // End of class ConfigRsuSimulatorLayer
}; // End of class ConfigRsuSimulatorLayer
+20 −0
Original line number Original line Diff line number Diff line
@@ -601,6 +601,16 @@ namespace ItsRSUsSimulator__TestSystem {
    incoming_message(p_ind);
    incoming_message(p_ind);
  }
  }


  void ConfigRsuSimulatorPort::receiveMsg(const LibItsCps__TypesAndValues::UtCpmTrigger &p_ind, const params &p_params) {
    loggers::get_instance().log_msg(">>> ConfigRsuSimulatorPort::receive_msg: ", p_ind);
    // Sanity check
    if (!p_ind.is_bound()) {
      return;
    }

    incoming_message(p_ind);
  }

  void ConfigRsuSimulatorPort::receiveMsg(const LibItsVru__TypesAndValues::UtVamInitialize &p_ind, const params &p_params) {
  void ConfigRsuSimulatorPort::receiveMsg(const LibItsVru__TypesAndValues::UtVamInitialize &p_ind, const params &p_params) {
    loggers::get_instance().log_msg(">>> ConfigRsuSimulatorPort::receive_msg: ", p_ind);
    loggers::get_instance().log_msg(">>> ConfigRsuSimulatorPort::receive_msg: ", p_ind);
    // Sanity check
    // Sanity check
@@ -611,4 +621,14 @@ namespace ItsRSUsSimulator__TestSystem {
    incoming_message(p_ind);
    incoming_message(p_ind);
  }
  }


  void ConfigRsuSimulatorPort::receiveMsg(const LibItsVru__TypesAndValues::UtVamTrigger &p_ind, const params &p_params) {
    loggers::get_instance().log_msg(">>> ConfigRsuSimulatorPort::receive_msg: ", p_ind);
    // Sanity check
    if (!p_ind.is_bound()) {
      return;
    }

    incoming_message(p_ind);
  }

} // namespace ItsRSUsSimulator__TestSystem
} // namespace ItsRSUsSimulator__TestSystem
Loading