Bisogna leggere i messaggi di errore
Ecco il tuo:
Boards.h:270: error: too few arguments to function 'unsigned char readPort(byte, byte)'
Ed ecco la riga incriminata:
outputPort(i, readPort(i));
Come vedi dall'errore, readPort vuole 2 parametri mentre tu gliene passi solo 1