pins_Rambo_1_0.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. /*****************************************************************
  2. * Rambo mini 1.0 Pin Assignments
  3. ******************************************************************/
  4. #define ELECTRONICS "RAMBo10a"
  5. #define KNOWN_BOARD
  6. #ifndef __AVR_ATmega2560__
  7. #error Oops! Make sure you have 'Arduino Mega 2560 or Rambo' selected from the 'Tools -> Boards' menu.
  8. #endif
  9. #define PINDA_THERMISTOR
  10. #define SWI2C // enable software i2c
  11. #define SWI2C_A8 // 8bit address functions
  12. #define PAT9125_SWI2C
  13. #define PAT9125_SWI2C_SDA 20 //SDA on P3
  14. #define PAT9125_SWI2C_SCL 84 //PH2 on P3, sensor cable must be rewired
  15. #define PAT9125_SWI2C_CFG 0xb1 //2us clock delay, 2048 cycles timeout
  16. //#define PAT9125_HWI2C
  17. #define X_STEP_PIN 37
  18. #define X_DIR_PIN 48
  19. #define X_MIN_PIN 12
  20. #define X_MAX_PIN -1
  21. #define X_ENABLE_PIN 29
  22. #define X_MS1_PIN 40
  23. #define X_MS2_PIN 41
  24. #define Y_STEP_PIN 36
  25. #define Y_DIR_PIN 49
  26. #define Y_MIN_PIN 11
  27. #define Y_MAX_PIN -1
  28. #define Y_ENABLE_PIN 28
  29. #define Y_MS1_PIN 69
  30. #define Y_MS2_PIN 39
  31. #define Z_STEP_PIN 35
  32. #define Z_DIR_PIN 47
  33. #define Z_MIN_PIN 10
  34. #define Z_MAX_PIN 23
  35. #define Z_ENABLE_PIN 27
  36. #define Z_MS1_PIN 68
  37. #define Z_MS2_PIN 67
  38. #define HEATER_BED_PIN 4 //PG5
  39. #define TEMP_BED_PIN 2 //A2
  40. #define HEATER_0_PIN 3 //PE5
  41. #define TEMP_0_PIN 0 //A0
  42. #define HEATER_1_PIN -1
  43. #define TEMP_1_PIN -1 //A1
  44. #define HEATER_2_PIN -1
  45. #define TEMP_2_PIN -1
  46. #define TEMP_AMBIENT_PIN 6 //A6
  47. #define TEMP_PINDA_PIN 1 //A1
  48. #define E0_STEP_PIN 34
  49. #define E0_DIR_PIN 43
  50. #define E0_ENABLE_PIN 26
  51. #define E0_MS1_PIN 65
  52. #define E0_MS2_PIN 66
  53. #ifdef SNMM
  54. #define E_MUX0_PIN 17
  55. #define E_MUX1_PIN 16
  56. #endif
  57. #define MOTOR_CURRENT_PWM_XY_PIN 46
  58. #define MOTOR_CURRENT_PWM_Z_PIN 45
  59. #define MOTOR_CURRENT_PWM_E_PIN 44
  60. #define SDPOWER -1
  61. #define SDSS 53
  62. #define LED_PIN 13
  63. #define FAN_PIN 6
  64. #define FAN_1_PIN -1
  65. #define PS_ON_PIN -1
  66. #define KILL_PIN -1 // 80 with Smart Controller LCD
  67. #define SUICIDE_PIN -1 // PIN that has to be turned on right after start, to keep power flowing.
  68. #define TACH_0 30 // noctua extruder fan
  69. #ifdef ULTRA_LCD
  70. //#define KILL_PIN 32
  71. #ifdef NEWPANEL
  72. #define BEEPER 78 // Beeper on AUX-4
  73. #define LCD_PINS_RS 38
  74. #define LCD_PINS_ENABLE 5
  75. #define LCD_PINS_D4 14
  76. #define LCD_PINS_D5 15
  77. #define LCD_PINS_D6 32
  78. #define LCD_PINS_D7 31
  79. //buttons are directly attached using AUX-2
  80. #define BTN_EN1 80
  81. #define BTN_EN2 73
  82. #define BTN_ENC 21 // the click
  83. #define SDCARDDETECT 72
  84. #endif //NEWPANEL
  85. #endif //ULTRA_LCD
  86. // Support for an 8 bit logic analyzer, for example the Saleae.
  87. // Channels 0-2 are fast, they could generate 2.667Mhz waveform with a software loop.
  88. #define LOGIC_ANALYZER_CH0 X_MIN_PIN // PB6
  89. #define LOGIC_ANALYZER_CH1 Y_MIN_PIN // PB5
  90. #define LOGIC_ANALYZER_CH2 53 // PB0 (PROC_nCS)
  91. // Channels 3-7 are slow, they could generate
  92. // 0.889Mhz waveform with a software loop and interrupt locking,
  93. // 1.333MHz waveform without interrupt locking.
  94. #define LOGIC_ANALYZER_CH3 73 // PJ3
  95. // PK0 has no Arduino digital pin assigned, so we set it directly.
  96. #define WRITE_LOGIC_ANALYZER_CH4(value) if (value) PORTK |= (1 << 0); else PORTK &= ~(1 << 0) // PK0
  97. #define LOGIC_ANALYZER_CH5 16 // PH0 (RXD2)
  98. #define LOGIC_ANALYZER_CH6 17 // PH1 (TXD2)
  99. #define LOGIC_ANALYZER_CH7 76 // PJ5
  100. #define LOGIC_ANALYZER_CH0_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH0)
  101. #define LOGIC_ANALYZER_CH1_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH1)
  102. #define LOGIC_ANALYZER_CH2_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH2)
  103. #define LOGIC_ANALYZER_CH3_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH3)
  104. #define LOGIC_ANALYZER_CH4_ENABLE do { DDRK |= 1 << 0; } while (0)
  105. #define LOGIC_ANALYZER_CH5_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH5); } while (0)
  106. #define LOGIC_ANALYZER_CH6_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH6); } while (0)
  107. #define LOGIC_ANALYZER_CH7_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH7)