makerbase-mks / MKS-TinyBee

MKS TinyBee is a mainboard for 3d printing, based on ESP32 module
GNU General Public License v3.0
109 stars 111 forks source link

M900 not found / Linear Advance not operational #78

Open ghost opened 1 year ago

ghost commented 1 year ago

I'm trying to setup Linear Advance / Pressure Advance.

M900 is not found and the linear advance calibration pattern lines look all the same.

I'm trying to find out if the K-Factor settings in Configuration.h are making any difference at all at least, will report back. Even if they do, calibration will be a pain in the A without M900.

Update:

Linear advance seems not operational. Tested with K-Factor 0.22 and 0.8 configured in firmware, no difference. I am using TMC2208 drivers in standalone mode, some say that they do not support linear advance with stealthchop enabled. I'll try to disable stealthchop and report the results.

ghost commented 1 year ago

There is now an open upstream Issue: https://github.com/MarlinFirmware/Marlin/issues/25160#issue-1513116272

ghost commented 1 year ago

Just updated to 2.1.2 and it seems that linear advance is not yet possible with I2S, as the Tinybee uses.

I had so many problems with that board, and seeing that MKS doesn't seem to maintain this repository doesn't give me any hope for their producs. I'll ditch the board for a BTT Octopus, BTT at least merges pull requests on their repos.

matthias882 commented 1 year ago

I have the same Problem with A4988 Stepper-Drivers. Linear advance not operational, M900 is respondet with "unknown command"

The LIN_ADVANCE setting is deactivated in the pins_MKS_TINYBEE.h in line 66 -> #undef LIN_ADVANCE

vfbank commented 1 year ago

MKS-TinyBee mainboard utilizes the ESP32 chipset. Fundamentally, this chipset communicates through an audio interface called I2s with the Arduino core. The issue lies in the fact that the library for ESP32's Arduino core is still in an 'experimental' beta service. Due to functional compatibility, the Marlin firmware cannot transmit the modified signals to the stepper motor, and as a result, all operations that modulate the signal, including babystepping and the interrupt function, do not work.

Regrettably, the ESP32 board cannot send signals via external references due to its limited communication lines. Unless the Marlin firmware abandons the Arduino core and is written in 32-bit code, it seems very unlikely to support functions like Linear Advance or Input Shaping. That's why this board is inexpensive. If all the aforementioned features were to function, the price of this board would likely increase substantially.