Loading ccsrc/Protocols/GeoNetworking/geonetworking_layer.cc +8 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,8 @@ geonetworking_layer::geonetworking_layer(const std::string &p_type, const std::s : t_layer<LibItsGeoNetworking__TestSystem::GeoNetworkingPort>(p_type), _params(), _codec(), _beacon(nullptr), _gbc_packet(nullptr), _shb_packet(nullptr), _tsb_packet(nullptr), _uni_packet(nullptr), _ls_reply(nullptr), _location_table(), _pass_beacon_table(), _device_mode{false}, _process_packet_handling{false}, _secured_mode{false}, _encrypted_mode{false}, _enable_security_checks{false}, _sendData(), _timerid{0}, _sev{0}, _its{0}, _freq_nanosecs(0), _mask{0}, _sa{0}, _sequence_number{0}, _latitude{0}, _longitude{0}, _force_certificate{false} { _sendData(), _timerid{0}, _sev{0}, _its{0}, _freq_nanosecs(0), _mask{0}, _sa{0}, _sequence_number{0}, _latitude{0}, _longitude{0}, _force_certificate{false}, _leap_delay_us(4000/*Add 4 leap seconds to convert to TAI (as Feb 2019)*/) { loggers::get_instance().log(">>> geonetworking_layer::geonetworking_layer: %s, %s", to_string().c_str(), p_param.c_str()); init(p_type, p_param); Loading Loading @@ -139,6 +140,10 @@ void geonetworking_layer::init(const std::string &p_type, const std::string &p_p if (it == _params.cend()) { _params.insert(std::pair<std::string, std::string>(params_its::its_aid, "FFFFFFFFFFFF")); } it = _params.find(params_its::leap_delay_us); if (it != _params.cend()) { _leap_delay_us = std::atoi(it->second); } // Set up default security parameters value if (_secured_mode || _encrypted_mode) { Loading Loading @@ -166,8 +171,8 @@ void geonetworking_layer::init(const std::string &p_type, const std::string &p_p loggers::get_instance().log("geonetworking_layer::init: Register %s/%p", p_type.c_str(), this); registration<geonetworking_layer>::get_instance().add_item(p_type, this); // Add 4 leap seconds to convert to TAI (as Feb 2019) base_time::get_instance().set_leap_delay_us(4 * 1000000); // TODO Set it as parameter // Add leap seconds to convert to TAI base_time::get_instance().set_leap_delay_us(_leap_delay_us); } // End of init_params void geonetworking_layer::sendMsg(const LibItsGeoNetworking__TypesAndValues::GeoNetworkingReq &p, params &p_params) { Loading ccsrc/Protocols/GeoNetworking/geonetworking_layer.hh +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ class geonetworking_layer : public t_layer<LibItsGeoNetworking__TestSystem::GeoN int _latitude; int _longitude; bool _force_certificate; unsigned int _leap_delay_us; /*! * \brief Create and initialize a BasicHeader object Loading ccsrc/framework/include/params_its.hh +2 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,8 @@ public: //! \publicsection static const std::string& mqtt_protocol; //! Uu interafce MQTT protocol name static const std::string& mqtt_client_id; //! Uu interafce MQTT client identity static const std::string& leap_delay_us; //! Leap seconds to convert to TAI. Default: 4us /*! * \brief Default constructor * Create a new instance of the params_its class Loading ccsrc/framework/src/params_its.cc +13 −11 Original line number Diff line number Diff line Loading @@ -68,3 +68,5 @@ const std::string& params_its::pc5_layer = std::string("pc5_layer"); const std::string& params_its::mqtt_topics = std::string("mqtt_topics"); const std::string& params_its::mqtt_protocol = std::string("mqtt_protocol"); const std::string& params_its::mqtt_client_id = std::string("mqtt_client_id"); const std::string& params_its::leap_delay_us = std::string("leap_delay_us"); Loading
ccsrc/Protocols/GeoNetworking/geonetworking_layer.cc +8 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,8 @@ geonetworking_layer::geonetworking_layer(const std::string &p_type, const std::s : t_layer<LibItsGeoNetworking__TestSystem::GeoNetworkingPort>(p_type), _params(), _codec(), _beacon(nullptr), _gbc_packet(nullptr), _shb_packet(nullptr), _tsb_packet(nullptr), _uni_packet(nullptr), _ls_reply(nullptr), _location_table(), _pass_beacon_table(), _device_mode{false}, _process_packet_handling{false}, _secured_mode{false}, _encrypted_mode{false}, _enable_security_checks{false}, _sendData(), _timerid{0}, _sev{0}, _its{0}, _freq_nanosecs(0), _mask{0}, _sa{0}, _sequence_number{0}, _latitude{0}, _longitude{0}, _force_certificate{false} { _sendData(), _timerid{0}, _sev{0}, _its{0}, _freq_nanosecs(0), _mask{0}, _sa{0}, _sequence_number{0}, _latitude{0}, _longitude{0}, _force_certificate{false}, _leap_delay_us(4000/*Add 4 leap seconds to convert to TAI (as Feb 2019)*/) { loggers::get_instance().log(">>> geonetworking_layer::geonetworking_layer: %s, %s", to_string().c_str(), p_param.c_str()); init(p_type, p_param); Loading Loading @@ -139,6 +140,10 @@ void geonetworking_layer::init(const std::string &p_type, const std::string &p_p if (it == _params.cend()) { _params.insert(std::pair<std::string, std::string>(params_its::its_aid, "FFFFFFFFFFFF")); } it = _params.find(params_its::leap_delay_us); if (it != _params.cend()) { _leap_delay_us = std::atoi(it->second); } // Set up default security parameters value if (_secured_mode || _encrypted_mode) { Loading Loading @@ -166,8 +171,8 @@ void geonetworking_layer::init(const std::string &p_type, const std::string &p_p loggers::get_instance().log("geonetworking_layer::init: Register %s/%p", p_type.c_str(), this); registration<geonetworking_layer>::get_instance().add_item(p_type, this); // Add 4 leap seconds to convert to TAI (as Feb 2019) base_time::get_instance().set_leap_delay_us(4 * 1000000); // TODO Set it as parameter // Add leap seconds to convert to TAI base_time::get_instance().set_leap_delay_us(_leap_delay_us); } // End of init_params void geonetworking_layer::sendMsg(const LibItsGeoNetworking__TypesAndValues::GeoNetworkingReq &p, params &p_params) { Loading
ccsrc/Protocols/GeoNetworking/geonetworking_layer.hh +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ class geonetworking_layer : public t_layer<LibItsGeoNetworking__TestSystem::GeoN int _latitude; int _longitude; bool _force_certificate; unsigned int _leap_delay_us; /*! * \brief Create and initialize a BasicHeader object Loading
ccsrc/framework/include/params_its.hh +2 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,8 @@ public: //! \publicsection static const std::string& mqtt_protocol; //! Uu interafce MQTT protocol name static const std::string& mqtt_client_id; //! Uu interafce MQTT client identity static const std::string& leap_delay_us; //! Leap seconds to convert to TAI. Default: 4us /*! * \brief Default constructor * Create a new instance of the params_its class Loading
ccsrc/framework/src/params_its.cc +13 −11 Original line number Diff line number Diff line Loading @@ -68,3 +68,5 @@ const std::string& params_its::pc5_layer = std::string("pc5_layer"); const std::string& params_its::mqtt_topics = std::string("mqtt_topics"); const std::string& params_its::mqtt_protocol = std::string("mqtt_protocol"); const std::string& params_its::mqtt_client_id = std::string("mqtt_client_id"); const std::string& params_its::leap_delay_us = std::string("leap_delay_us");