Thanks Doug, that's very helpful info. I'll put together some notes once I've finished my conversion and perhaps we can combine our work into a basic set of docs for this.
Thanks, Jason On Mon, Jan 25, 2010 at 2:13 AM, Doug Brown <[email protected]> wrote: > Hi Jason, > > Funny you should ask; I asked the same thing a few weeks back. The > answer was that there is no developer documentation (above the > developers' corner), but that I am - or anyone else is - welcome to > write notes. This is totally premature, but you're welcome to have a > look at the notes I've taken so far (please note that they're _very_ > _very_ rough - not meant for anyone's eyes bar mine; I'll try to fix > them up sometime soon). > > https://docs.google.com/fileview?id=0B-SPNJUFjfPrYmNkNjJmNDItNDBhNi00OWQyLTliYjgtZWI0Mjg1MGQyZDBl&hl=en > > 2010/1/25 Jason von Nieda <[email protected]>: >> Hi all, >> >> I am the author of AVRFuses ( http://www.vonnieda.org/AVRFuses ) which >> is currently a Mac GUI frontend to command line avrdude. I am in the >> process of converting my program to work directly with libavrdude. >> >> I'm wondering if there's any documentation for the public interface of >> libavrdude? I've spent some time searching and reading quite a bit of >> the source but I am confused about some aspects. >> >> Ideally, I would like to know the sequence of calls for the following >> kind of behavior: >> >> connect to programmer >> set device type >> enable programming >> disable programming >> optionally loop to set device type with different device >> close programmer >> >> It's not clear to me if this kind of behavior is defined. I'm also not >> clear on what certain generic functions are intended to do. For >> instance, I notice that in main.c pgm->enable() is called before the >> part is initialized. Does this indicate that pgm-enable() is intended >> to enable something about the programmer and not specifically enable >> programming mode? >> >> I have found that calling functions in the following order allow me to >> do what I want to do on my AVRISP-mkII but I don't know if this would >> be true on other programmers: >> pgm->open() >> pgm->enable() >> pgm->initialize() >> pgm->disable(); >> optionally loop to pgm->initialize() with a different part >> pgm->powerdown() >> pgm->disable() >> pgm->close() >> >> But that seems somewhat out of order to me. >> >> So, I guess to sum up, if there's any documentation that would be >> great or if not, if someone could define for me what the intent of the >> following functions is that would be awesome: >> pgm->open >> pgm->enable >> pgm->initialize >> pgm->disable >> pgm->powerup >> pgm->powerdown >> pgm->close >> pgm->setup >> pgm->teardown >> pgm->program_enable >> >> Finally, if the idea of being connected to the programmer while >> changing the target device is flawed, I'd love to hear that too :) >> >> Thanks, >> Jason von Nieda >> >> >> _______________________________________________ >> avrdude-dev mailing list >> [email protected] >> http://lists.nongnu.org/mailman/listinfo/avrdude-dev >> > _______________________________________________ avrdude-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avrdude-dev
