Niels Leijen / CanControl
Committer:
kwasymodo
Date:
Fri May 12 20:19:32 2017 +0000
Revision:
0:274e6fb7df45
Child:
2:d7776fa70ef5
new CanControl

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kwasymodo 0:274e6fb7df45 1 #include "PowerControl.h"
kwasymodo 0:274e6fb7df45 2
kwasymodo 0:274e6fb7df45 3 extern RawSerial pc;
kwasymodo 0:274e6fb7df45 4 extern CAN can;
kwasymodo 0:274e6fb7df45 5
kwasymodo 0:274e6fb7df45 6 CanControl::CanControl(PinName buckCan):
kwasymodo 0:274e6fb7df45 7 _buckCan(buckCan), _canEnable(CAN_ENABLE)
kwasymodo 0:274e6fb7df45 8 {
kwasymodo 0:274e6fb7df45 9 enabled = false;
kwasymodo 0:274e6fb7df45 10 repeat.attach(this, &CanControl::relay, 1.0);
kwasymodo 0:274e6fb7df45 11 }
kwasymodo 0:274e6fb7df45 12
kwasymodo 0:274e6fb7df45 13 bool CanControl::disable(void){
kwasymodo 0:274e6fb7df45 14 #ifdef DEBUG
kwasymodo 0:274e6fb7df45 15 pc.printf("disabling CAN\r\n");
kwasymodo 0:274e6fb7df45 16 #endif
kwasymodo 0:274e6fb7df45 17 enabled = false;
kwasymodo 0:274e6fb7df45 18 can.write(CANMessage(BMSCANADDRESS, "0"));
kwasymodo 0:274e6fb7df45 19 wait_ms(100);
kwasymodo 0:274e6fb7df45 20 _canEnable = 0;
kwasymodo 0:274e6fb7df45 21 _buckCan = 0;
kwasymodo 0:274e6fb7df45 22 return true;
kwasymodo 0:274e6fb7df45 23 }
kwasymodo 0:274e6fb7df45 24
kwasymodo 0:274e6fb7df45 25 bool CanControl::enable(void){
kwasymodo 0:274e6fb7df45 26 #ifdef DEBUG
kwasymodo 0:274e6fb7df45 27 pc.printf("enabling CAN\r\n");
kwasymodo 0:274e6fb7df45 28 #endif
kwasymodo 0:274e6fb7df45 29 enabled = true;
kwasymodo 0:274e6fb7df45 30 _buckCan = 1;
kwasymodo 0:274e6fb7df45 31 _canEnable = 1;
kwasymodo 0:274e6fb7df45 32 wait_ms(100);
kwasymodo 0:274e6fb7df45 33 can.write(CANMessage(BMSCANADDRESS, "1"));
kwasymodo 0:274e6fb7df45 34 return true;
kwasymodo 0:274e6fb7df45 35 }
kwasymodo 0:274e6fb7df45 36
kwasymodo 0:274e6fb7df45 37 void CanControl::relay(void){
kwasymodo 0:274e6fb7df45 38 if(enabled){
kwasymodo 0:274e6fb7df45 39 #ifdef DEBUG
kwasymodo 0:274e6fb7df45 40 pc.printf("CANMessage sent: BMSCANADDRESS, \"1\"\r\n");
kwasymodo 0:274e6fb7df45 41 #endif
kwasymodo 0:274e6fb7df45 42 can.write(CANMessage(BMSCANADDRESS, "1"));
kwasymodo 0:274e6fb7df45 43 }
kwasymodo 0:274e6fb7df45 44 }
kwasymodo 0:274e6fb7df45 45