Stefan Schuermans commited on 2013-12-28 14:30:17
Showing 2 changed files, with 52 additions and 20 deletions.
| ... | ... |
@@ -32,26 +32,54 @@ static int serial_settings_parse(char *str, int *settings, int *speed) |
| 32 | 32 |
return 0; |
| 33 | 33 |
|
| 34 | 34 |
// baud rate |
| 35 |
- if (baud == 300) |
|
| 36 |
- sp = B300; |
|
| 37 |
- else if (baud == 600) |
|
| 38 |
- sp = B600; |
|
| 39 |
- else if (baud == 1200) |
|
| 40 |
- sp = B1200; |
|
| 41 |
- else if (baud == 2400) |
|
| 42 |
- sp = B2400; |
|
| 43 |
- else if (baud == 4800) |
|
| 44 |
- sp = B4800; |
|
| 45 |
- else if (baud == 9600) |
|
| 46 |
- sp = B9600; |
|
| 47 |
- else if (baud == 19200) |
|
| 48 |
- sp = B19200; |
|
| 49 |
- else if (baud == 38400) |
|
| 50 |
- sp = B38400; |
|
| 51 |
- else if (baud == 57600) |
|
| 52 |
- sp = B57600; |
|
| 53 |
- else if (baud == 115200) |
|
| 54 |
- sp = B115200; |
|
| 35 |
+#define BAUD(rate) else if (baud == rate) sp = B ## rate; |
|
| 36 |
+ if (0) {}
|
|
| 37 |
+ BAUD(300) |
|
| 38 |
+ BAUD(600) |
|
| 39 |
+ BAUD(1200) |
|
| 40 |
+ BAUD(2400) |
|
| 41 |
+ BAUD(4800) |
|
| 42 |
+ BAUD(9600) |
|
| 43 |
+ BAUD(19200) |
|
| 44 |
+ BAUD(38400) |
|
| 45 |
+ BAUD(57600) |
|
| 46 |
+ BAUD(115200) |
|
| 47 |
+#ifdef B230400 |
|
| 48 |
+ BAUD(230400) |
|
| 49 |
+#endif |
|
| 50 |
+#ifdef B460800 |
|
| 51 |
+ BAUD(460800) |
|
| 52 |
+#endif |
|
| 53 |
+#ifdef B576000 |
|
| 54 |
+ BAUD(576000) |
|
| 55 |
+#endif |
|
| 56 |
+#ifdef B921600 |
|
| 57 |
+ BAUD(921600) |
|
| 58 |
+#endif |
|
| 59 |
+#ifdef B1000000 |
|
| 60 |
+ BAUD(1000000) |
|
| 61 |
+#endif |
|
| 62 |
+#ifdef B1152000 |
|
| 63 |
+ BAUD(1152000) |
|
| 64 |
+#endif |
|
| 65 |
+#ifdef B1500000 |
|
| 66 |
+ BAUD(1500000) |
|
| 67 |
+#endif |
|
| 68 |
+#ifdef B2000000 |
|
| 69 |
+ BAUD(2000000) |
|
| 70 |
+#endif |
|
| 71 |
+#ifdef B2500000 |
|
| 72 |
+ BAUD(2500000) |
|
| 73 |
+#endif |
|
| 74 |
+#ifdef B3000000 |
|
| 75 |
+ BAUD(3000000) |
|
| 76 |
+#endif |
|
| 77 |
+#ifdef B3500000 |
|
| 78 |
+ BAUD(3500000) |
|
| 79 |
+#endif |
|
| 80 |
+#ifdef B4000000 |
|
| 81 |
+ BAUD(4000000) |
|
| 82 |
+#endif |
|
| 55 | 83 |
else {
|
| 56 | 84 |
printf("illegal baudrate: %d\n", baud);
|
| 57 | 85 |
return 0; |