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
