diagdummy Add srpr2 subcommand for contiguous printing to serial (and testing access races)

This commit is contained in:
2025-11-24 01:00:53 +01:00
parent 9b25dcd691
commit 2faad79559
2 changed files with 19 additions and 2 deletions

View File

@ -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) {

View File

@ -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);
}
}