* pgm.[ch], main.c, par.c, avr910.c, butterfly.c, stk500.c:

Move save/restore-functionality into open/close.
	* par.c: open/close now saves/restores PPICTRL, too.
	* TODO: exitspecs don't work if RESET is in PPICTRL.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@407 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Jan-Hinnerk Reichert
2004-01-28 20:01:44 +00:00
parent 27456c9052
commit ab9c7f69a3
9 changed files with 59 additions and 106 deletions

View File

@@ -42,6 +42,7 @@ typedef struct programmer_t {
char port[PGM_PORTLEN];
unsigned int pinno[N_PINS];
int ppidata;
int ppictrl;
int baudrate;
int fd;
int page_size; /* page size if the programmer supports paged write/load */
@@ -51,8 +52,6 @@ typedef struct programmer_t {
int (*vfy_led) (struct programmer_t * pgm, int value);
int (*initialize) (struct programmer_t * pgm, AVRPART * p);
void (*display) (struct programmer_t * pgm, char * p);
int (*save) (struct programmer_t * pgm);
void (*restore) (struct programmer_t * pgm);
void (*enable) (struct programmer_t * pgm);
void (*disable) (struct programmer_t * pgm);
void (*powerup) (struct programmer_t * pgm);
@@ -61,7 +60,7 @@ typedef struct programmer_t {
int (*chip_erase) (struct programmer_t * pgm, AVRPART * p);
int (*cmd) (struct programmer_t * pgm, unsigned char cmd[4],
unsigned char res[4]);
void (*open) (struct programmer_t * pgm, char * port);
int (*open) (struct programmer_t * pgm, char * port);
void (*close) (struct programmer_t * pgm);
int (*paged_write) (struct programmer_t * pgm, AVRPART * p, AVRMEM * m,
int page_size, int n_bytes);