Bayley Wang
/
foc-ed_in_the_bot_compact
robot
Diff: BREMS/BREMSConfig.cpp
- Revision:
- 82:5e741c5ffd9f
- Parent:
- 78:b8df106126a7
- Child:
- 84:dd32640942a4
--- a/BREMS/BREMSConfig.cpp Sat Feb 25 01:12:27 2017 +0000 +++ b/BREMS/BREMSConfig.cpp Fri Mar 10 08:29:13 2017 +0000 @@ -3,10 +3,14 @@ #include "BREMSConfig.h" #include "BREMSStructs.h" +#include "CommandProcessor.h" +#include "PreferenceWriter.h" + #include "config_pins.h" #include "config_inverter.h" #include "config_motor.h" #include "config_loop.h" +#include "layout.h" void BREMSConfigRegisters(IOStruct *io) { RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; @@ -85,30 +89,15 @@ } void BREMSStartupMsg(ReadDataStruct *read, Serial *pc) { - pc->printf("%s\n\r\n\r", "FOC'ed in the Bot Rev A."); - pc->printf("%s\n\r", "====Config Data===="); - pc->printf("Current Sensor Offset: %f mV\n\r", I_OFFSET); - pc->printf("Current Sensor Scale: %f mv/A\n\r", I_SCALE); - pc->printf("Bus Voltage: %f V\n\r", BUS_VOLTAGE); - pc->printf("Switching Frequency: %f KHz \n\r", F_SW / 1000.0f); - pc->printf("Polling Frequency: %f Hz \n\r", F_SLOW_LOOP); - pc->printf("Pole pairs: %d\n\r", (int) POLE_PAIRS); - pc->printf("Resolver lobes: %d\n\r", (int) RESOLVER_LOBES); - pc->printf("Loop KP_D: %f\n\r", KP_D); - pc->printf("Loop KI_D: %f\n\r", KI_D); - pc->printf("Loop KP_Q: %f\n\r", KP_Q); - pc->printf("Loop KI_Q: %f\n\r", KI_Q); - pc->printf("Ia offset: %f mV\n\r", read->ia_supp_offset); - pc->printf("Ib offset: %f mV\n\r", read->ib_supp_offset); - pc->printf("\n\r"); + pc->printf("%s\n", "FOC'ed in the Bot Rev A."); } -void BREMSInit(IOStruct *io, ReadDataStruct *read, FOCStruct *foc, ControlStruct *control, bool tune) { +void BREMSInit(IOStruct *io, ReadDataStruct *read, FOCStruct *foc, ControlStruct *control) { io->en = new DigitalOut(EN); io->en->write(0); io->pc = new Serial(USBTX, USBRX); - io->pc->baud(921600); + io->pc->baud(115200); io->throttle_in = new PwmIn(TH_PIN, TH_LIMIT_LOW, TH_LIMIT_HIGH, TH_LIMIT_CRAZY); io->pos = new PositionSensorEncoder(CPR, 0); @@ -122,7 +111,11 @@ BREMSConfigRegisters(io); wait_ms(250); BREMSZeroCurrent(read); + + io->pref = new PreferenceWriter(6); BREMSStartupMsg(read, io->pc); + cmd_reload(io->pc, io->pref); + io->pc->printf("%s", ">"); control->d_integral = 0.0f; control->q_integral = 0.0f; @@ -133,6 +126,5 @@ control->d_ref = 0.0f; control->q_ref = 0.0f; control->torque_percent = 0.0f; - - io->en->write(1); + control->enabled = false; } \ No newline at end of file