diff --git a/user/diagdummy/diagdummy.c b/user/diagdummy/diagdummy.c index fd2399e..f76bddc 100644 --- a/user/diagdummy/diagdummy.c +++ b/user/diagdummy/diagdummy.c @@ -1,7 +1,8 @@ #include #define CMDS(X) \ - X(block) X(openf) + X(block) X(openf) \ + X(serialprint) void main(void) { if (argslen() == 0) { diff --git a/user/diagdummy/serial.c b/user/diagdummy/serial.c new file mode 100644 index 0000000..df9288f --- /dev/null +++ b/user/diagdummy/serial.c @@ -0,0 +1,21 @@ +#include +#include +#include + +void diagdummy_serialprint(void) { + char *str = "Hello world\n"; + + if (argslen() >= 2) { + str = args()[1]; + } + + Dev_t serialdev; + dev_gethandle(&serialdev, "serialdev"); + + char *s = str; + while (*s) { + while(!dev_cmd(&serialdev, DEV_SERIALDEV_SENDREADY, NULL, 0)); + dev_cmd(&serialdev, DEV_SERIALDEV_SENDB, s, 1); + s++; + } +}