System Management code
Dependencies: CANBuffer mbed SystemManagement mbed-rtos
System Management code for Penn Electric Racing
Functions:
Controls Fans and Pumps via instruction from CAN Messages, ramps them up over time to prevent damage
Turns on/off DC-DC converter via instruction from CAN Messages
DC_DC/DC_DC.cpp
- Committer:
- martydd3
- Date:
- 2014-10-10
- Revision:
- 7:5f6e31faa08e
- Parent:
- 6:6a04210a3f4f
File content as of revision 7:5f6e31faa08e:
#include "mbed.h" #include "DC_DC.h" DigitalOut dc_pin(p20); FanPump *fanPump; CANBuffer *tx_DC_Buffer; bool status; DC::DC(FanPump *fp, CANBuffer *can){ status = false; dc_pin = !status; tx_DC_Buffer = can; fanPump = fp; } bool DC::is_on(){ return status; } void DC::set(bool s){ status = s; if(!status){ fanPump->shutdown_all(); } dc_pin = !status; } void update(const void *arg){ char data[4] = {0}; while(1){ data[0] = status; CANMessage txMessage(TX_DC_DC_ID, data, 4); CANMessage msg(1); tx_DC_Buffer->txWrite(msg); Thread::wait(100); //10 Hz update } } void DC::start_update(){ Thread update_thread(update); }