RIXEN SIM with BluePill Maple Mini
Dependencies: mbed mbed-STM32F103C8T6
ecu_simulator.h
00001 #ifndef ECU_SIMULATOR_H 00002 #define ECU_SIMULATOR_H 00003 00004 //#define CANSPEED_125 125000 // CAN speed at 125 kbps 00005 //#define CANSPEED_250 250000 // CAN speed at 250 kbps 00006 #define CANSPEED_500 500000 // CAN speed at 500 kbps 00007 00008 /* Details from http://en.wikipedia.org/wiki/OBD-II_PIDs */ 00009 #define MODE1 0x01 //Show current data 00010 #define MODE2 0x02 //Show freeze frame data 00011 #define MODE3 0x03 //Show stored Diagnostic Trouble Codes 00012 #define MODE4 0x04 //Clear Diagnostic Trouble Codes and stored values 00013 00014 #define PID_SUPPORTED 0x00 00015 #define MONITOR_STATUS 0x01 00016 #define ENGINE_COOLANT_TEMP 0x05 00017 #define ENGINE_RPM 0x0C 00018 #define VEHICLE_SPEED 0x0D 00019 #define MAF_SENSOR 0x10 00020 #define THROTTLE 0x11 00021 #define O2_VOLTAGE 0x14 00022 00023 #define MODE1_RESPONSE 0x41 00024 #define MODE3_RESPONSE 0x43 00025 #define MODE4_RESPONSE 0x44 00026 #define PID_REQUEST 0x7DF 00027 #define PID_REPLY 0x7E8 00028 00029 #define ESPAR_CMD 0x7A0 // COMMAND ID 00030 #define ESPAR_RES 0x73C // response id 00031 00032 typedef struct{ 00033 unsigned char coolant_temp; 00034 unsigned int engine_rpm; 00035 unsigned char throttle_position; 00036 unsigned char vehicle_speed; 00037 unsigned int maf_airflow; 00038 unsigned int o2_voltage; 00039 unsigned char dtc; 00040 unsigned char active_fault; 00041 }ecu_t; 00042 00043 extern ecu_t ecu; 00044 00045 namespace mbed { 00046 00047 class ecu_sim{ 00048 00049 public: 00050 00051 ecu_sim(int can_speed); 00052 void canspeed(int can_speed); 00053 unsigned char request(void); 00054 00055 private: 00056 00057 int i; 00058 00059 }; 00060 } 00061 00062 00063 00064 #endif
Generated on Mon Jul 25 2022 18:33:33 by
1.7.2