control the laser with the MBED

Dependencies:   mbed

Committer:
bwang
Date:
Mon Nov 11 03:38:40 2019 +0000
Revision:
1:d42ef49f54df
added command line

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 1:d42ef49f54df 1 #include "mbed.h"
bwang 1:d42ef49f54df 2 #include "CommandProcessor.h"
bwang 1:d42ef49f54df 3
bwang 1:d42ef49f54df 4 #include "defaults.h"
bwang 1:d42ef49f54df 5 #include "prefs.h"
bwang 1:d42ef49f54df 6 #include "globals.h"
bwang 1:d42ef49f54df 7
bwang 1:d42ef49f54df 8 void cmd_ls(Serial *pc) {
bwang 1:d42ef49f54df 9 DPRINT(PULSE_WIDTH);
bwang 1:d42ef49f54df 10 DPRINT(PULSE_FREQ);
bwang 1:d42ef49f54df 11 }
bwang 1:d42ef49f54df 12
bwang 1:d42ef49f54df 13 #define ls_specialf(a) if (strcmp(buf, #a) == 0) {pc->printf("%s: %f\n", #a, a); return;}
bwang 1:d42ef49f54df 14 #define ls_speciald(a) if (strcmp(buf, #a) == 0) {pc->printf("%s: %d\n", #a, a); return;}
bwang 1:d42ef49f54df 15 void cmd_ls2(Serial *pc, char *buf) {
bwang 1:d42ef49f54df 16 float *fptr = checkf(buf);
bwang 1:d42ef49f54df 17 if (fptr != NULL) pc->printf("%s: %f\n", buf, *fptr);
bwang 1:d42ef49f54df 18 int *nptr = NULL;
bwang 1:d42ef49f54df 19 if (fptr == NULL) nptr = checkn(buf);
bwang 1:d42ef49f54df 20 if (nptr != NULL) pc->printf("%s: %d\n", buf, *nptr);
bwang 1:d42ef49f54df 21 if (nptr == NULL && fptr == NULL) pc->printf("%s\n", "No Such Parameter");
bwang 1:d42ef49f54df 22 }
bwang 1:d42ef49f54df 23
bwang 1:d42ef49f54df 24 void cmd_defaults(Serial *pc) {
bwang 1:d42ef49f54df 25 DEFAULT(PULSE_WIDTH);
bwang 1:d42ef49f54df 26 DEFAULT(PULSE_FREQ);
bwang 1:d42ef49f54df 27 pc->printf("Defaults Loaded\n");
bwang 1:d42ef49f54df 28 }
bwang 1:d42ef49f54df 29
bwang 1:d42ef49f54df 30 void cmd_set(Serial *pc, char *buf, char *val) {
bwang 1:d42ef49f54df 31 float *fptr = checkf(buf);
bwang 1:d42ef49f54df 32 if (fptr != NULL) *fptr = (float) (atof(val));
bwang 1:d42ef49f54df 33 int *nptr = NULL;
bwang 1:d42ef49f54df 34 if (fptr == NULL) nptr = checkn(buf);
bwang 1:d42ef49f54df 35 if (nptr != NULL) *nptr = (int) (atoi(val));
bwang 1:d42ef49f54df 36 if (nptr != NULL || fptr != NULL) cmd_ls2(pc, buf);
bwang 1:d42ef49f54df 37 if (nptr == NULL && fptr == NULL) pc->printf("%s\n", "No Such Parameter");
bwang 1:d42ef49f54df 38
bwang 1:d42ef49f54df 39 if (strcmp(buf, "PULSE_FREQ") == 0) {
bwang 1:d42ef49f54df 40 out.period_us(1000 / _PULSE_FREQ);
bwang 1:d42ef49f54df 41 }
bwang 1:d42ef49f54df 42 }