+++ /dev/null
-#include <stdio.h>
-#include <inttypes.h>
-
-/* EEPROM data size, not including checksum */
-#define EEP_DATA_SIZE 494
-/* FIXME: actually we should either find a way to include the declaration of
- struct storage_t here or at least make this a command line parameter */
-
-/* code from http://www.nongnu.org/avr-libc/user-manual/group__util__crc.html */
-uint16_t crc16_update(uint16_t crc, uint8_t a)
-{
- int i;
-
- crc ^= a;
- for (i = 0; i < 8; ++i)
- {
- if (crc & 1)
- crc = (crc >> 1) ^ 0xA001;
- else
- crc = (crc >> 1);
- }
-
- return crc;
-}
-
-int main(int argc, char ** argv)
-{
- int i, c;
- uint16_t checksum = 0;
- for (i = 0; i < EEP_DATA_SIZE; i++) {
-
- if ((c = getchar()) == EOF) {
- return 1;
- }
-
- checksum = crc16_update(checksum, c);
-
- if (putchar(c) == EOF) {
- return 2;
- }
- }
- putchar(checksum & 0xff);
- putchar(checksum >> 8);
-
- return 0;
-}
-