Handle numeric arguments for TEMP/DEWP commands
This commit is contained in:
49
src/main.c
49
src/main.c
@@ -2,22 +2,63 @@
|
||||
#include "serial.h"
|
||||
#include "parser.h"
|
||||
|
||||
bool running;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
unsigned long i;
|
||||
char ch;
|
||||
unsigned long i = 1;
|
||||
|
||||
running = true;
|
||||
USART_Init();
|
||||
|
||||
for (i = 1;; i++) {
|
||||
if (i >= 99999) i = 1;
|
||||
USART_Printf("[CORE] Fetching sensors #%05lu...\r\n", i);
|
||||
for (;;) {
|
||||
// Process rx ring buffer
|
||||
while ((ch = USART_GetChar())) {
|
||||
CMD_Parse(ch);
|
||||
}
|
||||
|
||||
Sleep(3000);
|
||||
|
||||
if (!running)
|
||||
continue;
|
||||
|
||||
// TODO: Main program
|
||||
if (i >= 99999) i = 1;
|
||||
USART_Printf("[CORE] Fetching sensors #%05lu...\r\n", i++);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Enable(void)
|
||||
{
|
||||
USART_Printf("[CORE] Parsed 'CMD_RUN' token.\r\n");
|
||||
running = true;
|
||||
}
|
||||
|
||||
void Disable(void)
|
||||
{
|
||||
USART_Printf("[CORE] Parsed 'CMD_STOP' token.\r\n");
|
||||
running = false;
|
||||
}
|
||||
|
||||
void SetTemp(long val)
|
||||
{
|
||||
USART_Printf("[CORE] Parsed 'CMD_SET_TEMP', VAL='%ld'.\r\n", val);
|
||||
if (val < 10) {
|
||||
USART_Printf("[CORE] Error: Given temperature is too low.\r\n");
|
||||
} else if (val > 40) {
|
||||
USART_Printf("[CORE] Error: Given temperature is too high.\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
void SetDewp(long val)
|
||||
{
|
||||
USART_Printf("[CORE] Parsed 'CMD_SET_DEWP', VAL='%ld'.\r\n", val);
|
||||
if (val < 10) {
|
||||
USART_Printf("[CORE] Error: Given dew point is too low.\r\n");
|
||||
} else if (val > 80) {
|
||||
USART_Printf("[CORE] Error: Given dew point is too high.\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user