I created another bug :-(. Version 1.6 is out; includes a couple of enhancements. The changes are these:
Set the value of the current register settings, first thing in each ISR; e.g.,
ISR(PCINT0_vect) {
PCintPort::curr = portB.portInputReg; // version 1.6
...
...instead of at the beginning of the PCintPort::PCint() static method.
This means that the port is read closer to the beginning of the interrupt,
and may be slightly more accurate- only by a couple of microseconds, really,
but it's a cheap win.
Fixed a bug- a BUG!- in the attachInterrupt() and detachInterrupt() methods.
I didn't have breaks in my switch statements! Augh! What am I, a (UNIX) shell
programmer? ...Uh, generally, yes...
Added the PINMODE define and the PCintPort::pinmode variable. See the Usage
Wiki page on the website for more info.