#define TMCAGLWM_LOW_CAN_CLIENT_HPP
+#include <string>
#include <vector>
#include <json-c/json.h>
explicit LowCanClient();
~LowCanClient() = default;
+ enum SignalNo {
+ SignalNoVehicliSpeed = 0,
+ SignalNoTransGearPos,
+ SignalNoHeadlame,
+ SignalNoParkingBrake,
+ SignalNoAccelPedalPos,
+ SignalNoLightstatusBrake,
+
+ SignalNum,
+
+ SignalNoMin = SignalNoVehicliSpeed,
+ SignalNoMax = SignalNum - 1,
+ };
+
+ const std::vector<const char*> kSignalName{
+ "vehicle.speed",
+ "transmission_gear_position",
+ "headlamp_status",
+ "parking_brake_status",
+ "accelerator.pedal.position",
+ "lightstatus.brake",
+ };
+
void initialize();
- void analyzeCanSignal(struct json_object *object);
- bool isChangedParkingBrakeState();
- bool isChangedCarState();
- bool isChangedLampState();
- const char* getCurrentParkingBrakeState();
- const char* getCurrentCarState();
- const char* getCurrentLampState();
+ const char* analyzeCanSignal(struct json_object *object);
+
+ int getCurrentTransGearState();
+ bool getCurrentHeadlampState();
+ bool getCurrentParkingBrakeState();
+ double getCurrentAccelPedalPosition();
+ bool getCurrentAccelPedalState();
+ bool getCurrentLightstatusBrakeState();
+
+ bool isChangedAccelPedalState();
private:
// Disable copy and move
LowCanClient(LowCanClient &&) = delete;
LowCanClient &operator=(LowCanClient &&) = delete;
- const int kNumEvent_ = 4;
- const std::vector<const char*> kEventName_{
- "vehicle.speed",
- "transmission_gear_position",
- "headlamp_status",
- "parking_brake_status"
+ enum TransGearPosVal {
+ TransGearPosValD1 = 1,
+ TransGearPosValD2,
+ TransGearPosValD3,
+ TransGearPosValD4,
+ TransGearPosValD5,
+ TransGearPosValD6,
+ TransGearPosValD7,
+ TransGearPosValD8,
+ TransGearPosValR,
+ TransGearPosValN,
+ };
+
+ const std::vector<const char*> kFilterValue{
+ "", // vehicle.speed
+ "", // transmission_gear_position
+ "", // headlamp_status
+ "", // parking_brake_status
+ "", // accelerator.pedal.position
+ "", // lightstatus.brake
};
- int vehicle_speed_;
- int trans_gear_pos_;
- json_bool parking_brake_status_;
- json_bool headlamp_status_;
-
- std::string prv_parking_brake_state_;
- std::string crr_parking_brake_state_;
- std::string prv_car_state_;
- std::string crr_car_state_;
- std::string prv_lamp_state_;
- std::string crr_lamp_state_;
-
- bool is_changed_parking_brake_state_;
- bool is_changed_car_state_;
- bool is_changed_lamp_state_;
+ int vehicle_speed;
+ int trans_gear_pos;
+ json_bool headlamp_status;
+ json_bool parking_brake_status;
+ double accel_pedal_pos;
+ bool accel_pedal_stt;
+ json_bool lightstatus_brake_status;
+
+ bool is_changed_accel_pedal_stt;
};
} // namespace wm