summaryrefslogtreecommitdiff
path: root/usb-i2c-sl018/update-keys.c
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2013-01-29 21:33:29 +0000
committerChristian Pointner <equinox@spreadspace.org>2013-01-29 21:33:29 +0000
commit02eff4be14630986b664f25f5afbad383ab8189f (patch)
tree2a6089303c3c921f1d347d165d940c6ec0348611 /usb-i2c-sl018/update-keys.c
parentsome more cleanup (diff)
better handling for stdio (usb vs serial - works now)
update-keys still not working over serial ...?? git-svn-id: https://svn.spreadspace.org/avr/trunk@95 aa12f405-d877-488e-9caf-2d797e2a1cc7
Diffstat (limited to 'usb-i2c-sl018/update-keys.c')
-rw-r--r--usb-i2c-sl018/update-keys.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usb-i2c-sl018/update-keys.c b/usb-i2c-sl018/update-keys.c
index efeca83..9428fc3 100644
--- a/usb-i2c-sl018/update-keys.c
+++ b/usb-i2c-sl018/update-keys.c
@@ -40,6 +40,7 @@ uint8_t generate_csum(keyslot_t data)
void send_key(keyslot_t key, FILE* dev)
{
fwrite(key, sizeof(keyslot_t), 1, dev);
+ fflush(dev);
char tmp;
while(fread(&tmp, 1, 1, dev)) {
fwrite(&tmp, 1, 1, stdout);
@@ -64,6 +65,8 @@ int main(int argc, char* argv[])
int fd = fileno(dev);
struct termios t;
tcgetattr(fd, &t);
+ t.c_lflag &= ~(ICANON | ECHO);
+ t.c_iflag &= ~(ICRNL | INLCR | IXON | IXOFF);
cfmakeraw(&t);
tcflush(fd, TCIOFLUSH);
tcsetattr(fd, TCSANOW, &t);