Jerry Messina wrote:>That's pretty much what the main board is doing
Doesn't that keep reset asserted while DTR is true?
No. The DTR signal is passed through a capacitor/resistor network which turns it into a short pulse. It in effect acts like a high pass filter removing the low frequency (DC) component of the DTR signal and just using the higher frequency content of the leading / trailing edges.
Jerry Messina wrote:Having that large a cap on the MCLR line would give the ICSP fits, and could cause power up/down issues as well.
I'm not suggesting it remain there all the time, just add it once you have finished the programming / development phase and you're ready to embed it. If you need it removable in an embedded board a simple jumper would suffice. As for power up/down issues, I have never come across any. Worst case the reset would be held low for longer than the internal POR timer holds it low anyway, so a slight delay in program start.
Arduino boards (and ChipKIT ones) have a small exposed track that can be cut to disable the DTR functionality completely - maybe we should consider adding this? They had it originally because they used the FT232 chip which of course you couldn't reprogram, so the DTR was always enabled regardless. If you have the facilities to reprogram the PIC18 then that is probably the best way to go as it is completely reversible.