summaryrefslogtreecommitdiffstats
path: root/can-decoder.cpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-02-14 14:32:55 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2017-02-14 14:32:55 +0100
commitc2a2b12c1ec1a4e17a3c95ceb8f010ce961a909e (patch)
tree049a4cd7ebbbd2e8d6b4df3939b12e6303de805c /can-decoder.cpp
parent3a24351bda1208281189d17850555c017a7d342b (diff)
Move sources into src directory
make some cleaning Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'can-decoder.cpp')
-rw-r--r--can-decoder.cpp93
1 files changed, 0 insertions, 93 deletions
diff --git a/can-decoder.cpp b/can-decoder.cpp
deleted file mode 100644
index 000db2a..0000000
--- a/can-decoder.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * 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.
- */
-
-Decoder::Decoder
-{
- decoded_value = { .has_type = false,
- .has_numeric_value = false,
- .has_boolean_value = false,
- .has_string_value = false };
-}
-
-float Decoder::parseSignalBitfield(CanSignal* signal, const CanMessage* message)
-{
- return bitfield_parse_float(message->data, CAN_MESSAGE_SIZE,
- signal->bitPosition, signal->bitSize, signal->factor,
- signal->offset);
-}
-
-openxc_DynamicField Decoder::noopDecoder(CanSignal* signal,
- CanSignal* signals, int signalCount, float value, bool* send)
-{
- decoded_value = { .has_type = true,
- .type = openxc_DynamicField_Type_NUM,
- .has_numeric_value = true,
- .numeric_value = value };
- return decoded_value;
-}
-
-openxc_DynamicField Decoder::booleanDecoder(CanSignal* signal,
- CanSignal* signals, int signalCount, float value, bool* send)
-{
- decoded_value = { .has_type = true,
- .type = openxc_DynamicField_Type_BOOL,
- .has_boolean_value = true,
- .numeric_value = value == 0.0 ? false : true };
- return decoded_value;
-}
-
-openxc_DynamicField Decoder::ignoreDecoder(CanSignal* signal,
- CanSignal* signals, int signalCount, float value, bool* send)
-{
- *send = false;
- openxc_DynamicField decoded_value = {0};
- return decoded_value;
-}
-
-openxc_DynamicField Decoder::stateDecoder(CanSignal* signal,
- CanSignal* signals, int signalCount, float value, bool* send)
-{
- openxc_DynamicField decoded_value = {0};
- decoded_value.has_type = true;
- decoded_value.type = openxc_DynamicField_Type_STRING;
- decoded_value.has_string_value = true;
-
- const CanSignalState* signalState = lookupSignalState(value, signal);
- if(signalState != NULL) {
- strcpy(decoded_value.string_value, signalState->name);
- } else {
- *send = false;
- }
- return decoded_value;
-}
-
-openxc_DynamicField Decoder::decodeSignal(CanSignal* signal,
- float value, CanSignal* signals, int signalCount, bool* send)
-{
- SignalDecoder decoder = signal->decoder == NULL ?
- noopDecoder : signal->decoder;
- openxc_DynamicField decoded_value = decoder(signal, signals,
- signalCount, value, send);
- return decoded_value;
-}
-
-openxc_DynamicField Decoder::decodeSignal(CanSignal* signal,
- const CanMessage* message, CanSignal* signals, int signalCount,
- bool* send) {
- float value = parseSignalBitfield(signal, message);
- return decodeSignal(signal, value, signals, signalCount, send);
-} \ No newline at end of file