Finally I've modified the library to use the abstraction functions, easy for single bit control signals (R/W, CS and so on)... except for the data bus...
I have multiple shields using the pins 0 to 7 (scrambled through ports D and F) as bidirectional databus. Using digitalWrite/Read is not a good solution for me because of the speed. I would like to read/write very quickly the 8 bits... As far I know there is no abstraction function to do that, so I'm implementing home made solution. I evaluated the usage of bit shift & logical operation but it is still consuming too much time (I want to keep the CPU power for processing, not for stupid IO patching). So finally I'm moving to a solution using byte cross-ref const tables. It consumes Flash but it is very fast. Perhaps there is other solution, any other idea is welcome
But again, it's very sad that pins 0 to 7 are mapped to RF & RD... while there is a pin to pin mapping between RE0->RE7 and pins 26 to 33, located just beside, same connector! It would have been so easiest to get it on pins 0 to 7 instead...
Perhaps a suggestion for the next version
By the way, I need to use Analog A0 to A5 as digital output. Abstraction functions do not allow to control them using digitalWrite, does it? So in my library, I'm using PORTSSetPinsDigitalOut, PORTClearBits and PORTSetBits on IOPORT_B... is it the right solution?
Thx,
/Phil