MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.34k stars 19.26k forks source link

[BUG] Cannot compile with ENDSTOP_INTERRUPTS_FEATURE: 'moreDigitalPinToPCMSK' was not declared in this scope #15770

Closed ansemjo closed 5 years ago

ansemjo commented 5 years ago

Description

The Marlin bugfix-2.0.x branch cannot be compiled for the Anet A8 (sanguino_atmega1284p) when the interrupts feature ENDSTOP_INTERRUPTS_FEATURE is enabled. Specifically the function used to check interrupt capability on pins does not seem to be defined:

In file included from Marlin/src/module/endstops.cpp:36:0:
Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h: In function 'void pciSetup(int8_t)':
Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h:64:32: error: 'moreDigitalPinToPCMSK' was not declared in this scope
   if (moreDigitalPinToPCMSK(pin) != nullptr) {
                                ^
In file included from Marlin/src/module/../inc/../HAL/./HAL_AVR/HAL.h:21:0,
                 from Marlin/src/module/../inc/../HAL/HAL.h:26,
                 from Marlin/src/module/../inc/MarlinConfig.h:30,
                 from Marlin/src/module/endstops.h:28,
                 from Marlin/src/module/endstops.cpp:27:
Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h:65:66: error: 'moreDigitalPinToPCMSKbit' was not declared in this scope
     SBI(*moreDigitalPinToPCMSK(pin), moreDigitalPinToPCMSKbit(pin));  // enable pin
                                                                  ^
Marlin/src/module/../inc/../HAL/./HAL_AVR/../shared/Marduino.h:48:33: note: in definition of macro 'SBI'
   #define SBI(A,B) (A |= (1 << (B)))
                                 ^
Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h:66:44: error: 'moreDigitalPinToPCICRbit' was not declared in this scope
     SBI(PCIFR, moreDigitalPinToPCICRbit(pin)); // clear any outstanding interrupt
                                            ^
Marlin/src/module/../inc/../HAL/./HAL_AVR/../shared/Marduino.h:48:33: note: in definition of macro 'SBI'
   #define SBI(A,B) (A |= (1 << (B)))
                                 ^
In file included from Marlin/src/module/endstops.cpp:36:0:
Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h: In function 'void setup_endstop_interrupts()':
Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h:102:49: error: 'digitalPinHasPCICR' was not declared in this scope
       static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");
                                                 ^
*** [.pio/build/sanguino_atmega1284p/src/src/module/endstops.cpp.o] Error 1

Steps to Reproduce

I'm trying to build via the PlatformIO CLI Version 4.0.3 (most recent, installed via pip) but I've previously tried the Arduino IDE Version 1.8.9 and the Arduino CLI arduino-cli Version 0.3.7-alpha.preview as well.

Below are two scripts to reproduce with the default example configurations for the Anet A8 on the bugfix-1.1.x and bugfix-2.0.x branch. The bugfix-1.1.x branch works fine.

bugfix-2.0.x

Shell script to reproduce:

#!/usr/bin/env bash

# enter temporary directory
cd "$(mktemp -d)" && pwd

# clone marlin source, checkout bugfix-1.1.x
git clone https://github.com/MarlinFirmware/Marlin.git ./
git checkout bugfix-2.0.x

# install and activate virtualenv
virtualenv venv && source venv/bin/activate

# install platformio
pip install platformio

# copy Anet A8 example config
cp config/examples/Anet/A8/Configuration* Marlin/

# compile with platformio
platformio run -e sanguino_atmega1284p
Full Build Log (click to expand) ``` $ bash ~/marlin-bugfix-2.0.x-anet-a8 /tmp/tmp.i9Bo3aejSL Cloning into '.'... remote: Enumerating objects: 26, done. remote: Counting objects: 100% (26/26), done. remote: Compressing objects: 100% (8/8), done. remote: Total 221681 (delta 22), reused 18 (delta 18), pack-reused 221655 Receiving objects: 100% (221681/221681), 116.50 MiB | 6.87 MiB/s, done. Resolving deltas: 100% (143164/143164), done. Branch 'bugfix-2.0.x' set up to track remote branch 'bugfix-2.0.x' from 'origin'. Switched to a new branch 'bugfix-2.0.x' Using base prefix '/usr' New python executable in /tmp/tmp.i9Bo3aejSL/venv/bin/python Installing setuptools, pip, wheel... done. Processing /home/ansemjo/.cache/pip/wheels/a1/d0/2b/9cd2336ee6fe396dceaa2ec4419df4e96da9f4fd61c36ac208/platformio-4.0.3-cp37-none-any.whl Collecting colorama Using cached https://files.pythonhosted.org/packages/4f/a6/728666f39bfff1719fc94c481890b2106837da9318031f71a8424b662e12/colorama-0.4.1-py2.py3-none-any.whl Processing /home/ansemjo/.cache/pip/wheels/e1/41/5e/e201f95d90fc84f93aa629b6638adacda680fe63aac47174ab/tabulate-0.8.5-cp37-none-any.whl Collecting semantic-version<3,>=2.8.1 Using cached https://files.pythonhosted.org/packages/0f/3b/8fee26649a86c71df159ed0ae7ac5f9ac38829bccd8a7404e116f903929b/semantic_version-2.8.2-py2.py3-none-any.whl Collecting bottle<0.13 Using cached https://files.pythonhosted.org/packages/69/d1/efdd0a5584169cdf791d726264089ce5d96846a8978c44ac6e13ae234327/bottle-0.12.17-py3-none-any.whl Collecting click<8,>=5 Using cached https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl Collecting pyserial!=3.3,<4,>=3 Using cached https://files.pythonhosted.org/packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl Collecting requests<3,>=2.4.0 Using cached https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 Using cached https://files.pythonhosted.org/packages/e0/da/55f51ea951e1b7c63a579c09dd7db825bb730ec1fe9c0180fc77bfb31448/urllib3-1.25.6-py2.py3-none-any.whl Collecting idna<2.9,>=2.5 Using cached https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Collecting chardet<3.1.0,>=3.0.2 Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl Collecting certifi>=2017.4.17 Using cached https://files.pythonhosted.org/packages/18/b0/8146a4f8dd402f60744fa380bc73ca47303cccf8b9190fd16a827281eac2/certifi-2019.9.11-py2.py3-none-any.whl Installing collected packages: colorama, tabulate, semantic-version, bottle, click, pyserial, urllib3, idna, chardet, certifi, requests, platformio Successfully installed bottle-0.12.17 certifi-2019.9.11 chardet-3.0.4 click-7.0 colorama-0.4.1 idna-2.8 platformio-4.0.3 pyserial-3.4 requests-2.22.0 semantic-version-2.8.2 tabulate-0.8.5 urllib3-1.25.6 Processing sanguino_atmega1284p (platform: atmelavr; framework: arduino; board: sanguino_atmega1284p) -------------------------------------------------------------------------------- Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/sanguino_atmega1284p.html PLATFORM: Atmel AVR 1.15.0 > Sanguino ATmega1284p (16MHz) HARDWARE: ATMEGA1284P 16MHz, 16KB RAM, 127KB Flash PACKAGES: toolchain-atmelavr 1.50400.190710 (5.4.0), framework-arduinoavr 4.1.2 Converting Marlin.ino LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft LibraryManager: Installing U8glib-HAL Using cache: /home/ansemjo/.platformio/.cache/a7/b7a9b473d1c239d9843ca943887cd0a7 U8glib-HAL @ 0.4.1 has been successfully installed! Looking for LiquidCrystal library in registry Conflict: More than one library has been found by request {"name": "LiquidCrystal", "requirements": "1.3.4"}: LiquidCrystal ============= #ID: 136 LiquidCrystal Library is faster and extensable, compatible with the original LiquidCrystal library Automatically chose the first available library (use `--interactive` option to make a choice) Keywords: lcd, hd44780 Compatible frameworks: Arduino Compatible platforms: Atmel AVR, Espressif 32, Espressif 8266 Authors: F Malpartida LiquidCrystal ============= #ID: 887 Allows communication with alphanumerical liquid crystal displays (LCDs). Keywords: display Compatible frameworks: Arduino Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Nordic nRF52, ST STM32, Teensy, TI MSP430 Authors: Arduino, Adafruit Found: https://platformio.org/lib/show/136/LiquidCrystal LibraryManager: Installing id=136 @ 1.3.4 Using cache: /home/ansemjo/.platformio/.cache/56/e51065281cd05bea572117c1aab6cb56 LiquidCrystal @ 1.3.4 has been successfully installed! Looking for TMCStepper library in registry Found: https://platformio.org/lib/show/5513/TMCStepper LibraryManager: Installing id=5513 @ >=0.5.0,<1.0.0 Using cache: /home/ansemjo/.platformio/.cache/f2/c964ba3bc2d0f713c5f18c28dffcb7f2 TMCStepper @ 0.5.2 has been successfully installed! Looking for Adafruit NeoPixel library in registry Found: https://platformio.org/lib/show/28/Adafruit NeoPixel LibraryManager: Installing id=28 @ 1.2.5 Using cache: /home/ansemjo/.platformio/.cache/1e/027dc0abcdf77d5062fe1a257738301e Adafruit NeoPixel @ 1.2.5 has been successfully installed! LibraryManager: Installing LiquidTWI2 Using cache: /home/ansemjo/.platformio/.cache/85/8b02db3fff9254d346da3ee4646b5f85 LiquidTWI2 @ 0.0.0 has been successfully installed! LibraryManager: Installing Arduino-L6470 Using cache: /home/ansemjo/.platformio/.cache/e0/a85bf8ed5b8232b743f62637d1e2c2e0 Arduino-L6470 @ 0.7.0 has been successfully installed! LibraryManager: Installing SailfishLCD Using cache: /home/ansemjo/.platformio/.cache/e1/f7005198ad8e3a4b619768bbbcd33ae1 SailfishLCD @ 0.0.0 has been successfully installed! LibraryManager: Installing SailfishRGB_LED Using cache: /home/ansemjo/.platformio/.cache/ae/92268909fe23d8d88d696e4077aa46ae SailfishRGB_LED @ 0.0.0 has been successfully installed! LibraryManager: Installing SlowSoftI2CMaster Using cache: /home/ansemjo/.platformio/.cache/57/ba98e6910d02720ff6cc39cb62b43957 SlowSoftI2CMaster @ 0.0.0 has been successfully installed! LibraryManager: Installing TMC26XStepper Using cache: /home/ansemjo/.platformio/.cache/76/17932f018f31ca6496fe4128e14ef276 TMC26XStepper @ 0.0.0 has been successfully installed! Found 15 compatible libraries Scanning dependencies... Dependency Graph |-- 0.4.1 | |-- 1.0 | |-- 1.0 |-- 1.3.4 | |-- 1.0 |-- 0.5.2 | |-- 1.0 | |-- 1.0 |-- 1.2.5 |-- | |-- 1.0 |-- 0.7.0 |-- |-- | |-- 1.0 |-- |-- | |-- 1.0 |-- 1.0 |-- 1.0 Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/HAL.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/HAL_SPI.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/MarlinSerial.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/Servo.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/fast_pwm.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/fastio.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/persistent_store_eeprom.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/u8g_com_HAL_AVR_sw_spi.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/HAL_AVR/watchdog.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/HAL_spi_L6470.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/backtrace/backtrace.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/backtrace/unwarm.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/backtrace/unwarm_arm.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/backtrace/unwarm_thumb.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/backtrace/unwarmbytab.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/backtrace/unwarmmem.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/backtrace/unwinder.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/backtrace/unwmemaccess.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/eeprom_i2c.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/eeprom_spi.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/persistent_store_api.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/HAL/shared/servo.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/Marlin.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/core/multi_language.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/core/serial.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/core/utility.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/I2CPositionEncoder.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/Max7219_Debug_LEDs.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/babystep.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/backlash.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/baricuda.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/bedlevel/abl/abl.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/bedlevel/bedlevel.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/bedlevel/ubl/ubl.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/bedlevel/ubl/ubl_G29.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/bedlevel/ubl/ubl_motion.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/binary_protocol.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/bltouch.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/cancel_object.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/caselight.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/closedloop.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/controllerfan.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/dac/dac_dac084s085.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/dac/dac_mcp4728.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/dac/stepper_dac.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/digipot/digipot_mcp4018.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/digipot/digipot_mcp4451.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/emergency_parser.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/fanmux.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/filwidth.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/fwretract.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/host_actions.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/joystick.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/leds/blinkm.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/leds/leds.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/leds/neopixel.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/leds/pca9632.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/leds/printer_event_leds.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/leds/tempstat.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/mixing.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/pause.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/power.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/power_loss_recovery.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/prusa_MMU2/mmu2.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/runout.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/snmm.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/solenoid.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/spindle_laser.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/tmc_util.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/touch/xpt2046.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/feature/twibus.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/G26.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/G42.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/M420.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/abl/G29.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/abl/M421.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/mbl/G29.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/mbl/M421.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/ubl/G29.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/bedlevel/ubl/M421.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/G28.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/G33.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/G34_M422.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/G425.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/M100.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/M12.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/M425.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/M48.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/M665.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/M666.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/calibrate/M852.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M200-M205.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M217.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M218.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M220.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M221.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M281.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M301.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M302.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M304.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M305.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M43.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M540.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M575.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/config/M92.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M108_M112_M410.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M111.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M120_M121.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M17_M18_M84.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M211.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M226.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M280.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M3-M5.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M350_M351.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M380_M381.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M400.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M42.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M605.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M7-M9.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M80_M81.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M85.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M997.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/M999.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/control/T.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/eeprom/M500-M504.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/L6470/M122.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/L6470/M906.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/L6470/M916-918.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/advance/M900.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/baricuda/M126-M129.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/camera/M240.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/cancel/M486.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/caselight/M355.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/clean/G12.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/digipot/M907-M910.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/filwidth/M404-M407.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/fwretract/G10_G11.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/fwretract/M207-M209.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/i2c/M260_M261.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/leds/M150.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/leds/M7219.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/macro/M810-M819.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/mixing/M163-M165.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/mixing/M166.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/pause/G27.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/pause/M125.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/pause/M600.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/pause/M603.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/pause/M701_M702.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/powerloss/M1000.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/powerloss/M413.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/prusa_MMU2/M403.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/runout/M412.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/trinamic/M122.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/trinamic/M569.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/trinamic/M906.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/feature/trinamic/M911-M914.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/gcode.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/geometry/G17-G19.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/geometry/G53-G59.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/geometry/G92.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/geometry/M206_M428.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/host/M110.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/host/M113.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/host/M114.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/host/M115.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/host/M118.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/host/M119.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/host/M16.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/host/M876.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/lcd/M0_M1.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/lcd/M117.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/lcd/M145.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/lcd/M250.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/lcd/M300.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/lcd/M73.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/motion/G0_G1.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/motion/G2_G3.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/motion/G4.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/motion/G5.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/motion/G80.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/motion/M290.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/parser.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/probe/G30.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/probe/G31_G32.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/probe/G38.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/probe/M401_M402.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/probe/M851.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/probe/M951.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/queue.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/scara/M360-M364.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M20.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M21_M22.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M23.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M24_M25.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M26.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M27.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M28_M29.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M30.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M32.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M33.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M34.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M524.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/sdcard/M928.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/stats/M31.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/stats/M75-M78.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/temperature/M104_M109.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/temperature/M105.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/temperature/M106_M107.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/temperature/M140_M190.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/temperature/M141_M191.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/temperature/M155.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/temperature/M303.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/units/G20_G21.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/units/M149.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/gcode/units/M82_M83.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/HD44780/lcdprint_hd44780.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/HD44780/ultralcd_HD44780.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/lcdprint_u8g.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/status_screen_DOGM.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/status_screen_lite_ST7920.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/u8g_fontutf8.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/ultralcd_DOGM.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/archim2-flash/flash_storage.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/archim2-flash/media_file_reader.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/spi.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/dl_cache.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/event_loop.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/screen_types.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/sound_player.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/text_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/tiny_timer.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_bitmaps.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/font_size_t.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/standard_char_set.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/unicode.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/unicode/western_char_set.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/language/language.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/marlin_events.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/alert_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/base_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/bio_printing_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_start_print_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_user_request_alert_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/developer_menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/language_menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/media_player_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/spinner_dialog_box.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/statistics_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/status_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_bump_sensitivity_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/stepper_current_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/stress_test_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/string_format.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/touch_registers_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/widget_demo_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/lib/lulzbot/theme/sounds.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extensible_ui/ui_api.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extui_dgus_lcd.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extui_example.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/extui_malyan_lcd.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/fontutils.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/game/brickout.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/game/game.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/game/invaders.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/game/maze.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/game/snake.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_advanced.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_backlash.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_bed_corners.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_bed_leveling.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_cancelobject.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_configuration.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_custom.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_delta_calibrate.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_filament.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_game.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_info.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_job_recovery.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_led.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_main.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_media.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_mixer.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_mmu2.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_motion.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_spindle_laser.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_temperature.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_tmc.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_tune.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/menu/menu_ubl.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/lcd/ultralcd.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/L6470/L6470_Marlin.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/buzzer.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/crc16.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/heatshrink/heatshrink_decoder.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/hex_print_routines.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/least_squares_fit.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/nozzle.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/numtostr.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/stopwatch.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/libs/vector_3.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/module/configuration_store.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/module/delta.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/module/endstops.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/module/motion.cpp.o Compiling .pio/build/sanguino_atmega1284p/src/src/module/planner.cpp.o In file included from Marlin/src/module/endstops.cpp:36:0: Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h: In function 'void pciSetup(int8_t)': Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h:64:32: error: 'moreDigitalPinToPCMSK' was not declared in this scope if (moreDigitalPinToPCMSK(pin) != nullptr) { ^ In file included from Marlin/src/module/../inc/../HAL/./HAL_AVR/HAL.h:21:0, from Marlin/src/module/../inc/../HAL/HAL.h:26, from Marlin/src/module/../inc/MarlinConfig.h:30, from Marlin/src/module/endstops.h:28, from Marlin/src/module/endstops.cpp:27: Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h:65:66: error: 'moreDigitalPinToPCMSKbit' was not declared in this scope SBI(*moreDigitalPinToPCMSK(pin), moreDigitalPinToPCMSKbit(pin)); // enable pin ^ Marlin/src/module/../inc/../HAL/./HAL_AVR/../shared/Marduino.h:48:33: note: in definition of macro 'SBI' #define SBI(A,B) (A |= (1 << (B))) ^ Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h:66:44: error: 'moreDigitalPinToPCICRbit' was not declared in this scope SBI(PCIFR, moreDigitalPinToPCICRbit(pin)); // clear any outstanding interrupt ^ Marlin/src/module/../inc/../HAL/./HAL_AVR/../shared/Marduino.h:48:33: note: in definition of macro 'SBI' #define SBI(A,B) (A |= (1 << (B))) ^ In file included from Marlin/src/module/endstops.cpp:36:0: Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h: In function 'void setup_endstop_interrupts()': Marlin/src/module/../HAL/HAL_AVR/endstop_interrupts.h:102:49: error: 'digitalPinHasPCICR' was not declared in this scope static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable"); ^ *** [.pio/build/sanguino_atmega1284p/src/src/module/endstops.cpp.o] Error 1 Compiling .pio/build/sanguino_atmega1284p/src/src/module/planner_bezier.cpp.o ========================= [FAILED] Took 28.98 seconds ========================= Environment Status Duration ----------------------- -------- ------------ megaatmega2560 IGNORED megaatmega1280 IGNORED at90usb1286_cdc IGNORED at90usb1286_dfu IGNORED DUE IGNORED DUE_USB IGNORED DUE_debug IGNORED LPC1768 IGNORED LPC1769 IGNORED sanguino_atmega644p IGNORED sanguino_atmega1284p FAILED 00:00:28.981 melzi IGNORED melzi_optiboot IGNORED rambo IGNORED STM32F103RE IGNORED STM32F103RC_fysetc IGNORED STM32F103RC_bigtree IGNORED STM32F103RC_bigtree_USB IGNORED STM32F4 IGNORED STM32F7 IGNORED ARMED IGNORED STM32F103VE_longer IGNORED mks_robin IGNORED mks_robin_lite IGNORED mks_robin_mini IGNORED mks_robin_nano IGNORED jgaurora_a5s_a1 IGNORED STM32F407VE_black IGNORED BIGTREE_SKR_PRO IGNORED BIGTREE_BTT002 IGNORED teensy31 IGNORED STM32F103CB_malyan IGNORED chitu_f103 IGNORED teensy35 IGNORED esp32 IGNORED fysetc_f6_13 IGNORED linux_native IGNORED SAMD51_grandcentral_m4 IGNORED include_tree IGNORED ==================== 1 failed, 0 succeeded in 00:00:28.981 ==================== ```

bugfix-1.1.x

A similar bash script to reproduce the example compilation on the bugfix-1.1.x branch, which compiles without error:

#!/usr/bin/env bash

# enter temporary directory
cd "$(mktemp -d)" && pwd

# clone marlin source, checkout bugfix-1.1.x
git clone https://github.com/MarlinFirmware/Marlin.git ./
git checkout bugfix-1.1.x

# install and activate virtualenv
virtualenv venv && source venv/bin/activate

# install platformio
pip install platformio

# install liquidcrystal lib
pio lib install LiquidCrystal

# copy Anet A8 example config
cp Marlin/example_configurations/Anet/A8/Configuration* Marlin/

# compile with platformio
platformio run -e sanguino_atmega1284p

Expected behavior: The example configuration should compile without error with ENDSTOP_INTERRUPTS_FEATURE enabled.

Actual behavior: The compilation fails on the bugfix-2.0.x branch.

Additional Information

The full build log can be seen above.

I have previously tried other build methods and used older commits of the bugfix-2.0.x branch and hit #15540 before. Issues #9632 and #10480 might be related too but I'm not sure.

Of course I can simply disable the interrupts feature and then the firmware compiles without error. But then why did it work before (and still does on the bugfix-1.1.x branch)?

GMagician commented 5 years ago

@ansemjo please try my PR. I can compile using ANET default cnf

ansemjo commented 5 years ago

Nice! Your pull request compiles correctly with platformio, yes.

Out of interest I retried compiling with arduino-cli again and I am once more hitting the errors from #15540:

$ arduino-cli compile --fqbn Sanguino\:avr\:sanguino\:cpu=atmega1284p Marlin/Marlin.ino 
In file included from /tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/endstops.cpp:36:0:
/tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/../HAL/HAL_AVR/endstop_interrupts.h: In function 'void setup_endstop_interrupts()':
/tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/../HAL/HAL_AVR/endstop_interrupts.h:119:7: error: non-constant condition for static assertion
       static_assert(digitalPinToPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");
       ^~~~~~~~~~~~~
In file included from /home/ansemjo/.arduino15/packages/arduino/hardware/avr/1.8.1/cores/arduino/Arduino.h:257:0,
                 from /tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/../inc/../HAL/./HAL_AVR/../shared/Marduino.h:36,
                 from /tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/../inc/../HAL/./HAL_AVR/HAL.h:21,
                 from /tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/../inc/../HAL/HAL.h:26,
                 from /tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/../inc/MarlinConfig.h:30,
                 from /tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/endstops.h:28,
                 from /tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/endstops.cpp:27:
/home/ansemjo/.arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino/pins_arduino.h:112:70: error: reinterpret_cast from integer to pointer
 #define digitalPinToPCICR(p)        ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) )
                                                                     ~^~~~~~~
/tmp/arduino-sketch-CE86B61259E71E1DEABA5D41D890BEF6/sketch/src/module/../HAL/HAL_AVR/endstop_interrupts.h:119:21: note: in expansion of macro 'digitalPinToPCICR'
       static_assert(digitalPinToPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");

// repeated for Y_MIN_PIN and Z_MIN_PIN
GMagician commented 5 years ago

I compiled ANET with arduino ide and compiles fine. What is arduino-cli?

ansemjo commented 5 years ago

arduino-cli is from here: https://github.com/arduino/arduino-cli I originally tried it because I wanted to automate builds with a Makefile without opening the IDE each time and before I knew about PlatformIO.

GMagician commented 5 years ago

Can you try to compile with arduino ide? Just to know if it works and if issue is only on "-cli" version I was able to compile!

ansemjo commented 5 years ago

I'm not sure if I'm doing something wrong but the newest Arduino IDE doesn't work for me either -- it fails with exactly the same error message.

In file included from sketch/src/module/endstops.cpp:36:0:
sketch/src/module/../HAL/HAL_AVR/endstop_interrupts.h: In function 'void setup_endstop_interrupts()':
sketch/src/module/../HAL/HAL_AVR/endstop_interrupts.h:119:7: error: non-constant condition for static assertion
       static_assert(digitalPinToPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");
       ^~~~~~~~~~~~~
In file included from /tmp/arduino-1.8.10/hardware/arduino/avr/cores/arduino/Arduino.h:257:0,
                 from sketch/src/module/../inc/../HAL/./HAL_AVR/../shared/Marduino.h:36,
                 from sketch/src/module/../inc/../HAL/./HAL_AVR/HAL.h:21,
                 from sketch/src/module/../inc/../HAL/HAL.h:26,
                 from sketch/src/module/../inc/MarlinConfig.h:30,
                 from sketch/src/module/endstops.h:28,
                 from sketch/src/module/endstops.cpp:27:
/home/ansemjo/.arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino/pins_arduino.h:112:70: error: reinterpret_cast from integer to pointer
 #define digitalPinToPCICR(p)        ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) )
                                                                     ~^~~~~~~
sketch/src/module/../HAL/HAL_AVR/endstop_interrupts.h:119:21: note: in expansion of macro 'digitalPinToPCICR'
       static_assert(digitalPinToPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");
                     ^~~~~~~~~~~~~~~~~
In file included from sketch/src/module/endstops.cpp:36:0:
sketch/src/module/../HAL/HAL_AVR/endstop_interrupts.h:135:7: error: non-constant condition for static assertion
       static_assert(digitalPinToPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable");
       ^~~~~~~~~~~~~

edit: Just to be clear: the exact same checkout and configuration compiles fine with PlatfromIO via platformio run -e sanguino_atmega1284p.

ansemjo commented 5 years ago

However, this is unrelated to the original issue that I opened here, I think. Discussion about the error around error: reinterpret_cast from integer to pointer should maybe continue in #15540?

boelle commented 5 years ago

so since this compiles fine on platform.io would it be fair to say that this is not related to marlin?

GMagician commented 5 years ago

This is related to arduino ide, @thinkyhead tryed to solve it but since new define are not present for other avr boards..he solved only 2560... Since some define have to be added I think its better to leave old defines and add something only for "assertion" check, I have not figured out how to solve it. All supported avr boards have to be consideredto create new define and I have no idea how many boards needs to be added

boelle commented 5 years ago

oki, will close as its related to compiler software and not marlin

we can reopen if the issue is truely within marlin

ansemjo commented 5 years ago

I do not agree, @boelle. This issue still needs @GMagician's pull request #15771 merged to be fixed. As it stands, the current bugfix-2.0.x branch does not compile with the example Anet A8 configuration -- neither with the Arduino IDE nor with PlatformIO. See the scripts in my first comment to reproduce this.

I was simply saying that the next issue about reinterpet_cast around &PCICR is a different issue.

Please reopen this issue and / or merge #15771.

GMagician commented 5 years ago

I was simply saying that the next issue about reinterpet_cast around &PCICR is a different issue.

@ansemjo my PR now should also fix it

ansemjo commented 5 years ago

@boelle, could you please re-open this issue? It is an issue within Marlin and @GMagician already has a fix for it. But that still needs to be merged.

boelle commented 5 years ago

what pr # is it?

ansemjo commented 5 years ago

It's PR #15771. That pull request also fixes issue #15540.

ansemjo commented 5 years ago

Weird, this wasn't closed when the PR was merged.

I believe this is fixed now, thanks.

github-actions[bot] commented 4 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.