As Dean Camera wrote: > I don't > really expect Joerg or the other developers to put in extra effort to > make my clone firmware work correctly.
Clone or not, that doesn't matter here. AVRDUDEs goal is to be able to talk to any known general-use AVR programmer around. > The first is the fixing of the endpoint selection, ... I don't mind improving that heuristics. The way it is now, I simply didn't spend any effort into an automatic selection, since basically, the EP numbers are written down in the Atmel protocol documents, so it wasn't envisioned they would ever change. If someone wants to put in a real heuristic here, please go ahead, and do it. The only requirement is that it doesn't break support for any of the official tools, or anything else using the libusb code by now. For the JTAGICE3, keep in mind there are two fundamentally different firmware levels that need to be supported. FW version up to 2.x use two bulk EPs for communication, plus one interrupt EP for event reporting, while 3.x firmware uses two interrupt EPs (HID class) for everything. So creating a heuristic that works with every device without being required to add special hacks based on individual product strings or PIDs is a bit of a challenge, but not impossible. > The second issue is the serial drain code in AVRDude tripping up my > limited bidirectional endpoint code. I'm not sure how useful all the draining stuff is at all if the backend is sitting on USB. Basically, it's there since the days when programmer have been connected to real serial devices. The current implementation of usbdev_drain() is meant to be as little intrusive as possible though: read from the EP until it tells there are no more data around. -- cheers, Joerg .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-) _______________________________________________ avrdude-dev mailing list avrdude-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/avrdude-dev