2 * Copyright (C) 2015, 2016 "IoT.bzh"
3 * Author "Romain Forlot" <romain.forlot@iot.bzh>
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 #include "can-message-definition.hpp"
20 can_message_definition_t::can_message_definition_t(const std::string& bus)
21 : parent_{nullptr}, bus_{bus}, last_value_{CAN_MESSAGE_SIZE}
24 can_message_definition_t::can_message_definition_t(
25 const std::string& bus,
27 frequency_clock_t frequency_clock,
28 bool force_send_changed)
32 frequency_clock_{frequency_clock},
33 force_send_changed_{force_send_changed},
34 last_value_{CAN_MESSAGE_SIZE}
37 can_message_definition_t::can_message_definition_t(
38 const std::string& bus,
40 can_message_format_t format,
41 frequency_clock_t frequency_clock,
42 bool force_send_changed)
47 frequency_clock_{frequency_clock},
48 force_send_changed_{force_send_changed},
49 last_value_{CAN_MESSAGE_SIZE}
52 can_message_definition_t::can_message_definition_t(
53 const std::string& bus,
55 can_message_format_t format,
56 frequency_clock_t frequency_clock,
57 bool force_send_changed,
58 std::vector<std::shared_ptr<can_signal_t> > can_signals)
63 frequency_clock_{frequency_clock},
64 force_send_changed_{force_send_changed},
65 last_value_{CAN_MESSAGE_SIZE},
66 can_signals_{std::move(can_signals)}
68 for(auto& sig: can_signals_)
70 sig->set_parent(this);
74 /*can_message_definition_t(const can_message_definition_t& b)
79 frequency_clock_{b.frequency_clock_},
80 force_send_changed_{b.force_send_changed_},
81 last_value_{b.last_value_},
82 can_signals_{b.can_signals_}
85 const std::string can_message_definition_t::get_bus_name() const
90 uint32_t can_message_definition_t::get_id() const
95 std::vector<std::shared_ptr<can_signal_t> >& can_message_definition_t::get_can_signals()
100 void can_message_definition_t::set_parent(can_message_set_t* parent)
105 void can_message_definition_t::set_last_value(const can_message_t& cm)
107 last_value_= cm.get_data_vector();