diff --git a/user/diagdummy/diagdummy.c b/user/diagdummy/diagdummy.c index f76bddc..dbffe8a 100644 --- a/user/diagdummy/diagdummy.c +++ b/user/diagdummy/diagdummy.c @@ -2,7 +2,7 @@ #define CMDS(X) \ X(block) X(openf) \ - X(serialprint) + X(srpr) X(srpr2) \ void main(void) { if (argslen() == 0) { diff --git a/user/diagdummy/serial.c b/user/diagdummy/serial.c index 04e9848..59980d8 100644 --- a/user/diagdummy/serial.c +++ b/user/diagdummy/serial.c @@ -7,7 +7,7 @@ #define RECVB 2 #define RECVREADY 3 -void diagdummy_serialprint(void) { +void diagdummy_srpr(void) { char *str = "Hello world\n"; if (argslen() >= 2) { @@ -24,3 +24,20 @@ void diagdummy_serialprint(void) { s++; } } + +void diagdummy_srpr2(void) { + if (argslen() < 2) { + return; + } + + char *str = args()[1]; + + Dev_t serialdev; + dev_gethandle(&serialdev, "serialdev"); + + for (;;) { + while (!dev_cmd(&serialdev, SENDREADY, NULL, 0)); + dev_cmd(&serialdev, SENDB, str, 1); + schedsleep(500); + } +}