Thanks for these suggestions. I'm still not clear how to implement them, but I have some direction for future reading. It sounds as if using "ON INTERRUPT" is generally to be avoided. I'm still not sure whether it will miss events that start and end during a long command, but it definitely would not provide the most elegant solution.

I've looked into Darrel Taylor's interrupt system, and will have to do some more research before I can grasp what is going on. Using the ultra-low-power wake up module is quite tempting. I use a large external battery so power consumption is not that big an issue, but why not save as much as possible? I don't know how to implement the module, but there is some asm code in application note AN879 (http://ww1.microchip.com/downloads/e...tes/00879C.pdf), so perhaps I can start there. If anyone has ever used the low-power wake up, I would love to see some examples.