X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/6ffa080eb257892c7cad9f80f8bfef99b4896082..39f1c0c136520a3f4746ad6381d1242979125ff3:/firmware/usbasp.h diff --git a/firmware/usbasp.h b/firmware/usbasp.h new file mode 100644 index 000000000..6953e8aa4 --- /dev/null +++ b/firmware/usbasp.h @@ -0,0 +1,58 @@ +/* + * usbasp.c - part of USBasp + * + * Autor..........: Thomas Fischl + * Description....: Definitions and macros for usbasp + * Licence........: GNU GPL v2 (see Readme.txt) + * Creation Date..: 2009-02-28 + * Last change....: 2009-02-28 + */ + +#ifndef USBASP_H_ +#define USBASP_H_ + +/* USB function call identifiers */ +#define USBASP_FUNC_CONNECT 1 +#define USBASP_FUNC_DISCONNECT 2 +#define USBASP_FUNC_TRANSMIT 3 +#define USBASP_FUNC_READFLASH 4 +#define USBASP_FUNC_ENABLEPROG 5 +#define USBASP_FUNC_WRITEFLASH 6 +#define USBASP_FUNC_READEEPROM 7 +#define USBASP_FUNC_WRITEEEPROM 8 +#define USBASP_FUNC_SETLONGADDRESS 9 +#define USBASP_FUNC_SETISPSCK 10 + +/* programming state */ +#define PROG_STATE_IDLE 0 +#define PROG_STATE_WRITEFLASH 1 +#define PROG_STATE_READFLASH 2 +#define PROG_STATE_READEEPROM 3 +#define PROG_STATE_WRITEEEPROM 4 + +/* Block mode flags */ +#define PROG_BLOCKFLAG_FIRST 1 +#define PROG_BLOCKFLAG_LAST 2 + +/* ISP SCK speed identifiers */ +#define USBASP_ISP_SCK_AUTO 0 +#define USBASP_ISP_SCK_0_5 1 /* 500 Hz */ +#define USBASP_ISP_SCK_1 2 /* 1 kHz */ +#define USBASP_ISP_SCK_2 3 /* 2 kHz */ +#define USBASP_ISP_SCK_4 4 /* 4 kHz */ +#define USBASP_ISP_SCK_8 5 /* 8 kHz */ +#define USBASP_ISP_SCK_16 6 /* 16 kHz */ +#define USBASP_ISP_SCK_32 7 /* 32 kHz */ +#define USBASP_ISP_SCK_93_75 8 /* 93.75 kHz */ +#define USBASP_ISP_SCK_187_5 9 /* 187.5 kHz */ +#define USBASP_ISP_SCK_375 10 /* 375 kHz */ +#define USBASP_ISP_SCK_750 11 /* 750 kHz */ +#define USBASP_ISP_SCK_1500 12 /* 1.5 MHz */ + +/* macros for gpio functions */ +#define ledRedOn() PORTC &= ~(1 << PC1) +#define ledRedOff() PORTC |= (1 << PC1) +#define ledGreenOn() PORTC &= ~(1 << PC0) +#define ledGreenOff() PORTC |= (1 << PC0) + +#endif /* USBASP_H_ */