diagdummy Add srpr2 subcommand for contiguous printing to serial (and testing access races)
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#define CMDS(X) \
|
#define CMDS(X) \
|
||||||
X(block) X(openf) \
|
X(block) X(openf) \
|
||||||
X(serialprint)
|
X(srpr) X(srpr2) \
|
||||||
|
|
||||||
void main(void) {
|
void main(void) {
|
||||||
if (argslen() == 0) {
|
if (argslen() == 0) {
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
#define RECVB 2
|
#define RECVB 2
|
||||||
#define RECVREADY 3
|
#define RECVREADY 3
|
||||||
|
|
||||||
void diagdummy_serialprint(void) {
|
void diagdummy_srpr(void) {
|
||||||
char *str = "Hello world\n";
|
char *str = "Hello world\n";
|
||||||
|
|
||||||
if (argslen() >= 2) {
|
if (argslen() >= 2) {
|
||||||
@ -24,3 +24,20 @@ void diagdummy_serialprint(void) {
|
|||||||
s++;
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user