My Marlin configs for Fabrikator Mini and CTC i3 Pro B
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

platformio.ini 58KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639
  1. #
  2. # Marlin Firmware
  3. # PlatformIO Configuration File
  4. #
  5. # For detailed documentation with EXAMPLES:
  6. #
  7. # https://docs.platformio.org/en/latest/projectconf/index.html
  8. #
  9. # Automatic targets - enable auto-uploading
  10. #targets = upload
  11. #
  12. # By default platformio build will abort after 5 errors.
  13. # Remove '-fmax-errors=5' from build_flags below to see all.
  14. #
  15. [platformio]
  16. src_dir = Marlin
  17. boards_dir = buildroot/share/PlatformIO/boards
  18. default_envs = mega2560
  19. include_dir = Marlin
  20. #
  21. # The 'common' values are used for most Marlin builds
  22. #
  23. [common]
  24. default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
  25. -<src/lcd/HD44780> -<src/lcd/TFTGLCD> -<src/lcd/dwin> -<src/lcd/dogm> -<src/lcd/tft> -<src/lcd/tft_io>
  26. -<src/HAL/STM32/tft> -<src/HAL/STM32F1/tft>
  27. -<src/lcd/menu>
  28. -<src/lcd/menu/game/game.cpp> -<src/lcd/menu/game/brickout.cpp> -<src/lcd/menu/game/invaders.cpp>
  29. -<src/lcd/menu/game/maze.cpp> -<src/lcd/menu/game/snake.cpp>
  30. -<src/lcd/menu/menu_backlash.cpp>
  31. -<src/lcd/menu/menu_bed_corners.cpp>
  32. -<src/lcd/menu/menu_bed_leveling.cpp>
  33. -<src/lcd/menu/menu_cancelobject.cpp>
  34. -<src/lcd/menu/menu_delta_calibrate.cpp>
  35. -<src/lcd/menu/menu_filament.cpp>
  36. -<src/lcd/menu/menu_info.cpp>
  37. -<src/lcd/menu/menu_job_recovery.cpp>
  38. -<src/lcd/menu/menu_language.cpp>
  39. -<src/lcd/menu/menu_led.cpp>
  40. -<src/lcd/menu/menu_media.cpp>
  41. -<src/lcd/menu/menu_mmu2.cpp>
  42. -<src/lcd/menu/menu_password.cpp>
  43. -<src/lcd/menu/menu_power_monitor.cpp>
  44. -<src/lcd/menu/menu_spindle_laser.cpp>
  45. -<src/lcd/menu/menu_temperature.cpp>
  46. -<src/lcd/menu/menu_tmc.cpp>
  47. -<src/lcd/menu/menu_touch_screen.cpp>
  48. -<src/lcd/menu/menu_tramming.cpp>
  49. -<src/lcd/menu/menu_ubl.cpp>
  50. -<src/lcd/extui/lib/mks_ui>
  51. -<src/lcd/extui/lib/dgus> -<src/lcd/extui/dgus_lcd.cpp>
  52. -<src/lcd/extui/example.cpp>
  53. -<src/lcd/extui/malyan_lcd.cpp>
  54. -<src/lcd/extui/lib/ftdi_eve_touch_ui>
  55. -<src/lcd/extui/anycubic_chiron_lcd.cpp> -<src/lcd/extui/lib/anycubic_chiron>
  56. -<src/lcd/extui/anycubic_i3mega_lcd.cpp> -<src/lcd/extui/lib/anycubic_i3mega>
  57. -<src/lcd/lcdprint.cpp>
  58. -<src/lcd/touch/touch_buttons.cpp>
  59. -<src/sd/usb_flashdrive/lib-uhs2> -<src/sd/usb_flashdrive/lib-uhs3>
  60. -<src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp>
  61. -<src/sd/cardreader.cpp> -<src/sd/Sd2Card.cpp> -<src/sd/SdBaseFile.cpp> -<src/sd/SdFatUtil.cpp> -<src/sd/SdFile.cpp> -<src/sd/SdVolume.cpp> -<src/gcode/sd>
  62. -<src/HAL/shared/backtrace>
  63. -<src/HAL/shared/eeprom_if_i2c.cpp>
  64. -<src/HAL/shared/eeprom_if_spi.cpp>
  65. -<src/feature/babystep.cpp>
  66. -<src/feature/backlash.cpp>
  67. -<src/feature/baricuda.cpp> -<src/gcode/feature/baricuda>
  68. -<src/feature/bedlevel/abl> -<src/gcode/bedlevel/abl>
  69. -<src/feature/bedlevel/mbl> -<src/gcode/bedlevel/mbl>
  70. -<src/feature/bedlevel/ubl> -<src/gcode/bedlevel/ubl>
  71. -<src/feature/binary_stream.cpp> -<src/libs/heatshrink>
  72. -<src/feature/bltouch.cpp>
  73. -<src/feature/cancel_object.cpp> -<src/gcode/feature/cancel>
  74. -<src/feature/caselight.cpp> -<src/gcode/feature/caselight>
  75. -<src/feature/closedloop.cpp>
  76. -<src/feature/controllerfan.cpp> -<src/gcode/feature/controllerfan>
  77. -<src/feature/dac> -<src/feature/digipot>
  78. -<src/feature/direct_stepping.cpp> -<src/gcode/motion/G6.cpp>
  79. -<src/feature/e_parser.cpp>
  80. -<src/feature/encoder_i2c.cpp>
  81. -<src/feature/ethernet.cpp> -<src/gcode/feature/network/M552-M554.cpp>
  82. -<src/feature/fanmux.cpp>
  83. -<src/feature/filwidth.cpp> -<src/gcode/feature/filwidth>
  84. -<src/feature/fwretract.cpp> -<src/gcode/feature/fwretract>
  85. -<src/feature/host_actions.cpp>
  86. -<src/feature/hotend_idle.cpp>
  87. -<src/feature/joystick.cpp>
  88. -<src/feature/leds/blinkm.cpp>
  89. -<src/feature/leds/leds.cpp>
  90. -<src/feature/leds/neopixel.cpp>
  91. -<src/feature/leds/pca9533.cpp>
  92. -<src/feature/leds/pca9632.cpp>
  93. -<src/feature/leds/printer_event_leds.cpp>
  94. -<src/feature/leds/tempstat.cpp>
  95. -<src/feature/max7219.cpp>
  96. -<src/feature/meatpack.cpp>
  97. -<src/feature/mixing.cpp>
  98. -<src/feature/mmu/mmu.cpp>
  99. -<src/feature/mmu/mmu2.cpp> -<src/gcode/feature/prusa_MMU2>
  100. -<src/feature/password> -<src/gcode/feature/password>
  101. -<src/feature/pause.cpp>
  102. -<src/feature/power.cpp>
  103. -<src/feature/power_monitor.cpp> -<src/gcode/feature/power_monitor>
  104. -<src/feature/powerloss.cpp> -<src/gcode/feature/powerloss>
  105. -<src/feature/probe_temp_comp.cpp>
  106. -<src/feature/repeat.cpp>
  107. -<src/feature/runout.cpp> -<src/gcode/feature/runout>
  108. -<src/feature/solenoid.cpp> -<src/gcode/control/M380_M381.cpp>
  109. -<src/feature/spindle_laser.cpp> -<src/gcode/control/M3-M5.cpp>
  110. -<src/feature/tmc_util.cpp> -<src/module/stepper/trinamic.cpp>
  111. -<src/feature/tramming.cpp>
  112. -<src/feature/twibus.cpp>
  113. -<src/feature/z_stepper_align.cpp>
  114. -<src/gcode/bedlevel/G26.cpp>
  115. -<src/gcode/bedlevel/G35.cpp>
  116. -<src/gcode/bedlevel/G42.cpp>
  117. -<src/gcode/bedlevel/M420.cpp> -<src/feature/bedlevel/bedlevel.cpp>
  118. -<src/gcode/calibrate/G33.cpp>
  119. -<src/gcode/calibrate/G34.cpp>
  120. -<src/gcode/calibrate/G34_M422.cpp>
  121. -<src/gcode/calibrate/G76_M192_M871.cpp>
  122. -<src/gcode/calibrate/G425.cpp>
  123. -<src/gcode/calibrate/M12.cpp>
  124. -<src/gcode/calibrate/M48.cpp>
  125. -<src/gcode/calibrate/M100.cpp>
  126. -<src/gcode/calibrate/M425.cpp>
  127. -<src/gcode/calibrate/M666.cpp>
  128. -<src/gcode/calibrate/M852.cpp>
  129. -<src/gcode/control/M42.cpp> -<src/gcode/control/M226.cpp>
  130. -<src/gcode/config/M43.cpp>
  131. -<src/gcode/config/M217.cpp>
  132. -<src/gcode/config/M218.cpp>
  133. -<src/gcode/config/M221.cpp>
  134. -<src/gcode/config/M281.cpp>
  135. -<src/gcode/config/M301.cpp>
  136. -<src/gcode/config/M302.cpp>
  137. -<src/gcode/config/M304.cpp>
  138. -<src/gcode/config/M305.cpp>
  139. -<src/gcode/config/M540.cpp>
  140. -<src/gcode/config/M575.cpp>
  141. -<src/gcode/config/M672.cpp>
  142. -<src/gcode/control/M7-M9.cpp>
  143. -<src/gcode/control/M211.cpp>
  144. -<src/gcode/control/M350_M351.cpp>
  145. -<src/gcode/control/M605.cpp>
  146. -<src/gcode/feature/advance>
  147. -<src/gcode/feature/camera>
  148. -<src/gcode/feature/i2c>
  149. -<src/gcode/feature/L6470>
  150. -<src/gcode/feature/leds/M150.cpp>
  151. -<src/gcode/feature/leds/M7219.cpp>
  152. -<src/gcode/feature/macro>
  153. -<src/gcode/feature/mixing/M163-M165.cpp>
  154. -<src/gcode/feature/mixing/M166.cpp>
  155. -<src/gcode/feature/pause/G27.cpp>
  156. -<src/gcode/feature/pause/G60.cpp>
  157. -<src/gcode/feature/pause/G61.cpp>
  158. -<src/gcode/feature/pause/M125.cpp>
  159. -<src/gcode/feature/pause/M600.cpp>
  160. -<src/gcode/feature/pause/M603.cpp>
  161. -<src/gcode/feature/pause/M701_M702.cpp>
  162. -<src/gcode/feature/trinamic/M122.cpp>
  163. -<src/gcode/feature/trinamic/M569.cpp>
  164. -<src/gcode/feature/trinamic/M906.cpp>
  165. -<src/gcode/feature/trinamic/M911-M914.cpp>
  166. -<src/gcode/geometry/G17-G19.cpp>
  167. -<src/gcode/geometry/G53-G59.cpp>
  168. -<src/gcode/geometry/M206_M428.cpp>
  169. -<src/gcode/host/M16.cpp>
  170. -<src/gcode/host/M113.cpp>
  171. -<src/gcode/host/M360.cpp>
  172. -<src/gcode/host/M876.cpp>
  173. -<src/gcode/lcd/M0_M1.cpp>
  174. -<src/gcode/lcd/M250.cpp>
  175. -<src/gcode/lcd/M73.cpp>
  176. -<src/gcode/lcd/M995.cpp>
  177. -<src/gcode/motion/G2_G3.cpp>
  178. -<src/gcode/motion/G5.cpp>
  179. -<src/gcode/motion/G80.cpp>
  180. -<src/gcode/motion/M290.cpp>
  181. -<src/gcode/probe/G30.cpp>
  182. -<src/gcode/probe/G31_G32.cpp>
  183. -<src/gcode/probe/G38.cpp>
  184. -<src/gcode/probe/M401_M402.cpp>
  185. -<src/gcode/probe/M851.cpp>
  186. -<src/gcode/probe/M951.cpp>
  187. -<src/gcode/scara>
  188. -<src/gcode/sd>
  189. -<src/gcode/sd/M32.cpp>
  190. -<src/gcode/sd/M808.cpp>
  191. -<src/gcode/temp/M104_M109.cpp>
  192. -<src/gcode/temp/M155.cpp>
  193. -<src/gcode/units/G20_G21.cpp>
  194. -<src/gcode/units/M149.cpp>
  195. -<src/libs/BL24CXX.cpp> -<src/libs/W25Qxx.cpp>
  196. -<src/libs/L64XX> -<src/module/stepper/L64xx.cpp> -<src/HAL/shared/HAL_spi_L6470.cpp>
  197. -<src/libs/hex_print.cpp>
  198. -<src/libs/least_squares_fit.cpp>
  199. -<src/libs/nozzle.cpp> -<src/gcode/feature/clean>
  200. -<src/module/delta.cpp>
  201. -<src/module/planner_bezier.cpp>
  202. -<src/module/printcounter.cpp>
  203. -<src/module/probe.cpp>
  204. -<src/module/scara.cpp> -<src/gcode/calibrate/M665.cpp>
  205. -<src/module/servo.cpp> -<src/gcode/control/M280.cpp>
  206. -<src/module/stepper/TMC26X.cpp>
  207. extra_scripts =
  208. pre:buildroot/share/PlatformIO/scripts/common-dependencies.py
  209. pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py
  210. post:buildroot/share/PlatformIO/scripts/common-dependencies-post.py
  211. build_flags = -fmax-errors=5 -g3 -D__MARLIN_FIRMWARE__ -fmerge-constants
  212. lib_deps =
  213. #
  214. # Feature Dependencies
  215. #
  216. [features]
  217. YHCB2004 = red-scorp/LiquidCrystal_AIP31068@^1.0.4, red-scorp/SoftSPIB@^1.1.1
  218. HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/master.zip
  219. src_filter=+<src/lcd/extui/lib/mks_ui>
  220. extra_scripts=download_mks_assets.py
  221. MKS_WIFI_MODULE = QRCode=https://github.com/makerbase-mks/QRCode/archive/master.zip
  222. HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1
  223. src_filter=+<src/feature/tmc_util.cpp> +<src/module/stepper/trinamic.cpp> +<src/gcode/feature/trinamic/M122.cpp> +<src/gcode/feature/trinamic/M906.cpp> +<src/gcode/feature/trinamic/M911-M914.cpp>
  224. HAS_STEALTHCHOP = src_filter=+<src/gcode/feature/trinamic/M569.cpp>
  225. SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
  226. HAS_MOTOR_CURRENT_I2C = SlowSoftI2CMaster
  227. src_filter=+<src/feature/digipot>
  228. HAS_TMC26X = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
  229. src_filter=+<src/module/TMC26X.cpp>
  230. HAS_L64XX = Arduino-L6470@0.8.0
  231. src_filter=+<src/libs/L64XX> +<src/module/stepper/L64xx.cpp> +<src/gcode/feature/L6470> +<src/HAL/shared/HAL_spi_L6470.cpp>
  232. NEOPIXEL_LED = Adafruit NeoPixel@1.5.0
  233. src_filter=+<src/feature/leds/neopixel.cpp>
  234. TEMP_.+_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0
  235. USES_LIQUIDCRYSTAL = bitbucket-fmalpartida/LiquidCrystal@1.5.0
  236. USES_LIQUIDCRYSTAL_I2C = marcoschwartz/LiquidCrystal_I2C@1.1.4
  237. USES_LIQUIDTWI2 = LiquidTWI2@1.2.7
  238. HAS_WIRED_LCD = src_filter=+<src/lcd/lcdprint.cpp>
  239. HAS_MARLINUI_HD44780 = src_filter=+<src/lcd/HD44780>
  240. HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1
  241. src_filter=+<src/lcd/dogm>
  242. HAS_(FSMC|SPI)_TFT = src_filter=+<src/HAL/STM32/tft> +<src/HAL/STM32F1/tft> +<src/lcd/tft_io>
  243. HAS_FSMC_TFT = src_filter=+<src/HAL/STM32/tft/tft_fsmc.cpp> +<src/HAL/STM32F1/tft/tft_fsmc.cpp>
  244. HAS_SPI_TFT = src_filter=+<src/HAL/STM32/tft/tft_spi.cpp> +<src/HAL/STM32F1/tft/tft_spi.cpp>
  245. I2C_EEPROM = src_filter=+<src/HAL/shared/eeprom_if_i2c.cpp>
  246. SPI_EEPROM = src_filter=+<src/HAL/shared/eeprom_if_spi.cpp>
  247. HAS_GRAPHICAL_TFT = src_filter=+<src/lcd/tft>
  248. DWIN_CREALITY_LCD = src_filter=+<src/lcd/dwin>
  249. IS_TFTGLCD_PANEL = src_filter=+<src/lcd/TFTGLCD>
  250. HAS_TOUCH_BUTTONS = src_filter=+<src/lcd/touch/touch_buttons.cpp>
  251. HAS_LCD_MENU = src_filter=+<src/lcd/menu>
  252. HAS_GAMES = src_filter=+<src/lcd/menu/game/game.cpp>
  253. MARLIN_BRICKOUT = src_filter=+<src/lcd/menu/game/brickout.cpp>
  254. MARLIN_INVADERS = src_filter=+<src/lcd/menu/game/invaders.cpp>
  255. MARLIN_MAZE = src_filter=+<src/lcd/menu/game/maze.cpp>
  256. MARLIN_SNAKE = src_filter=+<src/lcd/menu/game/snake.cpp>
  257. HAS_MENU_BACKLASH = src_filter=+<src/lcd/menu/menu_backlash.cpp>
  258. HAS_MENU_BED_CORNERS = src_filter=+<src/lcd/menu/menu_bed_corners.cpp>
  259. LCD_BED_LEVELING = src_filter=+<src/lcd/menu/menu_bed_leveling.cpp>
  260. HAS_MENU_CANCELOBJECT = src_filter=+<src/lcd/menu/menu_cancelobject.cpp>
  261. HAS_MENU_DELTA_CALIBRATE = src_filter=+<src/lcd/menu/menu_delta_calibrate.cpp>
  262. HAS_MENU_FILAMENT = src_filter=+<src/lcd/menu/menu_filament.cpp>
  263. LCD_INFO_MENU = src_filter=+<src/lcd/menu/menu_info.cpp>
  264. HAS_MENU_JOB_RECOVERY = src_filter=+<src/lcd/menu/menu_job_recovery.cpp>
  265. HAS_MULTI_LANGUAGE = src_filter=+<src/lcd/menu/menu_language.cpp>
  266. HAS_MENU_LED = src_filter=+<src/lcd/menu/menu_led.cpp>
  267. HAS_MENU_MEDIA = src_filter=+<src/lcd/menu/menu_media.cpp>
  268. HAS_MENU_MIXER = src_filter=+<src/lcd/menu/menu_mixer.cpp>
  269. HAS_MENU_MMU2 = src_filter=+<src/lcd/menu/menu_mmu2.cpp>
  270. HAS_MENU_PASSWORD = src_filter=+<src/lcd/menu/menu_password.cpp>
  271. HAS_MENU_POWER_MONITOR = src_filter=+<src/lcd/menu/menu_power_monitor.cpp>
  272. HAS_MENU_CUTTER = src_filter=+<src/lcd/menu/menu_spindle_laser.cpp>
  273. HAS_MENU_TEMPERATURE = src_filter=+<src/lcd/menu/menu_temperature.cpp>
  274. HAS_MENU_TMC = src_filter=+<src/lcd/menu/menu_tmc.cpp>
  275. HAS_MENU_TOUCH_SCREEN = src_filter=+<src/lcd/menu/menu_touch_screen.cpp>
  276. HAS_MENU_TRAMMING = src_filter=+<src/lcd/menu/menu_tramming.cpp>
  277. HAS_MENU_UBL = src_filter=+<src/lcd/menu/menu_ubl.cpp>
  278. ANYCUBIC_LCD_CHIRON = src_filter=+<src/lcd/extui/anycubic_chiron_lcd.cpp> +<src/lcd/extui/lib/anycubic_chiron>
  279. ANYCUBIC_LCD_I3MEGA = src_filter=+<src/lcd/extui/anycubic_i3mega_lcd.cpp> +<src/lcd/extui/lib/anycubic_i3mega>
  280. HAS_DGUS_LCD = src_filter=+<src/lcd/extui/lib/dgus> +<src/lcd/extui/dgus_lcd.cpp>
  281. TOUCH_UI_FTDI_EVE = src_filter=+<src/lcd/extui/lib/ftdi_eve_touch_ui>
  282. EXTUI_EXAMPLE = src_filter=+<src/lcd/extui/example.cpp>
  283. MALYAN_LCD = src_filter=+<src/lcd/extui/malyan_lcd.cpp>
  284. USE_UHS2_USB = src_filter=+<src/sd/usb_flashdrive/lib-uhs2>
  285. USE_UHS3_USB = src_filter=+<src/sd/usb_flashdrive/lib-uhs3>
  286. USB_FLASH_DRIVE_SUPPORT = src_filter=+<src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp>
  287. AUTO_BED_LEVELING_BILINEAR = src_filter=+<src/feature/bedlevel/abl>
  288. AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+<src/gcode/bedlevel/abl>
  289. MESH_BED_LEVELING = src_filter=+<src/feature/bedlevel/mbl> +<src/gcode/bedlevel/mbl>
  290. AUTO_BED_LEVELING_UBL = src_filter=+<src/feature/bedlevel/ubl> +<src/gcode/bedlevel/ubl>
  291. BACKLASH_COMPENSATION = src_filter=+<src/feature/backlash.cpp>
  292. BARICUDA = src_filter=+<src/feature/baricuda.cpp> +<src/gcode/feature/baricuda>
  293. BINARY_FILE_TRANSFER = src_filter=+<src/feature/binary_stream.cpp> +<src/libs/heatshrink>
  294. BLTOUCH = src_filter=+<src/feature/bltouch.cpp>
  295. CANCEL_OBJECTS = src_filter=+<src/feature/cancel_object.cpp> +<src/gcode/feature/cancel>
  296. CASE_LIGHT_ENABLE = src_filter=+<src/feature/caselight.cpp> +<src/gcode/feature/caselight>
  297. EXTERNAL_CLOSED_LOOP_CONTROLLER = src_filter=+<src/feature/closedloop.cpp> +<src/gcode/calibrate/M12.cpp>
  298. USE_CONTROLLER_FAN = src_filter=+<src/feature/controllerfan.cpp>
  299. HAS_MOTOR_CURRENT_DAC = src_filter=+<src/feature/dac>
  300. DIRECT_STEPPING = src_filter=+<src/feature/direct_stepping.cpp> +<src/gcode/motion/G6.cpp>
  301. EMERGENCY_PARSER = src_filter=+<src/feature/e_parser.cpp> -<src/gcode/control/M108_*.cpp>
  302. I2C_POSITION_ENCODERS = src_filter=+<src/feature/encoder_i2c.cpp>
  303. IIC_BL24CXX_EEPROM = src_filter=+<src/libs/BL24CXX.cpp>
  304. HAS_SPI_FLASH = src_filter=+<src/libs/W25Qxx.cpp>
  305. HAS_ETHERNET = src_filter=+<src/feature/ethernet.cpp> +<src/gcode/feature/network/M552-M554.cpp>
  306. HAS_FANMUX = src_filter=+<src/feature/fanmux.cpp>
  307. FILAMENT_WIDTH_SENSOR = src_filter=+<src/feature/filwidth.cpp> +<src/gcode/feature/filwidth>
  308. FWRETRACT = src_filter=+<src/feature/fwretract.cpp> +<src/gcode/feature/fwretract>
  309. HOST_ACTION_COMMANDS = src_filter=+<src/feature/host_actions.cpp>
  310. HOTEND_IDLE_TIMEOUT = src_filter=+<src/feature/hotend_idle.cpp>
  311. JOYSTICK = src_filter=+<src/feature/joystick.cpp>
  312. BLINKM = src_filter=+<src/feature/leds/blinkm.cpp>
  313. HAS_COLOR_LEDS = src_filter=+<src/feature/leds/leds.cpp> +<src/gcode/feature/leds/M150.cpp>
  314. PCA9533 = src_filter=+<src/feature/leds/pca9533.cpp>
  315. PCA9632 = src_filter=+<src/feature/leds/pca9632.cpp>
  316. PRINTER_EVENT_LEDS = src_filter=+<src/feature/leds/printer_event_leds.cpp>
  317. TEMP_STAT_LEDS = src_filter=+<src/feature/leds/tempstat.cpp>
  318. MAX7219_DEBUG = src_filter=+<src/feature/max7219.cpp> +<src/gcode/feature/leds/M7219.cpp>
  319. MEATPACK = src_filter=+<src/feature/meatpack.cpp>
  320. MIXING_EXTRUDER = src_filter=+<src/feature/mixing.cpp> +<src/gcode/feature/mixing/M163-M165.cpp>
  321. HAS_PRUSA_MMU1 = src_filter=+<src/feature/mmu/mmu.cpp>
  322. HAS_PRUSA_MMU2 = src_filter=+<src/feature/mmu/mmu2.cpp> +<src/gcode/feature/prusa_MMU2>
  323. PASSWORD_FEATURE = src_filter=+<src/feature/password> +<src/gcode/feature/password>
  324. ADVANCED_PAUSE_FEATURE = src_filter=+<src/feature/pause.cpp> +<src/gcode/feature/pause/M600.cpp> +<src/gcode/feature/pause/M603.cpp>
  325. AUTO_POWER_CONTROL = src_filter=+<src/feature/power.cpp>
  326. HAS_POWER_MONITOR = src_filter=+<src/feature/power_monitor.cpp> +<src/gcode/feature/power_monitor>
  327. POWER_LOSS_RECOVERY = src_filter=+<src/feature/powerloss.cpp> +<src/gcode/feature/powerloss>
  328. PROBE_TEMP_COMPENSATION = src_filter=+<src/feature/probe_temp_comp.cpp> +<src/gcode/calibrate/G76_M192_M871.cpp>
  329. HAS_FILAMENT_SENSOR = src_filter=+<src/feature/runout.cpp> +<src/gcode/feature/runout>
  330. (EXT|MANUAL)_SOLENOID.* = src_filter=+<src/feature/solenoid.cpp> +<src/gcode/control/M380_M381.cpp>
  331. HAS_CUTTER = src_filter=+<src/feature/spindle_laser.cpp> +<src/gcode/control/M3-M5.cpp>
  332. EXPERIMENTAL_I2CBUS = src_filter=+<src/feature/twibus.cpp> +<src/gcode/feature/i2c>
  333. MECHANICAL_GANTRY_CAL.+ = src_filter=+<src/gcode/calibrate/G34.cpp>
  334. Z_MULTI_ENDSTOPS = src_filter=+<src/gcode/calibrate/G34_M422.cpp>
  335. Z_STEPPER_AUTO_ALIGN = src_filter=+<src/feature/z_stepper_align.cpp> +<src/gcode/calibrate/G34_M422.cpp>
  336. G26_MESH_VALIDATION = src_filter=+<src/gcode/bedlevel/G26.cpp>
  337. ASSISTED_TRAMMING = src_filter=+<src/feature/tramming.cpp> +<src/gcode/bedlevel/G35.cpp>
  338. HAS_MESH = src_filter=+<src/gcode/bedlevel/G42.cpp>
  339. HAS_LEVELING = src_filter=+<src/gcode/bedlevel/M420.cpp> +<src/feature/bedlevel/bedlevel.cpp>
  340. DELTA_AUTO_CALIBRATION = src_filter=+<src/gcode/calibrate/G33.cpp>
  341. CALIBRATION_GCODE = src_filter=+<src/gcode/calibrate/G425.cpp>
  342. Z_MIN_PROBE_REPEATABILITY_TEST = src_filter=+<src/gcode/calibrate/M48.cpp>
  343. M100_FREE_MEMORY_WATCHER = src_filter=+<src/gcode/calibrate/M100.cpp>
  344. BACKLASH_GCODE = src_filter=+<src/gcode/calibrate/M425.cpp>
  345. IS_KINEMATIC = src_filter=+<src/gcode/calibrate/M665.cpp>
  346. HAS_EXTRA_ENDSTOPS = src_filter=+<src/gcode/calibrate/M666.cpp>
  347. SKEW_CORRECTION_GCODE = src_filter=+<src/gcode/calibrate/M852.cpp>
  348. DIRECT_PIN_CONTROL = src_filter=+<src/gcode/control/M42.cpp> +<src/gcode/control/M226.cpp>
  349. PINS_DEBUGGING = src_filter=+<src/gcode/config/M43.cpp>
  350. NO_VOLUMETRICS = src_filter=-<src/gcode/config/M200-M205.cpp>
  351. HAS_MULTI_EXTRUDER = src_filter=+<src/gcode/config/M217.cpp>
  352. HAS_HOTEND_OFFSET = src_filter=+<src/gcode/config/M218.cpp>
  353. EDITABLE_SERVO_ANGLES = src_filter=+<src/gcode/config/M281.cpp>
  354. PIDTEMP = src_filter=+<src/gcode/config/M301.cpp>
  355. PREVENT_COLD_EXTRUSION = src_filter=+<src/gcode/config/M302.cpp>
  356. PIDTEMPBED = src_filter=+<src/gcode/config/M304.cpp>
  357. HAS_USER_THERMISTORS = src_filter=+<src/gcode/config/M305.cpp>
  358. SD_ABORT_ON_ENDSTOP_HIT = src_filter=+<src/gcode/config/M540.cpp>
  359. BAUD_RATE_GCODE = src_filter=+<src/gcode/config/M575.cpp>
  360. HAS_SMART_EFF_MOD = src_filter=+<src/gcode/config/M672.cpp>
  361. COOLANT_CONTROL = src_filter=+<src/gcode/control/M7-M9.cpp>
  362. HAS_SOFTWARE_ENDSTOPS = src_filter=+<src/gcode/control/M211.cpp>
  363. HAS_DUPLICATION_MODE = src_filter=+<src/gcode/control/M605.cpp>
  364. LIN_ADVANCE = src_filter=+<src/gcode/feature/advance>
  365. PHOTO_GCODE = src_filter=+<src/gcode/feature/camera>
  366. CONTROLLER_FAN_EDITABLE = src_filter=+<src/gcode/feature/controllerfan>
  367. GCODE_MACROS = src_filter=+<src/gcode/feature/macro>
  368. GRADIENT_MIX = src_filter=+<src/gcode/feature/mixing/M166.cpp>
  369. HAS_SAVED_POSITIONS = src_filter=+<src/gcode/feature/pause/G60.cpp> +<src/gcode/feature/pause/G61.cpp>
  370. PARK_HEAD_ON_PAUSE = src_filter=+<src/gcode/feature/pause/M125.cpp>
  371. FILAMENT_LOAD_UNLOAD_GCODES = src_filter=+<src/gcode/feature/pause/M701_M702.cpp>
  372. CNC_WORKSPACE_PLANES = src_filter=+<src/gcode/geometry/G17-G19.cpp>
  373. CNC_COORDINATE_SYSTEMS = src_filter=+<src/gcode/geometry/G53-G59.cpp>
  374. HAS_M206_COMMAND = src_filter=+<src/gcode/geometry/M206_M428.cpp>
  375. EXPECTED_PRINTER_CHECK = src_filter=+<src/gcode/host/M16.cpp>
  376. HOST_KEEPALIVE_FEATURE = src_filter=+<src/gcode/host/M113.cpp>
  377. REPETIER_GCODE_M360 = src_filter=+<src/gcode/host/M360.cpp>
  378. HAS_GCODE_M876 = src_filter=+<src/gcode/host/M876.cpp>
  379. HAS_RESUME_CONTINUE = src_filter=+<src/gcode/lcd/M0_M1.cpp>
  380. HAS_LCD_CONTRAST = src_filter=+<src/gcode/lcd/M250.cpp>
  381. LCD_SET_PROGRESS_MANUALLY = src_filter=+<src/gcode/lcd/M73.cpp>
  382. TOUCH_SCREEN_CALIBRATION = src_filter=+<src/gcode/lcd/M995.cpp>
  383. ARC_SUPPORT = src_filter=+<src/gcode/motion/G2_G3.cpp>
  384. GCODE_MOTION_MODES = src_filter=+<src/gcode/motion/G80.cpp>
  385. BABYSTEPPING = src_filter=+<src/gcode/motion/M290.cpp> +<src/feature/babystep.cpp>
  386. Z_PROBE_SLED = src_filter=+<src/gcode/probe/G31_G32.cpp>
  387. G38_PROBE_TARGET = src_filter=+<src/gcode/probe/G38.cpp>
  388. MAGNETIC_PARKING_EXTRUDER = src_filter=+<src/gcode/probe/M951.cpp>
  389. SDSUPPORT = src_filter=+<src/sd/cardreader.cpp> +<src/sd/Sd2Card.cpp> +<src/sd/SdBaseFile.cpp> +<src/sd/SdFatUtil.cpp> +<src/sd/SdFile.cpp> +<src/sd/SdVolume.cpp> +<src/gcode/sd>
  390. HAS_MEDIA_SUBCALLS = src_filter=+<src/gcode/sd/M32.cpp>
  391. GCODE_REPEAT_MARKERS = src_filter=+<src/feature/repeat.cpp> +<src/gcode/sd/M808.cpp>
  392. HAS_EXTRUDERS = src_filter=+<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp>
  393. AUTO_REPORT_TEMPERATURES = src_filter=+<src/gcode/temp/M155.cpp>
  394. INCH_MODE_SUPPORT = src_filter=+<src/gcode/units/G20_G21.cpp>
  395. TEMPERATURE_UNITS_SUPPORT = src_filter=+<src/gcode/units/M149.cpp>
  396. NEED_HEX_PRINT = src_filter=+<src/libs/hex_print.cpp>
  397. NEED_LSF = src_filter=+<src/libs/least_squares_fit.cpp>
  398. NOZZLE_PARK_FEATURE = src_filter=+<src/libs/nozzle.cpp> +<src/gcode/feature/pause/G27.cpp>
  399. NOZZLE_CLEAN_FEATURE = src_filter=+<src/libs/nozzle.cpp> +<src/gcode/feature/clean>
  400. DELTA = src_filter=+<src/module/delta.cpp> +<src/gcode/calibrate/M666.cpp>
  401. BEZIER_CURVE_SUPPORT = src_filter=+<src/module/planner_bezier.cpp> +<src/gcode/motion/G5.cpp>
  402. PRINTCOUNTER = src_filter=+<src/module/printcounter.cpp>
  403. HAS_BED_PROBE = src_filter=+<src/module/probe.cpp> +<src/gcode/probe/G30.cpp> +<src/gcode/probe/M401_M402.cpp> +<src/gcode/probe/M851.cpp>
  404. IS_SCARA = src_filter=+<src/module/scara.cpp>
  405. HAS_SERVOS = src_filter=+<src/module/servo.cpp> +<src/gcode/control/M280.cpp>
  406. MORGAN_SCARA = src_filter=+<src/gcode/scara>
  407. HAS_MICROSTEPS = src_filter=+<src/gcode/control/M350_M351.cpp>
  408. (ESP3D_)?WIFISUPPORT = AsyncTCP, ESP Async WebServer
  409. ESP3DLib=https://github.com/luc-github/ESP3DLib.git
  410. arduinoWebSockets=https://github.com/Links2004/arduinoWebSockets.git
  411. ESP32SSDP=https://github.com/luc-github/ESP32SSDP.git
  412. lib_ignore=ESPAsyncTCP
  413. #
  414. # Default values apply to all 'env:' prefixed environments
  415. #
  416. [env]
  417. framework = arduino
  418. extra_scripts = ${common.extra_scripts}
  419. build_flags = ${common.build_flags}
  420. lib_deps = ${common.lib_deps}
  421. monitor_speed = 250000
  422. monitor_flags =
  423. --quiet
  424. --echo
  425. --eol
  426. LF
  427. --filter
  428. colorize
  429. --filter
  430. time
  431. #################################
  432. # #
  433. # Unique Core Architectures #
  434. # #
  435. # Add a new "env" below if no #
  436. # entry has values suitable to #
  437. # build for a given board. #
  438. # #
  439. #################################
  440. #################################
  441. # #
  442. # AVR Architecture #
  443. # #
  444. #################################
  445. #
  446. # AVR (8-bit) Common Environment values
  447. #
  448. [common_avr8]
  449. board_build.f_cpu = 16000000L
  450. src_filter = ${common.default_src_filter} +<src/HAL/AVR>
  451. #
  452. # ATmega2560
  453. #
  454. [env:mega2560]
  455. platform = atmelavr
  456. extends = common_avr8
  457. board = megaatmega2560
  458. #
  459. # ATmega2560 with extended pins 70-85 defined
  460. # BOARD_BQ_ZUM_MEGA_3D
  461. # BOARD_ULTIMAIN_2
  462. # BOARD_MIGHTYBOARD_REVE
  463. # BOARD_EINSTART_S
  464. #
  465. [env:mega2560ext]
  466. platform = atmelavr
  467. extends = env:mega2560
  468. board_build.variant = megaextendedpins
  469. extra_scripts = ${common.extra_scripts}
  470. pre:buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py
  471. #
  472. # ATmega1280
  473. #
  474. [env:mega1280]
  475. platform = atmelavr
  476. extends = common_avr8
  477. board = megaatmega1280
  478. #
  479. # MightyBoard AVR with extended pins
  480. #
  481. [mega_extended_optimized]
  482. extends = common_avr8
  483. board_build.variant = megaextendedpins
  484. extra_scripts = ${common.extra_scripts}
  485. pre:buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py
  486. upload_speed = 57600
  487. build_flags = ${common.build_flags} -fno-tree-scev-cprop -fno-split-wide-types -Wl,--relax -mcall-prologues
  488. #
  489. # MightyBoard ATmega1280
  490. #
  491. [env:MightyBoard1280]
  492. platform = atmelavr
  493. extends = mega_extended_optimized
  494. board = megaatmega1280
  495. #
  496. # MightyBoard ATmega2560
  497. #
  498. [env:MightyBoard2560]
  499. platform = atmelavr
  500. extends = mega_extended_optimized
  501. board = megaatmega2560
  502. #
  503. # RAMBo
  504. #
  505. [env:rambo]
  506. platform = atmelavr
  507. extends = common_avr8
  508. board = reprap_rambo
  509. #
  510. # FYSETC F6 V1.3 / V1.4
  511. #
  512. [env:FYSETC_F6]
  513. platform = atmelavr
  514. extends = common_avr8
  515. board = fysetc_f6
  516. #
  517. # Sanguinololu (ATmega644p)
  518. #
  519. [env:sanguino644p]
  520. platform = atmelavr
  521. extends = common_avr8
  522. board = sanguino_atmega644p
  523. #
  524. # Sanguinololu (ATmega1284p)
  525. #
  526. [env:sanguino1284p]
  527. platform = atmelavr
  528. extends = common_avr8
  529. board = sanguino_atmega1284p
  530. board_upload.maximum_size = 126976
  531. #
  532. # Melzi and clones (ATmega1284p)
  533. #
  534. [env:melzi]
  535. platform = atmelavr
  536. extends = env:sanguino1284p
  537. upload_speed = 57600
  538. #
  539. # Sanguinololu (ATmega1284p stock bootloader with tuned flags)
  540. #
  541. [tuned_1284p]
  542. build_flags = ${common.build_flags} -fno-tree-scev-cprop -fno-split-wide-types -Wl,--relax -mcall-prologues
  543. [env:sanguino1284p_optimized]
  544. platform = atmelavr
  545. extends = env:melzi
  546. build_flags = ${tuned_1284p.build_flags}
  547. #
  548. # Melzi and clones (alias for sanguino1284p_optimized)
  549. #
  550. [env:melzi_optimized]
  551. platform = atmelavr
  552. extends = env:sanguino1284p_optimized
  553. #
  554. # Melzi and clones (Optiboot bootloader)
  555. #
  556. [env:melzi_optiboot]
  557. platform = atmelavr
  558. extends = common_avr8
  559. board = sanguino_atmega1284p
  560. upload_speed = 115200
  561. #
  562. # Melzi and clones (Zonestar Melzi2 with tuned flags)
  563. #
  564. [env:melzi_optiboot_optimized]
  565. platform = atmelavr
  566. extends = env:melzi_optiboot
  567. build_flags = ${tuned_1284p.build_flags}
  568. #
  569. # AT90USB1286 boards using CDC bootloader
  570. # - BRAINWAVE
  571. # - BRAINWAVE_PRO
  572. # - SAV_MKI
  573. # - TEENSYLU
  574. #
  575. [env:at90usb1286_cdc]
  576. platform = teensy
  577. extends = common_avr8
  578. board = at90usb1286
  579. lib_ignore = ${env:common_avr8.lib_ignore}, Teensy_ADC, NativeEthernet
  580. #
  581. # AT90USB1286 boards using DFU bootloader
  582. # - Printrboard
  583. # - Printrboard Rev.F
  584. # - ? 5DPRINT ?
  585. #
  586. [env:at90usb1286_dfu]
  587. platform = teensy
  588. extends = env:at90usb1286_cdc
  589. #################################
  590. # #
  591. # DUE Architecture #
  592. # #
  593. #################################
  594. #
  595. # Due (Atmel SAM3X8E ARM Cortex-M3)
  596. #
  597. # - RAMPS4DUE
  598. # - RADDS
  599. #
  600. [env:DUE]
  601. platform = atmelsam
  602. board = due
  603. src_filter = ${common.default_src_filter} +<src/HAL/DUE> +<src/HAL/shared/backtrace>
  604. [env:DUE_USB]
  605. platform = atmelsam
  606. extends = env:DUE
  607. board = dueUSB
  608. [env:DUE_debug]
  609. # Used when WATCHDOG_RESET_MANUAL is enabled
  610. platform = atmelsam
  611. extends = env:DUE
  612. build_flags = ${common.build_flags}
  613. -funwind-tables
  614. -mpoke-function-name
  615. #
  616. # Archim SAM
  617. #
  618. [common_DUE_archim]
  619. platform = atmelsam
  620. extends = env:DUE
  621. board = archim
  622. build_flags = ${common.build_flags}
  623. -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON
  624. board_build.variants_dir = buildroot/share/PlatformIO/variants/
  625. extra_scripts = ${common.extra_scripts}
  626. Marlin/src/HAL/DUE/upload_extra_script.py
  627. [env:DUE_archim]
  628. platform = ${common_DUE_archim.platform}
  629. extends = common_DUE_archim
  630. # Used when WATCHDOG_RESET_MANUAL is enabled
  631. [env:DUE_archim_debug]
  632. platform = ${common_DUE_archim.platform}
  633. extends = common_DUE_archim
  634. build_flags = ${common_DUE_archim.build_flags} -funwind-tables -mpoke-function-name
  635. #################################
  636. # #
  637. # SAMD51 Architecture #
  638. # #
  639. #################################
  640. #
  641. # Adafruit Grand Central M4 (Atmel SAMD51P20A ARM Cortex-M4)
  642. #
  643. [env:SAMD51_grandcentral_m4]
  644. platform = atmelsam
  645. board = adafruit_grandcentral_m4
  646. build_flags = ${common.build_flags} -std=gnu++17
  647. build_unflags = -std=gnu++11
  648. src_filter = ${common.default_src_filter} +<src/HAL/SAMD51>
  649. lib_deps = ${common.lib_deps}
  650. SoftwareSerialM
  651. Adafruit SPIFlash
  652. custom_marlin.SDSUPPORT = SdFat - Adafruit Fork
  653. debug_tool = jlink
  654. #################################
  655. # #
  656. # LPC176x Architecture #
  657. # #
  658. #################################
  659. #
  660. # NXP LPC176x ARM Cortex-M3
  661. #
  662. [common_LPC]
  663. platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip
  664. platform_packages = framework-arduino-lpc176x@^0.2.6
  665. board = nxp_lpc1768
  666. lib_ldf_mode = off
  667. lib_compat_mode = strict
  668. extra_scripts = ${common.extra_scripts}
  669. Marlin/src/HAL/LPC1768/upload_extra_script.py
  670. src_filter = ${common.default_src_filter} +<src/HAL/LPC1768> +<src/HAL/shared/backtrace>
  671. lib_deps = ${common.lib_deps}
  672. Servo
  673. custom_marlin.USES_LIQUIDCRYSTAL = arduino-libraries/LiquidCrystal@~1.0.7
  674. custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip
  675. build_flags = ${common.build_flags} -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g
  676. # debug options for backtrace
  677. #-funwind-tables
  678. #-mpoke-function-name
  679. #
  680. # NXP LPC176x ARM Cortex-M3
  681. #
  682. [env:LPC1768]
  683. platform = ${common_LPC.platform}
  684. extends = common_LPC
  685. board = nxp_lpc1768
  686. [env:LPC1769]
  687. platform = ${common_LPC.platform}
  688. extends = common_LPC
  689. board = nxp_lpc1769
  690. #################################
  691. # #
  692. # STM32 Architecture #
  693. # #
  694. #################################
  695. #
  696. # HAL/STM32 Base Environment values
  697. #
  698. [common_stm32]
  699. platform = ststm32@~11.0
  700. build_flags = ${common.build_flags}
  701. -std=gnu++14
  702. -DUSBCON -DUSBD_USE_CDC
  703. -DTIM_IRQ_PRIO=13
  704. -DADC_RESOLUTION=12
  705. build_unflags = -std=gnu++11
  706. src_filter = ${common.default_src_filter} +<src/HAL/STM32> +<src/HAL/shared/backtrace>
  707. #
  708. # HAL/STM32F1 Common Environment values
  709. #
  710. [common_stm32f1]
  711. platform = ststm32@~11.0
  712. board_build.core = maple
  713. build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py
  714. ${common.build_flags}
  715. -DARDUINO_ARCH_STM32
  716. build_unflags = -std=gnu11 -std=gnu++11
  717. src_filter = ${common.default_src_filter} +<src/HAL/STM32F1>
  718. lib_ignore = SPI, FreeRTOS701, FreeRTOS821
  719. lib_deps = ${common.lib_deps}
  720. SoftwareSerialM
  721. platform_packages = tool-stm32duino
  722. #
  723. # STM32F103RC
  724. #
  725. [env:STM32F103RC]
  726. platform = ${common_stm32f1.platform}
  727. extends = common_stm32f1
  728. board = genericSTM32F103RC
  729. monitor_speed = 115200
  730. #
  731. # MEEB_3DP (STM32F103RCT6 with 512K)
  732. #
  733. [env:STM32F103RC_meeb]
  734. platform = ${common_stm32f1.platform}
  735. extends = common_stm32f1
  736. board = MEEB_3DP
  737. build_flags = ${common_stm32f1.build_flags}
  738. -DDEBUG_LEVEL=0
  739. -DSS_TIMER=4
  740. -DSTM32_FLASH_SIZE=512
  741. -DHSE_VALUE=12000000U
  742. -DUSE_USB_COMPOSITE
  743. -DVECT_TAB_OFFSET=0x2000
  744. -DGENERIC_BOOTLOADER
  745. extra_scripts = ${common.extra_scripts}
  746. pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py
  747. buildroot/share/PlatformIO/scripts/STM32F103RC_MEEB_3DP.py
  748. lib_deps = ${common.lib_deps}
  749. SoftwareSerialM
  750. USBComposite for STM32F1@0.91
  751. custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use
  752. debug_tool = stlink
  753. upload_protocol = dfu
  754. #
  755. # STM32F103RC_fysetc
  756. #
  757. [env:STM32F103RC_fysetc]
  758. platform = ${common_stm32f1.platform}
  759. extends = env:STM32F103RC
  760. extra_scripts = ${common.extra_scripts}
  761. buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
  762. build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0
  763. lib_ldf_mode = chain
  764. debug_tool = stlink
  765. upload_protocol = serial
  766. #
  767. # BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3)
  768. #
  769. # STM32F103RC_btt ............. RCT6 with 256K
  770. # STM32F103RC_btt_USB ......... RCT6 with 256K (USB mass storage)
  771. # STM32F103RC_btt_512K ........ RCT6 with 512K
  772. # STM32F103RC_btt_512K_USB .... RCT6 with 512K (USB mass storage)
  773. #
  774. # WARNING! If you have an SKR Mini v1.1 or an SKR Mini E3 1.0 / 1.2 / 2.0 / DIP
  775. # and experience a printer freeze, re-flash Marlin using the regular (non-512K)
  776. # build option. 256K chips may be re-branded 512K chips, but this means the
  777. # upper 256K is sketchy, and failure is very likely.
  778. #
  779. [env:STM32F103RC_btt]
  780. platform = ${common_stm32f1.platform}
  781. extends = env:STM32F103RC
  782. extra_scripts = ${common.extra_scripts}
  783. buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py
  784. build_flags = ${common_stm32f1.build_flags}
  785. -DDEBUG_LEVEL=0 -DSS_TIMER=4
  786. monitor_speed = 115200
  787. [env:STM32F103RC_btt_USB]
  788. platform = ${common_stm32f1.platform}
  789. extends = env:STM32F103RC_btt
  790. build_flags = ${env:STM32F103RC_btt.build_flags} -DUSE_USB_COMPOSITE
  791. lib_deps = ${env:STM32F103RC_btt.lib_deps}
  792. USBComposite for STM32F1@0.91
  793. [env:STM32F103RC_btt_512K]
  794. platform = ${common_stm32f1.platform}
  795. extends = env:STM32F103RC_btt
  796. board_upload.maximum_size=524288
  797. build_flags = ${env:STM32F103RC_btt.build_flags} -DSTM32_FLASH_SIZE=512
  798. [env:STM32F103RC_btt_512K_USB]
  799. platform = ${common_stm32f1.platform}
  800. extends = env:STM32F103RC_btt_512K
  801. build_flags = ${env:STM32F103RC_btt_512K.build_flags} -DUSE_USB_COMPOSITE
  802. lib_deps = ${env:STM32F103RC_btt_512K.lib_deps}
  803. USBComposite for STM32F1@0.91
  804. #
  805. # STM32F103RE
  806. #
  807. [env:STM32F103RE]
  808. platform = ${common_stm32f1.platform}
  809. extends = common_stm32f1
  810. board = genericSTM32F103RE
  811. monitor_speed = 115200
  812. #
  813. # STM32F103RE_btt ............. RET6
  814. # STM32F103RE_btt_USB ......... RET6 (USB mass storage)
  815. #
  816. [env:STM32F103RE_btt]
  817. platform = ${common_stm32f1.platform}
  818. extends = env:STM32F103RE
  819. extra_scripts = ${common.extra_scripts}
  820. buildroot/share/PlatformIO/scripts/STM32F103RE_SKR_E3_DIP.py
  821. build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4
  822. debug_tool = stlink
  823. upload_protocol = stlink
  824. [env:STM32F103RE_btt_USB]
  825. platform = ${common_stm32f1.platform}
  826. extends = env:STM32F103RE_btt
  827. build_flags = ${env:STM32F103RE_btt.build_flags} -DUSE_USB_COMPOSITE
  828. lib_deps = ${common_stm32f1.lib_deps}
  829. USBComposite for STM32F1@0.91
  830. #
  831. # REMRAM_V1
  832. #
  833. [env:REMRAM_V1]
  834. platform = ${common_stm32.platform}
  835. extends = common_stm32
  836. board = remram_v1
  837. build_flags = ${common_stm32.build_flags}
  838. #
  839. # ST NUCLEO-F767ZI Development Board
  840. # This environment is for testing purposes prior to control boards
  841. # being readily available based on STM32F7 MCUs
  842. #
  843. [env:NUCLEO_F767ZI]
  844. platform = ${common_stm32.platform}
  845. extends = common_stm32
  846. board = nucleo_f767zi
  847. build_flags = ${common_stm32.build_flags} -DTIMER_SERIAL=TIM9
  848. #
  849. # ARMED (STM32)
  850. #
  851. [env:ARMED]
  852. platform = ${common_stm32.platform}
  853. extends = common_stm32
  854. board = armed_v1
  855. build_flags = ${common_stm32.build_flags}
  856. -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing
  857. #
  858. # Geeetech GTM32 (STM32F103VET6)
  859. #
  860. [env:STM32F103VE_GTM32]
  861. platform = ${common_stm32f1.platform}
  862. extends = common_stm32f1
  863. board = genericSTM32F103VE
  864. build_flags = ${common_stm32f1.build_flags}
  865. -ffunction-sections -fdata-sections -nostdlib -MMD
  866. -DMCU_STM32F103VE -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1 -DBOARD_generic_stm32f103v
  867. -DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000
  868. -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
  869. upload_protocol = serial
  870. #
  871. # Longer 3D board in Alfawise U20 (STM32F103VET6)
  872. #
  873. [env:STM32F103VE_longer]
  874. platform = ${common_stm32f1.platform}
  875. extends = common_stm32f1
  876. board = genericSTM32F103VE
  877. extra_scripts = ${common.extra_scripts}
  878. buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
  879. build_flags = ${common_stm32f1.build_flags}
  880. -DMCU_STM32F103VE -DSTM32F1xx -USERIAL_USB -DU20 -DTS_V12
  881. build_unflags = ${common_stm32f1.build_unflags}
  882. -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
  883. #
  884. # MKS Robin Mini (STM32F103VET6)
  885. #
  886. [env:mks_robin_mini]
  887. platform = ${common_stm32f1.platform}
  888. extends = common_stm32f1
  889. board = genericSTM32F103VE
  890. extra_scripts = ${common.extra_scripts}
  891. buildroot/share/PlatformIO/scripts/mks_robin_mini.py
  892. build_flags = ${common_stm32f1.build_flags}
  893. -DMCU_STM32F103VE
  894. #
  895. # MKS Robin Nano (STM32F103VET6)
  896. #
  897. [env:mks_robin_nano35]
  898. platform = ${common_stm32f1.platform}
  899. extends = common_stm32f1
  900. board = genericSTM32F103VE
  901. extra_scripts = ${common.extra_scripts}
  902. buildroot/share/PlatformIO/scripts/mks_robin_nano35.py
  903. build_flags = ${common_stm32f1.build_flags}
  904. -DMCU_STM32F103VE -DSS_TIMER=4
  905. debug_tool = jlink
  906. upload_protocol = jlink
  907. #
  908. # MKS Robin (STM32F103ZET6)
  909. #
  910. [env:mks_robin]
  911. platform = ${common_stm32f1.platform}
  912. extends = common_stm32f1
  913. board = genericSTM32F103ZE
  914. extra_scripts = ${common.extra_scripts}
  915. buildroot/share/PlatformIO/scripts/mks_robin.py
  916. build_flags = ${common_stm32f1.build_flags}
  917. -DSS_TIMER=4 -DSTM32_XL_DENSITY
  918. # MKS Robin (STM32F103ZET6)
  919. # Uses HAL STM32 to support Marlin UI for TFT screen with optional touch panel
  920. #
  921. [env:mks_robin_stm32]
  922. platform = ${common_stm32.platform}
  923. extends = common_stm32
  924. board = genericSTM32F103ZE
  925. board_build.core = stm32
  926. board_build.variant = MARLIN_F103Zx
  927. board_build.ldscript = ldscript.ld
  928. board_build.offset = 0x7000
  929. board_build.encrypt = Yes
  930. board_build.firmware = Robin.bin
  931. build_flags = ${common_stm32.build_flags}
  932. -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
  933. build_unflags = ${common_stm32.build_unflags}
  934. -DUSBCON -DUSBD_USE_CDC
  935. extra_scripts = ${common.extra_scripts}
  936. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  937. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  938. buildroot/share/PlatformIO/scripts/mks_encrypt.py
  939. lib_deps =
  940. #
  941. # MKS Robin Pro (STM32F103ZET6)
  942. #
  943. [env:mks_robin_pro]
  944. platform = ${common_stm32f1.platform}
  945. extends = env:mks_robin
  946. extra_scripts = ${common.extra_scripts}
  947. buildroot/share/PlatformIO/scripts/mks_robin_pro.py
  948. #
  949. # TRIGORILLA PRO (STM32F103ZET6)
  950. #
  951. [env:trigorilla_pro]
  952. platform = ${common_stm32f1.platform}
  953. extends = env:mks_robin
  954. extra_scripts = ${common.extra_scripts}
  955. #
  956. # MKS Robin E3D (STM32F103RCT6) and
  957. # MKS Robin E3 with TMC2209
  958. #
  959. [env:mks_robin_e3]
  960. platform = ${common_stm32f1.platform}
  961. extends = common_stm32f1
  962. board = genericSTM32F103RC
  963. platform_packages = tool-stm32duino
  964. extra_scripts = ${common.extra_scripts}
  965. buildroot/share/PlatformIO/scripts/mks_robin_e3.py
  966. build_flags = ${common_stm32f1.build_flags}
  967. -DDEBUG_LEVEL=0 -DSS_TIMER=4
  968. #
  969. # MKS Robin E3p (STM32F103VET6)
  970. # - LVGL UI
  971. #
  972. [env:mks_robin_e3p]
  973. platform = ${common_stm32f1.platform}
  974. extends = common_stm32f1
  975. board = genericSTM32F103VE
  976. extra_scripts = ${common.extra_scripts}
  977. buildroot/share/PlatformIO/scripts/mks_robin_e3p.py
  978. build_flags = ${common_stm32f1.build_flags}
  979. -DMCU_STM32F103VE -DSS_TIMER=4
  980. debug_tool = jlink
  981. upload_protocol = jlink
  982. #
  983. # MKS Robin Lite/Lite2 (STM32F103RCT6)
  984. #
  985. [env:mks_robin_lite]
  986. platform = ${common_stm32f1.platform}
  987. extends = common_stm32f1
  988. board = genericSTM32F103RC
  989. extra_scripts = ${common.extra_scripts}
  990. buildroot/share/PlatformIO/scripts/mks_robin_lite.py
  991. #
  992. # MKS ROBIN LITE3 (STM32F103RCT6)
  993. #
  994. [env:mks_robin_lite3]
  995. platform = ${common_stm32f1.platform}
  996. extends = common_stm32f1
  997. board = genericSTM32F103RC
  998. extra_scripts = ${common.extra_scripts}
  999. buildroot/share/PlatformIO/scripts/mks_robin_lite3.py
  1000. #
  1001. # JGAurora A5S A1 (STM32F103ZET6)
  1002. #
  1003. [env:jgaurora_a5s_a1]
  1004. platform = ${common_stm32f1.platform}
  1005. extends = common_stm32f1
  1006. board = genericSTM32F103ZE
  1007. extra_scripts = ${common.extra_scripts}
  1008. buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py
  1009. build_flags = ${common_stm32f1.build_flags}
  1010. -DSTM32F1xx -DSTM32_XL_DENSITY
  1011. #
  1012. # Malyan M200 (STM32F103CB)
  1013. #
  1014. [env:STM32F103CB_malyan]
  1015. platform = ${common_stm32f1.platform}
  1016. extends = common_stm32f1
  1017. board = malyanM200
  1018. build_flags = ${common_stm32f1.build_flags}
  1019. -DMCU_STM32F103CB -D__STM32F1__=1 -std=c++1y -DSERIAL_USB -ffunction-sections -fdata-sections
  1020. -Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__
  1021. lib_ignore = ${common_stm32f1.lib_ignore}
  1022. SoftwareSerialM
  1023. #
  1024. # Malyan M200 v2 (STM32F070RB)
  1025. #
  1026. [env:STM32F070RB_malyan]
  1027. platform = ${common_stm32.platform}
  1028. extends = common_stm32
  1029. board = malyanM200v2
  1030. build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED
  1031. -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing
  1032. -DCUSTOM_STARTUP_FILE
  1033. #
  1034. # Malyan M200 v2 (STM32F070CB)
  1035. #
  1036. [env:STM32F070CB_malyan]
  1037. platform = ${common_stm32.platform}
  1038. extends = common_stm32
  1039. board = malyanm200_f070cb
  1040. build_flags = ${common_stm32.build_flags}
  1041. -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED -DCUSTOM_STARTUP_FILE
  1042. #
  1043. # Malyan M300 (STM32F070CB)
  1044. #
  1045. [env:malyan_M300]
  1046. platform = ${common_stm32.platform}
  1047. extends = common_stm32
  1048. board = malyanm300_f070cb
  1049. build_flags = ${common_stm32.build_flags}
  1050. -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED
  1051. src_filter = ${common.default_src_filter} +<src/HAL/STM32>
  1052. #
  1053. # Chitu boards like Tronxy X5s (STM32F103ZET6)
  1054. #
  1055. [env:chitu_f103]
  1056. platform = ${common_stm32f1.platform}
  1057. extends = common_stm32f1
  1058. board = CHITU_F103
  1059. extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py
  1060. pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py
  1061. buildroot/share/PlatformIO/scripts/chitu_crypt.py
  1062. build_flags = ${common_stm32f1.build_flags}
  1063. -DSTM32F1xx -DSTM32_XL_DENSITY
  1064. build_unflags = ${common_stm32f1.build_unflags}
  1065. -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG= -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
  1066. #
  1067. # Some Chitu V5 boards have a problem with GPIO init.
  1068. # Use this target if G28 or G29 are always failing.
  1069. #
  1070. [env:chitu_v5_gpio_init]
  1071. platform = ${common_stm32f1.platform}
  1072. extends = env:chitu_f103
  1073. build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX
  1074. #
  1075. # Creality (STM32F103RET6)
  1076. #
  1077. [env:STM32F103RET6_creality]
  1078. platform = ${env:STM32F103RE.platform}
  1079. extends = env:STM32F103RE
  1080. build_flags = ${env:STM32F103RE.build_flags} -DTEMP_TIMER_CHAN=4
  1081. extra_scripts = ${env:STM32F103RE.extra_scripts}
  1082. pre:buildroot/share/PlatformIO/scripts/random-bin.py
  1083. buildroot/share/PlatformIO/scripts/creality.py
  1084. debug_tool = jlink
  1085. upload_protocol = jlink
  1086. #
  1087. # FLSUN QQS Pro (STM32F103VET6) using hal STM32
  1088. # board Hispeedv1
  1089. #
  1090. [env:flsun_hispeedv1]
  1091. platform = ${common_stm32.platform}
  1092. extends = common_stm32
  1093. build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
  1094. board = genericSTM32F103VE
  1095. board_build.core = stm32
  1096. board_build.variant = MARLIN_F103Vx
  1097. board_build.ldscript = ldscript.ld
  1098. board_build.offset = 0x7000
  1099. board_build.firmware = Robin_mini.bin
  1100. board_build.encrypt = Yes
  1101. board_upload.offset_address = 0x08007000
  1102. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
  1103. extra_scripts = ${common.extra_scripts}
  1104. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1105. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  1106. buildroot/share/PlatformIO/scripts/mks_encrypt.py
  1107. #
  1108. # STM32F401VE
  1109. # 'STEVAL-3DP001V1' STM32F401VE board - https://www.st.com/en/evaluation-tools/steval-3dp001v1.html
  1110. #
  1111. [env:STM32F401VE_STEVAL]
  1112. platform = ${common_stm32.platform}
  1113. extends = common_stm32
  1114. board = STEVAL_STM32F401VE
  1115. build_flags = ${common_stm32.build_flags}
  1116. -DARDUINO_STEVAL -DSTM32F401xE
  1117. -DDISABLE_GENERIC_SERIALUSB -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  1118. extra_scripts = ${common.extra_scripts}
  1119. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1120. buildroot/share/PlatformIO/scripts/STEVAL__F401XX.py
  1121. #
  1122. # STM32F401RC
  1123. #
  1124. [env:FYSETC_CHEETAH_V20]
  1125. platform = ${common_stm32.platform}
  1126. extends = common_stm32
  1127. board = FYSETC_CHEETAH_V20
  1128. build_flags = ${common_stm32.build_flags} -DSTM32F401xC -DVECT_TAB_OFFSET=0xC000
  1129. extra_scripts = ${common.extra_scripts}
  1130. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1131. buildroot/share/PlatformIO/scripts/FYSETC_CHEETAH_V20.py
  1132. #
  1133. # FLYF407ZG
  1134. #
  1135. [env:FLYF407ZG]
  1136. platform = ${common_stm32.platform}
  1137. extends = common_stm32
  1138. board = FLYF407ZG
  1139. build_flags = ${common_stm32.build_flags}
  1140. -DVECT_TAB_OFFSET=0x8000
  1141. extra_scripts = ${common.extra_scripts}
  1142. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1143. #
  1144. # FLY MINI(stm32f103rct6)
  1145. #
  1146. [env:FLY_MINI]
  1147. platform = ${common_stm32f1.platform}
  1148. extends = common_stm32f1
  1149. board = genericSTM32F103RC
  1150. extra_scripts = ${common.extra_scripts}
  1151. buildroot/share/PlatformIO/scripts/fly_mini.py
  1152. build_flags = ${common_stm32f1.build_flags}
  1153. -DDEBUG_LEVEL=0 -DSS_TIMER=4
  1154. #
  1155. # FYSETC S6 (STM32F446VET6 ARM Cortex-M4)
  1156. #
  1157. [env:FYSETC_S6]
  1158. platform = ${common_stm32.platform}
  1159. extends = common_stm32
  1160. platform_packages = tool-stm32duino
  1161. board = marlin_fysetc_s6
  1162. build_flags = ${common_stm32.build_flags}
  1163. -DVECT_TAB_OFFSET=0x10000
  1164. -DHAL_PCD_MODULE_ENABLED
  1165. extra_scripts = ${common.extra_scripts}
  1166. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1167. debug_tool = stlink
  1168. upload_protocol = dfu
  1169. upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE"
  1170. #
  1171. # STM32F407VET6 with RAMPS-like shield
  1172. # 'Black' STM32F407VET6 board - https://wiki.stm32duino.com/index.php?title=STM32F407
  1173. # Shield - https://github.com/jmz52/Hardware
  1174. #
  1175. [env:STM32F407VE_black]
  1176. platform = ${common_stm32.platform}
  1177. extends = common_stm32
  1178. board = blackSTM32F407VET6
  1179. build_flags = ${common_stm32.build_flags}
  1180. -DARDUINO_BLACK_F407VE
  1181. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  1182. extra_scripts = ${common.extra_scripts}
  1183. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1184. #
  1185. # Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4)
  1186. # For use with with davidtgbe's OpenBLT bootloader https://github.com/davidtgbe/openblt/releases
  1187. # Comment out board_build.offset = 0x10000 if you don't plan to use OpenBLT/flashing directly to 0x08000000.
  1188. #
  1189. [env:Anet_ET4_OpenBLT]
  1190. platform = ${common_stm32.platform}
  1191. extends = common_stm32
  1192. build_flags = ${common_stm32.build_flags} -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
  1193. board = genericSTM32F407VGT6
  1194. board_build.core = stm32
  1195. board_build.variant = MARLIN_F4x7Vx
  1196. board_build.ldscript = ldscript.ld
  1197. board_build.firmware = firmware.srec
  1198. # Just openblt.py (not stm32_bootloader.py) generates the file
  1199. board_build.encrypt = Yes
  1200. board_build.offset = 0x10000
  1201. board_upload.offset_address = 0x08010000
  1202. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  1203. debug_tool = jlink
  1204. upload_protocol = jlink
  1205. extra_scripts = ${common.extra_scripts}
  1206. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1207. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  1208. buildroot/share/PlatformIO/scripts/openblt.py
  1209. #
  1210. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
  1211. #
  1212. [env:BIGTREE_SKR_PRO]
  1213. platform = ${common_stm32.platform}
  1214. extends = common_stm32
  1215. board = BigTree_SKR_Pro
  1216. build_flags = ${common_stm32.build_flags}
  1217. -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000
  1218. extra_scripts = ${common.extra_scripts}
  1219. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1220. #upload_protocol = stlink
  1221. #upload_command = "$PROJECT_PACKAGES_DIR/tool-stm32duino/stlink/ST-LINK_CLI.exe" -c SWD -P "$BUILD_DIR/firmware.bin" 0x8008000 -Rst -Run
  1222. debug_tool = stlink
  1223. debug_init_break =
  1224. #
  1225. # USB Flash Drive mix-ins for STM32
  1226. #
  1227. [stm32_flash_drive]
  1228. platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc.zip
  1229. build_flags = ${common_stm32.build_flags}
  1230. -DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
  1231. -DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4
  1232. #
  1233. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) with USB Flash Drive Support
  1234. #
  1235. [env:BIGTREE_SKR_PRO_usb_flash_drive]
  1236. extends = env:BIGTREE_SKR_PRO
  1237. platform_packages = ${stm32_flash_drive.platform_packages}
  1238. build_flags = ${stm32_flash_drive.build_flags}
  1239. #
  1240. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
  1241. #
  1242. [env:BIGTREE_GTR_V1_0]
  1243. platform = ${common_stm32.platform}
  1244. extends = common_stm32
  1245. board = BigTree_GTR_v1
  1246. extra_scripts = ${common.extra_scripts}
  1247. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1248. build_flags = ${common_stm32.build_flags}
  1249. -DSTM32F407IX -DVECT_TAB_OFFSET=0x8000
  1250. #
  1251. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) with USB Flash Drive Support
  1252. #
  1253. [env:BIGTREE_GTR_V1_0_usb_flash_drive]
  1254. extends = env:BIGTREE_GTR_V1_0
  1255. platform_packages = ${stm32_flash_drive.platform_packages}
  1256. build_flags = ${stm32_flash_drive.build_flags}
  1257. #
  1258. # BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4)
  1259. #
  1260. [env:BIGTREE_BTT002]
  1261. platform = ${common_stm32.platform}
  1262. extends = common_stm32
  1263. board = BigTree_Btt002
  1264. build_flags = ${common_stm32.build_flags}
  1265. -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000
  1266. -DHAVE_HWSERIAL2
  1267. -DHAVE_HWSERIAL3
  1268. -DPIN_SERIAL2_RX=PD_6
  1269. -DPIN_SERIAL2_TX=PD_5
  1270. extra_scripts = ${common.extra_scripts}
  1271. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1272. #
  1273. # Lerdge base
  1274. #
  1275. [lerdge_common]
  1276. platform = ${common_stm32.platform}
  1277. extends = common_stm32
  1278. board = LERDGE
  1279. board_build.offset = 0x10000
  1280. board_build.encrypt = Yes
  1281. extra_scripts = ${common.extra_scripts}
  1282. pre:buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py
  1283. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  1284. buildroot/share/PlatformIO/scripts/lerdge.py
  1285. build_flags = ${common_stm32.build_flags}
  1286. -DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4
  1287. -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DARDUINO_LERDGE
  1288. -DHAL_SRAM_MODULE_ENABLED
  1289. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  1290. #
  1291. # Lerdge X
  1292. #
  1293. [env:LERDGEX]
  1294. extends = lerdge_common
  1295. board_build.firmware = Lerdge_X_firmware_force.bin
  1296. #
  1297. # Lerdge X with USB Flash Drive Support
  1298. #
  1299. [env:LERDGEX_usb_flash_drive]
  1300. extends = LERDGEX
  1301. platform_packages = ${stm32_flash_drive.platform_packages}
  1302. build_flags = ${stm32_flash_drive.build_flags}
  1303. #
  1304. # Lerdge S
  1305. #
  1306. [env:LERDGES]
  1307. extends = lerdge_common
  1308. board_build.firmware = Lerdge_firmware_force.bin
  1309. #
  1310. # Lerdge S with USB Flash Drive Support
  1311. #
  1312. [env:LERDGES_usb_flash_drive]
  1313. extends = LERDGES
  1314. platform_packages = ${stm32_flash_drive.platform_packages}
  1315. build_flags = ${stm32_flash_drive.build_flags}
  1316. #
  1317. # Lerdge K
  1318. #
  1319. [env:LERDGEK]
  1320. extends = lerdge_common
  1321. board_build.firmware = Lerdge_K_firmware_force.bin
  1322. build_flags = ${lerdge_common.build_flags}
  1323. -DLERDGEK
  1324. #
  1325. # Lerdge K with USB Flash Drive Support
  1326. #
  1327. [env:LERDGEK_usb_flash_drive]
  1328. extends = LERDGEK
  1329. platform_packages = ${stm32_flash_drive.platform_packages}
  1330. build_flags = ${stm32_flash_drive.build_flags}
  1331. #
  1332. # RUMBA32
  1333. #
  1334. [env:rumba32]
  1335. platform = ${common_stm32.platform}
  1336. extends = common_stm32
  1337. build_flags = ${common_stm32.build_flags}
  1338. -Os
  1339. -DHAL_PCD_MODULE_ENABLED
  1340. -DDISABLE_GENERIC_SERIALUSB
  1341. -DHAL_UART_MODULE_ENABLED
  1342. -DTIMER_SERIAL=TIM9
  1343. board = rumba32_f446ve
  1344. upload_protocol = dfu
  1345. monitor_speed = 500000
  1346. #
  1347. # MKS Robin Nano V1.2 and V2 using hal STM32
  1348. #
  1349. [env:mks_robin_nano35_stm32]
  1350. platform = ${common_stm32.platform}
  1351. extends = common_stm32
  1352. build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
  1353. board = genericSTM32F103VE
  1354. board_build.core = stm32
  1355. board_build.variant = MARLIN_F103Vx
  1356. board_build.ldscript = ldscript.ld
  1357. board_build.offset = 0x7000
  1358. board_build.encrypt = Yes
  1359. board_build.firmware = Robin_nano35.bin
  1360. board_upload.offset_address = 0x08007000
  1361. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
  1362. debug_tool = jlink
  1363. upload_protocol = jlink
  1364. extra_scripts = ${common.extra_scripts}
  1365. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1366. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  1367. buildroot/share/PlatformIO/scripts/mks_encrypt.py
  1368. #
  1369. # MKS Robin Pro V2
  1370. #
  1371. [env:mks_robin_pro2]
  1372. platform = ${common_stm32.platform}
  1373. platform_packages = ${stm32_flash_drive.platform_packages}
  1374. extends = common_stm32
  1375. build_flags = ${stm32_flash_drive.build_flags}
  1376. board = genericSTM32F407VET6
  1377. board_build.core = stm32
  1378. board_build.variant = MARLIN_F4x7Vx
  1379. board_build.ldscript = ldscript.ld
  1380. board_build.firmware = firmware.bin
  1381. board_build.offset = 0x0000
  1382. board_upload.offset_address = 0x08000000
  1383. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
  1384. debug_tool = jlink
  1385. upload_protocol = jlink
  1386. extra_scripts = ${common.extra_scripts}
  1387. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1388. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  1389. #
  1390. # MKS Robin Nano V3
  1391. #
  1392. [env:mks_robin_nano_v3]
  1393. platform = ${common_stm32.platform}
  1394. extends = common_stm32
  1395. build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED -DUSBCON -DUSBD_USE_CDC
  1396. board = genericSTM32F407VGT6
  1397. board_build.core = stm32
  1398. board_build.variant = MARLIN_F4x7Vx
  1399. board_build.ldscript = ldscript.ld
  1400. board_build.firmware = Robin_nano_v3.bin
  1401. board_build.offset = 0xC000
  1402. board_upload.offset_address = 0x0800C000
  1403. build_unflags = ${common_stm32.build_unflags}
  1404. debug_tool = jlink
  1405. upload_protocol = jlink
  1406. extra_scripts = ${common.extra_scripts}
  1407. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  1408. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  1409. #
  1410. # MKS Robin Nano V3 with USB Flash Drive Support
  1411. # Currently, using a STM32duino fork, until USB Host get merged
  1412. #
  1413. [env:mks_robin_nano_v3_usb_flash_drive]
  1414. extends = env:mks_robin_nano_v3
  1415. platform_packages = ${stm32_flash_drive.platform_packages}
  1416. build_flags = ${stm32_flash_drive.build_flags}
  1417. -DUSBCON
  1418. -DUSE_USBHOST_HS
  1419. -DUSBD_IRQ_PRIO=5
  1420. -DUSBD_IRQ_SUBPRIO=6
  1421. -DUSE_USB_HS_IN_FS
  1422. -DUSBD_USE_CDC
  1423. #
  1424. # MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
  1425. # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
  1426. #
  1427. [env:mks_robin_nano_v3_usb_flash_drive_msc]
  1428. extends = env:mks_robin_nano_v3
  1429. platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc.zip
  1430. build_unflags = ${common_stm32.build_unflags} -DUSBD_USE_CDC
  1431. build_flags = ${stm32_flash_drive.build_flags}
  1432. -DUSBCON
  1433. -DUSE_USBHOST_HS
  1434. -DUSBD_IRQ_PRIO=5
  1435. -DUSBD_IRQ_SUBPRIO=6
  1436. -DUSE_USB_HS_IN_FS
  1437. -DUSBD_USE_CDC_MSC
  1438. #
  1439. # Mingda MPX_ARM_MINI
  1440. #
  1441. [env:mingda_mpx_arm_mini]
  1442. platform = ${common_stm32.platform}
  1443. extends = common_stm32
  1444. board = genericSTM32F103ZE
  1445. board_build.core = stm32
  1446. board_build.variant = MARLIN_F103Zx
  1447. board_build.ldscript = ldscript.ld
  1448. board_build.offset = 0x10000
  1449. build_flags = ${common_stm32.build_flags} -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
  1450. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
  1451. extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  1452. #################################
  1453. # #
  1454. # Other Architectures #
  1455. # #
  1456. #################################
  1457. #
  1458. # Espressif ESP32
  1459. #
  1460. [env:esp32]
  1461. platform = espressif32@2.1.0
  1462. board = esp32dev
  1463. build_flags = ${common.build_flags} -DCORE_DEBUG_LEVEL=0
  1464. src_filter = ${common.default_src_filter} +<src/HAL/ESP32>
  1465. lib_ignore = NativeEthernet
  1466. upload_speed = 500000
  1467. monitor_speed = 250000
  1468. #upload_port = marlinesp.local
  1469. #board_build.flash_mode = qio
  1470. [env:FYSETC_E4]
  1471. platform = espressif32@1.11.2
  1472. extends = env:esp32
  1473. board_build.partitions = default_16MB.csv
  1474. #
  1475. # Teensy 3.1 / 3.2 (ARM Cortex-M4)
  1476. #
  1477. [env:teensy31]
  1478. platform = teensy
  1479. board = teensy31
  1480. src_filter = ${common.default_src_filter} +<src/HAL/TEENSY31_32>
  1481. lib_ignore = NativeEthernet
  1482. #
  1483. # Teensy 3.5 / 3.6 (ARM Cortex-M4)
  1484. #
  1485. [env:teensy35]
  1486. platform = teensy
  1487. board = teensy35
  1488. src_filter = ${common.default_src_filter} +<src/HAL/TEENSY35_36>
  1489. lib_ignore = NativeEthernet
  1490. [env:teensy36]
  1491. platform = teensy
  1492. board = teensy36
  1493. src_filter = ${common.default_src_filter} +<src/HAL/TEENSY35_36>
  1494. lib_ignore = NativeEthernet
  1495. #
  1496. # Teensy 4.0 / 4.1 (ARM Cortex-M7)
  1497. #
  1498. [env:teensy41]
  1499. platform = teensy
  1500. board = teensy41
  1501. src_filter = ${common.default_src_filter} +<src/HAL/TEENSY40_41>
  1502. #
  1503. # Native
  1504. # No supported Arduino libraries, base Marlin only
  1505. #
  1506. [env:linux_native]
  1507. platform = native
  1508. framework =
  1509. build_flags = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread -D__MARLIN_FIRMWARE__ -Wno-expansion-to-defined
  1510. src_build_flags = -Wall -IMarlin/src/HAL/LINUX/include
  1511. build_unflags = -Wall
  1512. lib_ldf_mode = off
  1513. lib_deps =
  1514. src_filter = ${common.default_src_filter} +<src/HAL/LINUX>
  1515. #
  1516. # Just print the dependency tree
  1517. #
  1518. [env:include_tree]
  1519. platform = atmelavr
  1520. board = megaatmega2560
  1521. build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__
  1522. src_filter = +<src/MarlinCore.cpp>