Bayley Wang
/
pyroflex_AND
control the laser with the MBED
CommandProcessor/cmd_set_get.cpp@1:d42ef49f54df, 2019-11-11 (annotated)
- Committer:
- bwang
- Date:
- Mon Nov 11 03:38:40 2019 +0000
- Revision:
- 1:d42ef49f54df
added command line
Who changed what in which revision?
User | Revision | Line number | New 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 | } |