The Code Repository for the REV0 Steering Wheel.

Dependencies:   CANBuffer KS0108_fork mbed-rtos mbed CAN Addresses

Fork of REVO_Updated_Steering by Penn Electric

Committer:
tmccurbin
Date:
Sat Nov 15 19:07:13 2014 +0000
Revision:
32:535acb159709
Parent:
26:e0256fd314eb
Child:
35:b42afc973902
New font, Toggle Button Added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kiran_mbed 0:313541d8f8be 1 #ifndef _STEERING_H
kiran_mbed 0:313541d8f8be 2 #define _STEERING_H
kiran_mbed 0:313541d8f8be 3
kiran_mbed 0:313541d8f8be 4 #include "mbed.h"
palimar 3:fcec60c7f2c6 5 #include "rtos.h"
kiran_mbed 0:313541d8f8be 6 #include "KS0108.h"
kiran_mbed 0:313541d8f8be 7
tmccurbin 32:535acb159709 8 #include "Arial10.h"
kiran_mbed 0:313541d8f8be 9 #include "Arial12.h"
kiran_mbed 0:313541d8f8be 10 #include "Arial14.h"
kiran_mbed 0:313541d8f8be 11 #include "Comic24.h"
kiran_mbed 0:313541d8f8be 12 #include "vivaldi16.h"
palimar 16:d2953809fb31 13 #include "CANBuffer.h"
kiran_mbed 0:313541d8f8be 14
palimar 17:e97c889873e2 15 #include "LPCDigitalIn.h"
palimar 17:e97c889873e2 16
kiran_mbed 0:313541d8f8be 17 #define SWITCH_ID 410
kiran_mbed 0:313541d8f8be 18
kiran_mbed 0:313541d8f8be 19 #define BATTERY_VOLTAGE_ID 0x304
kiran_mbed 0:313541d8f8be 20 #define BATTERY_POWER_ID 0x306
kiran_mbed 0:313541d8f8be 21 #define BATTERY_CURRENT_ID 0x305
kiran_mbed 0:313541d8f8be 22
palimar 21:56890c41ecf1 23 #define PCM_STATE_ID 0x201
kiran_mbed 0:313541d8f8be 24
kiran_mbed 0:313541d8f8be 25 #define BATTERY_MIN_CELLVOLTAGE_ID 0x301
kiran_mbed 0:313541d8f8be 26 #define BATTERY_MAX_CELLVOLTAGE_ID 0x300
kiran_mbed 0:313541d8f8be 27 #define BATTERY_AVG_CELLVOLTAGE_ID 0x302
kiran_mbed 0:313541d8f8be 28
kiran_mbed 0:313541d8f8be 29 #define BATTERY_MIN_CELLTEMPERATURE_ID 0x30A
kiran_mbed 0:313541d8f8be 30 #define BATTERY_MAX_CELLTEMPERATURE_ID 0x309
kiran_mbed 0:313541d8f8be 31 #define BATTERY_AVG_CELLTEMPERATURE_ID 0x30B
kiran_mbed 0:313541d8f8be 32 #define AMS_BATTERY_STATE 0x30E // AIRS 7 and 6 // Precharge 3
kiran_mbed 0:313541d8f8be 33
palimar 26:e0256fd314eb 34 #define HOME_SCREEN 0
tmccurbin 32:535acb159709 35 #define BATTERY_SCREEN 1
palimar 26:e0256fd314eb 36
kiran_mbed 0:313541d8f8be 37 Serial pc(USBTX,USBRX);
palimar 23:6681a38918c6 38 CANBuffer CAN_Steering_Buffer(CAN1, MEDIUM, p3_26);
palimar 16:d2953809fb31 39
kiran_mbed 0:313541d8f8be 40
kiran_mbed 0:313541d8f8be 41 KS0108 display(p26, p21, p22, p23, p25, p24, p8, p7, p6, p5, p13, p14, p12, p11);
palimar 23:6681a38918c6 42 //Ticker call_ledstream;
kiran_mbed 0:313541d8f8be 43
palimar 16:d2953809fb31 44 LPCDigitalOut l1(p1_28,1);// SW2
palimar 16:d2953809fb31 45 LPCDigitalOut l2(p1_26,1);// SW4
kiran_mbed 0:313541d8f8be 46
palimar 16:d2953809fb31 47 LPCDigitalOut l3(p1_24,1);// SW6
palimar 16:d2953809fb31 48 LPCDigitalOut l4(p0_24,1);// SW8
kiran_mbed 0:313541d8f8be 49
palimar 16:d2953809fb31 50 LPCDigitalOut u1(p1_14,0);// SW9
palimar 16:d2953809fb31 51 LPCDigitalOut u2(p1_9,0);// SW11
kiran_mbed 0:313541d8f8be 52
palimar 16:d2953809fb31 53 LPCDigitalOut u3(p1_4,0);// SW13
palimar 16:d2953809fb31 54 LPCDigitalOut u4(p1_0,0);// SW15
kiran_mbed 0:313541d8f8be 55
kiran_mbed 0:313541d8f8be 56 AnalogOut ledstream(p18);
kiran_mbed 0:313541d8f8be 57
kiran_mbed 0:313541d8f8be 58 //SW1 - SW3
palimar 16:d2953809fb31 59 LPCDigitalOut boSW1(p1_29,1);
palimar 18:674450a9d98d 60 LPCDigitalIn biSWBR(p1_27, PullDown); //BRight
kiran_mbed 0:313541d8f8be 61
palimar 16:d2953809fb31 62 LPCDigitalOut boSW5(p1_25,1);
palimar 18:674450a9d98d 63 LPCDigitalIn biSWBL(p1_22, PullDown); //BLeft
kiran_mbed 0:313541d8f8be 64
palimar 16:d2953809fb31 65 LPCDigitalOut boSW10(p1_10,1);
palimar 18:674450a9d98d 66 LPCDigitalIn biSWTR(p1_8, PullDown); //TRight
kiran_mbed 0:313541d8f8be 67
palimar 16:d2953809fb31 68 LPCDigitalOut boSW14(p1_1,1);
palimar 18:674450a9d98d 69 LPCDigitalIn biSWTL(p0_25, PullDown); //TLeft
kiran_mbed 0:313541d8f8be 70
kiran_mbed 0:313541d8f8be 71 typedef union convert{
kiran_mbed 0:313541d8f8be 72 float FLOAT;
kiran_mbed 0:313541d8f8be 73 char C_FLOAT[4];
kiran_mbed 0:313541d8f8be 74 }ftc;
kiran_mbed 0:313541d8f8be 75
kiran_mbed 0:313541d8f8be 76 char SwitchName[15][13]={
kiran_mbed 0:313541d8f8be 77 "fuse",
kiran_mbed 0:313541d8f8be 78 "ams",
kiran_mbed 0:313541d8f8be 79 "imd",
kiran_mbed 0:313541d8f8be 80 "pcm",
kiran_mbed 0:313541d8f8be 81 "brkp",
kiran_mbed 0:313541d8f8be 82 "lft",
kiran_mbed 0:313541d8f8be 83 "intl",
kiran_mbed 0:313541d8f8be 84 "brko",
kiran_mbed 0:313541d8f8be 85 "ckpt",
kiran_mbed 0:313541d8f8be 86 "rgt",
kiran_mbed 0:313541d8f8be 87 "hvd",
kiran_mbed 0:313541d8f8be 88 "tsms"
kiran_mbed 0:313541d8f8be 89 };
kiran_mbed 0:313541d8f8be 90
kiran_mbed 0:313541d8f8be 91 int SwitchPosition[13][2]={
kiran_mbed 0:313541d8f8be 92 {0,16}, //fuse
kiran_mbed 0:313541d8f8be 93 {25,16}, //ams
kiran_mbed 0:313541d8f8be 94 {50,16}, //imd
kiran_mbed 0:313541d8f8be 95 {70,16}, //pcm
kiran_mbed 0:313541d8f8be 96 {93,16}, //brkp
kiran_mbed 0:313541d8f8be 97 {117,16}, //lft
kiran_mbed 0:313541d8f8be 98 {0,32}, //intl
kiran_mbed 0:313541d8f8be 99 {17,32}, //brko
kiran_mbed 0:313541d8f8be 100 {42,32}, //ckpt
kiran_mbed 0:313541d8f8be 101 {65,32}, //rgt
kiran_mbed 0:313541d8f8be 102 {81,32}, //hvd
kiran_mbed 0:313541d8f8be 103 {102,32}, //tsm
kiran_mbed 0:313541d8f8be 104 };
kiran_mbed 0:313541d8f8be 105
tmccurbin 32:535acb159709 106 int maxScreen=2;
palimar 26:e0256fd314eb 107 int curr_screen;
palimar 9:e946cafa3cae 108
palimar 9:e946cafa3cae 109 char drive_status;
palimar 13:1f05dcd9ae0e 110 char drive_status_request;
palimar 9:e946cafa3cae 111 char reset_body;
palimar 9:e946cafa3cae 112
palimar 23:6681a38918c6 113
palimar 9:e946cafa3cae 114
palimar 21:56890c41ecf1 115 Mutex ds_mutex;
palimar 21:56890c41ecf1 116
kiran_mbed 0:313541d8f8be 117 #endif /* STEERING_H */