![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
publish final code
Dependencies: FXOS8700CQ Pubnub_mbed2_sync2 SoftSerial TinyGPSplus WNCInterface2 mbed-rtos mbed
Diff: main.h
- Revision:
- 0:1092494506a3
diff -r 000000000000 -r 1092494506a3 main.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.h Tue Feb 21 22:28:26 2017 +0000 @@ -0,0 +1,141 @@ +/* Library for the Sparkfun OBD2 uart - cloned from + * https://github.com/sigalabs/Vehicle-OBD2-Shield + */ + +#ifndef __OBD2_H +#define __OBD2_H + + +#define NUL '\0' +#define CR '\r' +#define PROMPT '>' +#define DATA 1 + +#define STRLEN 40 + +#define DTC_BUFFER (MAX_DTC_READ*6)+2 +//OBD2 PIDs + +#define PID_SUPPORT00 0x00 +#define MIL_CODE 0x01 +#define FREEZE_DTC 0x02 +#define FUEL_STATUS 0x03 +#define LOAD_VALUE 0x04 +#define COOLANT_TEMP 0x05 +#define STFT_BANK1 0x06 +#define LTFT_BANK1 0x07 +#define STFT_BANK2 0x08 +#define LTFT_BANK2 0x09 +#define FUEL_PRESSURE 0x0A +#define MAN_PRESSURE 0x0B +#define ENGINE_RPM 0x0C +#define VEHICLE_SPEED 0x0D +#define TIMING_ADV 0x0E +#define INT_AIR_TEMP 0x0F +#define MAF_AIR_FLOW 0x10 +#define THROTTLE_POS 0x11 +#define SEC_AIR_STAT 0x12 +#define OXY_SENSORS1 0x13 +#define B1S1_O2_V 0x14 +#define B1S2_O2_V 0x15 +#define B1S3_O2_V 0x16 +#define B1S4_O2_V 0x17 +#define B2S1_O2_V 0x18 +#define B2S2_O2_V 0x19 +#define B2S3_O2_V 0x1A +#define B2S4_O2_V 0x1B +#define OBD_STD 0x1C +#define OXY_SENSORS2 0x1D +#define AUX_INPUT 0x1E +#define RUNTIME_START 0x1F +#define PID_SUPPORT20 0x20 +#define DIST_MIL_ON 0x21 +#define FUEL_RAIL_P 0x22 +#define FUEL_RAIL_DIESEL 0x23 +#define O2S1_WR_V 0x24 +#define O2S2_WR_V 0x25 +#define O2S3_WR_V 0x26 +#define O2S4_WR_V 0x27 +#define O2S5_WR_V 0x28 +#define O2S6_WR_V 0x29 +#define O2S7_WR_V 0x2A +#define O2S8_WR_V 0x2B +#define EGR 0x2C +#define EGR_ERROR 0x2D +#define EVAP_PURGE 0x2E +#define FUEL_LEVEL 0x2F +#define WARM_UPS 0x30 +#define DIST_MIL_CLR 0x31 +#define EVAP_PRESSURE 0x32 +#define BARO_PRESSURE 0x33 +#define O2S1_WR_C 0x34 +#define O2S2_WR_C 0x35 +#define O2S3_WR_C 0x36 +#define O2S4_WR_C 0x37 +#define O2S5_WR_C 0x38 +#define O2S6_WR_C 0x39 +#define O2S7_WR_C 0x3A +#define O2S8_WR_C 0x3B +#define CAT_TEMP_B1S1 0x3C +#define CAT_TEMP_B2S1 0x3D +#define CAT_TEMP_B1S2 0x3E +#define CAT_TEMP_B2S2 0x3F +#define PID_SUPPORT40 0x40 +#define MONITOR_STAT 0x41 +#define CTRL_MOD_V 0x42 +#define ABS_LOAD_VAL 0x43 +#define CMD_EQUIV_R 0x44 +#define REL_THR_POS 0x45 +#define AMBIENT_TEMP 0x46 +#define ABS_THR_POS_B 0x47 +#define ABS_THR_POS_C 0x48 +#define ACCEL_PEDAL_D 0x49 +#define ACCEL_PEDAL_E 0x4A +#define ACCEL_PEDAL_F 0x4B +#define CMD_THR_ACTU 0x4C +#define TIME_MIL_ON 0x4D +#define TIME_MIL_CLR 0x4E +#define FUEL_TYPE 0x51 +#define ETHYL_FUEL 0x52 +#define LAST_PID 0x52 + + +//DTCs +#define MAX_DTC_READ 5 + + +// function prototypes +char Init(); +char stn1110_read(char *str, char size); +void stn1110_write(char *str); +char stn1110_check_response(const char *cmd, char *str); +char stn1110_compact_response(char *buf, char *str); +char stn1110_command(char *str, char *cmd); +void check_supported_pids(void); +char is_pid_supported(char pid); +char get_pid(char pid, long *ret); +char verifyECUAlive(void); +char Refresh(void); +bool dtc_read(void); +bool dtc_clear(void); + +//Structures +struct DTC_t { + char code[6]; +} DTC[MAX_DTC_READ]; + +//Variables +char isIgnitionOn; +char isEngineOn; +bool has_dtc; + + +char *strip_answer(char *s); +unsigned long pid01to20_support; +unsigned long pid21to40_support; +unsigned long pid41to60_support; +long tempLong; +long engineRPM; + + +#endif \ No newline at end of file