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

Improved STMicro L64XX stepper driver support #16452

Merged
merged 6 commits into from
Jan 14, 2020

Conversation

Bob-the-Kuhn
Copy link
Contributor

@Bob-the-Kuhn Bob-the-Kuhn commented Jan 4, 2020

This PR replaces PR #13053 and #13498.

This PR adds support for the L6474, L6480 & powerSTEP01 steppers from STmicro. The L6480 is a subset of the powerSTEP01.

The code changes are a result of the following differences between the L6470, L6474 and the powerSTEP01/L6480:

  • Additional registers
  • Register address changes
  • Changes to bit locations and definitions

Also added the ability to select the slew rate used by the drivers via Configuration_adv.h option.


This PR uses the "helper" method of linking external SPI routines to the Arduino-L6470 library.

This PR requires a change to the Arduino L6470 library. Here are the new library files:
Arduino-L6470 2020-01-03.zip

The Arduino L6470 library changes are in PR 14.

The Arduino L6470 library changes that were made are:

  • Added additional definitions and #if statements to select the appropriate definitions.
  • Changed the Overcurrent Detection threshold and Stall threshold commands to allow for variable numbers of bits and variable "mA per count" constants.
  • Created subclasses for each chip.

@Bob-the-Kuhn
Copy link
Contributor Author

This PR is almost ready to be merged. All files have been updated. The code has been tested on a STEVAL_3DP001V1 board.

The only open item is updating the Arduino-L6470 library. That update will probably affect the link to the library which will affect platformio.ini.

@kurtnelle
Copy link

Will this include the powerSTEP01's ability to be a dual independent dc motor / heater driver?

@Bob-the-Kuhn
Copy link
Contributor Author

I've used this code with a stack of six X-NUCLEO-IHM03A1 boards. Each board has a single powerSTEP01 on it.

I'm confused about the dual independent dc motor / heater driver portion. As far as I can tell each powerSTEP01 can drive one stepper and does not have any provision to be a heater driver.

I used them with 2A NEMA 23 steppers on a 24V system. The powerSTEP01 chips didn't even get warm.

@Bob-the-Kuhn
Copy link
Contributor Author

Why the interest in powerSTEP01?

I've switched my system to the TMC5160 drivers. They also can drive my steppers without a heat sink and have a better interface. Now I don't need any special interface/adapters and just use standard controller boards.

@kurtnelle
Copy link

The powerStep01 can run up to 85V. This gives headroom for future voltage increases once we all go to 48V power supplies as standard. It can also do both voltage and current mode driving. In essence it can drive any size stepper motor that you can find.

I'll have to double check where I saw that you can control the dual full bridge drivers independently.

@Bob-the-Kuhn
Copy link
Contributor Author

BIG steppers

I take it that you are looking at building a CNC machine. Usually big means slow which is not wanted on a 3D printer.

My code puts the chip into the STEP_LOCK mode. See the ...\Marlin\src\libs\L6470\000_l6470_read_me.md file for an explanation of how the code works and the hardware/software interaction.

Marlin is written around the STEP/DIR/ENABLE interface. Taking advantage of the upper level comands/modes available in the L64xx series would require throwing away almost everything down stream from the planner.

Looking at the data sheet I see just the usual 4 stepper motor outputs. The registers have no provisions for an independent second stepper channel.

Perhaps you were remembering something from the NUCLEO-IHM02A1. That has two L6470 chips on one board so can control two steppers independently.

@Bob-the-Kuhn
Copy link
Contributor Author

A word of caution on the L64xx chips. When they go bad they tend to take other devices with them. I suggest putting individual fuses on the Vmot for each chip. Maybe that'll localize any damage.

I started out with three of the dual L6470 NUCLEO-IHM02A1 boards. I never was able to properly heat sink them. Everythig was OK when doing bech testing with Nema17 steppers. Soon after tying into the five Nema23 steppers on my old printer/CNC hybrid, one of the L6470 chips literally spit out flames. The net result was all six of the L6470s were dead.

I then went to six of powerSTEP01 boards. Again bench testing with Nema17 was good but when doing an early test print the system halted and the 24V wiring to the powerSTEP01 stack started smoking. That took out 4 of the 6 powerSTEP01 chips, the DUE CPU board and my RAMPS-FD-V2 shield. The strange thing is the SPI portion of all the chips still works but only two will spin a motor.

I finally gave up on using my CNC machine as a 3D printer. I've been using a TEVO Little Monster now for 4-5 months.

@kurtnelle
Copy link

I've used L6470s. They have a thermal warning and thermal shutdown. If they started smoking then something else was wrong in the design of the PCB or the motor phase resistance was really, really low. I believe you that they smoked though. Large Format 3d printers require large stepper motors, which need a lot of power. Currently the only way to get that is with CNC current mode drivers. the powerStep01's current mode driving would allow a user to scale up without adding too much cost, in the driver department.

Copy link
Contributor Author

@Bob-the-Kuhn Bob-the-Kuhn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverting echo_yes_no back to the Boolean form will cause problems when looking for error bits in the upper 16 bits of a 32 bit register. These will always evaluate to false (NO). If I do a echo_yes_no(0x10000000 & 0xF0000000) evalautes to false/NO.

Maybe change the 32 bit versions name to echo_yes_no_32 ?

@Bob-the-Kuhn
Copy link
Contributor Author

Bob-the-Kuhn commented Jan 9, 2020

I'll test the changes Thursday.

@thinkyhead
Copy link
Member

The only open item is updating the Arduino-L6470 library.

We use a direct link to Arduino-L6470/archive/dev.zip now but we can add L64XX drivers to one or more of the CI tests and at the same time change it to refer to the 0.8.0 tag specifically.

@thinkyhead
Copy link
Member

thinkyhead commented Jan 9, 2020

echo_yes_no(0x10000000 & 0xF0000000) evalautes to false/NO.

That is why I changed calls like this to use (0x10000000 & 0xF0000000) != 0 as the argument instead. For example…

echo_yes_no((status & _status_axis_ocd) != 0);

@thinkyhead
Copy link
Member

thinkyhead commented Jan 9, 2020

Almost building successfully, but there's a strange error I can't figure out.

Marlin/src/module/stepper.cpp: In static member function 'static void Stepper::set_directions()':
Marlin/src/module/stepper.cpp:382:46: error: expected ')' before ';' token
       A##_APPLY_DIR(INVERT_##A##_DIR, false);  \
                                              ^
Marlin/src/module/stepper.cpp:391:5: note: in expansion of macro 'SET_STEP_DIR'
     SET_STEP_DIR(X); // A
     ^

There's no obvious place where a parenthesis has gone missing or even been changed somewhere before these lines. Adding an extra ) where it's complaining gives back a hilarious response: error: expected ';' before ')' token.

@Bob-the-Kuhn
Copy link
Contributor Author

There is a boot loop. It may take a while to root cause it.

@thinkyhead thinkyhead changed the title [2.0.x] L6470 - add L6474, L6480 & powerSTEP01 support (replaces PR #13498) Updates for L64XX 0.8.0 Jan 10, 2020
@thinkyhead
Copy link
Member

There's always some new funky thing!

@Bob-the-Kuhn
Copy link
Contributor Author

Bob-the-Kuhn commented Jan 11, 2020

The 6239dac commit has all of Scott's changes plus fixes all known issues except the WDT problem.


OPEN ITEMS

  • Fix boot loop problem when WDT is enabled.
  • Auto Build - process-palette.json still points at the buildroot\share\atom directory BUT that directory doesn't exist in bugfix-2.0.1. Either the JSON needs to be updated or the directory needs to be restored.
  • timers - PR Fix SKR Pro BLTouch conflicting timers #16499 moved the STM32F4xx STEP_TIMER from 5 to 6 because the BLTouch uses timer 5. That's OK for the STM32F407 but not for the STM32F401. On the F401 timers 6-8 do not exist and will throw a compile error if used. Hmmm .... looks like I need to investigate what timer is used on the STEVAL_3DP001V1 before I can make a firm recommendation on this. UPDATE TIM9 will work as the STEP_TIMER for both. The change in this PR to TIM9 can stay as is.

@Bob-the-Kuhn
Copy link
Contributor Author

The BLTouch uses the servo timer which is defined in the variant. Right now STEVAL_3DP001V1 doesn't have one defined. I'll do a PR to update the STEVAL_3DP001V1 variant with a timer definition that won't cause problems.

I've sucessfully tested TIM9 as the STEPPER_TIMER on the F401 so TIM9 will work for the F407.

@Bob-the-Kuhn
Copy link
Contributor Author

Bob-the-Kuhn commented Jan 13, 2020

Merged my changes with Scott's and tested it on a L6474 system and a POWERSTEP01 system. I know of no issues that would stop this PR from being merged once Travis is happy.

There was a bug in the L6470 library. The correction has been combined with Scott's changes and the commit has been pushed to the PR. This change will need to be implemented before the code in this PR will run.


CHANGES:

  • Configuration_adv.h - 1) added text to clarify the acceptable ranges of currents and 2) changed the "not in a chain" from "0" to "-1" to be consistent with TMC.
  • When making decisions based on STATUS_LAYOUT, use defines from library rather than hard coded numbers
  • Change from L6470_status_layout to L64xx_status_layout (just to get rid of another L6470 that wasn't needed) - UPDATE: I will back this change out so that the code in the PR will compile with the released 0.8.0.0 library.
  • L64XX_Marlin.cpp - correct status bit inverting for L6470 & L7474
  • M906.cpp - 1) correct calculation for STALL current on L6470, L6480 & powerstep , 2) change all SERIAL_ECHOxxx macros over to DEBUG_ECHOxxx macros and 3) changed all leading "ERROR" to "Test aborted" because host may react to seeing "ERROR" as the very first text on a line.

OPEN ITEMS:

  • Library changes on PR 14 will need to be implemented. UPDATE: A new PR will be created and just the correction will be on it.
  • The timers.h changes to make both STM32F401 and STM32F407 happy may be more compicated than I originally though. I'll start a separate PR to handle this issue.
  • The analog inputs on my STEVAL_3DP001V1 board do not work. I don't think that is related to the timer issue. I'll pursue that as part of PR improved STEVAL_3DP001V1 support (add SERVO and TONE timers to variant) #16538

@Bob-the-Kuhn
Copy link
Contributor Author

RATSSSS!!! Just saw that PR 14 has been merged & closed.

I'll create a new PR to make the needed library correction.

I'll also back out of the library PR and this PR the "Change from L6470_status_layout to L64xx_status_layout (just to get rid of another L6470 that wasn't needed)". It is the only library change that will keep the code in this PR from compiling. This will allow the library correction and this PR to proceed independently.

@Bob-the-Kuhn
Copy link
Contributor Author

I couldn't find the correct repo/branch to create a PR for the library change.

Scott - can you push these two files to the correct location?

L6470.zip


Here's the change comments:

L6470.h:

  • Change L6480_STATUS_LAYOUT define from 3 to 2 just beause I like the sequence 0, 1, 2 better than 0, 1, 3
  • Add "L6480::" to "L6470_status_layout" in both L6480 classes.
  • In both powerSTEP01 classes change OCD_TH_MAX and STALL_TH_MAX from 5 to 31
  • Don't know if this is needed - in all classes, add class before OCD_CURRENT_CONSTANT_INV and
  • :STALL_CURRENT_CONSTANT_INV
  • Remove note to myself.

L6470.cpp

  • Update comments to include L6474 for cases 64XX_CONFIG_A, L64XX_STATUS_A, L64XX_CONFIG_B & L64XX_STATUS_B
  • Change logic for the cases so that it's easy to determine how L6474 gets the correct register usage.

@Bob-the-Kuhn
Copy link
Contributor Author

I'm happy with the PR as is. I'm OK with it being merged.

The open items will be pursued independent of this PR.


OPEN ITEMS:

@thinkyhead
Copy link
Member

thinkyhead commented Jan 13, 2020

RATSSSS!!! Just saw that PR 14 has been merged & closed.

For convenience I also added to Arduino-L6470 the missing 0.7.0 tag and a new 0.8.0 tag which is directly referenced in the updated platformio.ini file. Going forward I'll make sure to refer to these tags and not to master.zip or dev.zip.

@thinkyhead
Copy link
Member

thinkyhead commented Jan 13, 2020

I couldn't find the correct repo/branch to create a PR for the library change.

newdev

I created a new branch for development called newdev and the 0.8.0 tag currently points to the HEAD of that branch. The dev branch can't be changed in any significant ways because (whoops!) the Marlin 2.0.0 and 2.0.1 releases refer directly to dev.zip instead of the version tag zip.

The contents of newdev will get merged into master soon. At that point the 0.8.0 tag won't need to be changed, because it will still refer to the same commit, but now master and newdev share it.

The other branches (test, dev_handler_ptr, dev_helper_class) will also go away, since all their version tags' commits also exist in the master branch.

@thinkyhead
Copy link
Member

Scott - can you push these two files to the correct location?

Merged into newdev and moved up the 0.8.0 tag. So everything is ready for this to be merged.

@thinkyhead
Copy link
Member

I'll have to re-fix the M906 output and any others that got reverted by new commits before this will be ready.

An important thing to remember is that if you try to SERIAL_ECHO something defined as a char (or any 8-bit type) it will print a char, which is not what you want. This is why we cast to int so much inside of SERIAL_ECHOPAIR and other serial calls.

@thinkyhead
Copy link
Member

thinkyhead commented Jan 13, 2020

change all SERIAL_ECHOxxx macros over to DEBUG_ECHOxxx macros

Actually, there is a difference, and the items I specifically modified to DEBUG_* versions were the ones wrapped in the L6470_CHITCHAT option, which will only ever be displayed in the case of that option, and which would be defined as NOOP otherwise. The rest of the SERIAL_* macros should be left as they are, since they are meant to apply whether you have L6470_CHITCHAT turned on or not.

If there are some which should only apply under L6470_CHITCHAT then these particular items may be changed to DEBUG_*, but I believe that most of them should be left unchanged.

@thinkyhead
Copy link
Member

Rebased and squashed. This will probably be merged very soon. I believe the behavior of M906 is now correct, with a good amount of serial output without L6470_CHITCHAT and even more when that option is enabled. To get your working copy updated…

git fetch origin
git checkout L64XX-helper-PR
git reset --hard origin/L64XX-helper-PR

@thinkyhead thinkyhead force-pushed the L64XX-helper-PR branch 3 times, most recently from 0a669a2 to c3c692d Compare January 13, 2020 22:58
@Bob-the-Kuhn
Copy link
Contributor Author

I've downloaded and tested the new code. Everything works as expected.

Time to merge this PR. I'm happy with it.

@thinkyhead thinkyhead merged commit 1ad53ce into MarlinFirmware:bugfix-2.0.x Jan 14, 2020
@thinkyhead thinkyhead changed the title Updates for L64XX 0.8.0 Improved STMicro L64XX stepper driver support Jan 14, 2020
@Bob-the-Kuhn Bob-the-Kuhn deleted the L64XX-helper-PR branch January 15, 2020 09:06
@thisiskeithb
Copy link
Member

@Bob-the-Kuhn: Have you seen #16604? We've had to revert the STEP_TIMER change to get our TMC drivers working correctly on STM32F40*.

mjparme added a commit to mjparme/Marlin that referenced this pull request Feb 1, 2020
* Don't test certain changes

* Reset runout.ran_out on resume (MarlinFirmware#16230)

* Step timing cleanup and rounding fix (MarlinFirmware#16258)

* Add MRR_ESPA/_ESPE (ESP32) boards (MarlinFirmware#16238)

* Add Ender-5 Pro config (MarlinFirmware#16221)

* Add FLYBOARD (STM32F407ZG) (MarlinFirmware#16257)

* Fix STM32 flush of TX (used by UBL) (MarlinFirmware#16197)

* Flash leveling (for some STM32) (MarlinFirmware#16174)

* Some ESP32 patches (MarlinFirmware#16297)

* MKS SGen-L pins EEBF or EFBF scheme (MarlinFirmware#16296)

* Add Rumba32 support for PIO (MarlinFirmware#16202)

* MKS Robin 2 (STM32F407ZE) base support (MarlinFirmware#16270)

* Update Czech language (MarlinFirmware#16305)

* Sync SKR E3 configs (MarlinFirmware#16301)

* Add NOZZLE_AS_PROBE (no probe offsets) (MarlinFirmware#15929)

* Update README with status badge, etc.

* Split up HAL items

* Update mfpub for current MarlinDocumentation

* Fix Max7219 with 256 or more cels

* Fix games menu back item, titles

* Update comments re: NOZZLE_AS_PROBE

* Fix min limit for acc, feed, jerk (MarlinFirmware#16416)

* Improve Renkforce configs (MarlinFirmware#16417)

* Permit ENDSTOP_INTERRUPTS_FEATURE on more STM32 (MarlinFirmware#16412)

* Improve STEVAL_3DP001V1 and future STEVAL_* support (MarlinFirmware#16404)

* MKS Robin ILI9328 TFT support (MarlinFirmware#16401)

* Disable PIDTEMPBED for SKR Mini E3 (MarlinFirmware#16396)

* Return from loop() on non-AVR boards (MarlinFirmware#16390)

* Refactor TMC-related macros and sanity checks (MarlinFirmware#16384)

* Add FILAMENT_UNLOAD_PURGE_FEEDRATE (MarlinFirmware#16372)

* Fix some DOGM warnings (MarlinFirmware#16363)

* Fix warnings in stepper.cpp (MarlinFirmware#16364)

* Fix PrintrBoard build (ignore TMC libraries) (MarlinFirmware#16346)

(In future try to get Teensy processors better supported by `TMCStepper`.)

* Clean up trailing whitespace

* PWM pin not needed for Neopixel brightness / submenu (MarlinFirmware#16345)

* Misc patches preceding DGUS PR

* Fix Visual Micro "Arduino IDE for Visual Studio" support (MarlinFirmware#16418)

* Update Russian language (MarlinFirmware#16426)

* STM32F1: Fix misleading indent / nullptr on FSMC (MarlinFirmware#16431)

* Z-offset edit precision based on value limits (MarlinFirmware#16425)

* Add Ender-5 leadscrew README (MarlinFirmware#16424)

* Add motherboard BIGTREE_SKR_V1.4_TURBO  (MarlinFirmware#16374)

* Enable MULTI_NOZZLE_DUPLICATION for BIBO (MarlinFirmware#16435)

* Touch UI: Fix UBL mesh value editing (MarlinFirmware#16432)

* Sidewinder X1 Config Updates (MarlinFirmware#16315)

* Add Leapfrog Xeed 2015 support (MarlinFirmware#16400)

* Improve JGAurora A1/A5S touch buttons (MarlinFirmware#16394)

* Standardize drivers.h values, add class indirection (MarlinFirmware#16448)

* Update Russian language (MarlinFirmware#16440)

* BTT002: Add runout, PLR, and RGB pins (MarlinFirmware#16442)

* Pins debugging AVR serial pins (MarlinFirmware#16437)

* Fix MIN_PROBE_EDGE bug in default ABL G29 (MarlinFirmware#16367)

* Temporary CI fix for STM32

* Use a default monitor_speed of 250000

* MSG_WATCH => MSG_INFO_SCREEN

* Add EVNOVO (Artillery) Genius config (MarlinFirmware#16320)

* Fixed Creality CR-20 Pro configuration example (MarlinFirmware#16332)

* FYSETC F6 v1.4 board support (MarlinFirmware#16321)

* Add example configs. Expand custom menu. (MarlinFirmware#16286)

- Anet E10
- Geeetech D200
- Geeetech M201
- JGAurora Magic
- MakerFarm Pegasus 12

* Fix Ender-2 display pins, add BTN_ENC (MarlinFirmware#16349)

* Update and fix DGUS (MarlinFirmware#16317)

* Fix serials available on SKR Pro 1.1 (MarlinFirmware#16439)

* Fix daily date bump action

* Action to check PRs

* Update maintainer funding links

* Skip build tests on forks

* Update git helper usage

* Fix EEPROM error with EXTRUDERS == 0 (MarlinFirmware#16464)

* Fix M115 cap with EXTRUDERS == 0 (MarlinFirmware#16459)

* Add option to invert joystick axes (MarlinFirmware#16466)

* Update Russian language (MarlinFirmware#16461)

* Fix permyriad progress bar (MarlinFirmware#16460)

* Improve French language (UBL) (MarlinFirmware#16453)

* Followup to EEPROM patch (MarlinFirmware#16470)

* Remove extra UBL map edit menu item (MarlinFirmware#16451)

* Fix unused var warning (MarlinFirmware#16467)

* Update U20 config to help UBL toggle (MarlinFirmware#16471)

* Move auto_build.py to 'vscode' folder

* Fix MKS_SGEN sanity check (MarlinFirmware#16501)

* Fix EEPROM array size bug (MarlinFirmware#16475)

* Fix SKR Pro BLTouch conflicting timers (MarlinFirmware#16499)

* Provide some missing Arduino macros (MarlinFirmware#16497)

* Fix Change Filament menu item with runout (MarlinFirmware#16485)

* Fix LCD for Tevo Tornado (MarlinFirmware#16474)

* Update workflow skip condition

* Add menu item Tune > Advance K (MarlinFirmware#16488)

* Extend SERIAL_CHAR to take multiple arguments

* Code style and comment tweaks

* Correct ESP32 CPU speed in README (MarlinFirmware#16472)

* Add ARC_SEGMENTS_PER_SEC for finer G2/G3 arcs (MarlinFirmware#16510)

* Fix compile error w/out LCD (MarlinFirmware#16502)

* Add Probe Offsets menu (MarlinFirmware#16444)

* Fix Probe Offset XY edit items (et Français) (MarlinFirmware#16523)

* Update Russian language (MarlinFirmware#16522)

* [cron] Bump distribution date (2020-01-10)

* Prevent Z misaligment on tool change (MarlinFirmware#16518)

* Update Italian language (MarlinFirmware#16527)

* ESP3d integration for ESP32 (MarlinFirmware#16515)

* [cron] Bump distribution date (2020-01-11)

* Migrate actions to default (2.0.x) branch

* Only constrain motion on homed axes (MarlinFirmware#16533)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>

* Fix probeless delta build (MarlinFirmware#16537)

* Use RECIPROCAL macro (not _RECIP) (MarlinFirmware#16530)

* [cron] Bump distribution date (2020-01-12)

* Restore test_builds action to bugfix

* Update auto_build.py paths for Atom/Sublime

* [cron] Bump distribution date (2020-01-13)

* Add GTM32 (STM32F103VET6) environment (MarlinFirmware#16454)

* Power options formatting

* Geeetech G2Pro configuration (MarlinFirmware#16553)

* Fix Linux upload path detection (MarlinFirmware#16514)

* Add SERVO, TONE timers to variant for better STEVAL_3DP001V1 support (MarlinFirmware#16538)

* Clean up whitespace

* [cron] Bump distribution date (2020-01-14)

* Improved STMicro L64XX stepper driver support (MarlinFirmware#16452)

* Make lcd_power_loss_recovery_cancel exportable

* Fix PLR cancel with ExtUI (MarlinFirmware#16556)

* Bring MP_SCARA config up to date

* Fix Fysetc S6 FLASH_PAGE_SIZE and test build (MarlinFirmware#16560)

* [cron] Bump distribution date (2020-01-15)

* Update more configs

* Move configurations to a separate repo

* Fix build error with unsupported reset flags (MarlinFirmware#16562)

* Steval_3DP001V1 timers, analog inputs, etc. (MarlinFirmware#16565)

* Use Flash EEPROM on BTT002 (MarlinFirmware#16558)

* Get test configs from GitHub

* Fix typo

* Nikon IR support for time lapse photos (MarlinFirmware#16539)

* Adjustable ADC debounce delay (MarlinFirmware#16264)

* [cron] Bump distribution date (2020-01-16)

* STM32 RODATA LENGTH (MarlinFirmware#16580)

* Fix I2C address of MCP4728 on LPC176x (MarlinFirmware#16578)

* Fix GTM32 environment (to prevent a crash)

* Fix some warnings, Melzi pins

* Move macros to stepper/indirection

* Fix TOUCH_UI_FTDI_EVE bugs (MarlinFirmware#16540)

* ESP32 HAL: Fix random pauses during prints (MarlinFirmware#16548)

* [cron] Bump distribution date (2020-01-17)

* STM32 soft SPI. STEVAL_3DP001V1 SD read. M906 tweaks. (MarlinFirmware#16579)

* Clean up HAL ADC, old test scripts

* Adjust GTM32 build flags (MarlinFirmware#16582)

* Shared SPI sanity check (MarlinFirmware#16581)

* More CI test updates

* Update FYSETC S6 pins (MarlinFirmware#16559)

* PINDA v2 temperature sensor / compensation (MarlinFirmware#16293)

* [cron] Bump distribution date (2020-01-18)

* Allow RRW Keypad with any LCD

* [cron] Bump distribution date (2020-01-19)

* [cron] Bump distribution date (2020-01-20)

* Fix M112 with Emergency Parser

* Simplify TMC monitor code

* Updates for L64XX

* Function-like macros

* Use bool in pin compare

* Patch for _STEP_INIT

* Simplify a drivers.h macro (MarlinFirmware#16589)

* SAMD51: ADC for probe temperature compensation (MarlinFirmware#16596)

* Update FYSETC S6 Peripheral Pins (MarlinFirmware#16593)

* Update BTT002 pins (MarlinFirmware#16591)

* Reset shutdown timer on M85 (MarlinFirmware#16587)

* AVR sanity check for MONITOR_DRIVER_STATUS with SW Serial (MarlinFirmware#16421)

* STEVAL_3DP001V1: Easier Serial2 (for WIFI interface) (MarlinFirmware#16599)

* Fix Greek language string (MarlinFirmware#16601)

* Quad Z stepper support (MarlinFirmware#16277)

* LPC1768: Allow I2C master channel override (MarlinFirmware#16584)

* Move steps/mm out of slim menus (MarlinFirmware#16603)

* Fix CHAMBER_MAXTEMP security margin (MarlinFirmware#16600)

* L64xx M906 Fix status variable, formatting (MarlinFirmware#16597)

* Provide methods for M420 + MBL (MarlinFirmware#16602)

* [cron] Bump distribution date (2020-01-21)

* Fix STM401/4xx/STM32F7xx timers, STEVAL_3DP001V1 warning (MarlinFirmware#16621)

* Override for LPC1768 u8g/digipot I2C master ID (MarlinFirmware#16622)

* Release UI on G26 priming timeout (MarlinFirmware#16449)

* Add HMS434 V15 ATSAM board (MarlinFirmware#16620)

* Tweak some config spacing

* G12 defaults per tool. Event G-code for post-toolchange (MarlinFirmware#16554)

* Arc segment radius scaling (MarlinFirmware#16551)

* Update mfdoc, mfpub

* [cron] Bump distribution date (2020-01-22)

* Tweak mfpub stashing

* [cron] Bump distribution date (2020-01-23)

* Enable use of latest TMCStepper on MKS Robin Nano (MarlinFirmware#16652)

* [cron] Bump distribution date (2020-01-24)

* Convert chars only for enabled languages

* Extra debugging for leveling on/off

* Bring configs and drivers.h up to date

* Duet Smart Effector support (MarlinFirmware#16641)

* BigTreeTech GTR V1.0 / Support 8 extruders, heaters, temp sensors, fans (MarlinFirmware#16595)

* [cron] Bump distribution date (2020-01-26)

* Fix DELTA_CALIBRATION_MENU recursive call (MarlinFirmware#16656)

* Fix MKS Base + Digipot compile error (MarlinFirmware#16636)

* Add ESP3DLib idletask entry point (MarlinFirmware#16658)

* Fix Serial defines for M43 on AVR (MarlinFirmware#16649)

* Fix HOMING_BACKOFF_MM for DELTA (MarlinFirmware#16657)

* Clean up PID language defines

* More 8 extruder defines

* Update Slovak language (MarlinFirmware#16646)

* Fix M43 timer report on AVR (MarlinFirmware#16645)

* Fix Spanish (swapped BLTouch strings) (MarlinFirmware#16637)

* SKR 1.3 sensorless endstops hack (MarlinFirmware#16659)

* Fix PID F menu label

* [cron] Bump distribution date (2020-01-27)

* Preserve CWD for write/remove file (MarlinFirmware#16667)

* Rename some temperature members

* Fix Trigorilla 1.4 limit switches

See MarlinFirmware#16612

* Fix serial port redirection (index ≠ port num) (MarlinFirmware#16687)

* G60/G61 Position Save/Restore (MarlinFirmware#16557)

* Remove extraneous G60/G61 lines

* Fix Manual Bed Leveling with multiple extruders (MarlinFirmware#16688)

* [cron] Bump distribution date (2020-01-28)

* Prevent SD access from resetting ESP32 (MarlinFirmware#16690)

* [cron] Bump distribution date (2020-01-29)

* Fix Toolchange (!no_move) return to status (MarlinFirmware#16699)

* [cron] Bump distribution date (2020-01-30)

* Cleanup of old includes, add comments

* Fix HAS_FAN macro (MarlinFirmware#16717)

* Fix probe temp calibration (MarlinFirmware#16718)

* Support for E4d@BOX mainboard (MarlinFirmware#16716)

* Fix missing string for M48 build (MarlinFirmware#16708)

* Fix G60/G61 slots > 8 and compile error (MarlinFirmware#16715)

* Move L64XX index_to_axis to progmem (MarlinFirmware#16697)

* Refactor heater watch, job timer auto-start (MarlinFirmware#16725)

* Auto assign DIAG pins for multi-endstop (MarlinFirmware#16723)

* Tweak G60/G61 slots

* Fix compile error in SdVolume on ESP32 (MarlinFirmware#16728)

* Simultaneous use of rotary encoder and touch buttons (MarlinFirmware#16729)

* Set up DIAG endstops for BTT SKR 1.4 / 1.4 Turbo (MarlinFirmware#16727)

* Extend RX/TX pins for up to 8 extruders

* Fix up, improve endstop pin auto-assignment

Followup for MarlinFirmware#16723

* (21) PT100 for MCUs with 3.3v logic (MarlinFirmware#16731)

* [cron] Bump distribution date (2020-01-31)

* Add sanity-check for new Advanced Pause option

Followup to MarlinFirmware#16372

* Include macros for delta ABC

* Update Russian language (MarlinFirmware#16745)

* Fix BTT SKR 1.4 extra endstop pins (MarlinFirmware#16738)

* Option for Trigorilla 1.4 with add-on endstops board (MarlinFirmware#16737)

* Consistent M112 with Emergency Parser (MarlinFirmware#16747)

* Improve mfadd helper script

- Use the original branch name if none is supplied
- Set the remote tracking to the source
- Accept User/Branch or User:Branch syntax

* Clean up i2c encoder, sanitize serial

* Misc cleanup, whitespace

* Encapsulate probe as singleton class (MarlinFirmware#16751)

* G34 automatic point assignment (MarlinFirmware#16473)

* Fix Temperature::over_autostart_threshold (MarlinFirmware#16749)

* Update Russian language (MarlinFirmware#16750)

* Fix CURRENT_STEP_DOWN compile error

* Drop obsolete SD special char handling

See MarlinFirmware#14035

* Probe singleton patch

Followup to MarlinFirmware#16751

* Fix RGB / Neopixel white color bug

See MarlinFirmware#16752

* Suppress a compile warning

* More 8-extruder fixups

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Tanguy Pruvot <tpruvot@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Luc <8822552+luc-github@users.noreply.github.com>
Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
Co-authored-by: FLYmaker <49380822+FLYmaker@users.noreply.github.com>
Co-authored-by: randellhodges <rhodges@taxfodder.com>
Co-authored-by: ferengi82 <christian.maurer@gmx.eu>
Co-authored-by: Luu Lac <45380455+shitcreek@users.noreply.github.com>
Co-authored-by: petrzjunior <junior@zahradnik.cz>
Co-authored-by: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com>
Co-authored-by: Giuliano Zaro <3684609+GMagician@users.noreply.github.com>
Co-authored-by: Dirk O. Kaar <19971886+dok-net@users.noreply.github.com>
Co-authored-by: Pascal de Bruijn <pmjdebruijn@pcode.nl>
Co-authored-by: Bob Kuhn <bob.kuhn@att.net>
Co-authored-by: Alexander Gavrilenko <jmz52@users.noreply.github.com>
Co-authored-by: swilkens <stefanwilkens@gmail.com>
Co-authored-by: Lino Barreca <linobarreca@hotmail.com>
Co-authored-by: rado79 <51396577+rado79@users.noreply.github.com>
Co-authored-by: Acenotass <44540957+Acenotass@users.noreply.github.com>
Co-authored-by: ellensp <ellensp@hotmail.com>
Co-authored-by: Walt Sorensen <photodude@users.noreply.github.com>
Co-authored-by: yedey <myco@gmx.net>
Co-authored-by: George Fu <nailao_5918@163.com>
Co-authored-by: Vertabreaker <opyrus@hotmail.com>
Co-authored-by: greppp <gregory.perrin87@gmail.com>
Co-authored-by: Jamie <vector76@users.noreply.github.com>
Co-authored-by: Justin <justinwilczek@gmail.com>
Co-authored-by: ManuelMcLure <manuel@mclure.org>
Co-authored-by: 0r31 <37673727+0r31@users.noreply.github.com>
Co-authored-by: Alejandro Aguilera <fenixin@gmail.com>
Co-authored-by: meponderR <33591888+meponderR@users.noreply.github.com>
Co-authored-by: Mehdi Beyk Mohamadi <mbm_greenway@yahoo.com>
Co-authored-by: FlyingSamson <59110786+FlyingSamson@users.noreply.github.com>
Co-authored-by: Ryan V1 <55478432+V1EngineeringInc@users.noreply.github.com>
Co-authored-by: David Klasinc <bigwhale@lubica.net>
Co-authored-by: gjdodd <31553294+gjdodd@users.noreply.github.com>
Co-authored-by: Dennis <16547088+soligen2010@users.noreply.github.com>
Co-authored-by: felixstorm <felix.storm@glueckkanja.com>
Co-authored-by: vivian-ng <vivian@maplerain.com>
Co-authored-by: tompe-proj <59094873+tompe-proj@users.noreply.github.com>
Co-authored-by: MaukCC <jos@mauk.cc>
Co-authored-by: Ryan <allted@gmail.com>
Co-authored-by: Artur Petrzak <petrzmax@gmail.com>
Co-authored-by: yangwenxiong <46896566+yangwenxiong@users.noreply.github.com>
Co-authored-by: Roman Moravčík <roman.moravcik@gmail.com>
Co-authored-by: Robby Candra <robbycandra.mail@gmail.com>
Co-authored-by: Hans007a <32525735+Hans007a@users.noreply.github.com>
Co-authored-by: Neskik <axel.gouverneur@gmail.com>
Co-authored-by: Mauro <exilaus@hotmail.com>
Co-authored-by: Radek Pietruszewski <radexpl@gmail.com>
Co-authored-by: chgi <chgi@users.noreply.github.com>
Co-authored-by: Robert Stein <stonecoldcrazy@stoneathome.de>
Co-authored-by: rebel1 <453277+rebel1@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants