mirror of
https://github.com/mariusgreuel/avrdude.git
synced 2025-12-18 03:14:42 +00:00
Rework of bitbanging functions setpin, getpin, highpulsepin to make simplier use of new pindefs data in pgm structure
* linuxgpio.c, bitbang.c, buspirate.c, par.c, pgm.h, term.c, serbb_*.c: changed interface of setpin, getpin, highpulsepin to take pin function as parameter (not the real number, which can be found by pgm->pinno[function]) git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1252 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
21
buspirate.c
21
buspirate.c
@@ -1191,10 +1191,11 @@ static void buspirate_bb_enable(struct programmer_t *pgm)
|
||||
Both respond with a byte with current status:
|
||||
0|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS
|
||||
*/
|
||||
static int buspirate_bb_getpin(struct programmer_t *pgm, int pin)
|
||||
static int buspirate_bb_getpin(struct programmer_t *pgm, int pinfunc)
|
||||
{
|
||||
unsigned char buf[10];
|
||||
int value = 0;
|
||||
int pin = pgm->pinno[pinfunc];
|
||||
|
||||
if (pin & PIN_INVERSE) {
|
||||
pin &= PIN_MASK;
|
||||
@@ -1227,7 +1228,7 @@ static int buspirate_bb_getpin(struct programmer_t *pgm, int pin)
|
||||
return value;
|
||||
}
|
||||
|
||||
static int buspirate_bb_setpin(struct programmer_t *pgm, int pin, int value)
|
||||
static int buspirate_bb_setpin_internal(struct programmer_t *pgm, int pin, int value)
|
||||
{
|
||||
unsigned char buf[10];
|
||||
|
||||
@@ -1258,23 +1259,29 @@ static int buspirate_bb_setpin(struct programmer_t *pgm, int pin, int value)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int buspirate_bb_highpulsepin(struct programmer_t *pgm, int pin)
|
||||
static int buspirate_bb_setpin(struct programmer_t *pgm, int pinfunc, int value)
|
||||
{
|
||||
return buspirate_bb_setpin_internal(pgm, pgm->pinno[pinfunc], value);
|
||||
}
|
||||
|
||||
|
||||
static int buspirate_bb_highpulsepin(struct programmer_t *pgm, int pinfunc)
|
||||
{
|
||||
int ret;
|
||||
ret = buspirate_bb_setpin(pgm, pin, 1);
|
||||
ret = buspirate_bb_setpin(pgm, pinfunc, 1);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return buspirate_bb_setpin(pgm, pin, 0);
|
||||
return buspirate_bb_setpin(pgm, pinfunc, 0);
|
||||
}
|
||||
|
||||
static void buspirate_bb_powerup(struct programmer_t *pgm)
|
||||
{
|
||||
buspirate_bb_setpin(pgm, 7, 1);
|
||||
buspirate_bb_setpin_internal(pgm, 7, 1);
|
||||
}
|
||||
|
||||
static void buspirate_bb_powerdown(struct programmer_t *pgm)
|
||||
{
|
||||
buspirate_bb_setpin(pgm, 7, 0);
|
||||
buspirate_bb_setpin_internal(pgm, 7, 0);
|
||||
}
|
||||
|
||||
const char buspirate_bb_desc[] = "Using the Bus Pirate's bitbang interface for programming";
|
||||
|
||||
Reference in New Issue
Block a user