#ifdef ARDUINO_MAIN
const uint16_t PROGMEM port_to_mode_PGM[] = {
NOT_A_PORT,
(uint16_t) &DDRA,
(uint16_t) &DDRB,
(uint16_t) &DDRC,
(uint16_t) &DDRD,
(uint16_t) &DDRE,
(uint16_t) &DDRF,
(uint16_t) &DDRG,
(uint16_t) &DDRH,
NOT_A_PORT;
(uint16_t) &DDRJ, // ddr J is already defined
(uint16_t) &DDRK,
(uint16_t) &DDRL,
};
const uint16_t PROGMEM port_to_output_PGM[] = {
NOT_A_PORT,
(uint16_t) &PORTA,
(uint16_t) &PORTB,
(uint16_t) &PORTC,
(uint16_t) &PORTD,
(uint16_t) &PORTE,
(uint16_t) &PORTF,
(uint16_t) &PORTG,
(uint16_t) &PORTH,
NOT_A_PORT,
(uint16_t) &PORTJ, // port J is already defined
(uint16_t) &PORTK,
(uint16_t) &PORTL,
};
const uint16_t PROGMEM port_to_input_PGM[] = {
NOT_A_PIN,
(uint16_t) &PINA,
(uint16_t) &PINB,
(uint16_t) &PINC,
(uint16_t) &PIND,
(uint16_t) &PINE,
(uint16_t) &PINF,
(uint16_t) &PING,
(uint16_t) &PINH,
NOT_A_PIN,
(uint16_t) &PINJ, // pin J is already defined
(uint16_t) &PINK,
(uint16_t) &PINL,
};
Say you wanted J2 to J7 to be digital 70 to digital 75, you would change the following:
#define NUM_DIGITAL_PINS 76
...
...
const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
// PORTLIST
// -------------------------------------------
...
PK , // PK 6 ** 68 ** A14
PK , // PK 7 ** 69 ** A15
PJ , // PJ 2 ** 70 ** D70
PJ , // PJ 3 ** 71 ** D71
PJ , // PJ 4 ** 72 ** D72
PJ , // PJ 5 ** 73 ** D73
PJ , // PJ 6 ** 74 ** D74
PJ , // PJ 7 ** 75 ** D75
};
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
// PIN IN PORT
// -------------------------------------------
...
_BV( 5 ) , // PK 5 ** 67 ** A13
_BV( 6 ) , // PK 6 ** 68 ** A14
_BV( 7 ) , // PK 7 ** 69 ** A15
_BV( 2 ) , // PJ 2 ** 70 ** D70
_BV( 3 ) , // PJ 3 ** 71 ** D71
_BV( 4 ) , // PJ 4 ** 72 ** D72
_BV( 5 ) , // PJ 5 ** 73 ** D73
_BV( 6 ) , // PJ 6 ** 74 ** D74
_BV( 7 ) , // PJ 7 ** 75 ** D75
};
const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
// TIMERS
// -------------------------------------------
...
NOT_ON_TIMER , // PK 4 ** 66 ** A12
NOT_ON_TIMER , // PK 5 ** 67 ** A13
NOT_ON_TIMER , // PK 6 ** 68 ** A14
NOT_ON_TIMER , // PK 7 ** 69 ** A15
NOT_ON_TIMER , // PJ 2 ** 70 ** D70
NOT_ON_TIMER , // PJ 3 ** 71 ** D71
NOT_ON_TIMER , // PJ 4 ** 72 ** D72
NOT_ON_TIMER , // PJ 5 ** 73 ** D73
NOT_ON_TIMER , // PJ 6 ** 74 ** D74
NOT_ON_TIMER , // PJ 7 ** 75 ** D75
};