summaryrefslogtreecommitdiff
path: root/tools/AmbSignalMapper/lib/Intel/IviPoc/templates/ambtmpl_cansignal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/AmbSignalMapper/lib/Intel/IviPoc/templates/ambtmpl_cansignal.cpp')
-rw-r--r--tools/AmbSignalMapper/lib/Intel/IviPoc/templates/ambtmpl_cansignal.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/AmbSignalMapper/lib/Intel/IviPoc/templates/ambtmpl_cansignal.cpp b/tools/AmbSignalMapper/lib/Intel/IviPoc/templates/ambtmpl_cansignal.cpp
index aa213da2..9ab93611 100644
--- a/tools/AmbSignalMapper/lib/Intel/IviPoc/templates/ambtmpl_cansignal.cpp
+++ b/tools/AmbSignalMapper/lib/Intel/IviPoc/templates/ambtmpl_cansignal.cpp
@@ -124,15 +124,19 @@ bool CANSignal::updateFrame(can_frame* frame)
int64_t bits = conversionFunctionTo(val, static_cast<int64_t>(temp));
- *(reinterpret_cast<uint64_t*>(&frame->data[0])) |= toSignalBits(bits);
+ int64_t uvalue;
+ memcpy(&uvalue, frame->data, sizeof(int64_t));
+ uvalue = uvalue | toSignalBits(bits);
+ memcpy(frame->data, &uvalue, sizeof(int64_t));
return true;
}
int64_t CANSignal::getSignalBits( const can_frame& frame )
{
- int64_t bits = *reinterpret_cast<const int64_t* >(frame.data);
int startbit = signalInfo.m_startbit;
+ int64_t bits;
+ memcpy(&bits, frame.data, sizeof(int64_t));
if (signalInfo.m_byteOrdering == Motorola ) {
// Motorola