config.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. #ifndef _CONFIG_H
  2. #define _CONFIG_H
  3. #include "Configuration_prusa.h"
  4. #include "pins.h"
  5. #if (defined(VOLT_IR_PIN) && defined(IR_SENSOR))
  6. // TODO: IR_SENSOR_ANALOG currently disabled as being incompatible with the new thermal regulation
  7. // # define IR_SENSOR_ANALOG
  8. #endif
  9. //ADC configuration
  10. #ifndef IR_SENSOR_ANALOG
  11. #define ADC_CHAN_MSK 0b0000001001011111 //used AD channels bit mask (0,1,2,3,4,6,9)
  12. #define ADC_DIDR_MSK 0b0000001001011111 //AD channels DIDR mask (1 ~ disabled digital input)
  13. #define ADC_CHAN_CNT 7 //number of used channels)
  14. #else //!IR_SENSOR_ANALOG
  15. #define ADC_CHAN_MSK 0b0000001101011111 //used AD channels bit mask (0,1,2,3,4,6,8,9)
  16. #define ADC_DIDR_MSK 0b0000001001011111 //AD channels DIDR mask (1 ~ disabled digital input)
  17. #define ADC_CHAN_CNT 8 //number of used channels)
  18. #endif //!IR_SENSOR_ANALOG
  19. #define ADC_OVRSAMPL 16 //oversampling multiplier
  20. #define ADC_CALLBACK adc_callback //callback function ()
  21. //SWI2C configuration
  22. //#define SWI2C_SDA 20 //SDA on P3
  23. //#define SWI2C_SCL 21 //SCL on P3
  24. #define SWI2C_A8
  25. #define SWI2C_DEL 20 //2us clock delay
  26. #define SWI2C_TMO 2048 //2048 cycles timeout
  27. //PAT9125 configuration
  28. //#define PAT9125_SWSPI // software SPI mode (incomplete)
  29. #ifdef SWI2C_SCL
  30. #define PAT9125_SWI2C // software I2C mode
  31. #else
  32. #define PAT9125_I2C // hardware I2C mode
  33. #endif
  34. #define PAT9125_I2C_ADDR 0x75 //ID=LO
  35. //#define PAT9125_I2C_ADDR 0x79 //ID=HI
  36. //#define PAT9125_I2C_ADDR 0x73 //ID=NC
  37. #define PAT9125_XRES 0
  38. #define PAT9125_YRES 240 // maximum resolution (5*X cpi)
  39. #define PAT9124_YRES_MM (5*PAT9125_YRES/25.4) // counts per mm
  40. //SM4 configuration
  41. #define SM4_DEFDELAY 500 //default step delay [us]
  42. //TMC2130 - Trinamic stepper driver
  43. //pinout - hardcoded
  44. //spi:
  45. #define TMC2130_SPI_RATE 0 // fosc/4 = 4MHz
  46. #define TMC2130_SPCR SPI_SPCR(TMC2130_SPI_RATE, 1, 1, 1, 0)
  47. #define TMC2130_SPSR SPI_SPSR(TMC2130_SPI_RATE)
  48. //LANG - Multi-language support
  49. //#define LANG_MODE 0 // primary language only
  50. #define LANG_MODE 1 // sec. language support
  51. #define LANG_SIZE_RESERVED 0x3000 // reserved space for secondary language (12288 bytes). Maximum 32768 bytes
  52. #if (LANG_SIZE_RESERVED % 256)
  53. #error "LANG_SIZE_RESERVED should be a multiple of a page size"
  54. #endif
  55. //Community language support
  56. #define COMMUNITY_LANG_GROUP 1
  57. #if (COMMUNITY_LANG_GROUP == 1)
  58. #define COMMUNITY_LANG_GROUP1_NL // Community Dutch language
  59. #define COMMUNITY_LANG_GROUP1_RO // Community Romanian language
  60. #define COMMUNITY_LANG_GROUP1_HU // Community Hungarian language
  61. #define COMMUNITY_LANG_GROUP1_HR // Community Croatian language
  62. #define COMMUNITY_LANG_GROUP1_SK // Community Slovak language
  63. #define COMMUNITY_LANG_GROUP1_SV // Community Swedish language
  64. #define COMMUNITY_LANG_GROUP1_NO // Community Norwegian language
  65. //#define COMMUNITY_LANG_GROUP1_DA // Community Danish language
  66. //#define COMMUNITY_LANG_GROUP1_SL // Community Slovanian language
  67. //#define COMMUNITY_LANG_GROUP1_LB // Community Luxembourgish language
  68. //#define COMMUNITY_LANG_GROUP1_LT // Community Lithuanian language
  69. //#define COMMUNITY_LANG_GROUP1_QR // Community new language //..use this as a template and replace 'QR'
  70. #endif
  71. #if (COMMUNITY_LANG_GROUP >=1 )
  72. #define COMMUNITY_LANGUAGE_SUPPORT
  73. #endif
  74. // Sanity checks for correct configuration of XFLASH_DUMP options
  75. #if defined(XFLASH_DUMP) && !defined(XFLASH)
  76. #error "XFLASH_DUMP requires XFLASH support"
  77. #endif
  78. #if (defined(MENU_DUMP) || defined(EMERGENCY_DUMP)) && !defined(XFLASH_DUMP)
  79. #error "MENU_DUMP and EMERGENCY_DUMP require XFLASH_DUMP"
  80. #endif
  81. // Support for serial dumps is mutually exclusive with XFLASH_DUMP features
  82. #if defined(EMERGENCY_DUMP) && defined(EMERGENCY_SERIAL_DUMP)
  83. #error "EMERGENCY_DUMP and EMERGENCY_SERIAL_DUMP are mutually exclusive"
  84. #endif
  85. #if defined(MENU_DUMP) && defined(MENU_SERIAL_DUMP)
  86. #error "MENU_DUMP and MENU_SERIAL_DUMP are mutually exclusive"
  87. #endif
  88. // Reduce internal duplication
  89. #if defined(EMERGENCY_DUMP) || defined(EMERGENCY_SERIAL_DUMP)
  90. #define EMERGENCY_HANDLERS
  91. #endif
  92. //FARM_MODE
  93. #if ( LANG_MODE == 0 ) && defined(XFLASH) //Save resources on EINSY and disable FARM_MODE on multi-language version
  94. #define PRUSA_FARM
  95. #endif //PRUSA_FARM only in english on EINSYs
  96. #ifndef XFLASH //enable FARM_MODE on miniRAMBo boards
  97. #define PRUSA_FARM
  98. #endif
  99. #endif //_CONFIG_H