The Code Repository for the REV0 Steering Wheel.
Dependencies: CANBuffer KS0108_fork mbed-rtos mbed CAN Addresses
Fork of REVO_Updated_Steering by
Steering.h@16:d2953809fb31, 2014-10-18 (annotated)
- Committer:
- palimar
- Date:
- Sat Oct 18 18:26:44 2014 +0000
- Revision:
- 16:d2953809fb31
- Parent:
- 15:da14227cdd1d
- Child:
- 17:e97c889873e2
- Child:
- 30:f0095515f6cb
Removed Digital_InOut.h, rewrote all code to handle input and code with LPCDigitalOut.h, added Tyrell's reset code and added CANBuffer.
Who changed what in which revision?
User | Revision | Line number | New 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 | |
kiran_mbed | 0:313541d8f8be | 8 | #include "Arial12.h" |
kiran_mbed | 0:313541d8f8be | 9 | #include "Arial14.h" |
kiran_mbed | 0:313541d8f8be | 10 | #include "Comic24.h" |
kiran_mbed | 0:313541d8f8be | 11 | #include "vivaldi16.h" |
palimar | 16:d2953809fb31 | 12 | #include "CANBuffer.h" |
kiran_mbed | 0:313541d8f8be | 13 | |
kiran_mbed | 0:313541d8f8be | 14 | #define SWITCH_ID 410 |
kiran_mbed | 0:313541d8f8be | 15 | |
kiran_mbed | 0:313541d8f8be | 16 | #define BATTERY_VOLTAGE_ID 0x304 |
kiran_mbed | 0:313541d8f8be | 17 | #define BATTERY_POWER_ID 0x306 |
kiran_mbed | 0:313541d8f8be | 18 | #define BATTERY_CURRENT_ID 0x305 |
kiran_mbed | 0:313541d8f8be | 19 | |
kiran_mbed | 0:313541d8f8be | 20 | #define PCM_STATE_ID 20 |
kiran_mbed | 0:313541d8f8be | 21 | |
kiran_mbed | 0:313541d8f8be | 22 | #define BATTERY_MIN_CELLVOLTAGE_ID 0x301 |
kiran_mbed | 0:313541d8f8be | 23 | #define BATTERY_MAX_CELLVOLTAGE_ID 0x300 |
kiran_mbed | 0:313541d8f8be | 24 | #define BATTERY_AVG_CELLVOLTAGE_ID 0x302 |
kiran_mbed | 0:313541d8f8be | 25 | |
kiran_mbed | 0:313541d8f8be | 26 | #define BATTERY_MIN_CELLTEMPERATURE_ID 0x30A |
kiran_mbed | 0:313541d8f8be | 27 | #define BATTERY_MAX_CELLTEMPERATURE_ID 0x309 |
kiran_mbed | 0:313541d8f8be | 28 | #define BATTERY_AVG_CELLTEMPERATURE_ID 0x30B |
kiran_mbed | 0:313541d8f8be | 29 | #define AMS_BATTERY_STATE 0x30E // AIRS 7 and 6 // Precharge 3 |
kiran_mbed | 0:313541d8f8be | 30 | |
kiran_mbed | 0:313541d8f8be | 31 | Serial pc(USBTX,USBRX); |
palimar | 16:d2953809fb31 | 32 | CANBuffer CAN_Steering_Buffer(CAN1,MEDIUM); |
palimar | 16:d2953809fb31 | 33 | LPCDigitalOut CAN_Silent(p3_26, 0); |
palimar | 16:d2953809fb31 | 34 | |
palimar | 16:d2953809fb31 | 35 | extern "C" void mbed_reset(); |
kiran_mbed | 0:313541d8f8be | 36 | |
kiran_mbed | 0:313541d8f8be | 37 | KS0108 display(p26, p21, p22, p23, p25, p24, p8, p7, p6, p5, p13, p14, p12, p11); |
kiran_mbed | 0:313541d8f8be | 38 | Ticker call_ledstream; |
kiran_mbed | 0:313541d8f8be | 39 | |
palimar | 16:d2953809fb31 | 40 | LPCDigitalOut l1(p1_28,1);// SW2 |
palimar | 16:d2953809fb31 | 41 | LPCDigitalOut l2(p1_26,1);// SW4 |
kiran_mbed | 0:313541d8f8be | 42 | |
palimar | 16:d2953809fb31 | 43 | LPCDigitalOut l3(p1_24,1);// SW6 |
palimar | 16:d2953809fb31 | 44 | LPCDigitalOut l4(p0_24,1);// SW8 |
kiran_mbed | 0:313541d8f8be | 45 | |
palimar | 16:d2953809fb31 | 46 | LPCDigitalOut u1(p1_14,0);// SW9 |
palimar | 16:d2953809fb31 | 47 | LPCDigitalOut u2(p1_9,0);// SW11 |
kiran_mbed | 0:313541d8f8be | 48 | |
palimar | 16:d2953809fb31 | 49 | LPCDigitalOut u3(p1_4,0);// SW13 |
palimar | 16:d2953809fb31 | 50 | LPCDigitalOut u4(p1_0,0);// SW15 |
kiran_mbed | 0:313541d8f8be | 51 | |
kiran_mbed | 0:313541d8f8be | 52 | AnalogOut ledstream(p18); |
kiran_mbed | 0:313541d8f8be | 53 | |
kiran_mbed | 0:313541d8f8be | 54 | //SW1 - SW3 |
palimar | 16:d2953809fb31 | 55 | LPCDigitalOut boSW1(p1_29,1); |
palimar | 16:d2953809fb31 | 56 | LPCDigitalOut biSWBR(p1_27,1); //BRight |
kiran_mbed | 0:313541d8f8be | 57 | |
palimar | 16:d2953809fb31 | 58 | LPCDigitalOut boSW5(p1_25,1); |
palimar | 16:d2953809fb31 | 59 | LPCDigitalOut biSWBL(p1_22,1); //BLeft |
kiran_mbed | 0:313541d8f8be | 60 | |
palimar | 16:d2953809fb31 | 61 | LPCDigitalOut boSW10(p1_10,1); |
palimar | 16:d2953809fb31 | 62 | LPCDigitalOut biSWTR(p1_8,1); //TRight |
kiran_mbed | 0:313541d8f8be | 63 | |
palimar | 16:d2953809fb31 | 64 | LPCDigitalOut boSW14(p1_1,1); |
palimar | 16:d2953809fb31 | 65 | LPCDigitalOut biSWTL(p0_25,1); //TLeft |
kiran_mbed | 0:313541d8f8be | 66 | |
kiran_mbed | 0:313541d8f8be | 67 | typedef union convert{ |
kiran_mbed | 0:313541d8f8be | 68 | float FLOAT; |
kiran_mbed | 0:313541d8f8be | 69 | char C_FLOAT[4]; |
kiran_mbed | 0:313541d8f8be | 70 | }ftc; |
kiran_mbed | 0:313541d8f8be | 71 | |
kiran_mbed | 0:313541d8f8be | 72 | char SwitchName[15][13]={ |
kiran_mbed | 0:313541d8f8be | 73 | "fuse", |
kiran_mbed | 0:313541d8f8be | 74 | "ams", |
kiran_mbed | 0:313541d8f8be | 75 | "imd", |
kiran_mbed | 0:313541d8f8be | 76 | "pcm", |
kiran_mbed | 0:313541d8f8be | 77 | "brkp", |
kiran_mbed | 0:313541d8f8be | 78 | "lft", |
kiran_mbed | 0:313541d8f8be | 79 | "intl", |
kiran_mbed | 0:313541d8f8be | 80 | "brko", |
kiran_mbed | 0:313541d8f8be | 81 | "ckpt", |
kiran_mbed | 0:313541d8f8be | 82 | "rgt", |
kiran_mbed | 0:313541d8f8be | 83 | "hvd", |
kiran_mbed | 0:313541d8f8be | 84 | "tsms" |
kiran_mbed | 0:313541d8f8be | 85 | }; |
kiran_mbed | 0:313541d8f8be | 86 | |
kiran_mbed | 0:313541d8f8be | 87 | int SwitchPosition[13][2]={ |
kiran_mbed | 0:313541d8f8be | 88 | {0,16}, //fuse |
kiran_mbed | 0:313541d8f8be | 89 | {25,16}, //ams |
kiran_mbed | 0:313541d8f8be | 90 | {50,16}, //imd |
kiran_mbed | 0:313541d8f8be | 91 | {70,16}, //pcm |
kiran_mbed | 0:313541d8f8be | 92 | {93,16}, //brkp |
kiran_mbed | 0:313541d8f8be | 93 | {117,16}, //lft |
kiran_mbed | 0:313541d8f8be | 94 | {0,32}, //intl |
kiran_mbed | 0:313541d8f8be | 95 | {17,32}, //brko |
kiran_mbed | 0:313541d8f8be | 96 | {42,32}, //ckpt |
kiran_mbed | 0:313541d8f8be | 97 | {65,32}, //rgt |
kiran_mbed | 0:313541d8f8be | 98 | {81,32}, //hvd |
kiran_mbed | 0:313541d8f8be | 99 | {102,32}, //tsm |
kiran_mbed | 0:313541d8f8be | 100 | }; |
kiran_mbed | 0:313541d8f8be | 101 | |
kiran_mbed | 0:313541d8f8be | 102 | int maxScreen=5; |
kiran_mbed | 0:313541d8f8be | 103 | int screen; |
palimar | 9:e946cafa3cae | 104 | |
palimar | 9:e946cafa3cae | 105 | char drive_status; |
palimar | 13:1f05dcd9ae0e | 106 | char drive_status_request; |
palimar | 9:e946cafa3cae | 107 | char reset_body; |
palimar | 9:e946cafa3cae | 108 | |
palimar | 13:1f05dcd9ae0e | 109 | CANMessage Txmsg_drive_status_request(0x501,&drive_status_request,1); |
palimar | 9:e946cafa3cae | 110 | CANMessage Txmsg_reset(0x502,&reset_body,1); |
palimar | 9:e946cafa3cae | 111 | |
kiran_mbed | 0:313541d8f8be | 112 | #endif /* STEERING_H */ |