bad dc motor controller with current mode

Dependencies:   mbed FastPWM3

Committer:
bwang
Date:
Sun Feb 03 03:38:05 2019 +0000
Revision:
0:2b1edabdd26b
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 0:2b1edabdd26b 1 #include "mbed.h"
bwang 0:2b1edabdd26b 2 #include "CommandProcessor.h"
bwang 0:2b1edabdd26b 3
bwang 0:2b1edabdd26b 4 #include "globals.h"
bwang 0:2b1edabdd26b 5
bwang 0:2b1edabdd26b 6 void cmd_setp(Serial *pc, char *buf) {
bwang 0:2b1edabdd26b 7 float dtc = atof(buf);
bwang 0:2b1edabdd26b 8 if (dtc < 0.0f) dtc = 0.0f;
bwang 0:2b1edabdd26b 9 if (dtc > 1.0f) dtc = 1.0f;
bwang 0:2b1edabdd26b 10 user_cmd = dtc;
bwang 0:2b1edabdd26b 11 }
bwang 0:2b1edabdd26b 12
bwang 0:2b1edabdd26b 13 void cmd_freq(Serial *pc, char *buf) {
bwang 0:2b1edabdd26b 14 float freq = atof(buf);
bwang 0:2b1edabdd26b 15 if (freq < 500.0f) freq = 500.0f;
bwang 0:2b1edabdd26b 16 if (freq > 10000.0f) freq = 10000.0f;
bwang 0:2b1edabdd26b 17 TIM1->ARR = (int) ((float) 9e7 / freq);
bwang 0:2b1edabdd26b 18 }
bwang 0:2b1edabdd26b 19
bwang 0:2b1edabdd26b 20 void cmd_src(Serial *pc, char *buf) {
bwang 0:2b1edabdd26b 21 int n = str_to_src(buf);
bwang 0:2b1edabdd26b 22 if (n < 0) {
bwang 0:2b1edabdd26b 23 pc->printf("%s\n", "Invalid Source");
bwang 0:2b1edabdd26b 24 return;
bwang 0:2b1edabdd26b 25 }
bwang 0:2b1edabdd26b 26 BREMS_src = n;
bwang 0:2b1edabdd26b 27 pc->printf("Set source to %s\n", src_to_str(n));
bwang 0:2b1edabdd26b 28 }
bwang 0:2b1edabdd26b 29
bwang 0:2b1edabdd26b 30 void cmd_op(Serial *pc, char *buf) {
bwang 0:2b1edabdd26b 31 int n = str_to_op(buf);
bwang 0:2b1edabdd26b 32 if (n < 0) {
bwang 0:2b1edabdd26b 33 pc->printf("%s\n", "Invalid operation");
bwang 0:2b1edabdd26b 34 return;
bwang 0:2b1edabdd26b 35 }
bwang 0:2b1edabdd26b 36 BREMS_op = n;
bwang 0:2b1edabdd26b 37 pc->printf("Set operation to %s\n", op_to_str(n));
bwang 0:2b1edabdd26b 38 }
bwang 0:2b1edabdd26b 39