Blame | Last modification | View Log | RSS feed
/*** Marlin 3D Printer Firmware* Copyright (C) 2017 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]** Based on Sprinter and grbl.* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm** This program is free software: you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation, either version 3 of the License, or* (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program. If not, see <http://www.gnu.org/licenses/>.**//*** structurs for 2560 family boards that use morre than 70 pins*/#ifndef __PINSDEBUG_PLUS_70_H__#define __PINSDEBUG_PLUS_70_H__#undef NUM_DIGITAL_PINS#if MB(BQ_ZUM_MEGA_3D)#define NUM_DIGITAL_PINS 85#elif MB(MIGHTYBOARD_REVE)#define NUM_DIGITAL_PINS 80#elif MB(MINIRAMBO)#define NUM_DIGITAL_PINS 85#elif MB(SCOOVO_X9H)#define NUM_DIGITAL_PINS 85#endif#define PA 1#define PB 2#define PC 3#define PD 4#define PE 5#define PF 6#define PG 7#define PH 8#define PJ 10#define PK 11#define PL 12const uint8_t PROGMEM digital_pin_to_port_PGM_plus_70[] = {// PORTLIST// -------------------------------------------PE , // PE 0 ** 0 ** USART0_RXPE , // PE 1 ** 1 ** USART0_TXPE , // PE 4 ** 2 ** PWM2PE , // PE 5 ** 3 ** PWM3PG , // PG 5 ** 4 ** PWM4PE , // PE 3 ** 5 ** PWM5PH , // PH 3 ** 6 ** PWM6PH , // PH 4 ** 7 ** PWM7PH , // PH 5 ** 8 ** PWM8PH , // PH 6 ** 9 ** PWM9PB , // PB 4 ** 10 ** PWM10PB , // PB 5 ** 11 ** PWM11PB , // PB 6 ** 12 ** PWM12PB , // PB 7 ** 13 ** PWM13PJ , // PJ 1 ** 14 ** USART3_TXPJ , // PJ 0 ** 15 ** USART3_RXPH , // PH 1 ** 16 ** USART2_TXPH , // PH 0 ** 17 ** USART2_RXPD , // PD 3 ** 18 ** USART1_TXPD , // PD 2 ** 19 ** USART1_RXPD , // PD 1 ** 20 ** I2C_SDAPD , // PD 0 ** 21 ** I2C_SCLPA , // PA 0 ** 22 ** D22PA , // PA 1 ** 23 ** D23PA , // PA 2 ** 24 ** D24PA , // PA 3 ** 25 ** D25PA , // PA 4 ** 26 ** D26PA , // PA 5 ** 27 ** D27PA , // PA 6 ** 28 ** D28PA , // PA 7 ** 29 ** D29PC , // PC 7 ** 30 ** D30PC , // PC 6 ** 31 ** D31PC , // PC 5 ** 32 ** D32PC , // PC 4 ** 33 ** D33PC , // PC 3 ** 34 ** D34PC , // PC 2 ** 35 ** D35PC , // PC 1 ** 36 ** D36PC , // PC 0 ** 37 ** D37PD , // PD 7 ** 38 ** D38PG , // PG 2 ** 39 ** D39PG , // PG 1 ** 40 ** D40PG , // PG 0 ** 41 ** D41PL , // PL 7 ** 42 ** D42PL , // PL 6 ** 43 ** D43PL , // PL 5 ** 44 ** D44PL , // PL 4 ** 45 ** D45PL , // PL 3 ** 46 ** D46PL , // PL 2 ** 47 ** D47PL , // PL 1 ** 48 ** D48PL , // PL 0 ** 49 ** D49PB , // PB 3 ** 50 ** SPI_MISOPB , // PB 2 ** 51 ** SPI_MOSIPB , // PB 1 ** 52 ** SPI_SCKPB , // PB 0 ** 53 ** SPI_SSPF , // PF 0 ** 54 ** A0PF , // PF 1 ** 55 ** A1PF , // PF 2 ** 56 ** A2PF , // PF 3 ** 57 ** A3PF , // PF 4 ** 58 ** A4PF , // PF 5 ** 59 ** A5PF , // PF 6 ** 60 ** A6PF , // PF 7 ** 61 ** A7PK , // PK 0 ** 62 ** A8PK , // PK 1 ** 63 ** A9PK , // PK 2 ** 64 ** A10PK , // PK 3 ** 65 ** A11PK , // PK 4 ** 66 ** A12PK , // PK 5 ** 67 ** A13PK , // PK 6 ** 68 ** A14PK , // PK 7 ** 69 ** A15PG , // PG 4 ** 70 **PG , // PG 3 ** 71 **PJ , // PJ 2 ** 72 **PJ , // PJ 3 ** 73 **PJ , // PJ 7 ** 74 **PJ , // PJ 4 ** 75 **PJ , // PJ 5 ** 76 **PJ , // PJ 6 ** 77 **PE , // PE 2 ** 78 **PE , // PE 6 ** 79 **PE , // PE 7 ** 80 **PD , // PD 4 ** 81 **PD , // PD 5 ** 82 **PD , // PD 6 ** 83 **PH , // PH 2 ** 84 **PH , // PH 7 ** 85 **};#define digitalPinToPort_plus_70(P) ( pgm_read_byte( digital_pin_to_port_PGM_plus_70 + (P) ) )const uint8_t PROGMEM digital_pin_to_bit_mask_PGM_plus_70[] = {// PIN IN PORT// -------------------------------------------_BV( 0 ) , // PE 0 ** 0 ** USART0_RX_BV( 1 ) , // PE 1 ** 1 ** USART0_TX_BV( 4 ) , // PE 4 ** 2 ** PWM2_BV( 5 ) , // PE 5 ** 3 ** PWM3_BV( 5 ) , // PG 5 ** 4 ** PWM4_BV( 3 ) , // PE 3 ** 5 ** PWM5_BV( 3 ) , // PH 3 ** 6 ** PWM6_BV( 4 ) , // PH 4 ** 7 ** PWM7_BV( 5 ) , // PH 5 ** 8 ** PWM8_BV( 6 ) , // PH 6 ** 9 ** PWM9_BV( 4 ) , // PB 4 ** 10 ** PWM10_BV( 5 ) , // PB 5 ** 11 ** PWM11_BV( 6 ) , // PB 6 ** 12 ** PWM12_BV( 7 ) , // PB 7 ** 13 ** PWM13_BV( 1 ) , // PJ 1 ** 14 ** USART3_TX_BV( 0 ) , // PJ 0 ** 15 ** USART3_RX_BV( 1 ) , // PH 1 ** 16 ** USART2_TX_BV( 0 ) , // PH 0 ** 17 ** USART2_RX_BV( 3 ) , // PD 3 ** 18 ** USART1_TX_BV( 2 ) , // PD 2 ** 19 ** USART1_RX_BV( 1 ) , // PD 1 ** 20 ** I2C_SDA_BV( 0 ) , // PD 0 ** 21 ** I2C_SCL_BV( 0 ) , // PA 0 ** 22 ** D22_BV( 1 ) , // PA 1 ** 23 ** D23_BV( 2 ) , // PA 2 ** 24 ** D24_BV( 3 ) , // PA 3 ** 25 ** D25_BV( 4 ) , // PA 4 ** 26 ** D26_BV( 5 ) , // PA 5 ** 27 ** D27_BV( 6 ) , // PA 6 ** 28 ** D28_BV( 7 ) , // PA 7 ** 29 ** D29_BV( 7 ) , // PC 7 ** 30 ** D30_BV( 6 ) , // PC 6 ** 31 ** D31_BV( 5 ) , // PC 5 ** 32 ** D32_BV( 4 ) , // PC 4 ** 33 ** D33_BV( 3 ) , // PC 3 ** 34 ** D34_BV( 2 ) , // PC 2 ** 35 ** D35_BV( 1 ) , // PC 1 ** 36 ** D36_BV( 0 ) , // PC 0 ** 37 ** D37_BV( 7 ) , // PD 7 ** 38 ** D38_BV( 2 ) , // PG 2 ** 39 ** D39_BV( 1 ) , // PG 1 ** 40 ** D40_BV( 0 ) , // PG 0 ** 41 ** D41_BV( 7 ) , // PL 7 ** 42 ** D42_BV( 6 ) , // PL 6 ** 43 ** D43_BV( 5 ) , // PL 5 ** 44 ** D44_BV( 4 ) , // PL 4 ** 45 ** D45_BV( 3 ) , // PL 3 ** 46 ** D46_BV( 2 ) , // PL 2 ** 47 ** D47_BV( 1 ) , // PL 1 ** 48 ** D48_BV( 0 ) , // PL 0 ** 49 ** D49_BV( 3 ) , // PB 3 ** 50 ** SPI_MISO_BV( 2 ) , // PB 2 ** 51 ** SPI_MOSI_BV( 1 ) , // PB 1 ** 52 ** SPI_SCK_BV( 0 ) , // PB 0 ** 53 ** SPI_SS_BV( 0 ) , // PF 0 ** 54 ** A0_BV( 1 ) , // PF 1 ** 55 ** A1_BV( 2 ) , // PF 2 ** 56 ** A2_BV( 3 ) , // PF 3 ** 57 ** A3_BV( 4 ) , // PF 4 ** 58 ** A4_BV( 5 ) , // PF 5 ** 59 ** A5_BV( 6 ) , // PF 6 ** 60 ** A6_BV( 7 ) , // PF 7 ** 61 ** A7_BV( 0 ) , // PK 0 ** 62 ** A8_BV( 1 ) , // PK 1 ** 63 ** A9_BV( 2 ) , // PK 2 ** 64 ** A10_BV( 3 ) , // PK 3 ** 65 ** A11_BV( 4 ) , // PK 4 ** 66 ** A12_BV( 5 ) , // PK 5 ** 67 ** A13_BV( 6 ) , // PK 6 ** 68 ** A14_BV( 7 ) , // PK 7 ** 69 ** A15_BV( 4 ) , // PG 4 ** 70 **_BV( 3 ) , // PG 3 ** 71 **_BV( 2 ) , // PJ 2 ** 72 **_BV( 3 ) , // PJ 3 ** 73 **_BV( 7 ) , // PJ 7 ** 74 **_BV( 4 ) , // PJ 4 ** 75 **_BV( 5 ) , // PJ 5 ** 76 **_BV( 6 ) , // PJ 6 ** 77 **_BV( 2 ) , // PE 2 ** 78 **_BV( 6 ) , // PE 6 ** 79 **_BV( 7 ) , // PE 7 ** 80 **_BV( 4 ) , // PD 4 ** 81 **_BV( 5 ) , // PD 5 ** 82 **_BV( 6 ) , // PD 6 ** 83 **_BV( 2 ) , // PH 2 ** 84 **_BV( 7 ) , // PH 7 ** 85 **};#define digitalPinToBitMask_plus_70(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM_plus_70 + (P) ) )const uint8_t PROGMEM digital_pin_to_timer_PGM_plus_70[] = {// TIMERS// -------------------------------------------NOT_ON_TIMER , // PE 0 ** 0 ** USART0_RXNOT_ON_TIMER , // PE 1 ** 1 ** USART0_TXTIMER3B , // PE 4 ** 2 ** PWM2TIMER3C , // PE 5 ** 3 ** PWM3TIMER0B , // PG 5 ** 4 ** PWM4TIMER3A , // PE 3 ** 5 ** PWM5TIMER4A , // PH 3 ** 6 ** PWM6TIMER4B , // PH 4 ** 7 ** PWM7TIMER4C , // PH 5 ** 8 ** PWM8TIMER2B , // PH 6 ** 9 ** PWM9TIMER2A , // PB 4 ** 10 ** PWM10TIMER1A , // PB 5 ** 11 ** PWM11TIMER1B , // PB 6 ** 12 ** PWM12TIMER0A , // PB 7 ** 13 ** PWM13NOT_ON_TIMER , // PJ 1 ** 14 ** USART3_TXNOT_ON_TIMER , // PJ 0 ** 15 ** USART3_RXNOT_ON_TIMER , // PH 1 ** 16 ** USART2_TXNOT_ON_TIMER , // PH 0 ** 17 ** USART2_RXNOT_ON_TIMER , // PD 3 ** 18 ** USART1_TXNOT_ON_TIMER , // PD 2 ** 19 ** USART1_RXNOT_ON_TIMER , // PD 1 ** 20 ** I2C_SDANOT_ON_TIMER , // PD 0 ** 21 ** I2C_SCLNOT_ON_TIMER , // PA 0 ** 22 ** D22NOT_ON_TIMER , // PA 1 ** 23 ** D23NOT_ON_TIMER , // PA 2 ** 24 ** D24NOT_ON_TIMER , // PA 3 ** 25 ** D25NOT_ON_TIMER , // PA 4 ** 26 ** D26NOT_ON_TIMER , // PA 5 ** 27 ** D27NOT_ON_TIMER , // PA 6 ** 28 ** D28NOT_ON_TIMER , // PA 7 ** 29 ** D29NOT_ON_TIMER , // PC 7 ** 30 ** D30NOT_ON_TIMER , // PC 6 ** 31 ** D31NOT_ON_TIMER , // PC 5 ** 32 ** D32NOT_ON_TIMER , // PC 4 ** 33 ** D33NOT_ON_TIMER , // PC 3 ** 34 ** D34NOT_ON_TIMER , // PC 2 ** 35 ** D35NOT_ON_TIMER , // PC 1 ** 36 ** D36NOT_ON_TIMER , // PC 0 ** 37 ** D37NOT_ON_TIMER , // PD 7 ** 38 ** D38NOT_ON_TIMER , // PG 2 ** 39 ** D39NOT_ON_TIMER , // PG 1 ** 40 ** D40NOT_ON_TIMER , // PG 0 ** 41 ** D41NOT_ON_TIMER , // PL 7 ** 42 ** D42NOT_ON_TIMER , // PL 6 ** 43 ** D43TIMER5C , // PL 5 ** 44 ** D44TIMER5B , // PL 4 ** 45 ** D45TIMER5A , // PL 3 ** 46 ** D46NOT_ON_TIMER , // PL 2 ** 47 ** D47NOT_ON_TIMER , // PL 1 ** 48 ** D48NOT_ON_TIMER , // PL 0 ** 49 ** D49NOT_ON_TIMER , // PB 3 ** 50 ** SPI_MISONOT_ON_TIMER , // PB 2 ** 51 ** SPI_MOSINOT_ON_TIMER , // PB 1 ** 52 ** SPI_SCKNOT_ON_TIMER , // PB 0 ** 53 ** SPI_SSNOT_ON_TIMER , // PF 0 ** 54 ** A0NOT_ON_TIMER , // PF 1 ** 55 ** A1NOT_ON_TIMER , // PF 2 ** 56 ** A2NOT_ON_TIMER , // PF 3 ** 57 ** A3NOT_ON_TIMER , // PF 4 ** 58 ** A4NOT_ON_TIMER , // PF 5 ** 59 ** A5NOT_ON_TIMER , // PF 6 ** 60 ** A6NOT_ON_TIMER , // PF 7 ** 61 ** A7NOT_ON_TIMER , // PK 0 ** 62 ** A8NOT_ON_TIMER , // PK 1 ** 63 ** A9NOT_ON_TIMER , // PK 2 ** 64 ** A10NOT_ON_TIMER , // PK 3 ** 65 ** A11NOT_ON_TIMER , // PK 4 ** 66 ** A12NOT_ON_TIMER , // PK 5 ** 67 ** A13NOT_ON_TIMER , // PK 6 ** 68 ** A14NOT_ON_TIMER , // PK 7 ** 69 ** A15NOT_ON_TIMER , // PG 4 ** 70 **NOT_ON_TIMER , // PG 3 ** 71 **NOT_ON_TIMER , // PJ 2 ** 72 **NOT_ON_TIMER , // PJ 3 ** 73 **NOT_ON_TIMER , // PJ 7 ** 74 **NOT_ON_TIMER , // PJ 4 ** 75 **NOT_ON_TIMER , // PJ 5 ** 76 **NOT_ON_TIMER , // PJ 6 ** 77 **NOT_ON_TIMER , // PE 2 ** 78 **NOT_ON_TIMER , // PE 6 ** 79 **};#define digitalPinToTimer_plus_70(P) ( pgm_read_byte( digital_pin_to_timer_PGM_plus_70 + (P) ) )/*** Interrupts that are not implemented** INT6 E6 79* INT7 E7 80* PCINT11 J2 72* PCINT12 J3 73* PCINT13 J4 75* PCINT14 J5 76* PCINT15 J6 77*/#endif // __PINSDEBUG_PLUS_70_H__