2 * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef TMCAGLWM_LOW_CAN_CLIENT_HPP
18 #define TMCAGLWM_LOW_CAN_CLIENT_HPP
23 #include <json-c/json.h>
31 explicit LowCanClient();
32 ~LowCanClient() = default;
35 void analyzeCanSignal(struct json_object *object);
36 bool isChangedTransGearState();
37 bool isChangedLampState();
38 bool isChangedParkingBrakeState();
39 bool isChangedAccelPedalState();
40 const char* getCurrentTransGearState();
41 const char* getCurrentLampState();
42 const char* getCurrentParkingBrakeState();
43 const char* getCurrentAccelPedalState();
46 // Disable copy and move
47 LowCanClient(LowCanClient const &) = delete;
48 LowCanClient &operator=(LowCanClient const &) = delete;
49 LowCanClient(LowCanClient &&) = delete;
50 LowCanClient &operator=(LowCanClient &&) = delete;
52 enum TransGearPosVal {
53 TransGearPosValD1 = 1,
66 SignalNoVehicliSpeed = 0,
70 SignalNoAccelPedalPos,
74 SignalNoMin = SignalNoVehicliSpeed,
75 SignalNoMax = SignalNum - 1,
78 const std::vector<const char*> kEventName_{
80 "transmission_gear_position",
82 "parking_brake_status",
83 "accelerator.pedal.position",
86 const std::vector<const char*> kFilterValue_{
91 "", //"{ \"min\": 0, \"max\": 10}",
96 json_bool headlamp_status_;
97 json_bool parking_brake_status_;
98 double accel_pedal_pos_;
100 std::string prv_trans_gear_state_;
101 std::string crr_trans_gear_state_;
102 std::string prv_lamp_state_;
103 std::string crr_lamp_state_;
104 std::string prv_parking_brake_state_;
105 std::string crr_parking_brake_state_;
106 std::string prv_accel_pedal_state_;
107 std::string crr_accel_pedal_state_;
109 bool is_changed_trans_gear_state_;
110 bool is_changed_lamp_state_;
111 bool is_changed_parking_brake_state_;
112 bool is_changed_accel_pedal_state_;
118 #endif // TMCAGLWM_LOW_CAN_CLIENT_HPP