The PA/PB numbers work great for direct port writes - which I've been using for both speed and smaller program space. The names of the register is a bit confusing at times.
Indeed have to keep track of which register they are but PBx is used little: PB0 and PB1 in use by the external crystal oscillator; PB3 is RESET, leaving just PB2.
Thanks for the great work; I put it aside myself for now as I'm still having problems reliably detecting interrupts (in my case: discharging a capacitor, need to know when exactly it reaches the point the pin goes from HIGH to LOW).
wvmarle:
The PA/PB numbers work great for direct port writes...
They are also a mistake. The correct identifiers are DDRA3, PINA3, PORTA3, DDRB3, PINB3, and PORTB3. The short versions were accidentally included for some processors leaving Atmel with no choice but to leave them.