From 51084627f371157b9cddfd38f638be49a497312f Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 27 Jan 2013 23:50:44 +0000 Subject: reading '.' after every keyslot update git-svn-id: https://svn.spreadspace.org/avr/trunk@82 aa12f405-d877-488e-9caf-2d797e2a1cc7 --- usb-i2c-sl018/update-keys.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'usb-i2c-sl018') diff --git a/usb-i2c-sl018/update-keys.c b/usb-i2c-sl018/update-keys.c index 6ea508a..ae22843 100644 --- a/usb-i2c-sl018/update-keys.c +++ b/usb-i2c-sl018/update-keys.c @@ -37,6 +37,16 @@ uint8_t generate_csum(keyslot_t data) return sum2<<4 | sum1; } +void send_key(keyslot_t key, FILE* dev) +{ + fwrite(key, sizeof(keyslot_t), 1, dev); + char tmp; + while(fread(&tmp, 1, 1, dev)) { + fwrite(&tmp, 1, 1, stdout); + if(tmp == '.') break; + } +} + int main(int argc, char* argv[]) { if(argc<2) { @@ -94,7 +104,8 @@ int main(int argc, char* argv[]) key[j] = 0; } key[sizeof(keyslot_t)-1] = generate_csum(key); - fwrite(key, sizeof(keyslot_t), 1, dev); + send_key(key, dev); + key_num++; if(key_num > EEPROM_SIZE/sizeof(keyslot_t)) { fprintf(stderr, "reached maximum number of key slots (%d), will ignore remaining keys\n", EEPROM_SIZE/sizeof(keyslot_t)); @@ -107,7 +118,7 @@ int main(int argc, char* argv[]) int i; for(i=0; i<=sizeof(keyslot_t)-1; ++i) key[i] = 0xFF; for(i=key_num; i < EEPROM_SIZE/sizeof(keyslot_t); ++i) - fwrite(key, sizeof(keyslot_t), 1, dev); + send_key(key, dev); char tmp; while(fread(&tmp, 1, 1, dev)) { -- cgit v1.2.3