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
