#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include <avr/io.h>
#include <avr/power.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>

#include <util/delay.h>

#if (F_CPU != 32000000)
#warning clock should better be 32MHz - USB needs it
#endif


extern void USBInit(void);
extern void USBPoll(void);
extern FILE *USBtty0;



int main(void) {
    USBInit();

    for (;;) {
        int c = fgetc(USBtty0);

        if (!(c<0)) {
            // bei gedrueckter Taste eine Ausgabe machen
            fprintf_P(USBtty0,PSTR("\r\nalte Werte\r\n\tADCA.CALL=0x%02x\r\n\tADCA.CALH=0x%02x\r\n"), ADCA.CALL, ADCA.CALH);
            NVM_CMD = NVM_CMD_READ_CALIB_ROW_gc;
            ADCA.CALL=pgm_read_byte(PROD_SIGNATURES_START+&PRODSIGNATURES_ADCACAL0);
            ADCA.CALH=pgm_read_byte(PROD_SIGNATURES_START+&PRODSIGNATURES_ADCACAL1);
            NVM_CMD = NVM_CMD_NO_OPERATION_gc;
            fprintf_P(USBtty0,PSTR("\r\nneue Werte\r\n\tADCA.CALL=0x%02x\r\n\tADCA.CALH=0x%02x\r\n"), ADCA.CALL, ADCA.CALH);
        }

        USBPoll();
    }
}