http://mbed.org/users/okini3939/notebook/melinverter
Dependencies: mbed RingBuffer MelInverter
main.cpp@0:da7944d01fd0, 2012-03-29 (annotated)
- Committer:
- okini3939
- Date:
- Thu Mar 29 06:14:05 2012 +0000
- Revision:
- 0:da7944d01fd0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:da7944d01fd0 | 1 | #include "mbed.h" |
okini3939 | 0:da7944d01fd0 | 2 | #include "MelInverter.h" |
okini3939 | 0:da7944d01fd0 | 3 | |
okini3939 | 0:da7944d01fd0 | 4 | DigitalOut myled(LED1); |
okini3939 | 0:da7944d01fd0 | 5 | Serial pc(USBTX, USBRX); |
okini3939 | 0:da7944d01fd0 | 6 | |
okini3939 | 0:da7944d01fd0 | 7 | MelInverter mel(p28, p27); |
okini3939 | 0:da7944d01fd0 | 8 | |
okini3939 | 0:da7944d01fd0 | 9 | int main() { |
okini3939 | 0:da7944d01fd0 | 10 | int i; |
okini3939 | 0:da7944d01fd0 | 11 | char c; |
okini3939 | 0:da7944d01fd0 | 12 | char buf[20]; |
okini3939 | 0:da7944d01fd0 | 13 | |
okini3939 | 0:da7944d01fd0 | 14 | pc.baud(115200); |
okini3939 | 0:da7944d01fd0 | 15 | |
okini3939 | 0:da7944d01fd0 | 16 | pc.printf("MelInverter\r\n"); |
okini3939 | 0:da7944d01fd0 | 17 | |
okini3939 | 0:da7944d01fd0 | 18 | myled = 1; |
okini3939 | 0:da7944d01fd0 | 19 | for (;;) { |
okini3939 | 0:da7944d01fd0 | 20 | if (pc.readable()) { |
okini3939 | 0:da7944d01fd0 | 21 | c = pc.getc(); |
okini3939 | 0:da7944d01fd0 | 22 | pc.putc(c); |
okini3939 | 0:da7944d01fd0 | 23 | switch (c) { |
okini3939 | 0:da7944d01fd0 | 24 | case 'r': |
okini3939 | 0:da7944d01fd0 | 25 | // cw |
okini3939 | 0:da7944d01fd0 | 26 | mel.send(0, MELCMD_RUN, "02"); |
okini3939 | 0:da7944d01fd0 | 27 | break; |
okini3939 | 0:da7944d01fd0 | 28 | case 'c': |
okini3939 | 0:da7944d01fd0 | 29 | // ccw |
okini3939 | 0:da7944d01fd0 | 30 | mel.send(0, MELCMD_RUN, "04"); |
okini3939 | 0:da7944d01fd0 | 31 | break; |
okini3939 | 0:da7944d01fd0 | 32 | case 's': |
okini3939 | 0:da7944d01fd0 | 33 | // stop |
okini3939 | 0:da7944d01fd0 | 34 | mel.send(0, MELCMD_RUN, "00"); |
okini3939 | 0:da7944d01fd0 | 35 | break; |
okini3939 | 0:da7944d01fd0 | 36 | case '0': |
okini3939 | 0:da7944d01fd0 | 37 | case '1': |
okini3939 | 0:da7944d01fd0 | 38 | case '2': |
okini3939 | 0:da7944d01fd0 | 39 | case '3': |
okini3939 | 0:da7944d01fd0 | 40 | case '4': |
okini3939 | 0:da7944d01fd0 | 41 | case '5': |
okini3939 | 0:da7944d01fd0 | 42 | case '6': |
okini3939 | 0:da7944d01fd0 | 43 | // freq x10Hz |
okini3939 | 0:da7944d01fd0 | 44 | sprintf(buf, "%04X", (c - '0') * 1000); |
okini3939 | 0:da7944d01fd0 | 45 | mel.send(0, MELCMD_FREQ, buf); |
okini3939 | 0:da7944d01fd0 | 46 | break; |
okini3939 | 0:da7944d01fd0 | 47 | case '?': |
okini3939 | 0:da7944d01fd0 | 48 | // name |
okini3939 | 0:da7944d01fd0 | 49 | mel.send(0, MELCMD_NAME_R, ""); |
okini3939 | 0:da7944d01fd0 | 50 | i = mel.recv(0, buf, sizeof(buf) - 1); |
okini3939 | 0:da7944d01fd0 | 51 | buf[i] = 0; |
okini3939 | 0:da7944d01fd0 | 52 | pc.printf("recv: %s\r\n", buf); |
okini3939 | 0:da7944d01fd0 | 53 | break; |
okini3939 | 0:da7944d01fd0 | 54 | } |
okini3939 | 0:da7944d01fd0 | 55 | } |
okini3939 | 0:da7944d01fd0 | 56 | } |
okini3939 | 0:da7944d01fd0 | 57 | |
okini3939 | 0:da7944d01fd0 | 58 | } |