summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2022-01-16 18:36:36 +0100
committerDaniel Friesel <derf@finalrewind.org>2022-01-16 18:36:36 +0100
commitfb6e2fed7132ae776c62aecc2ee09ad532d482d3 (patch)
treea7a83b9d78f4972b2f2ac513b02f4fc8e49d8e6e /include
parent84f2392ec92f63963912f18726d16e87d0d0925f (diff)
msp430fr: use 16-byte uart input buffer
Diffstat (limited to 'include')
-rw-r--r--include/arch/msp430fr5969lp/driver/stdin.h8
-rw-r--r--include/arch/msp430fr5994lp/driver/stdin.h8
2 files changed, 10 insertions, 6 deletions
diff --git a/include/arch/msp430fr5969lp/driver/stdin.h b/include/arch/msp430fr5969lp/driver/stdin.h
index 1085111..7b78a9a 100644
--- a/include/arch/msp430fr5969lp/driver/stdin.h
+++ b/include/arch/msp430fr5969lp/driver/stdin.h
@@ -9,8 +9,10 @@
class StandardInput {
private:
StandardInput(const StandardInput &copy);
- char buffer[8];
- unsigned char write_pos, read_pos;
+ static unsigned char const bufsize = 16;
+ char buffer[bufsize];
+ volatile unsigned char write_pos;
+ unsigned char read_pos;
public:
StandardInput() : write_pos(0), read_pos(0) {}
@@ -20,7 +22,7 @@ class StandardInput {
inline void addKey(char key) {
buffer[write_pos++] = key;
- write_pos %= 8;
+ write_pos %= bufsize;
}
};
diff --git a/include/arch/msp430fr5994lp/driver/stdin.h b/include/arch/msp430fr5994lp/driver/stdin.h
index 1085111..7b78a9a 100644
--- a/include/arch/msp430fr5994lp/driver/stdin.h
+++ b/include/arch/msp430fr5994lp/driver/stdin.h
@@ -9,8 +9,10 @@
class StandardInput {
private:
StandardInput(const StandardInput &copy);
- char buffer[8];
- unsigned char write_pos, read_pos;
+ static unsigned char const bufsize = 16;
+ char buffer[bufsize];
+ volatile unsigned char write_pos;
+ unsigned char read_pos;
public:
StandardInput() : write_pos(0), read_pos(0) {}
@@ -20,7 +22,7 @@ class StandardInput {
inline void addKey(char key) {
buffer[write_pos++] = key;
- write_pos %= 8;
+ write_pos %= bufsize;
}
};