35 lines
657 B
C++
35 lines
657 B
C++
|
#include "Serial.h"
|
||
|
|
||
|
InputEvent
|
||
|
Serial::read()
|
||
|
{
|
||
|
while (Serial.available() > 0) {
|
||
|
char nextChar = Serial.read();
|
||
|
if (nextChar == '\n') {
|
||
|
doCommand();
|
||
|
m_buf = "";
|
||
|
} else {
|
||
|
m_buf += nextChar;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void
|
||
|
Serial::doCommand() {
|
||
|
if (command == "tasks") {
|
||
|
Serial.println("Tasks:");
|
||
|
auto sched = MainLoop::instance()->scheduler;
|
||
|
for(auto task : sched.tasks) {
|
||
|
bool isFigment = task->isFigment();
|
||
|
if (isFigment) {
|
||
|
Serial.println("F " + task->name);
|
||
|
} else {
|
||
|
Serial.println("T " + task->name);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
STATIC_ALLOC(SerialInput);
|
||
|
STATIC_TASK(SerialInput);
|