aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2017-07-27 13:17:40 +0200
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2017-07-27 13:17:40 +0200
commit64f96deddb7a027bae88d597fc58b3a8861c04f4 (patch)
tree35cfdc30178e6cf0a6a19dc8c906bdf8ce1f6748
parentb08ee45b302d964d79e80b4a09068f5e466a8895 (diff)
Update submodule for app-templatesdab_4.0.0dab/4.0.04.0.0
This brings-in c10409. Change-Id: I6ea8dd2f3e63beaebe4811584138d183cd767ff2 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
m---------conf.d/app-templates0
1 files changed, 0 insertions, 0 deletions
diff --git a/conf.d/app-templates b/conf.d/app-templates
-Subproject 8f3bc0b6f25a5560a308078342a8ed3cc6dba13
+Subproject dee58363ddb98f8e63239035f1a8f1ab151c5e9
' href='#n86'>86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
/*
 * Copyright (C) 2015, 2016 "IoT.bzh"
 * Author "Romain Forlot" <romain.forlot@iot.bzh>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *	 http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "message-definition.hpp"

#include "../binding/application.hpp"

message_definition_t::message_definition_t(
	const std::string bus,
	uint32_t id,
	uint32_t flags,
	frequency_clock_t frequency_clock,
	bool force_send_changed,
	const vect_ptr_signal_t& signals)
	:  parent_{nullptr},
	bus_{bus},
	id_{id},
	flags_{flags},
	frequency_clock_{frequency_clock},
	force_send_changed_{force_send_changed},
	last_value_{CAN_MESSAGE_SIZE},
	signals_{signals}
{}

message_definition_t::message_definition_t(const std::string bus,
	uint32_t id,
	const std::string name,
	uint32_t length,
	uint32_t flags,
	frequency_clock_t frequency_clock,
	bool force_send_changed,
	const vect_ptr_signal_t& signals)
	: parent_{nullptr},
	bus_{bus},
	id_{id},
	name_{name},
	length_{length},
	flags_{flags},
	frequency_clock_{frequency_clock},
	force_send_changed_{force_send_changed},
	last_value_{CAN_MESSAGE_SIZE},
	signals_{signals}
{}

const std::string message_definition_t::get_bus_device_name() const
{
	return application_t::instance().get_can_bus_manager()
		.get_can_device_name(bus_);
}

const std::string message_definition_t::get_name() const{
	return name_;
}

uint32_t message_definition_t::get_id() const
{
	return is_j1939() || ((id_ & CAN_SFF_MASK) == id_) ?
		id_ : id_ | CAN_EFF_FLAG ;
}

bool message_definition_t::is_fd() const
{
	return (flags_ & CAN_PROTOCOL_WITH_FD_FRAME);
}

bool message_definition_t::is_j1939() const
{
	return (flags_ & J1939_PROTOCOL);
}

bool message_definition_t::is_isotp() const
{
	return (flags_ & ISOTP_PROTOCOL);
}

vect_ptr_signal_t& message_definition_t::get_signals()
{
	return signals_;
}

void message_definition_t::set_parent(std::shared_ptr<message_set_t> parent)
{
	parent_= parent;
}

void message_definition_t::set_last_value(std::shared_ptr<message_t> m)
{
	last_value_= m->get_data_vector();
}

uint32_t message_definition_t::get_length() const
{
	return length_;
}

uint32_t message_definition_t::get_flags() const
{
	return flags_;
}

bool message_definition_t::frame_layout_is_bigendian() const{
	return (flags_ & BYTE_FRAME_IS_BIG_ENDIAN);
}