Library to control Dodge LX (83.3k) CAN devices

Dependencies:   DodgeRadioLib EthernetWrapperLib OBDIILib mbed

main.cpp

Committer:
rtgree01
Date:
2011-08-20
Revision:
0:4d16a55d0eec
Child:
2:e8b13ea2881b

File content as of revision 0:4d16a55d0eec:

#include "mbed.h"
#include "radioEmulator.h"
#include "WatchDogTimer.h"
#include "ecu_reader.h"

WatchDogTimer wdt;

RadioEmulator *radio;

Ticker obdTicker;
ecu_reader *obdii;
char buffer[128];
void readOBD(void);

int main()
{
    CAN can1(p9,p10);
    obdii = new ecu_reader(&can1, CANSPEED_500);     //Create object and set CAN speed
    
    obdTicker.attach(readOBD, 5);

    wdt.kick(2);
    radio = new RadioEmulator();
    while (1)
    {
        radio->readCANbus();
        radio->HostComm();
        
        obdii->readCAN();
        
        wdt.kick();        
    }
}

void readOBD(void)
{
    printf("Trying OBD-II data\n\r");
    
    obdii->request(VEHICLE_SPEED);
    obdii->request(MAF_SENSOR);
    obdii->request(FUEL_LEVEL);

    obdii->request(ENGINE_RPM);
    obdii->request(ENGINE_COOLANT_TEMP);
    obdii->request(THROTTLE);
    obdii->request(O2_VOLTAGE);
}