MSCAN Updated

Dependents:   FBRLogger

Fork of MSCAN by Vesko Karadzhov

Committer:
veskokaradzhov
Date:
Wed Mar 06 17:33:14 2013 +0000
Revision:
6:c857749f9c0c
Parent:
1:a723bdf44e10
c

Who changed what in which revision?

UserRevisionLine numberNew contents of line
intrinseca 1:a723bdf44e10 1 #include "mbed.h"
intrinseca 1:a723bdf44e10 2 #include "State.h"
intrinseca 1:a723bdf44e10 3 #include "Comms.h"
intrinseca 1:a723bdf44e10 4
intrinseca 1:a723bdf44e10 5 //Process incoming data from Comms interfaces
intrinseca 1:a723bdf44e10 6
intrinseca 1:a723bdf44e10 7 //Initialise members
intrinseca 1:a723bdf44e10 8 Comms::Comms(State* _values)
intrinseca 1:a723bdf44e10 9 {
intrinseca 1:a723bdf44e10 10 values = _values;
intrinseca 1:a723bdf44e10 11 }
intrinseca 1:a723bdf44e10 12
intrinseca 1:a723bdf44e10 13 //Process an incoming data packet
intrinseca 1:a723bdf44e10 14 void Comms::process_packet(unsigned char id, int length, unsigned char data[])
intrinseca 1:a723bdf44e10 15 {
intrinseca 1:a723bdf44e10 16 switch(id)
intrinseca 1:a723bdf44e10 17 {
intrinseca 1:a723bdf44e10 18 case 100:
intrinseca 1:a723bdf44e10 19 values->rpm = data[0] + (data[1] << 8);
intrinseca 1:a723bdf44e10 20 values->throttle_pos = data[2];
intrinseca 1:a723bdf44e10 21 values->manifold_pres = data[3];
intrinseca 1:a723bdf44e10 22 values->air_temp = data[4];
intrinseca 1:a723bdf44e10 23 values->coolant_temp = data[5];
intrinseca 1:a723bdf44e10 24 values->lambda = data[6];
intrinseca 1:a723bdf44e10 25 break;
intrinseca 1:a723bdf44e10 26 case 200:
intrinseca 1:a723bdf44e10 27 values->speed = data[0];
intrinseca 1:a723bdf44e10 28 values->accel_x = data[1];
intrinseca 1:a723bdf44e10 29 values->accel_y = data[2];
intrinseca 1:a723bdf44e10 30 values->gear = data[3];
intrinseca 1:a723bdf44e10 31 values->oil_temp = data[4];
intrinseca 1:a723bdf44e10 32 values->voltage = data[5];
intrinseca 1:a723bdf44e10 33 values->warnings = data[6];
intrinseca 1:a723bdf44e10 34 break;
intrinseca 1:a723bdf44e10 35 }
intrinseca 1:a723bdf44e10 36 }