Fix parser tail pointer semantics and add further TODO

This commit is contained in:
2024-09-23 17:13:19 +02:00
parent 9aede09a2f
commit 47188c0bc8
2 changed files with 9 additions and 9 deletions

View File

@@ -3,16 +3,16 @@
#include <stdlib.h>
#include <ctype.h>
#include <errno.h>
#include <avr/io.h>
#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';
}

View File

@@ -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];