![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
flash based config testing
Diff: main.cpp
- Revision:
- 1:df6bbacb7bb9
- Parent:
- 0:941e150e78b6
- Child:
- 2:cfc39b0843ae
--- a/main.cpp Wed Mar 01 00:52:47 2017 +0000 +++ b/main.cpp Thu Mar 02 07:04:47 2017 +0000 @@ -1,113 +1,42 @@ #include "mbed.h" -#include "config.h" -#include "config_driving.h" -#include "config_inverter.h" -#include "config_logging.h" -#include "config_loop.h" -#include "config_motor.h" -#include "config_pins.h" -#include "config_table.h" + #include "PreferenceWriter.h" #include "FlashWriter.h" +#include "CommandProcessor.h" Serial pc(USBTX, USBRX); PreferenceWriter pref(6); +int index = 0; +char linebuf[128]; + +void rxCallback() { + while (pc.readable()) { + char c = pc.getc(); + if (c != 127 && c != '\r' && c != '\t') { + linebuf[index] = c; + index++; + pc.putc(c); + } else if (c == 127) { + if (index > 0) { + index--; + pc.putc(c); + } + } else if (c == '\r') { + linebuf[index] = 0; + pc.putc(c); + processCmd(&pc, &pref, linebuf); + index = 0; + pc.putc('>'); + } + } +} + int main() { pc.baud(115200); + pc.attach(rxCallback); pc.printf("%s\n", "Serial Configuration Test"); - - /* - DEFAULT(TORQUE_MODE); - DEFAULT(MAX_TQPCT_PLUS); - DEFAULT(MAX_TQPCT_MINUS); - DEFAULT(TORQUE_MAX); - DEFAULT(W_MAX); - DEFAULT(BUS_VOLTAGE); - DEFAULT(F_SW); - DEFAULT(K_LOOP_D); - DEFAULT(KI_BASE_D); - DEFAULT(K_LOOP_Q); - DEFAULT(KI_BASE_Q); - DEFAULT(F_SLOW_LOOP); - DEFAULT(INTEGRAL_MAX); - DEFAULT(W_FILTER_STRENGTH); - DEFAULT(DQ_FILTER_STRENGTH); - DEFAULT(THROTTLE_FILTER_STRENGTH); - DEFAULT(KP_D); - DEFAULT(KI_D); - DEFAULT(KP_Q); - DEFAULT(KI_Q); - DEFAULT(SLOW_LOOP_COUNTER); - DEFAULT(POLE_PAIRS); - DEFAULT(POS_OFFSET); - DEFAULT(RESOLVER_LOBES); - DEFAULT(CPR); - DEFAULT(Ld); - DEFAULT(Lq); - DEFAULT(FLUX_LINKAGE); - DEFAULT(Rs); - DEFAULT(KT); - DEFAULT(W_SAFE); - DEFAULT(W_CRAZY); - DEFAULT(TH_LIMIT_LOW); - DEFAULT(TH_LIMIT_HIGH); - DEFAULT(TH_LIMIT_CRAZY); - DEFAULT(ROWS); - DEFAULT(COLUMNS); - DEFAULT(W_STEP); - - pref.open(); - pref.flush(); - pref.close(); - - int offs; - for (offs = 0; offs < 64; offs++) { - __float_reg[offs] = 0.0f; - __int_reg[offs] = 0; - } - */ - - pref.load(); - - DPRINT(TORQUE_MODE); - FPRINT(MAX_TQPCT_PLUS); - FPRINT(MAX_TQPCT_MINUS); - FPRINT(TORQUE_MAX); - FPRINT(W_MAX); - FPRINT(BUS_VOLTAGE); - FPRINT(F_SW); - FPRINT(K_LOOP_D); - FPRINT(KI_BASE_D); - FPRINT(K_LOOP_Q); - FPRINT(KI_BASE_Q); - FPRINT(F_SLOW_LOOP); - FPRINT(INTEGRAL_MAX); - FPRINT(W_FILTER_STRENGTH); - FPRINT(DQ_FILTER_STRENGTH); - FPRINT(THROTTLE_FILTER_STRENGTH); - FPRINT(KP_D); - FPRINT(KI_D); - FPRINT(KP_Q); - FPRINT(KI_Q); - FPRINT(SLOW_LOOP_COUNTER); - FPRINT(POLE_PAIRS); - FPRINT(POS_OFFSET); - FPRINT(RESOLVER_LOBES); - DPRINT(CPR); - FPRINT(Ld); - FPRINT(Lq); - FPRINT(FLUX_LINKAGE); - FPRINT(Rs); - FPRINT(KT); - FPRINT(W_SAFE); - FPRINT(W_CRAZY); - DPRINT(TH_LIMIT_LOW); - DPRINT(TH_LIMIT_HIGH); - DPRINT(TH_LIMIT_CRAZY); - DPRINT(ROWS); - DPRINT(COLUMNS); - FPRINT(W_STEP); + pc.printf("%s", ">"); for(;;) { }