diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2021-12-01 23:42:19 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2021-12-01 23:42:19 -0700 |
commit | 62715093e446d952bbc3fa82fdb65deacd576be2 (patch) | |
tree | c4fca7d19d8cd73b76c030de8f66eedc1930ec22 /include | |
parent | b1ca00800f34ab86c0a99c46796c73a8028157ff (diff) | |
download | esp32-ws2812b-62715093e446d952bbc3fa82fdb65deacd576be2.tar.gz esp32-ws2812b-62715093e446d952bbc3fa82fdb65deacd576be2.tar.bz2 esp32-ws2812b-62715093e446d952bbc3fa82fdb65deacd576be2.zip |
Add a controller shell.
This adds a mini shell to the tcp server that allows the user
to modify the current state.
Commands are in the form:
set [int_attribute] (=|+=|-=) [number]
set [bool_attribute] (on|off|toggle)
print
end
for example:
set brightness += 5
set power on
print
end
Diffstat (limited to 'include')
-rw-r--r-- | include/sockbuf.h | 39 | ||||
-rw-r--r-- | include/ws2812b_writer.h | 2 |
2 files changed, 40 insertions, 1 deletions
diff --git a/include/sockbuf.h b/include/sockbuf.h new file mode 100644 index 0000000..664e134 --- /dev/null +++ b/include/sockbuf.h @@ -0,0 +1,39 @@ +#pragma once +#ifndef SOCKBUF_H_ +#define SOCKBUF_H_ + +#include <inttypes.h> + +#define SOCKBUF_BUFLEN 128 +#define SOCKBUF_CLOSED 1 + +typedef struct { + uint8_t buf[SOCKBUF_BUFLEN]; + + uint8_t next; + uint8_t last; + + int socket; + uint8_t flags; +} sockbuf_t; + +/* Initialize a sockbuf from the provided file descriptor. */ +sockbuf_t* init_sockbuf(sockbuf_t* sockbuf, int socket); + +/* Writes a null-terminated string to the socket. */ +void sockbuf_write(sockbuf_t* sockbuf, const char* value); + +/* + * Return the next character of the sockbuf or -1 if EOF was reached. + * + * This does not advance the pointer. + */ +int peek_char(sockbuf_t* sockbuf); + +/* + * Return and consume the next character of the sockbuf or -1 if EOF was + * reached. + */ +int get_char(sockbuf_t* sockbuf); + +#endif /* SOCKBUF_H_ */ diff --git a/include/ws2812b_writer.h b/include/ws2812b_writer.h index 2252230..9da9345 100644 --- a/include/ws2812b_writer.h +++ b/include/ws2812b_writer.h @@ -11,7 +11,7 @@ typedef struct { struct { uint32_t time; - int32_t timetick; + int timetick; uint8_t brightness; uint8_t off; uint8_t n_snow; |