summaryrefslogtreecommitdiff
path: root/include/arch/msp430fr5994lp/driver
diff options
context:
space:
mode:
Diffstat (limited to 'include/arch/msp430fr5994lp/driver')
-rw-r--r--include/arch/msp430fr5994lp/driver/stdin.h8
1 files changed, 5 insertions, 3 deletions
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;
}
};