diff --git a/src/common/parser.c b/src/common/parser.c index f5b79e4..4e2f516 100644 --- a/src/common/parser.c +++ b/src/common/parser.c @@ -3,16 +3,16 @@ #include #include #include -#include #define CMD_MAX_LEN 128 // TODO: Write documentation. -// TODO: Implement start and stop commands. // TODO: Reset command buffer on timeout. +// TODO: Test with different RXBUF sizes. +// TODO: Add commands update, start and stop. static char cmdbuf[CMD_MAX_LEN + 1]; -static char *tail = cmdbuf + CMD_MAX_LEN - 1; +static char *tail = cmdbuf + CMD_MAX_LEN; static char *head = cmdbuf; static bool ParseLine(cmd_t *out); @@ -29,13 +29,13 @@ bool CMD_Parse(char ch, cmd_t *out) if (ch == '\n' || ch == '\r') { is_valid = ParseLine(out); - tail = cmdbuf + CMD_MAX_LEN - 1; + tail = cmdbuf + CMD_MAX_LEN; head = cmdbuf; return is_valid; } - if (head < tail) { + if (head < tail - 1) { *head++ = ch; *head = '\0'; } diff --git a/src/main.c b/src/main.c index 38d8409..204b233 100644 --- a/src/main.c +++ b/src/main.c @@ -34,7 +34,7 @@ static float rhum; static int Init(void); static void Update(void); static void SetTarget(float t, float td); -static void GetSensorState(void); +static void FetchSensorValues(void); static int Init(void) { @@ -156,8 +156,8 @@ static void Update(void) } } - // Poll sensor values - GetSensorState(); + // Get sensor values + FetchSensorValues(); // Handle state switch (state) { @@ -198,7 +198,7 @@ static void SetTarget(float t, float td) dewp_target = td; } -static void GetSensorState(void) +static void FetchSensorValues(void) { word raw; float t[6], rh[3], td[3];