Browse Source

change cotroller_hapo

liusunan 4 years ago
parent
commit
5cccb0a8e3

+ 51 - 51
src/controller/controller_hapo/boost.h

@@ -1,51 +1,51 @@
-#pragma once
-
-#ifndef _IV_BOOST_H_
-#define _IV_BOOST_H_
-
-#if defined __GNUC__
-#  pragma GCC system_header 
-#endif
-#ifndef __CUDACC__
-//https://bugreports.qt-project.org/browse/QTBUG-22829
-#ifndef Q_MOC_RUN
-#include <boost/version.hpp>
-#include <boost/numeric/conversion/cast.hpp>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/condition.hpp>
-#include <boost/thread.hpp>
-#include <boost/thread/thread.hpp>
-#include <boost/filesystem.hpp>
-#include <boost/bind.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/function.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/inherit.hpp>
-#include <boost/mpl/inherit_linearly.hpp>
-#include <boost/mpl/joint_view.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/algorithm/string.hpp>
-#ifndef Q_MOC_RUN
-#include <boost/date_time/posix_time/posix_time.hpp>
-#endif
-#if BOOST_VERSION >= 104700
-#include <boost/chrono.hpp>
-#endif
-#include <boost/tokenizer.hpp>
-#include <boost/foreach.hpp>
-#include <boost/shared_array.hpp>
-#include <boost/interprocess/sync/file_lock.hpp>
-#if BOOST_VERSION >= 104900
-#include <boost/interprocess/permissions.hpp>
-#endif
-#include <boost/iostreams/device/mapped_file.hpp>
-#define BOOST_PARAMETER_MAX_ARITY 7
-#include <boost/signals2.hpp>
-#include <boost/signals2/slot.hpp>
-#endif
-#endif
-#endif    // _IV_BOOST_H_
+#pragma once
+
+#ifndef _IV_BOOST_H_
+#define _IV_BOOST_H_
+
+#if defined __GNUC__
+#  pragma GCC system_header 
+#endif
+#ifndef __CUDACC__
+//https://bugreports.qt-project.org/browse/QTBUG-22829
+#ifndef Q_MOC_RUN
+#include <boost/version.hpp>
+#include <boost/numeric/conversion/cast.hpp>
+#include <boost/thread/mutex.hpp>
+#include <boost/thread/condition.hpp>
+#include <boost/thread.hpp>
+#include <boost/thread/thread.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/bind.hpp>
+#include <boost/cstdint.hpp>
+#include <boost/function.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <boost/mpl/fold.hpp>
+#include <boost/mpl/inherit.hpp>
+#include <boost/mpl/inherit_linearly.hpp>
+#include <boost/mpl/joint_view.hpp>
+#include <boost/mpl/transform.hpp>
+#include <boost/mpl/vector.hpp>
+#include <boost/algorithm/string.hpp>
+#ifndef Q_MOC_RUN
+#include <boost/date_time/posix_time/posix_time.hpp>
+#endif
+#if BOOST_VERSION >= 104700
+#include <boost/chrono.hpp>
+#endif
+#include <boost/tokenizer.hpp>
+#include <boost/foreach.hpp>
+#include <boost/shared_array.hpp>
+#include <boost/interprocess/sync/file_lock.hpp>
+#if BOOST_VERSION >= 104900
+#include <boost/interprocess/permissions.hpp>
+#endif
+#include <boost/iostreams/device/mapped_file.hpp>
+#define BOOST_PARAMETER_MAX_ARITY 7
+#include <boost/signals2.hpp>
+#include <boost/signals2/slot.hpp>
+#endif
+#endif
+#endif    // _IV_BOOST_H_

+ 488 - 488
src/controller/controller_hapo/control/control_status.cpp

@@ -1,488 +1,488 @@
-#include <control/control_status.h>
-#include <QDebug>
-
-
-
-
-
-//#if 1
-
-
-void iv::control::ControlStatus::set_cmd_checksum(unsigned char cmd_id)
-{
-    unsigned int check_sum=0;
-    if(cmd_id==0x10)
-    {
-        for(int i=0;i<7;i++)
-        {
-            check_sum^=(ServiceControlStatus.command10.byte[i]);
-        }
-        ServiceControlStatus.command10.byte[7]=check_sum;
-    }else if(cmd_id==0x11)
-    {
-        for(int i=0;i<7;i++)
-        {
-            check_sum^=(ServiceControlStatus.command11.byte[i]);
-        }
-        ServiceControlStatus.command11.byte[7]=check_sum;
-    }else if(cmd_id==0x12)
-    {
-        for(int i=0;i<7;i++)
-        {
-            check_sum^=(ServiceControlStatus.command12.byte[i]);
-        }
-        ServiceControlStatus.command12.byte[7]=check_sum;
-    }
-}
-
-
-
-
-void iv::control::ControlStatus::set_wheel_angle(float angle)
-{
-
-    int ang =(angle+870)*10;
-    ServiceControlStatus.command12.bit.ang_H = (ang)  /256;
-    ServiceControlStatus.command12.bit.ang_L = (ang)  % 256;
-}
-
-
-
-void iv::control::ControlStatus::set_wheel_speed(float speed)
-{
-
-    int angSpeed =speed;
-    ServiceControlStatus.command12.bit.ang_speed = angSpeed;
-}
-
-void iv::control::ControlStatus::set_wheel_enable(bool enable)
-{
-
-    if(enable){
-        ServiceControlStatus.command12.bit.ang_enable = 1;
-    }else{
-        ServiceControlStatus.command12.bit.ang_enable = 0;
-    }
-}
-
-
-
-
- void iv::control::ControlStatus::set_speed_limit(float speed)
- {
-     ServiceControlStatus.command11.bit.speed_limit = (unsigned)speed;
- }
-
-
-
-void iv::control::ControlStatus::set_aeb(float aeb)
-{
-    int aebBrake =(aeb+16)/0.000488;
-    ServiceControlStatus.command11.bit.aeb_H = (aebBrake)  /256;
-    ServiceControlStatus.command11.bit.aeb_L = (aebBrake)  % 256;
-}
-
-void iv::control::ControlStatus::set_torque(float troque)
-{
-    command11.bit.torque=(unsigned)(troque*2.5);
-}
-
-void iv::control::ControlStatus::set_brake(float brake)
-{
-    command11.bit.brake=(unsigned)brake;
-}
-
-
-
-void iv::control::ControlStatus::set_gear(int gear)
-{
-    command11.bit.gear = (unsigned)gear;
-}
-
-void iv::control::ControlStatus::set_handBrake(bool handbrake)
-{
-    if(handbrake){
-        command11.bit.park = 2;
-    }else{
-        command11.bit.park = 1;
-    }
-}
-
-void iv::control::ControlStatus::set_driveMode(char driveMode)
-{
-    command11.bit.driveMode = (unsigned)driveMode;
-}
-
-void iv::control::ControlStatus::set_gear_enable(bool enable){
-    if (enable == true)
-        command11.bit.gear_enable = 1;
-    else
-        command11.bit.gear_enable = 0;
-}
-
-void iv::control::ControlStatus::set_acc_enable(bool enable){
-    if (enable == true)
-        command11.bit.acc_enable = 1;
-    else
-        command11.bit.acc_enable = 0;
-}
-
-void iv::control::ControlStatus::set_aeb_enable(bool enable){
-    if (enable == true)
-        command11.bit.aeb_enable = 1;
-    else
-        command11.bit.aeb_enable = 0;
-}
-
-
-//void iv::control::ControlStatus::set_win_lf(char para)
-//{
-//    command10.bit.windowlf = (unsigned)para;
-//}
-
-//void iv::control::ControlStatus::set_win_rf(char para)
-//{
-//    command10.bit.windowrf = (unsigned)para;
-//}
-
-//void iv::control::ControlStatus::set_win_lr(char para)
-//{
-//    command10.bit.windowlr = (unsigned)para;
-//}
-
-//void iv::control::ControlStatus::set_win_rr(char para)
-//{
-//    command10.bit.windowrr = (unsigned)para;
-//}
-
-//空调控制
-void iv::control::ControlStatus::set_air_on(char para)
-{
-    command10.bit.air_on = (unsigned)para;
-}
-
-
-
-//void iv::control::ControlStatus::set_air_cricle(char para)
-//{
-//    command10.bit.air_cricle = (unsigned)para;
-//}
-
-
-//void iv::control::ControlStatus::set_air_auto(char para)
-//{
-//    command10.bit.air_auto = (unsigned)para;
-//}
-
-
-//void iv::control::ControlStatus::set_air_off(char para)
-//{
-//    command10.bit.air_off = (unsigned)para;
-//}
-
-
-//void iv::control::ControlStatus::set_air_temup(char para)
-//{
-//    command10.bit.tem_up = (unsigned)para;
-//}
-
-
-//void iv::control::ControlStatus::set_air_temdown(char para)
-//{
-//    command10.bit.tem_down = (unsigned)para;
-//}
-
-
-//void iv::control::ControlStatus::set_air_powerup(char para)
-//{
-//    command10.bit.power_up = (unsigned)para;
-//}
-
-
-//void iv::control::ControlStatus::set_air_powerdown(char para)
-//{
-//    command10.bit.power_down = (unsigned)para;
-//}
-
-
-void iv::control::ControlStatus::set_obligate(char para)
-{
-    command10.bit.ignition = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_door(char enable)
-{
-    command10.bit.door = (unsigned)enable;
-}
-
-
-void iv::control::ControlStatus::set_turnsignals_control(bool left, bool right)
-{
-    if ( (left == true) && (right == false) )
-    {
-        command10.bit.turn_light = 0x01;
-    }
-    else if ( (left == false) && (right == true) )
-    {
-        command10.bit.turn_light = 0x10;
-    }
-    else if ((left == false) && (right == false))
-    {
-        command10.bit.turn_light = 0x00;
-    }
-    else
-    {
-        command10.bit.turn_light = 0x11;
-    }
-}
-
-
-void iv::control::ControlStatus::set_small_light(char para)
-{
-    command10.bit.small_light = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_near_light(char para)
-{
-    command10.bit.near_light = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_horn(char para)
-{
-    command10.bit.horn = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_far_light(char para)
-{
-    command10.bit.far_light = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_frog_light(char para)
-{
-    command10.bit.fog_light = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_wiper(char para)
-{
-    command10.bit.wiper = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_brake_light(char para)
-{
-    command10.bit.brake_light = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_defrog(char para)
-{
-    command10.bit.defrog = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_reverse_light(char para)
-{
-    command10.bit.revers_light = (unsigned)para;
-}
-
-
-void set_air_temp(char para);
-void set_air_mode(char para);
-void set_air_enable(bool enable);
-void set_wind_level(char para);
-void set_roof_light(char para);
-void set_home_light(char para);
-void set_air_worktime(char para);
-void set_air_offtime(char para);
-
-void iv::control::ControlStatus::set_air_temp(char para)
-{
-    command10.bit.air_temp = (unsigned)para+40;
-}
-
-
-void iv::control::ControlStatus::set_air_mode(char para)
-{
-    command10.bit.air_mode = (unsigned)para;
-}
-
-void iv::control::ControlStatus::set_air_enable(bool enable)
-{
-    if(enable){
-        command10.bit.air_enable = 0x01;
-    }else{
-        command10.bit.air_enable = 0x00;
-    }
-}
-
-void iv::control::ControlStatus::set_wind_level(char para)
-{
-    command10.bit.air_wind_level = (unsigned)para;
-}
-
-void iv::control::ControlStatus::set_roof_light(char para)
-{
-    command10.bit.roof_light = (unsigned)para;
-}
-
-void iv::control::ControlStatus::set_home_light(char para)
-{
-    command10.bit.home_light = (unsigned)para;
-}
-
-void iv::control::ControlStatus::set_air_worktime(char para)
-{
-    command10.bit.air_work_time = (unsigned)para;
-}
-
-
-void iv::control::ControlStatus::set_air_offtime(char para)
-{
-    command10.bit.air_off_time = (unsigned)para;
-}
-
-
-//void iv::control::ControlStatus::set_speaker(bool enable){
-//    if (enable == true)
-//        command.bit.speaker = 1;
-//    else
-//        command.bit.speaker = 0;
-//}
-
-//void iv::control::ControlStatus::set_door(char enable){
-//    if (enable == true)
-//        command.bit.door = 1;
-//    else
-//        command.bit.door = 0;
-//}
-
-//void iv::control::ControlStatus::set_doorEnable(bool enable){
-//    if (enable == true){
-//        command.bit.doorEnable = 1;
-//        command.bit.door=1;
-//    }
-//    else{
-//        command.bit.doorEnable = 0;
-//        command.bit.door=0;
-//    }
-//}
-
-////void iv::control::ControlStatus::set_flicker(bool enable){
-////    if (enable == true)
-////        command.bit.flicker = 1;
-////    else
-////        command.bit.flicker = 0;
-////}
-//void iv::control::ControlStatus::set_light(bool enable){
-//    if (enable == true)
-//       command.bit.bright = 1;
-//    else
-//       command.bit.bright = 0;
-//}
-
-//void iv::control::ControlStatus::set_leftlight(bool enable){
-//    if (enable == true)
-//       command.bit.left_turn = 1;
-//    else
-//       command.bit.left_turn = 0;
-//}
-
-
-//void iv::control::ControlStatus::set_rightlight(bool enable){
-//    if (enable == true)
-//       command.bit.right_turn = 1;
-//    else
-//       command.bit.right_turn = 0;
-//}
-
-
-
-
-
-
-//void iv::control::ControlStatus::set_turnsignals_control(bool left, bool right){
-//    if (left == true)
-//    {
-//        command.bit.left_turn = 1;
-//        command.bit.right_turn = 0;
-//    }
-//    else if (right == true)
-//    {
-//        command.bit.left_turn = 0;
-//        command.bit.right_turn = 1;
-//    }
-//    else
-//    {
-//        command.bit.left_turn = 0;
-//        command.bit.right_turn = 0;
-//    }
-//}
-
-
-
-
-
-
-
-
-//#else
-
-//void iv::control::ControlStatus::set_accelerate(float percent)
-//{
-//    command.bit.acce = (unsigned)((percent + 7) * 20);
-//}
-//void iv::control::ControlStatus::set_wheel_angle(float angle)
-//{
-//    command.bit.ang_H = angle * 10 >> 8;
-
-//    command.bit.ang_L = angle * 10 % 256;
-//}
-//void iv::control::ControlStatus::set_engine(char enable)
-//{
-//    command.bit.engine = enable;
-//}
-//void iv::control::ControlStatus::set_door(char enable){
-//    command.bit.door = enable;
-//}
-//void iv::control::ControlStatus::set_speaker(bool enable){
-//    if (enable == true)
-//        command.bit.speaker = 1;
-//    else
-//        command.bit.speaker = 0;
-//}
-//void iv::control::ControlStatus::set_flicker(bool enable){
-//    if (enable == true)
-//        command.bit.flicker = 1;
-//    else
-//        command.bit.flicker = 0;
-//}
-//void iv::control::ControlStatus::set_light(bool enable){
-//    if (enable == true)
-//       command.bit.bright = 1;
-//    else
-//       command.bit.bright = 0;
-//}
-//void iv::control::ControlStatus::set_turnsignals_control(bool left, bool right){
-//    if (left == true)
-//    {
-//        command.bit.left_turn = 1;
-//        command.bit.right_turn = 0;
-//    }
-//    else if (right == true)
-//    {
-//        command.bit.left_turn = 0;
-//        command.bit.right_turn = 1;
-//    }
-//    else
-//    {
-//        command.bit.left_turn = 0;
-//        command.bit.right_turn = 0;
-//    }
-//}
-//#endif
+#include <control/control_status.h>
+#include <QDebug>
+
+
+
+
+
+//#if 1
+
+
+void iv::control::ControlStatus::set_cmd_checksum(unsigned char cmd_id)
+{
+    unsigned int check_sum=0;
+    if(cmd_id==0x10)
+    {
+        for(int i=0;i<7;i++)
+        {
+            check_sum^=(ServiceControlStatus.command10.byte[i]);
+        }
+        ServiceControlStatus.command10.byte[7]=check_sum;
+    }else if(cmd_id==0x11)
+    {
+        for(int i=0;i<7;i++)
+        {
+            check_sum^=(ServiceControlStatus.command11.byte[i]);
+        }
+        ServiceControlStatus.command11.byte[7]=check_sum;
+    }else if(cmd_id==0x12)
+    {
+        for(int i=0;i<7;i++)
+        {
+            check_sum^=(ServiceControlStatus.command12.byte[i]);
+        }
+        ServiceControlStatus.command12.byte[7]=check_sum;
+    }
+}
+
+
+
+
+void iv::control::ControlStatus::set_wheel_angle(float angle)
+{
+
+    int ang =(angle+870)*10;
+    ServiceControlStatus.command12.bit.ang_H = (ang)  /256;
+    ServiceControlStatus.command12.bit.ang_L = (ang)  % 256;
+}
+
+
+
+void iv::control::ControlStatus::set_wheel_speed(float speed)
+{
+
+    int angSpeed =speed;
+    ServiceControlStatus.command12.bit.ang_speed = angSpeed;
+}
+
+void iv::control::ControlStatus::set_wheel_enable(bool enable)
+{
+
+    if(enable){
+        ServiceControlStatus.command12.bit.ang_enable = 1;
+    }else{
+        ServiceControlStatus.command12.bit.ang_enable = 0;
+    }
+}
+
+
+
+
+ void iv::control::ControlStatus::set_speed_limit(float speed)
+ {
+     ServiceControlStatus.command11.bit.speed_limit = (unsigned)speed;
+ }
+
+
+
+void iv::control::ControlStatus::set_aeb(float aeb)
+{
+    int aebBrake =(aeb+16)/0.000488;
+    ServiceControlStatus.command11.bit.aeb_H = (aebBrake)  /256;
+    ServiceControlStatus.command11.bit.aeb_L = (aebBrake)  % 256;
+}
+
+void iv::control::ControlStatus::set_torque(float troque)
+{
+    command11.bit.torque=(unsigned)(troque*2.5);
+}
+
+void iv::control::ControlStatus::set_brake(float brake)
+{
+    command11.bit.brake=(unsigned)brake;
+}
+
+
+
+void iv::control::ControlStatus::set_gear(int gear)
+{
+    command11.bit.gear = (unsigned)gear;
+}
+
+void iv::control::ControlStatus::set_handBrake(bool handbrake)
+{
+    if(handbrake){
+        command11.bit.park = 2;
+    }else{
+        command11.bit.park = 1;
+    }
+}
+
+void iv::control::ControlStatus::set_driveMode(char driveMode)
+{
+    command11.bit.driveMode = (unsigned)driveMode;
+}
+
+void iv::control::ControlStatus::set_gear_enable(bool enable){
+    if (enable == true)
+        command11.bit.gear_enable = 1;
+    else
+        command11.bit.gear_enable = 0;
+}
+
+void iv::control::ControlStatus::set_acc_enable(bool enable){
+    if (enable == true)
+        command11.bit.acc_enable = 1;
+    else
+        command11.bit.acc_enable = 0;
+}
+
+void iv::control::ControlStatus::set_aeb_enable(bool enable){
+    if (enable == true)
+        command11.bit.aeb_enable = 1;
+    else
+        command11.bit.aeb_enable = 0;
+}
+
+
+//void iv::control::ControlStatus::set_win_lf(char para)
+//{
+//    command10.bit.windowlf = (unsigned)para;
+//}
+
+//void iv::control::ControlStatus::set_win_rf(char para)
+//{
+//    command10.bit.windowrf = (unsigned)para;
+//}
+
+//void iv::control::ControlStatus::set_win_lr(char para)
+//{
+//    command10.bit.windowlr = (unsigned)para;
+//}
+
+//void iv::control::ControlStatus::set_win_rr(char para)
+//{
+//    command10.bit.windowrr = (unsigned)para;
+//}
+
+//空调控制
+void iv::control::ControlStatus::set_air_on(char para)
+{
+    command10.bit.air_on = (unsigned)para;
+}
+
+
+
+//void iv::control::ControlStatus::set_air_cricle(char para)
+//{
+//    command10.bit.air_cricle = (unsigned)para;
+//}
+
+
+//void iv::control::ControlStatus::set_air_auto(char para)
+//{
+//    command10.bit.air_auto = (unsigned)para;
+//}
+
+
+//void iv::control::ControlStatus::set_air_off(char para)
+//{
+//    command10.bit.air_off = (unsigned)para;
+//}
+
+
+//void iv::control::ControlStatus::set_air_temup(char para)
+//{
+//    command10.bit.tem_up = (unsigned)para;
+//}
+
+
+//void iv::control::ControlStatus::set_air_temdown(char para)
+//{
+//    command10.bit.tem_down = (unsigned)para;
+//}
+
+
+//void iv::control::ControlStatus::set_air_powerup(char para)
+//{
+//    command10.bit.power_up = (unsigned)para;
+//}
+
+
+//void iv::control::ControlStatus::set_air_powerdown(char para)
+//{
+//    command10.bit.power_down = (unsigned)para;
+//}
+
+
+void iv::control::ControlStatus::set_obligate(char para)
+{
+    command10.bit.ignition = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_door(char enable)
+{
+    command10.bit.door = (unsigned)enable;
+}
+
+
+void iv::control::ControlStatus::set_turnsignals_control(bool left, bool right)
+{
+    if ( (left == true) && (right == false) )
+    {
+        command10.bit.turn_light = 0x01;
+    }
+    else if ( (left == false) && (right == true) )
+    {
+        command10.bit.turn_light = 0x10;
+    }
+    else if ((left == false) && (right == false))
+    {
+        command10.bit.turn_light = 0x00;
+    }
+    else
+    {
+        command10.bit.turn_light = 0x11;
+    }
+}
+
+
+void iv::control::ControlStatus::set_small_light(char para)
+{
+    command10.bit.small_light = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_near_light(char para)
+{
+    command10.bit.near_light = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_horn(char para)
+{
+    command10.bit.horn = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_far_light(char para)
+{
+    command10.bit.far_light = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_frog_light(char para)
+{
+    command10.bit.fog_light = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_wiper(char para)
+{
+    command10.bit.wiper = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_brake_light(char para)
+{
+    command10.bit.brake_light = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_defrog(char para)
+{
+    command10.bit.defrog = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_reverse_light(char para)
+{
+    command10.bit.revers_light = (unsigned)para;
+}
+
+
+void set_air_temp(char para);
+void set_air_mode(char para);
+void set_air_enable(bool enable);
+void set_wind_level(char para);
+void set_roof_light(char para);
+void set_home_light(char para);
+void set_air_worktime(char para);
+void set_air_offtime(char para);
+
+void iv::control::ControlStatus::set_air_temp(char para)
+{
+    command10.bit.air_temp = (unsigned)para+40;
+}
+
+
+void iv::control::ControlStatus::set_air_mode(char para)
+{
+    command10.bit.air_mode = (unsigned)para;
+}
+
+void iv::control::ControlStatus::set_air_enable(bool enable)
+{
+    if(enable){
+        command10.bit.air_enable = 0x01;
+    }else{
+        command10.bit.air_enable = 0x00;
+    }
+}
+
+void iv::control::ControlStatus::set_wind_level(char para)
+{
+    command10.bit.air_wind_level = (unsigned)para;
+}
+
+void iv::control::ControlStatus::set_roof_light(char para)
+{
+    command10.bit.roof_light = (unsigned)para;
+}
+
+void iv::control::ControlStatus::set_home_light(char para)
+{
+    command10.bit.home_light = (unsigned)para;
+}
+
+void iv::control::ControlStatus::set_air_worktime(char para)
+{
+    command10.bit.air_work_time = (unsigned)para;
+}
+
+
+void iv::control::ControlStatus::set_air_offtime(char para)
+{
+    command10.bit.air_off_time = (unsigned)para;
+}
+
+
+//void iv::control::ControlStatus::set_speaker(bool enable){
+//    if (enable == true)
+//        command.bit.speaker = 1;
+//    else
+//        command.bit.speaker = 0;
+//}
+
+//void iv::control::ControlStatus::set_door(char enable){
+//    if (enable == true)
+//        command.bit.door = 1;
+//    else
+//        command.bit.door = 0;
+//}
+
+//void iv::control::ControlStatus::set_doorEnable(bool enable){
+//    if (enable == true){
+//        command.bit.doorEnable = 1;
+//        command.bit.door=1;
+//    }
+//    else{
+//        command.bit.doorEnable = 0;
+//        command.bit.door=0;
+//    }
+//}
+
+////void iv::control::ControlStatus::set_flicker(bool enable){
+////    if (enable == true)
+////        command.bit.flicker = 1;
+////    else
+////        command.bit.flicker = 0;
+////}
+//void iv::control::ControlStatus::set_light(bool enable){
+//    if (enable == true)
+//       command.bit.bright = 1;
+//    else
+//       command.bit.bright = 0;
+//}
+
+//void iv::control::ControlStatus::set_leftlight(bool enable){
+//    if (enable == true)
+//       command.bit.left_turn = 1;
+//    else
+//       command.bit.left_turn = 0;
+//}
+
+
+//void iv::control::ControlStatus::set_rightlight(bool enable){
+//    if (enable == true)
+//       command.bit.right_turn = 1;
+//    else
+//       command.bit.right_turn = 0;
+//}
+
+
+
+
+
+
+//void iv::control::ControlStatus::set_turnsignals_control(bool left, bool right){
+//    if (left == true)
+//    {
+//        command.bit.left_turn = 1;
+//        command.bit.right_turn = 0;
+//    }
+//    else if (right == true)
+//    {
+//        command.bit.left_turn = 0;
+//        command.bit.right_turn = 1;
+//    }
+//    else
+//    {
+//        command.bit.left_turn = 0;
+//        command.bit.right_turn = 0;
+//    }
+//}
+
+
+
+
+
+
+
+
+//#else
+
+//void iv::control::ControlStatus::set_accelerate(float percent)
+//{
+//    command.bit.acce = (unsigned)((percent + 7) * 20);
+//}
+//void iv::control::ControlStatus::set_wheel_angle(float angle)
+//{
+//    command.bit.ang_H = angle * 10 >> 8;
+
+//    command.bit.ang_L = angle * 10 % 256;
+//}
+//void iv::control::ControlStatus::set_engine(char enable)
+//{
+//    command.bit.engine = enable;
+//}
+//void iv::control::ControlStatus::set_door(char enable){
+//    command.bit.door = enable;
+//}
+//void iv::control::ControlStatus::set_speaker(bool enable){
+//    if (enable == true)
+//        command.bit.speaker = 1;
+//    else
+//        command.bit.speaker = 0;
+//}
+//void iv::control::ControlStatus::set_flicker(bool enable){
+//    if (enable == true)
+//        command.bit.flicker = 1;
+//    else
+//        command.bit.flicker = 0;
+//}
+//void iv::control::ControlStatus::set_light(bool enable){
+//    if (enable == true)
+//       command.bit.bright = 1;
+//    else
+//       command.bit.bright = 0;
+//}
+//void iv::control::ControlStatus::set_turnsignals_control(bool left, bool right){
+//    if (left == true)
+//    {
+//        command.bit.left_turn = 1;
+//        command.bit.right_turn = 0;
+//    }
+//    else if (right == true)
+//    {
+//        command.bit.left_turn = 0;
+//        command.bit.right_turn = 1;
+//    }
+//    else
+//    {
+//        command.bit.left_turn = 0;
+//        command.bit.right_turn = 0;
+//    }
+//}
+//#endif

+ 108 - 108
src/controller/controller_hapo/control/control_status.h

@@ -1,108 +1,108 @@
-#pragma once
-//由于控制器指令共享同一个ID 0x20,建立此类维护控制指令的最新状态
-
-#include <boost.h>
-#include <cstdint>
-#include <boost/serialization/singleton.hpp>
-#include <control/vv7.h>
-
-namespace iv {
-namespace control {
-class ControlStatus : public boost::noncopyable
-{
-public:
-    /*****************
-             * ****测试标志位*****
-             * ***************/
-    int normal_speed  = 0;//常规速度
-    int swerve_speed  = 0;//转弯速度
-    int high_speed = 0;//快速
-    int mid_speed = 0;//中速
-    int low_speed = 0;//慢速
-    int change_line  = -1;//换道标志
-    int stop_obstacle = -1;//停障标志
-    int elude_obstacle = -1;//避障标志
-    int special_signle = -1;//特殊信号标志
-    int car_pullover = -1;//靠边停车标志位
-    float torque = 0.0;
-    float brake = 0.0;
-    float acc=0.0;
-
-    Command10 command10 ;
-    Command11 command11 ;
-    Command12 command12;
-    Command_Response command_reponse;
-
-    int command_ID10 = 0x10;
-    int command_ID11 = 0x11;
-    int command_ID12 = 0x12;
-
-
-    void set_wheel_angle(float angle);
-    void set_wheel_speed(float speed);
-    void set_wheel_enable(bool enable);
-
-
-
-
-
-    void set_speed_limit(float speed);
-    void set_torque(float percent);
-    void set_aeb(float aeb);
-    void set_brake(float brake);
-    void set_gear(int gear);
-    void set_handBrake(bool handBrake);
-    void set_driveMode(char mode);
-    void set_gear_enable(bool enable);
-    void set_aeb_enable(bool enable);
-    void set_acc_enable(bool enable);
-
-
-
-
-    void set_win_lf(char para);
-    void set_win_rf(char para);
-    void set_win_lr(char para);
-    void set_win_rr(char para);
-    void set_air_on(char para);
-    void set_air_cricle(char para);
-    void set_air_auto(char para);
-    void set_air_off(char para);
-    void set_air_temup(char para);
-    void set_air_temdown(char para);
-    void set_air_powerup(char para);
-    void set_air_powerdown(char para);
-    void set_obligate(char para);
-    void set_door(char enable);
-    void set_turnsignals_control(bool left, bool right);
-    void set_small_light(char para);
-    void set_near_light(char para);
-    void set_horn(char para);
-    void set_far_light(char para);
-    void set_frog_light(char para);
-    void set_wiper(char para);
-    void set_brake_light(char para);
-    void set_defrog(char para);
-    void set_reverse_light(char para);
-
-    void set_air_temp(char para);
-    void set_air_mode(char para);
-    void set_air_enable(bool enable);
-    void set_wind_level(char para);
-    void set_roof_light(char para);
-    void set_home_light(char para);
-    void set_air_worktime(char para);
-    void set_air_offtime(char para);
-
-    void set_cmd_checksum(unsigned char cmd_id);
-
-
-
-
-
-
-};
-typedef boost::serialization::singleton<iv::control::ControlStatus> ControlStatusSingleton;
-}
-}
-#define ServiceControlStatus iv::control::ControlStatusSingleton::get_mutable_instance()
+#pragma once
+//由于控制器指令共享同一个ID 0x20,建立此类维护控制指令的最新状态
+
+#include <boost.h>
+#include <cstdint>
+#include <boost/serialization/singleton.hpp>
+#include <control/vv7.h>
+
+namespace iv {
+namespace control {
+class ControlStatus : public boost::noncopyable
+{
+public:
+    /*****************
+             * ****测试标志位*****
+             * ***************/
+    int normal_speed  = 0;//常规速度
+    int swerve_speed  = 0;//转弯速度
+    int high_speed = 0;//快速
+    int mid_speed = 0;//中速
+    int low_speed = 0;//慢速
+    int change_line  = -1;//换道标志
+    int stop_obstacle = -1;//停障标志
+    int elude_obstacle = -1;//避障标志
+    int special_signle = -1;//特殊信号标志
+    int car_pullover = -1;//靠边停车标志位
+    float torque = 0.0;
+    float brake = 0.0;
+    float acc=0.0;
+
+    Command10 command10 ;
+    Command11 command11 ;
+    Command12 command12;
+    Command_Response command_reponse;
+
+    int command_ID10 = 0x10;
+    int command_ID11 = 0x11;
+    int command_ID12 = 0x12;
+
+
+    void set_wheel_angle(float angle);
+    void set_wheel_speed(float speed);
+    void set_wheel_enable(bool enable);
+
+
+
+
+
+    void set_speed_limit(float speed);
+    void set_torque(float percent);
+    void set_aeb(float aeb);
+    void set_brake(float brake);
+    void set_gear(int gear);
+    void set_handBrake(bool handBrake);
+    void set_driveMode(char mode);
+    void set_gear_enable(bool enable);
+    void set_aeb_enable(bool enable);
+    void set_acc_enable(bool enable);
+
+
+
+
+    void set_win_lf(char para);
+    void set_win_rf(char para);
+    void set_win_lr(char para);
+    void set_win_rr(char para);
+    void set_air_on(char para);
+    void set_air_cricle(char para);
+    void set_air_auto(char para);
+    void set_air_off(char para);
+    void set_air_temup(char para);
+    void set_air_temdown(char para);
+    void set_air_powerup(char para);
+    void set_air_powerdown(char para);
+    void set_obligate(char para);
+    void set_door(char enable);
+    void set_turnsignals_control(bool left, bool right);
+    void set_small_light(char para);
+    void set_near_light(char para);
+    void set_horn(char para);
+    void set_far_light(char para);
+    void set_frog_light(char para);
+    void set_wiper(char para);
+    void set_brake_light(char para);
+    void set_defrog(char para);
+    void set_reverse_light(char para);
+
+    void set_air_temp(char para);
+    void set_air_mode(char para);
+    void set_air_enable(bool enable);
+    void set_wind_level(char para);
+    void set_roof_light(char para);
+    void set_home_light(char para);
+    void set_air_worktime(char para);
+    void set_air_offtime(char para);
+
+    void set_cmd_checksum(unsigned char cmd_id);
+
+
+
+
+
+
+};
+typedef boost::serialization::singleton<iv::control::ControlStatus> ControlStatusSingleton;
+}
+}
+#define ServiceControlStatus iv::control::ControlStatusSingleton::get_mutable_instance()

+ 204 - 204
src/controller/controller_hapo/control/controller.cpp

@@ -1,204 +1,204 @@
-#include <control/controller.h>
-
-iv::control::Controller::Controller() {
-
-}
-
-iv::control::Controller::~Controller() {
-
-}
-
-void iv::control::Controller::inialize() {
-
-}
-
-
-
-
-
-//校验和
-void iv::control::Controller::cmd_checksum(unsigned char cmd_id) {
-    ServiceControlStatus.set_cmd_checksum(cmd_id);
-}
-//方向盘控制
-void iv::control::Controller::control_wheel(float angle) {
-    ServiceControlStatus.set_wheel_angle(angle);
-}
-
-void iv::control::Controller:: control_angle_speed(float angSpeed){
-    ServiceControlStatus.set_wheel_speed(angSpeed);
-}
-
-void iv::control::Controller:: control_angle_enable(bool enable){
-    ServiceControlStatus.set_wheel_enable(enable);
-}
-//速度限制
-void iv::control::Controller:: control_speed_limit(float speedLimit){
-    ServiceControlStatus.set_speed_limit(speedLimit);
-}
-//油门控制
-void iv::control::Controller::control_torque(float percent){
-    ServiceControlStatus.set_torque(percent);
-}
-void iv::control::Controller::control_acc_en(bool enanble){
-    ServiceControlStatus.set_acc_enable(enanble);
-}
-
-
-void iv::control::Controller::control_aeb(float aeb){
-    ServiceControlStatus.set_aeb(aeb);
-}
-void iv::control::Controller::control_aeb_en(bool enable){
-    ServiceControlStatus.set_aeb_enable(enable);
-}
-//刹车控制
-void iv::control::Controller::control_brake(float brake){
-    ServiceControlStatus.set_brake(brake);
-}
-//档位控制
-void iv::control::Controller::control_gear(float gear){
-    ServiceControlStatus.set_gear(gear);
-}
-void iv::control::Controller::control_gear_en(bool enable){
-    ServiceControlStatus.set_gear_enable(enable);
-}
-//手刹
-void iv::control::Controller::control_handBrake(bool  enable){
-    ServiceControlStatus.set_handBrake(enable);
-}
-//驾驶模式
-void iv::control::Controller::control_mode(char mode){
-    ServiceControlStatus.set_driveMode(mode);
-}
-//车窗控制
-//void iv::control::Controller::control_win_lf(char para){
-//     ServiceControlStatus.set_win_lf(para);
-//}
-//void iv::control::Controller::control_win_rf(char para){
-//     ServiceControlStatus.set_win_rf(para);
-//}
-
-//void iv::control::Controller::control_win_lr(char para){
-//     ServiceControlStatus.set_win_lr(para);
-//}
-
-//void iv::control::Controller::control_win_rr(char para){
-//     ServiceControlStatus.set_win_rr(para);
-//}
-
-//空调控制
-void iv::control::Controller::control_air_on(bool enable){
-    if(enable){
-        ServiceControlStatus.set_air_on(1);
-    }else{
-        ServiceControlStatus.set_air_on(0);
-    }
-}
-//void iv::control::Controller::control_air_cricle(char para){
-//     ServiceControlStatus.set_air_cricle(para);
-//}
-//void iv::control::Controller::control_air_auto(char para){
-//     ServiceControlStatus.set_air_auto(para);
-//}
-//void iv::control::Controller::control_air_off(char para){
-//     ServiceControlStatus.set_air_off(para);
-//}
-//void iv::control::Controller::control_air_temup(char para){
-//     ServiceControlStatus.set_air_temup(para);
-//}
-//void iv::control::Controller::control_air_temdown(char para){
-//     ServiceControlStatus.set_air_temdown(para);
-//}
-//void iv::control::Controller::control_air_powerup(char para){
-//     ServiceControlStatus.set_air_powerup(para);
-//}
-//void iv::control::Controller::control_air_powerdown(char para){
-//     ServiceControlStatus.set_air_powerdown(para);
-//}
-//点火控制
-void iv::control::Controller::control_obligate(char para){
-    ServiceControlStatus.set_obligate(para);
-}
-//车门控制
-void iv::control::Controller::control_door(char enable){
-    ServiceControlStatus.set_door(enable);
-}
-//车灯控制
-void iv::control::Controller::control_turnsignals(bool left, bool right){
-    ServiceControlStatus.set_turnsignals_control(left,right);
-}
-void iv::control::Controller::control_small_light(char para){
-    ServiceControlStatus.set_small_light(para);
-}
-void iv::control::Controller::control_near_light(char para){
-    ServiceControlStatus.set_near_light(para);
-}
-
-void iv::control::Controller::control_far_light(char para){
-    ServiceControlStatus.set_far_light(para);
-}
-void iv::control::Controller::control_frog_light(char para){
-    ServiceControlStatus.set_frog_light(para);
-}
-void iv::control::Controller::control_brake_light(char para){
-    ServiceControlStatus.set_brake_light(para);
-}
-void iv::control::Controller::control_defrog(char para){
-    ServiceControlStatus.set_defrog(para);
-}
-void iv::control::Controller::control_reverse_light(char para){
-    ServiceControlStatus.set_reverse_light(para);
-}
-
-//喇叭控制
-void iv::control::Controller::control_horn(char para){
-    ServiceControlStatus.set_horn(para);
-}
-//雨刷控制
-void iv::control::Controller::control_wiper(char para){
-    ServiceControlStatus.set_wiper(para);
-}
-
-
-void iv::control::Controller::control_air_temp(char para){
-    ServiceControlStatus.set_air_temp(para);
-}
-
-void iv::control::Controller::control_air_mode(char para){
-    ServiceControlStatus.set_air_mode(para);
-}
-
-void iv::control::Controller::control_air_enable(bool enable){
-    ServiceControlStatus.set_air_enable(enable);
-}
-
-void iv::control::Controller::control_wind_level(char para){
-    ServiceControlStatus.set_wind_level(para);
-}
-
-void iv::control::Controller::control_roof_light(char para){
-    ServiceControlStatus.set_roof_light(para);
-}
-
-void iv::control::Controller::control_home_light(char para){
-    ServiceControlStatus.set_home_light(para);
-}
-
-void iv::control::Controller::control_air_worktime(char para){
-    ServiceControlStatus.set_air_worktime(para);
-}
-
-void iv::control::Controller::control_air_offtime(char para){
-    ServiceControlStatus.set_air_offtime(para);
-}
-
-
-
-
-
-//void iv::control::Controller::control_flicker(bool enable){
-//    ServiceControlStatus.set_flicker(enable);
-//}
-//void iv::control::Controller::control_braking(float percent){
-
-//}
+#include <control/controller.h>
+
+iv::control::Controller::Controller() {
+
+}
+
+iv::control::Controller::~Controller() {
+
+}
+
+void iv::control::Controller::inialize() {
+
+}
+
+
+
+
+
+//校验和
+void iv::control::Controller::cmd_checksum(unsigned char cmd_id) {
+    ServiceControlStatus.set_cmd_checksum(cmd_id);
+}
+//方向盘控制
+void iv::control::Controller::control_wheel(float angle) {
+    ServiceControlStatus.set_wheel_angle(angle);
+}
+
+void iv::control::Controller:: control_angle_speed(float angSpeed){
+    ServiceControlStatus.set_wheel_speed(angSpeed);
+}
+
+void iv::control::Controller:: control_angle_enable(bool enable){
+    ServiceControlStatus.set_wheel_enable(enable);
+}
+//速度限制
+void iv::control::Controller:: control_speed_limit(float speedLimit){
+    ServiceControlStatus.set_speed_limit(speedLimit);
+}
+//油门控制
+void iv::control::Controller::control_torque(float percent){
+    ServiceControlStatus.set_torque(percent);
+}
+void iv::control::Controller::control_acc_en(bool enanble){
+    ServiceControlStatus.set_acc_enable(enanble);
+}
+
+
+void iv::control::Controller::control_aeb(float aeb){
+    ServiceControlStatus.set_aeb(aeb);
+}
+void iv::control::Controller::control_aeb_en(bool enable){
+    ServiceControlStatus.set_aeb_enable(enable);
+}
+//刹车控制
+void iv::control::Controller::control_brake(float brake){
+    ServiceControlStatus.set_brake(brake);
+}
+//档位控制
+void iv::control::Controller::control_gear(float gear){
+    ServiceControlStatus.set_gear(gear);
+}
+void iv::control::Controller::control_gear_en(bool enable){
+    ServiceControlStatus.set_gear_enable(enable);
+}
+//手刹
+void iv::control::Controller::control_handBrake(bool  enable){
+    ServiceControlStatus.set_handBrake(enable);
+}
+//驾驶模式
+void iv::control::Controller::control_mode(char mode){
+    ServiceControlStatus.set_driveMode(mode);
+}
+//车窗控制
+//void iv::control::Controller::control_win_lf(char para){
+//     ServiceControlStatus.set_win_lf(para);
+//}
+//void iv::control::Controller::control_win_rf(char para){
+//     ServiceControlStatus.set_win_rf(para);
+//}
+
+//void iv::control::Controller::control_win_lr(char para){
+//     ServiceControlStatus.set_win_lr(para);
+//}
+
+//void iv::control::Controller::control_win_rr(char para){
+//     ServiceControlStatus.set_win_rr(para);
+//}
+
+//空调控制
+void iv::control::Controller::control_air_on(bool enable){
+    if(enable){
+        ServiceControlStatus.set_air_on(1);
+    }else{
+        ServiceControlStatus.set_air_on(0);
+    }
+}
+//void iv::control::Controller::control_air_cricle(char para){
+//     ServiceControlStatus.set_air_cricle(para);
+//}
+//void iv::control::Controller::control_air_auto(char para){
+//     ServiceControlStatus.set_air_auto(para);
+//}
+//void iv::control::Controller::control_air_off(char para){
+//     ServiceControlStatus.set_air_off(para);
+//}
+//void iv::control::Controller::control_air_temup(char para){
+//     ServiceControlStatus.set_air_temup(para);
+//}
+//void iv::control::Controller::control_air_temdown(char para){
+//     ServiceControlStatus.set_air_temdown(para);
+//}
+//void iv::control::Controller::control_air_powerup(char para){
+//     ServiceControlStatus.set_air_powerup(para);
+//}
+//void iv::control::Controller::control_air_powerdown(char para){
+//     ServiceControlStatus.set_air_powerdown(para);
+//}
+//点火控制
+void iv::control::Controller::control_obligate(char para){
+    ServiceControlStatus.set_obligate(para);
+}
+//车门控制
+void iv::control::Controller::control_door(char enable){
+    ServiceControlStatus.set_door(enable);
+}
+//车灯控制
+void iv::control::Controller::control_turnsignals(bool left, bool right){
+    ServiceControlStatus.set_turnsignals_control(left,right);
+}
+void iv::control::Controller::control_small_light(char para){
+    ServiceControlStatus.set_small_light(para);
+}
+void iv::control::Controller::control_near_light(char para){
+    ServiceControlStatus.set_near_light(para);
+}
+
+void iv::control::Controller::control_far_light(char para){
+    ServiceControlStatus.set_far_light(para);
+}
+void iv::control::Controller::control_frog_light(char para){
+    ServiceControlStatus.set_frog_light(para);
+}
+void iv::control::Controller::control_brake_light(char para){
+    ServiceControlStatus.set_brake_light(para);
+}
+void iv::control::Controller::control_defrog(char para){
+    ServiceControlStatus.set_defrog(para);
+}
+void iv::control::Controller::control_reverse_light(char para){
+    ServiceControlStatus.set_reverse_light(para);
+}
+
+//喇叭控制
+void iv::control::Controller::control_horn(char para){
+    ServiceControlStatus.set_horn(para);
+}
+//雨刷控制
+void iv::control::Controller::control_wiper(char para){
+    ServiceControlStatus.set_wiper(para);
+}
+
+
+void iv::control::Controller::control_air_temp(char para){
+    ServiceControlStatus.set_air_temp(para);
+}
+
+void iv::control::Controller::control_air_mode(char para){
+    ServiceControlStatus.set_air_mode(para);
+}
+
+void iv::control::Controller::control_air_enable(bool enable){
+    ServiceControlStatus.set_air_enable(enable);
+}
+
+void iv::control::Controller::control_wind_level(char para){
+    ServiceControlStatus.set_wind_level(para);
+}
+
+void iv::control::Controller::control_roof_light(char para){
+    ServiceControlStatus.set_roof_light(para);
+}
+
+void iv::control::Controller::control_home_light(char para){
+    ServiceControlStatus.set_home_light(para);
+}
+
+void iv::control::Controller::control_air_worktime(char para){
+    ServiceControlStatus.set_air_worktime(para);
+}
+
+void iv::control::Controller::control_air_offtime(char para){
+    ServiceControlStatus.set_air_offtime(para);
+}
+
+
+
+
+
+//void iv::control::Controller::control_flicker(bool enable){
+//    ServiceControlStatus.set_flicker(enable);
+//}
+//void iv::control::Controller::control_braking(float percent){
+
+//}

+ 83 - 83
src/controller/controller_hapo/control/controller.h

@@ -1,83 +1,83 @@
-#pragma once
-/*
-*控制器
-*/
-#ifndef _IV_CONTROL_CONTROLLER_
-#define _IV_CONTROL_CONTROLLER_
-
-#include <boost.h>
-//#include <common/car_status.h>
-#include <control/control_status.h>
-
-namespace iv {
-    namespace control {
-        class Controller
-        {
-        public:
-            Controller();
-            ~Controller();
-            void inialize();// 初始化
-
-
-            void control_wheel(float angle);		//方向盘控制
-            void control_angle_speed(float angSpeed);
-            void control_angle_enable(bool enable);
-
-            void control_speed_limit(float speedLimit);
-            void control_torque(float percent);	//油门开度控制
-            void control_aeb(float aeb);	//油门开度控制
-            void control_brake(float brake);
-            void control_gear(float gear);
-            void control_handBrake(bool  enable);
-            void control_mode(char mode);
-            void control_gear_en(bool enable);
-            void control_aeb_en(bool enable);
-            void control_acc_en(bool enanble);
-
-
-            void control_win_lf(char para);
-            void control_win_rf(char para);
-            void control_win_lr(char para);
-            void control_win_rr(char para);
-            void control_air_on(bool enable);
-            void control_air_cricle(char para);
-            void control_air_auto(char para);
-            void control_air_off(char para);
-            void control_air_temup(char para);
-            void control_air_temdown(char para);
-            void control_air_powerup(char para);
-            void control_air_powerdown(char para);
-            void control_obligate(char para);
-            void control_door(char enable);
-            void control_turnsignals(bool left, bool right);
-            void control_small_light(char para);
-            void control_near_light(char para);
-            void control_horn(char para);
-            void control_far_light(char para);
-            void control_frog_light(char para);
-            void control_wiper(char para);
-            void control_brake_light(char para);
-            void control_defrog(char para);
-            void control_reverse_light(char para);
-            void cmd_checksum(unsigned char cmd_id);
-
-
-
-            void control_air_temp(char para);
-            void control_air_mode(char para);
-            void control_air_enable(bool enable);
-            void control_wind_level(char para);
-            void control_roof_light(char para);
-            void control_home_light(char para);
-            void control_air_worktime(char para);
-            void control_air_offtime(char para);
-
-            ///* 获取当前车辆状态*/
-            //void getCurrentCarStatus(iv::CarStatus & car_status);
-
-        private:
-        };
-    }
-}
-
-#endif // !_IV_CONTROL_CONTROLLER_
+#pragma once
+/*
+*控制器
+*/
+#ifndef _IV_CONTROL_CONTROLLER_
+#define _IV_CONTROL_CONTROLLER_
+
+#include <boost.h>
+//#include <common/car_status.h>
+#include <control/control_status.h>
+
+namespace iv {
+    namespace control {
+        class Controller
+        {
+        public:
+            Controller();
+            ~Controller();
+            void inialize();// 初始化
+
+
+            void control_wheel(float angle);		//方向盘控制
+            void control_angle_speed(float angSpeed);
+            void control_angle_enable(bool enable);
+
+            void control_speed_limit(float speedLimit);
+            void control_torque(float percent);	//油门开度控制
+            void control_aeb(float aeb);	//油门开度控制
+            void control_brake(float brake);
+            void control_gear(float gear);
+            void control_handBrake(bool  enable);
+            void control_mode(char mode);
+            void control_gear_en(bool enable);
+            void control_aeb_en(bool enable);
+            void control_acc_en(bool enanble);
+
+
+            void control_win_lf(char para);
+            void control_win_rf(char para);
+            void control_win_lr(char para);
+            void control_win_rr(char para);
+            void control_air_on(bool enable);
+            void control_air_cricle(char para);
+            void control_air_auto(char para);
+            void control_air_off(char para);
+            void control_air_temup(char para);
+            void control_air_temdown(char para);
+            void control_air_powerup(char para);
+            void control_air_powerdown(char para);
+            void control_obligate(char para);
+            void control_door(char enable);
+            void control_turnsignals(bool left, bool right);
+            void control_small_light(char para);
+            void control_near_light(char para);
+            void control_horn(char para);
+            void control_far_light(char para);
+            void control_frog_light(char para);
+            void control_wiper(char para);
+            void control_brake_light(char para);
+            void control_defrog(char para);
+            void control_reverse_light(char para);
+            void cmd_checksum(unsigned char cmd_id);
+
+
+
+            void control_air_temp(char para);
+            void control_air_mode(char para);
+            void control_air_enable(bool enable);
+            void control_wind_level(char para);
+            void control_roof_light(char para);
+            void control_home_light(char para);
+            void control_air_worktime(char para);
+            void control_air_offtime(char para);
+
+            ///* 获取当前车辆状态*/
+            //void getCurrentCarStatus(iv::CarStatus & car_status);
+
+        private:
+        };
+    }
+}
+
+#endif // !_IV_CONTROL_CONTROLLER_