Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve SPI TFT and XPT2046 support (HAL rework) #24911

Closed
wants to merge 100 commits into from

Commits on Oct 20, 2022

  1. - improved SPI TFT and XPT2046 support (HAL handling rework based on …

    …library sources + (electrical) testing)
    
    brought to you by Martin Turski, company owner of EirDev (turningtides@outlook.de)
    this adds support for the Makerbase MKS TS35-R V2.0 screen in combination with the MKS Robin E3D V1.1 board. proper testing has shown that this hardware combination works very well with the Marlin firmware. previously the bus negotiations of various Marlin components was conflicting so much that this use-case was a head-ache!
    
    Adds proper baudrate determination between hardware specifications and board clock frequencies.
    - new configuration option: TOUCH_BAUDRATE
    - new configuration option: TFT_BAUDRATE_READ
    - new configuration option: TFT_BAUDRATE_WRITE
    
    Buy MKS Makerbase TS35-R V2.0 screen: https://de.aliexpress.com/item/1005003634231986.html
    Buy MKS Makerbase Robin E3D V1.1 board: https://de.aliexpress.com/item/4000781744682.html
    
    https://green-candy.osdn.jp/external/promo/mks_robin_e3d_v1_1_with_ts35r_v2_0.png
    
    Simply connect the screen across the EXP1/EXP2 connectors, flash the properly configured firmware and give it a go!
    
    Interupt-driven SPI DMA has not been tested. Also I have not tested every configuration combination. I would appreciate some verification by the Marlin FW community.
    quiret committed Oct 20, 2022
    Configuration menu
    Copy the full SHA
    94e2a5d View commit details
    Browse the repository at this point in the history
  2. - fixed SPI bus support across the board, so it is possible to have T…

    …MC drivers on the same SPI bus as TFT, Touch, SD, etc
    
    brought to you by Martin Turski, company owner of EirDev (turningtides@outlook.de). In this commit the SPI support has been improved in all of Marlin - across ALL the boards! - so that the big problem of connecting peripherals on the same SPI bus is tackled. I have tested the commit on my MKS Makerbase Robin E3D V1.1 board and all SPI components have successfully initialized, are successfully communicating and it works quite nicely. I invite you to test your own board using this commit.
    
    I tested the TMC2130 drivers in SPI mode and there is no issue when using them. Also connected as a MKS Makerbase TS35-R V2.0 screen.
    
    Have fun!
    quiret committed Oct 20, 2022
    Configuration menu
    Copy the full SHA
    9096c4b View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2022

  1. - (temporarily?) linking to my updated TMCStepper repository to fix c…

    …ompilation for other people aswell
    quiret committed Oct 21, 2022
    Configuration menu
    Copy the full SHA
    39eb97b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f9fb193 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2022

  1. Configuration menu
    Copy the full SHA
    57c0574 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    77ead05 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2022

  1. Configuration menu
    Copy the full SHA
    6b20c13 View commit details
    Browse the repository at this point in the history
  2. - further global SPI improvements (all platforms + many Marlin functi…

    …ons)
    
    - added more reliability ensurances to the SD card stuff
    quiret committed Oct 28, 2022
    Configuration menu
    Copy the full SHA
    8fea5ee View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c3f17d7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d2d9fe5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    24a92fc View commit details
    Browse the repository at this point in the history
  6. - limit the Arduino DUE software SPI layer to just the standard SD ca…

    …rd SPI pins (for now?)
    quiret committed Oct 28, 2022
    Configuration menu
    Copy the full SHA
    6371126 View commit details
    Browse the repository at this point in the history
  7. - fixed a missing preprocessor macro in the SD card reliability updat…

    …e (the standard SD card read block retry count)
    quiret committed Oct 28, 2022
    Configuration menu
    Copy the full SHA
    998a513 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2022

  1. Configuration menu
    Copy the full SHA
    1d82c37 View commit details
    Browse the repository at this point in the history
  2. Keep 'static' for DMA

    thinkyhead committed Oct 30, 2022
    Configuration menu
    Copy the full SHA
    e5ce795 View commit details
    Browse the repository at this point in the history
  3. Fix macros

    thinkyhead committed Oct 30, 2022
    Configuration menu
    Copy the full SHA
    9f2193d View commit details
    Browse the repository at this point in the history
  4. Try success flag

    thinkyhead committed Oct 30, 2022
    Configuration menu
    Copy the full SHA
    94a9bca View commit details
    Browse the repository at this point in the history
  5. 8 bit rate enum

    thinkyhead committed Oct 30, 2022
    Configuration menu
    Copy the full SHA
    979abe2 View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2022

  1. - added global HAL SPI layer with STM32, ESP32 and LPC176x/LPC175x un…

    …ique (reference) implementations
    
    This is the big HAL SPI update you have been waiting for! It fixes the SPI bus sharing problem for good, laying a strong foundation for the Marlin FW SPI into the future. All brought to you by Martin Turski, company owner of EirDev.
    
    CHANGELOG:
    * added ESP32 unique HAL SPI
    * added LPC1768 unique HAL SPI (needs testing because I got a broken board)
    * tft_spi.cpp is now a generic class (SPI ccreen support for virtually every SPI capable controller board)
    * xpt2046.cpp is not a generic class (generic touch screen support comes closer!)
    * further global SPI refactoring, removing use of the generic Arduino SPIClass in favor of the new & better HAL SPI interface
    * removed obsolete code (MarlinSPI)
    * added HAL NVIC (ARM) for proofed interrupt management (shared between STM32 and LPC1768)
    * removed some arbitrary Marlin FW limits related to shared SPI bus (may not have caught all thus I need the support for the Marlin FW community for testing)
    * made drawing to the screen asynchronous for color UI (if it is supported by enabling USE_SPI_DMA_TC, only on supported boards!)
    * merged ARM exception handling code with the new HAL NVIC code
    * added some ARM exception management helpers (BEEP_ON_SYSTEM_EXCEPTION)
    * added HALSPI_DO_ERRORBEEPS, HALSPI_DO_LOOPBEEPS, HALSPI_ESP32_STATIC_DMADESCS, HALSPI_DMA_ALWAYS, HALSPI_DEBUG, HALSPI_DISABLE_DMA, HALSPI_LOOPBEEP_TIMEOUT, HALSPI_DMA_THRESHOLD configuration preprocessor definitions for HAL SPI
    * added HAL_SPI_SUPPORTS_ASYNC option: if defined then the SPI async interface (spiWriteAsync, spiWriteAsync16, spiAsyncAbort, spiAsyncJoin, spiAsyncIsRunning) is available
    * improved SD_WRITE_TIMEOUT, SD_ERASE_TIMEOUT, SD_INIT_TIMEOUT, SD_READ_TIMEOUT SD-card timeout variables: they can now be disabled to allow for no-timeout at SD card operations (use with caution!)
    * added SD_DISABLE_TIMEOUTS preprocessor option: if defined in your configuration then the default SD card timeout variables are not applied, if previous config of them is missing
    
    HAL SPI has been thoroughly tested on the STM32 and ESP32 implementations! The generic SPI has been working fine on the LPC1768 (needs further testing, I will get a fully working board soon).
    
    Have fun!
    quiret committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    b8345f8 View commit details
    Browse the repository at this point in the history
  2. - various STM32 fixes

    quiret committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    e731821 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1394088 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    33e68b6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    14c933b View commit details
    Browse the repository at this point in the history
  6. - adjustment for SOFTWARE_SPI & HALSPI_HW_GENERIC on STM32 (it now co…

    …mpiles)
    
    - removed some compilation warnings
    - disabled async SPI support it HALSPI_HW_GENERIC is enabled (the generic implementations are supposed to be very easy)
    - SPI fixes for AVR
    quiret committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    f375d4d View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2022

  1. Configuration menu
    Copy the full SHA
    17dd8b0 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2022

  1. - reliability upgrade for ATmega2560 MCU series (640-1280-1281-2560-2…

    …561)
    
    The _ATmega_savePinAlternate function saves the device state which affects the provided GPIO pin and disables it. This way the provided pin can be safely used for GPIO purposes until the _ATmega_restorePinAlternate function is called. Then the device state is reset prior to the call of _ATmega_savePinAlternate, assuming that no other device state change related to the disabled peripherals was undertaken inbetween the function calls.
    
    - added REPRAP_FULL_GRAPHIC_SMART_CONTROLLER to MKS TinyBee V1.0
    quiret committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    4223ef4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6cf4f5a View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Configuration menu
    Copy the full SHA
    31c8e83 View commit details
    Browse the repository at this point in the history
  2. - added another set of 8bit AVR MCUs to the reliability update compat…

    …ibility list (that should cover all of the AVR devices already supported by Marlin)
    quiret committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    b8da4fb View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. - added _ATmega_getPinFunctions function: returns the list of MCU fun…

    …ctions mapped to the given digital pin, enabled as soon as the powering MCU component is enabled
    quiret committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    bb3f820 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2022

  1. Configuration menu
    Copy the full SHA
    6e25b73 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2022

  1. - improved the AVR HAL SPI hardware implementation + moved SOFTWARE_S…

    …PI implementation into it's own file
    
    - improved the maintainability of dozen AVR board pin header files (actual pin names instead of internal numbers)
    
    Please help me convert the rest of them so that we can have a clean Marlin experience!
    
    - added spiEstablish function which forces kick-up of SPI signals + peripherals that would otherwise be implicitly done by transmission functions (if required)
    - added more debug logic to ESP32 (further work pending to get DMA working)
    quiret committed Dec 6, 2022
    Configuration menu
    Copy the full SHA
    54ab13c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d7bb6f5 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2022

  1. - fixed a crash in the LCD menu progress indication rotation where a …

    …presence of no status updates was unchecked, causing a jump to corrupt memory locations
    
    - various adjustments
    quiret committed Dec 7, 2022
    Configuration menu
    Copy the full SHA
    e22249a View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2022

  1. - added optimized HAL SPI implementation for 8bit AVR MCUs

    - added generic HW implementation for 8bit AVR MCUs based on the ArduinoCore
    
    new preprocessor macro AVR_CHIPOSCILLATOR_FREQ: please look into your board manufacturer schematics to find the XTAL1/XTAL2 pins, then create a pin header board preprocessor definition with the Hz number (typically in MHz) to enable the optimized AVR HAL SPI implementation.
    
    - removed an unnecessary comment that I added in Sd2Card
    quiret committed Dec 8, 2022
    Configuration menu
    Copy the full SHA
    7446980 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    80aaf66 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e7569d9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0787327 View commit details
    Browse the repository at this point in the history
  5. - fixed a typo in the fastio_644.h update

    - refactored the sanguino 8bit AVR pin headers to use pin names instead of internal numbers
    quiret committed Dec 8, 2022
    Configuration menu
    Copy the full SHA
    8dcc5dd View commit details
    Browse the repository at this point in the history
  6. - fixed a typo in the fastio_AT90USB.h update

    - refactored the teensy2 8bit AVR board pin header files to use pin names instead of internal numbers
    quiret committed Dec 8, 2022
    Configuration menu
    Copy the full SHA
    a5b0fdf View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2022

  1. - refactored the AVR system memory map, using the __AVR_DEFREG macro …

    …for code-graph construction
    
    - improved the pin device state saving, adding support for powered-down peripherals, adding the _ATmega_savePinAlternates function to save the combined device state of multiple pins
    quiret committed Dec 10, 2022
    Configuration menu
    Copy the full SHA
    eb2f8c2 View commit details
    Browse the repository at this point in the history
  2. - added spiSetupChipSelect function which is used to initialize the u…

    …sage of a pin as SPI-protocol chip-select (and no other purpose!)
    
    - searched for SPI CS initializations and converted them to use the new spiSetupChipSelect function
    quiret committed Dec 10, 2022
    Configuration menu
    Copy the full SHA
    a4098c7 View commit details
    Browse the repository at this point in the history
  3. - improved the error messages about missing HAL SPI fast HW chip osci…

    …llator frequency definitions
    
    - fixed pin definitions in AVR fastio which were used by external libraries, such as LiquidCrystal
    - added chip oscillator frequencies for RAMPS and MKS GEN L 1.0
    quiret committed Dec 10, 2022
    Configuration menu
    Copy the full SHA
    393b810 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    65362ac View commit details
    Browse the repository at this point in the history
  5. misc. cleanup

    thinkyhead committed Dec 10, 2022
    Configuration menu
    Copy the full SHA
    a823366 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    374e71f View commit details
    Browse the repository at this point in the history
  7. also

    thinkyhead committed Dec 10, 2022
    Configuration menu
    Copy the full SHA
    fde3ce8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    db0caf8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6e88a6e View commit details
    Browse the repository at this point in the history
  10. apply pins formatting

    thinkyhead committed Dec 10, 2022
    Configuration menu
    Copy the full SHA
    8765a92 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2022

  1. some formatting

    thinkyhead committed Dec 12, 2022
    Configuration menu
    Copy the full SHA
    dd2f7ec View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b9cf1de View commit details
    Browse the repository at this point in the history
  3. misc. cleanup

    thinkyhead committed Dec 12, 2022
    Configuration menu
    Copy the full SHA
    9b6ffe1 View commit details
    Browse the repository at this point in the history
  4. - added board schematic links to LPC1768, LPC1769, mega, RAMPS, sangu…

    …ino and teensy2 pin header files
    
    - added missing AVR_CHIPOSCILLATOR_FREQ and LPC_MAINOSCILLATOR_FREQ board oscillator definitions where they were missing, according to the board schematics & made a guess whenever the schematics are missing (please help me get the remaining schematics for good future proofed support of Marlin FW!)
    - various adjustments
    quiret committed Dec 12, 2022
    Configuration menu
    Copy the full SHA
    d0e67ef View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    45c3116 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6d9815e View commit details
    Browse the repository at this point in the history
  7. sanity-check

    thinkyhead committed Dec 12, 2022
    Configuration menu
    Copy the full SHA
    601547b View commit details
    Browse the repository at this point in the history
  8. - fixed a few bugs to the LPC175x/LPC176x HAL SPI that were introduce…

    …d during code formatting on Dec 12, 18:12
    
    - added missing board oscillator freq (forgot to commit it?)
    quiret committed Dec 12, 2022
    Configuration menu
    Copy the full SHA
    f2a95cd View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9e858a3 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2022

  1. - finalized the wiring of the MKS TinyBee V1.0 with MKS TS35-R V2.0 f…

    …or my hardware partner
    quiret committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    adbd7eb View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2022

  1. - bugfixes for LPC1768 (I have been fighting the compiler, like a man)

    - grammar fix for SOFTWARE_SPI on LPC1768
    - various stability adjustments for the heck of it (it is better to be safe than sorry!)
    - bugfix for DYNAMIC_VECTORTABLE exception handling on LPC1768 (vector table entry 7 does not contain default handler)
    quiret committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    13a8a67 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2022

  1. - QoL improvement for AVR users: if the TMC SPI MISO,MOSI,SCK pins ar…

    …e not on the hardware SPI bus then we force their TMC SPI mode to software mode
    quiret committed Dec 17, 2022
    Configuration menu
    Copy the full SHA
    f58a269 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2023

  1. - added MKS TinyBee V1.0 board definition file + linked it with the b…

    …uild process
    
    - fixed some issues regarding volatile memory access semantics across AVR, LPC1768, ESP32
    - upgraded MKS TinyBee compilation to espressif 6.0.0 + GCC 11.2.0 (very recently released)
     -> code changes to make Marlin FW compatible with the latest toolchain
    - overhaul of ESP32 HW HAL SPI layer, making use of Eir SDK BitManager code-graphs to speed up 64 byte / 512 bit SPI buffer fetch & fill (further optimizations to the software model are outstanding to a point past pull request approval)
    - tiny adjustments regarding SPI FLASH & MAX31865 SPI temperature controller (next project)
    quiret committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    1942dbb View commit details
    Browse the repository at this point in the history
  2. - removed some unnecessary details of the Eir SDK headers

    - upgraded the atmelavr PlatformIO package to 4.0.1
    - changed the build configuration to compile Marlin FW code with the GNU++1z standard (constexpr-if is useful in the embedded field)
    - further "fixes" to the volatile problem
    quiret committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    3164067 View commit details
    Browse the repository at this point in the history
  3. - fixes for ATmega1284p building regarding build-flags taking from co…

    …mmon instead of common_avr8
    quiret committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    ca90f62 View commit details
    Browse the repository at this point in the history
  4. - upgraded the compiler for LPC1768/LPC1769 to newer GCC version

    - set GNU++20 standard for LPC176x
    quiret committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    959fc3c View commit details
    Browse the repository at this point in the history
  5. - fixed a bug in LPC176x SPI where LSBFIRST communication could reque…

    …st transfer through DMA but the MCU peripheral supports MSBFIRST transfer only
    
     -> solved by falling back to async-SPI-through-interrupts or generic SPI (special case is repeat-by-DMA which still works using DMAC!)
    - optimized the _flip_bits function for LPC176x by use of RBIT assembly instruction (ARM)
    - reduced the Wno-volatile warning spam
    quiret committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    6b8b918 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2023

  1. Configuration menu
    Copy the full SHA
    266bd1d View commit details
    Browse the repository at this point in the history
  2. - abstracted away from HAL_SPI_SUPPORTS_ASYNC to TFT_SUPPORTS_ASYNC i…

    …n terms of TFT_IO async operation availability (write_sequence_async method)
    quiret committed Jan 31, 2023
    Configuration menu
    Copy the full SHA
    31fb42d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a1720db View commit details
    Browse the repository at this point in the history
  4. - updated the stm32 build scripts, making stm32f1 (non-maple) build u…

    …sing the latest toolchain
    
    - improved generic_create_variant.py to avoid wrecking official/generic variant build configurations
    quiret committed Jan 31, 2023
    Configuration menu
    Copy the full SHA
    e9c3932 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2023

  1. - added smart source file selection feature to the Marlin FW build sy…

    …stem
    
     -> experimentally used for selection of font files for building
    - added TFT_FONT_* Marlin feature entries that map to the appropriate source files
     -> also applied TFT_FONT checks inside the font-data source files for robustness
    - fixed compilation for the maple STM32F1 environments
    - updated the maple STM32F1 configurations to use the latest platform definitions (15.4.1)
    - fixed some bugs due to newer GCC compiler (duplicate inline)
    - linked the STM32 HAL SPI with the STM32F1 maple build configurations since these are compatible (do not expect me to update deprecated code!)
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    afacc43 View commit details
    Browse the repository at this point in the history
  2. - improved the smart build system inclusion implementation, doing a f…

    …inal source file convergence phase on the filter list instead of by each feature, fixing bugs that broke the software model
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    2aad8bc View commit details
    Browse the repository at this point in the history
  3. - followup bugfix in the python script: forgot to make the src_filter…

    … variable visible to the acquisition logic
    
    - cleaned up platformio.ini source filters by removing deprecated ones, generalizing according to source layout (it could still be improved but I did my best! Scott should decide further steps)
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    7ddc37e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d7d4ca5 View commit details
    Browse the repository at this point in the history
  5. - fixed building with LTDC TFT configuration (STM32H7xx)

    - implemented HAL_NVIC for STM32H7xx
    - improved building for STM32, removing TFT source filesfrom building stage if they are not needed
    - bugfix for 1024x600 resolution (TCT)
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    f36ffc8 View commit details
    Browse the repository at this point in the history
  6. AFFIRMATIVE COMMIT

    Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    c71d445 View commit details
    Browse the repository at this point in the history
  7. - fixed building with no TFT_FONT in global preprocessor variables (a…

    …ssume NOTOSANS as default, which it is in the sources anyway)
    
    - removed game menus from feature HAS_MARLINUI_MENU (they should be optionally enabled)
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    1b89c83 View commit details
    Browse the repository at this point in the history
  8. - resolved a build issue with feature HAS_MOTOR_CURRENT_I2C and HAS_M…

    …OTOR_CURRENT_* where the gcode feature source files were missing
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    23335b0 View commit details
    Browse the repository at this point in the history
  9. - fix typo ui_api.cpp

    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    d3bbf02 View commit details
    Browse the repository at this point in the history
  10. - updated toolchains to newer compilers, aiming for a good Marlin FW …

    …future
    
    - improved generic_create_variant.py to not mess with official board variant configurations (only touch if board_build.variant value is prefixed with MARLIN_)
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    9500762 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    08704ea View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    e87f26d View commit details
    Browse the repository at this point in the history
  13. - fixed FSMC display support: force SRAM HAL module to compile for th…

    …e STM32 framework (it is excluded by default) [chitu_f103 fix]
    quiret committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    62ebd6e View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2023

  1. - (temporarily) updated the ESP3DLib dependency for MKS TinyBee / ESP…

    …32 to fix compilation issues on the latest Espressif toolchains
    
    When the PR luc-github/ESP3DLib#51 has been merged then please change it back!
    
    - (temporarily) updated the "ESP Async WebServer" dependency for MKS TinyBee / ESP32 to fix compilation issues on the latest Espressif toolchains
    
    Please watch PR me-no-dev/ESPAsyncWebServer#1142 and change back once merged.
    
    - fixed another ESP32 bug due to toolchain update
    quiret committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    47f8064 View commit details
    Browse the repository at this point in the history
  2. - remove obsolete and problematic ESP32 build fixes, allowing Linux b…

    …uilding again (shell passthrough special characters)
    quiret committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    99f3ffb View commit details
    Browse the repository at this point in the history
  3. - another bugfix related to a programming error in framework-arduinoe…

    …spressif32 (please fix dependency once 2.0.7 of that package is out on PlatformIO registry!)
    quiret committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    05f8c2b View commit details
    Browse the repository at this point in the history
  4. - config fixes + cleanup

    quiret committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    af10a81 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    95b1a5a View commit details
    Browse the repository at this point in the history
  6. - fixed building for STM32 flash-drive mix-in enabled board configura…

    …tions
    
    Please check PR rhapsodyv/Arduino_Core_STM32#1 and if @rhapsodyv has merged then adjust the dependency to an official one!
    quiret committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    3592c1f View commit details
    Browse the repository at this point in the history
  7. - compatibility update: fixed PINS_DEBUGGING build configurations by …

    …moving Marlin internals out of variants-headers and making them optional (new platdefs STM32 HAL folder for Marlin specific board specializations + _STM32_PLATDEFS define)
    
    @ellensp said that PINS_DEBUGGING support should be rewritten in another PR; I agree but this is a necessity to unbreak compilation + PINS_DEBUGGING is not a release feature so don't obstruct progress, please!
    quiret committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    d2f6061 View commit details
    Browse the repository at this point in the history
  8. - follow-up fix: old STM32 toolchains need the NUM_ANALOG_FIRST but i…

    …t is a bad idea to rely on such internal thus adjusted some things.
    quiret committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    12ecb3e View commit details
    Browse the repository at this point in the history
  9. - bugfix: template specification for constructor is invalid C++ synta…

    …x that was previously allowed due to compiler-forgiveness
    quiret committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    bbdfd6d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ea8ec36 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8fc58e3 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2023

  1. - aligning the code with the sdcard reliability PR

    - added YouTube videos about the Arduino pin layout and the AVR alternate pin functions to the comments
    quiret committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    a603ce2 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2023

  1. - various fixes & adjustments across Marlin

    - fixed a bug in ESP32 HAL SPI where interrupt code cannot be assumed to be entirely in IRAM due to access to peripheral memory, possibility of having a compiler-internal function inside the generated code-graph
    quiret committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    d576b48 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2023

  1. Configuration menu
    Copy the full SHA
    5334ced View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2023

  1. tweak formatting

    thinkyhead committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    78ac981 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    593f1de View commit details
    Browse the repository at this point in the history