Hi all!
I have a Azteeg X5 GT board with TMC2660 (Bigfoot BSD2660), and seems like Marlin has support for some types of TMC drivers. How to enable TMC2660?
Did you get the TMC2660's working ?
I am designing a new controller board that uses them, so would be nice to know :)
Currently no. Seems like we need new lib to get them working =)
To bad, have a look at the bottom of https://github.com/MarlinFirmware/Marlin/pull/8063#issuecomment-340261846 to see what i am working on :)
Yea the drivers need a new library for Marlin to be able to communicate with them. I could expand my TMC2130 or TMC2208 libraries to support them but I don't have the drivers to test. Nor really a board that would support the layout.
@teemuatlut if you extend you're lib i'd be glad to test =) Currently i have working Marlin on Azteeg X5 GT (standart drivers work, but i have 2660 ones) #8139
And i can test when i get my board ready, probably be about 2 weeks...
Have a bootloader sorted, but will need a HAL and TMC2660 drivers :/
@Spawn32 stm32 based board? I actualy have an idea to create stm32 board with 6-8 steppers =)
STM32F7 and 6x TMC2660 :)
Its a monster that can even run linux
I'm not too keen on developing for something I don't actually have. While it may take me from a couple of days to a week to get the library running, it'll be months or years of supporting it. Old and new features that need testing, bug fixes, interacting with users and helping them solve problems. I don't really want to put myself in a position where my best is only a guess.
I'll try contacting Panucatt and see if they'd be interested in providing samples so that I may bring Marlin/Arduino support for their drivers.
Actualy seems like duet3d board uses same drivers and very similar setup
Yes, the Duet3d uses the TMC2660's...
DuetWifi_Schematic_v1.02.pdf
I'll try contacting Panucatt and see if they'd be interested in providing samples so that I may bring Marlin/Arduino support for their drivers.
@teemuatlut Roy has been very helpful trying to get an official 32-bit branch of Marlin going. When we were discussing how to seed the Marlin developers with 32-bit boards, it kind of felt like his preference was to use the Azteeg X5 GT 32bit Motion Controller as the reference platform. (It may be I'm just imagining that. But that is what I think.)
With the Azteeg X5 GT 32bit Motion Controller you can plug in the Bigfoot BSD2660 sub modules.
It says they are "Based on TMC2660. SPI setup and configuration including current limit and microstepping. 3A 30V. For 3D printing and CNC applications. Super quiet and smooth. 1/256 microstepping. "
Part of the reason I was pushing for the Re-ARM as the reference platform is because it would keep costs down. But we are now at the point where just one developer having an Azteeg X5 GT can make good progress. If you contact Roy, please include a link to this post so he knows I'm supportive. I should get around to sending him an updated status report also.
Yeah, Azteeg X5 GT is interesting board. I already done pinout for marlin #8139 . Only thing missing is 2660 steppers.
Quick update. I got a response from Roy at Panucatt and he was happy to provide me with the drivers, so now I'll need to create a new driver library to support the TMC2660. It'll likely be ready (as can be) before my drivers get here but you can test them before I can.
@Roxy-3D Roy asked me about the progress with LPC HAL and I gave him a brief summary but also said that you'd be contacting soon with a more in depth update about it. Hope you don't mind =)
I gave him a brief summary but also said that you'd be contacting soon with a more in depth update about it. Hope you don't mind =)
Not a problem! I'll try to do that in the next day or two...
@Roxy-3D @teemuatlut and the rest of you:
Nice, is just a incredible job you guy's do here. thank you :)
@teemuatlut
Any news on TMC2660 ? 😃
I think the hardware is on its' way so I could theoretically start with the library. I just have a bunch of other stuff too that I should be doing.
Hi!
Any news about this drivers?
Someone using this driver could tell if the lack of StealthChop mode makes
any difference. I mean, do you miss it?
Em 5 de dez de 2017 11:55, "Alexey Shvetsov" notifications@github.com
escreveu:
Hi!
Any news about this drivers?—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MarlinFirmware/Marlin/issues/8138#issuecomment-349310592,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE-ZE6dbimmv_UZDmS862LuLgkl0Yo6pks5s9UtDgaJpZM4QKH3t
.
@alexxy I've started working on a universal TMC driver library that would support 5 driver models. This is quite a big task and requires a completely new architecture inside the library to do it in a way that makes sense. That said, I did take a look at the TMC2660 communication information and it seems to differ a bit from the other drivers. Makes me think that they're a slightly older driver design.
Edit: Steppers are turning now so I've established basic communications.
@cool are there some branch to test?
Good work @teemuatlut looking forward to testing it :)
@alexxy No not yet. I'll first try to get the library examples to work on TMC2660 as well as 2130, 2208, 2224 and 5130.
The final Marlin integration on a basic level is actually quite simple and shouldn't take much time.
@teemuatlut hows youre universal tmc lib going?
TMC5130 and TMC2130 compile the Simple example. I've been busy with other tasks for a while now but the new library is on the agenda over the christmas holidays because I can't do much CAD work on the laptop.
I've pretty much decided that TMC2660 has to be an entity on its' own because of a drastically different register structure. TMC2208 needs some fundamental changes to work properly.
@teemuatlut TMC 5130 has an integrated velocity ramp generator, do you plan to implement the ramp generator function as well? apart from standard trapezoidal ramp it also has a six point ramp function, which seems pretty cool. To test TMC2660 there is a readily available shield for Uno called TOS100 for Arduino and it can be purchased from Watterott Electronic for about 25 Euro. TMC2660 was also used in T-Bone cape for beagle bone (project available on GitHub) tried and tested lib available for all functions.
I do have full support for Trinamic's TRAMS board in the works but it's been pushed back ever since the summer. But IIRC it did do movements and homing and other basic functions.
Regarding the TMC2660, I have the bigfoot drivers from Panucatt and I've also got an Azteeg X5 GT to go along with them so testing is not a problem. I've already been able to communicate them and set the TOFF to have some movement. Mostly it's a matter of writing the methods in a more user friendly way.
Some progress.
Obviously not finished but you should be able to get the driver moving with toff(4); cs(10);
.
Also see the Simple.ino example that's currently configured for TMC2660.
@teemuatlut cool. Seems basic movement works for me
Hi!
Seems like STM32F7 HAL added driver for TMC2660. Was this planned as generic driver for such type of TMC drivers?
I'm currently running an azteeg xt GT with the TMC 2660 big foot drivers. Running smoothie currently. Would like to try marlin 2. Does anyone have this working well, and is there any documentation on how to get it going. I'm struggling to find any.
@jsondag — There's no real documentation at this time. Basically, use these options in Configuration_adv.h
(bugfix branch)…
/**
* Enable this section if you have TMC26X motor drivers.
* You will need to import the TMC26XStepper library into the Arduino IDE for this
* (https://github.com/trinamic/TMC26XStepper.git)
*/
//#define HAVE_TMC26X
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
. . .
#endif // HAVE_TMC26X
Thanks. Is there anywhere about how to compile for the azteeg? I saw something about using platformio but wasn’t quite sure how to go about that.
Which Azteeg? I'm assuming you mean the Azteeg X5 GT.
Easiest way to get PlatformIO:
Then you can use the Tasks menu to build…
…or upload…
Use the PlaformIO Home button to show the PlatformIO Home tab if you need to install additional board support.
Ghm.. Does 2660 drivers works with TMC26XStepper? it seems like different driver.
@alexxy
Yes TMC26XStepper works for the 2660, in my F7 hal i have a slightly modified version, mostly since i use the STM32Generic and it needs the newer version of the I2C, doesn't like the Marlin version :)
Right now i dont have a working stepper anymore on my F7 Borg board, Timers in Marlin has been very modified the last month's and its broken, don even now where to begin, LOL
But, it will get sorted, and i will update the HW rev on the board ( a few blunders) an make a new batch + ad it to gihub :)
really hope @teemuatlut finds time to make a lib for the 2660 soon :)
Ghm... Current TMC26XStepper doesnt compile on LPC (however i'll try to fix it)
Seems like i have problem with SPI.h on LPC (missing definitions for
arm-none-eabi-g++ -o .pioenvs/LPC1768/libf3e/TMC26XStepper/TMC26XStepper.o -c -fno-rtti -fno-exceptions -std=gnu++11 -Os -ffunction-sections -fdata-sections -mthumb -nostdlib -mcpu=cortex-m3 -Os -mcpu=cortex-m3 -mthumb -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing --specs=nano.specs --specs=nosys.specs -MMD -MP -fmax-errors=5 -g -ggdb -DF_CPU=100000000L -DPLATFORMIO=30501 -DTARGET_LPC1768 -DU8G_HAL_LINKS -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g -I.piolibdeps/TMC26XStepper -Iframeworks/CMSIS/LPC1768/include -Iframeworks/CMSIS/LPC1768/lib -Iframeworks/CMSIS -I.piolibdeps/TMC2130Stepper_ID1493/src -I.piolibdeps/U8glib-HAL_ID1932/src .piolibdeps/TMC26XStepper/TMC26XStepper.cpp
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp: In member function 'void TMC26XStepper::start()':
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp:175:9: error: 'class SPIClass' has no member named 'setBitOrder'
SPI.setBitOrder(MSBFIRST);
^~~~~~~~~~~
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp:176:6: error: 'class SPIClass' has no member named 'setClockDivider'
SPI.setClockDivider(SPI_CLOCK_DIV8);
^~~~~~~~~~~~~~~
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp:176:22: error: 'SPI_CLOCK_DIV8' was not declared in this scope
SPI.setClockDivider(SPI_CLOCK_DIV8);
^~~~~~~~~~~~~~
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp:176:22: note: suggested alternative: '_CLOCK_T_'
SPI.setClockDivider(SPI_CLOCK_DIV8);
^~~~~~~~~~~~~~
_CLOCK_T_
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp: In member function 'char TMC26XStepper::move()':
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp:245:28: error: 'micros' was not declared in this scope
unsigned long time = micros();
^~~~~~
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp:245:28: note: suggested alternative: 'millis'
unsigned long time = micros();
^~~~~~
millis
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp: In member function 'void TMC26XStepper::send262(long unsigned int)':
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp:952:30: error: 'SPCR' was not declared in this scope
unsigned char oldMode = SPCR & SPI_MODE_MASK;
^~~~
.piolibdeps/TMC26XStepper/TMC26XStepper.cpp:952:30: note: suggested alternative: 'SPI'
unsigned char oldMode = SPCR & SPI_MODE_MASK;
^~~~
SPI
compilation terminated due to -fmax-errors=5.
*** [.pioenvs/LPC1768/libf3e/TMC26XStepper/TMC26XStepper.o] Error 1
@alexxy — If you discover that changes to the library are needed, check to see if the original author will apply the changes to their library on GitHub so everyone can benefit. If they're unresponsive, then send us the updated library and we'll just host it under the MarlinFirmware
organization or let @teemuatlut host it with his other TMCxxxxStepper
libraries.
https://github.com/teemuatlut/Marlin/tree/bf2_tmc2660
https://github.com/teemuatlut/TMCStepper/blob/master/src/TMCStepper.h#L475
This is what I've been working on for the past week.
Cool =)
So does TMC2660 are usable with Marlin?
@teemuatlut with some minor changes seems works on Azteeg X5 GT. But steppers are quite hot...
Looking forward to test this as soon as i can get my timers fixed again, lol :)
Thank you @teemuatlut !!
Seems like current control doesnt work, as well as TMC_DEBUG and MONITOR_DRIVER_STATUS
I made a complete rewrite last week with no access to the hardware. I haven't tested anything.
The additional features likely definitely don't work yet.
But steppers are quite hot
It's possible the current calculation formula needs some attention. Or the SPI command was wrong. Or...
Did you remember to change the sense resistor value?
No. I didnt change it.
Smoothie uses that value
motor_driver_control.beta.sense_resistor 100 # set the sense resistor used
So does Marlin use same units?
I changed value of sense resistor to 100, stepper still quickly became very hot....
m501
SENDING:M501
V54 stored settings retrieved (673 bytes; crc 974)
G21 ; Units in mm
M149 C ; Units in Celsius
M200 D3.000000
M200 T1 D3.000000
M200 D0
M92 X80.000000 Y80.000000 Z4000.000000 E500.000000
M203 X300.000000 Y300.000000 Z5.000000 E25.000000
M201 X3000 Y3000 Z100 E10000
M204 P3000.000000 R3000.000000 T3000.000000
M205 S0.000000 T0.000000 B20000 X10.000000 Y10.000000 Z0.300000 E5.000000
M206 X0.000000 Y0.000000 Z0.000000
M218 T1 X0.000000 Y0.000000
M145 S0 H180 B70 F0
M145 S1 H240 B110 F0
M301 E0 P22.200001 I1.080000 D114.000000
M301 E1 P22.200001 I1.080000 D114.000000
M304 P10.000000 I0.023000 D305.399994
M250 C140
M906 X800
M906 Y800
M906 Z800
M906 T0 E800
M906 T1 E800
No. Use 0.1 for Panucatt BSD2660.
Driver | R_sense | Max current
-------:|:---------|:--------------
Watterott TMC2130 | 0.11 | 1.77A
Watterott TMC2208 | 0.11 | 1.77A
Panucatt BSD2660 | 0.100 | 2.19A
UltiMachine Einsy | 0.22 | 0.96A
UltiMachine Archim2 | 0.22 | 0.96A
Ok. Lets try again =) (will wait untill stepper cool down)
I pushed a fix for the TMC2660 current equation.
But I'm not sure if it fixes your overheating issue. I would need to see the actual bit pattern for the register to verify it's being properly configured.
Where are you using the drivers? I'll add a M122 R
option to see the raw patterns for the drivers
They are plugged into Azteeg X5 GT. How can I help you?
Second board installed on large CoreXY (400x400x400 build volume)
Testing you're new equation. Seems not heating much @800mA rms current
Update and upload your bf2_tmc2660
branch and post your M122 R
output. Remember to turn on TMC_DEBUG
.
SENDING:M122 R
Raw registers:
stepperX.sgcsconf= 13stepperY.sgcsconf= 13stepperZ.sgcsconf= 13stepperE0.sgcsconf= 13ok
Forgot to add the new line characters -_-
Still some tuning needed for the equation.
800mA should give a CS value of DEC 20 or HEX 14 (R_SENSE = 0.1).
Pushing more updates...
doesnt build
Compiling .pioenvs/LPC1768/src/src/gcode/feature/trinamic/M906.o
Marlin/src/gcode/feature/trinamic/M122.cpp:47:40: error: macro "SERIAL_ECHO_F" requires 2 arguments, but only 1 given
SERIAL_ECHO_F(stepperX.SGCSCONF());
^
Marlin/src/gcode/feature/trinamic/M122.cpp:53:40: error: macro "SERIAL_ECHO_F" requires 2 arguments, but only 1 given
SERIAL_ECHO_F(stepperY.SGCSCONF());
^
Marlin/src/gcode/feature/trinamic/M122.cpp:59:40: error: macro "SERIAL_ECHO_F" requires 2 arguments, but only 1 given
SERIAL_ECHO_F(stepperZ.SGCSCONF());
^
Marlin/src/gcode/feature/trinamic/M122.cpp:65:41: error: macro "SERIAL_ECHO_F" requires 2 arguments, but only 1 given
SERIAL_ECHO_F(stepperE0.SGCSCONF());
^
Compiling .pioenvs/LPC1768/src/src/gcode/feature/trinamic/M911-M915.o
Compiling .pioenvs/LPC1768/src/src/gcode/gcode.o
Marlin/src/gcode/feature/trinamic/M122.cpp: In static member function 'static void GcodeSuite::M122()':
Marlin/src/gcode/feature/trinamic/M122.cpp:47:7: error: 'SERIAL_ECHO_F' was not declared in this scope
SERIAL_ECHO_F(stepperX.SGCSCONF());
^~~~~~~~~~~~~
*** [.pioenvs/LPC1768/src/src/gcode/feature/trinamic/M122.o] Error 1
Change them to SERIAL_ECHO
, or comment out SERIAL_PORT_2
.
Ok.
Some output (i changed current)
T:25> M122 R
SENDING:M122 R
Raw registers:
stepperX.sgcsconf=0x 13=19
stepperY.sgcsconf=0x E=14
stepperZ.sgcsconf=0x 10=16
stepperE0.sgcsconf=0x 13=19
stepperE1.sgcsconf=0x 13=19ok
T:25> M501
SENDING:M501
V54 stored settings retrieved (673 bytes; crc 31784)
G21 ; Units in mm
M149 C ; Units in Celsius
M200 D3.000000
M200 T1 D3.000000
M200 D0
M92 X80.000000 Y80.000000 Z4000.000000 E500.000000
M203 X300.000000 Y300.000000 Z5.000000 E25.000000
M201 X3000 Y3000 Z100 E10000
M204 P3000.000000 R3000.000000 T3000.000000
M205 S0.000000 T0.000000 B20000 X10.000000 Y10.000000 Z0.300000 E5.000000
M206 X0.000000 Y0.000000 Z0.000000
M218 T1 X0.000000 Y0.000000
M145 S0 H180 B70 F0
M145 S1 H240 B110 F0
M301 E0 P22.200001 I1.080000 D114.000000
M301 E1 P22.200001 I1.080000 D114.000000
M304 P10.000000 I0.023000 D305.399994
M250 C140
M906 X800
M906 Y600
M906 Z700
M906 T0 E800
M906 T1 E800
T:25>
T:25> M906 Y900
SENDING:M906 Y900
T:25> M500
SENDING:M500
Settings Stored (673 bytes; crc 18577)
T:25>
T:25>
T:25> M122 R
SENDING:M122 R
Raw registers:
stepperX.sgcsconf=0x 13=19
stepperY.sgcsconf=0x 15=21
stepperZ.sgcsconf=0x 10=16
stepperE0.sgcsconf=0x 13=19
stepperE1.sgcsconf=0x 13=19ok
T:25>
T:25>
T:25>
T:25>
T:25> M501
SENDING:M501
V54 stored settings retrieved (673 bytes; crc 18577)
G21 ; Units in mm
M149 C ; Units in Celsius
M200 D3.000000
M200 T1 D3.000000
M200 D0
M92 X80.000000 Y80.000000 Z4000.000000 E500.000000
M203 X300.000000 Y300.000000 Z5.000000 E25.000000
M201 X3000 Y3000 Z100 E10000
M204 P3000.000000 R3000.000000 T3000.000000
M205 S0.000000 T0.000000 B20000 X10.000000 Y10.000000 Z0.300000 E5.000000
M206 X0.000000 Y0.000000 Z0.000000
M218 T1 X0.000000 Y0.000000
M145 S0 H180 B70 F0
M145 S1 H240 B110 F0
M301 E0 P22.200001 I1.080000 D114.000000
M301 E1 P22.200001 I1.080000 D114.000000
M304 P10.000000 I0.023000 D305.399994
M250 C140
M906 X800
M906 Y900
M906 Z700
M906 T0 E800
M906 T1 E800
Interesting that setting current to 600mA gives E in M122 R
0xE = 14.
The values are still not quite correct. They're really close though so I'm thinking there might be some rounding errors that I need to deal with.
Ohh, so values are in Hex...
On AVR:
>>> M906
SENDING:M906
X driver current: 800
Y driver current: 600
Z driver current: 700
E0 driver current: 800
>>> M122R
SENDING:M122R
Raw registers:
stepperX.sgcsconf=0x14=20
stepperY.sgcsconf=0xF=15
stepperZ.sgcsconf=0x12=18
stepperE0.sgcsconf=0x14=20
Everything is as should be.
Perhaps LPC does things its own way. Again...
T:25> m906
SENDING:M906
X driver current: 800
Y driver current: 600
Z driver current: 700
E0 driver current: 800
E1 driver current: 800
T:25> M122R
SENDING:M122R
Raw registers:
stepperX.sgcsconf=0x 14=20
stepperY.sgcsconf=0x F=15
stepperZ.sgcsconf=0x 12=18
stepperE0.sgcsconf=0x 14=20
stepperE1.sgcsconf=0x 14=20
I removed .libdeps and rebuild, so seems something wasnt fetched
PS also M911/M921 reports nothing
My configs
configs.zip
@teemuatlut created PR for your branch with Azteeg X5 GT pin definitions
@teemuatlut today i tested Marlin on Azteeg X5 GT with 2660 drivers on real printer. So far so good. It works. I can print.
Only issue is that i cannot turn off motors by M84.
The driver/enable commands need to work through SPI. I've committed the changes already but haven't pushed yet.
@teemuatlut if you push it i can test =)
PS i also fixed pin definitions for E0 and E1
Pushed updates to library and Marlin branch. Enable/disable should work now.
@teemuatlut to make code actualy compile you also need this https://github.com/teemuatlut/Marlin/pull/22
And M84 seems doesnt work...
@teemuatlut you're latest marlin branch dont compile
Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp: In member function 'void SPIClass::beginTransaction(SPISettings)':
Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp:246:3: error: 'SSP_Cmd' was not declared in this scope
SSP_Cmd(LPC_SSP0, DISABLE); // Disable SSP0 before changing rate
^~~~~~~
*** [.pioenvs/LPC1768/src/src/HAL/HAL_LPC1768/HAL_spi.o] Error 1
It does compile for me. Try deleting the .piolenvs
and .piolibdeps
folders.
If that doesn't work, try redownloading the repo or do a fetch into hard reset for your local clone.
EDIT: Try disabling SDSUPPORT
I removed .pio* and did hardreset. I used configs for printer.
configs.zip
Seems like related to commit 4dc81651684ce3ff3ffb7763e037314b0b619ce7
It's because if you have SDSUPPORT and LCD in use, then LPC will use software SPI which does not include the necessary header.
Arent sdsupport needed for eeprom emulation?
@alexxy The LPC176x platform transparently redirects the EEPROM if its enabled to the always present onboard sdcard, This happens behind the HAL so "Marlin" doesn't actually know about it. The sdsupport config option is just for Marlins normal controller based sdcards.
I think teemuatlut has fixed the issue of using a hardware spi command in software spi mode, so that should be resolved.
@p3p Yes. It builds now =)
@thinkyhead to early. TMC2660 still have no support in any of release barcnhes. So reopen it
Hi there,
I've read the whole thread. Great work! So I assume TMC2660 support is being worked on for the 2.x branch and 1.1.x won't get that support anymore, right?
Will TMC2660 support also work on AVR?
How can we support your great work? I'm planning something with TMC2660 and AVR but I don't have any hardware yet, so I can't send you anything to test (yet).
The 1.1.x branch is in a feature freeze and I don't want to add anything that might break things just before the final release on that branch. All my future development will target the v2 branches.
Yes, I do primarily test on AVR and I've confirmed it to be working.
I'm not sure what kind of support you're talking about. I'm not opposed to having platforms to play with and I do have quite a few already.
Great news, I like the feature freeze thing :-) So the coming 1.1.x release will be the final 1.1.x release?
Regarding the support: Dunno, beer, potato chips, .. :-D A few TB on my nextcloud, designing PCBs, doing tests...
I believe that has been the plan since December but there must've been some unresolved issues that Scott wanted to address before going forward with the v1.1.9 release. We'll see how everything goes.
Well actualy i'm printing with Azteeg X5 GT + TMC2660 drivers. So it working now. Big thanks for @teemuatlut.
However all support bits still live outside of main Marlin repo
Any chance of helping out with a tutorial about how to get it running? I have the same board and drivers. How do you like it compared to smoothie ware?
Smoothieware is buggy =)
@jsondag you can use https://github.com/teemuatlut/Marlin/tree/bf2_tmc2660 branch. And configs from examples (i have also viki2 display)
Hi Guys, thanks for your hard work. I have my Azteeg X5 Gt with 5x TMC2660 bigfoots already on the mail coming my way!
I noticed that the processor supported by Platformio and the .ini file is the LPC1768 running at 100MhZ but the GTx5 has the LPC1769 running at 120MhZ. As shown in this is shown here: https://github.com/teemuatlut/Marlin/blob/bf2_tmc2660/platformio.ini
should there be some changes added?
Alexxy could you share your latest config files please?
I'm moving from Marlin 1.1xbugfix in avr to 32bit and some things are new to me (cmake)... And I think I want to skip the smoothie experience from inception
BTW: do I need to update the boot-loader on my stock smoothie Azteeg x5 Gt?
thanks again,
Andres.
FYI, I found this awesome Guide to flash MARLIN 2.0 to ReARM board. I will try it this week on my AZTEEG X5 GT; it is super detailed!! Finally one place were all the info in located!
https://www.bountysource.com/issues/46297583-the-marlin-2-0-32-bit-thread
Scroll down till you see the guide...
Andres
The final version is on the Marlin homepage.
Can you tell me if these are the right values for azteeg x5 gt with TMC2660 bigfoot drivers? is 91mOhm correct, or should I change to 100. That was the value already in there from the sample config for this board.
#define HAVE_TMC26X
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
#define X_IS_TMC26X
//#define X2_IS_TMC26X
#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
#define E0_IS_TMC26X
#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 2000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms
#define X_MICROSTEPS 16 // number of microsteps
You've got the wrong section. Although that could still work, look for HAVE_TMC2660
.
The sense resistor values are written in the Trinamic section of Marlin docs.
I had copied over the Configuration_adv.h from the board example. Which didn't have that section.
#define HAVE_TMC2660
#if ENABLED(HAVE_TMC2660) // Choose your axes here. This is mandatory!
#define X_IS_TMC2660
//#define X2_IS_TMC2660
//#define Y_IS_TMC2660
//#define Y2_IS_TMC2660
//#define Z_IS_TMC2660
//#define Z2_IS_TMC2660
//#define E0_IS_TMC2660
//#define E1_IS_TMC2660
//#define E2_IS_TMC2660
//#define E3_IS_TMC2660
//#define E4_IS_TMC2660
#endif
I was able to get it up and running last night. I took the main configuration.h instead of the one in the examples folder for the azteeg, and adjusted it. So far everything seems to work, my motors, and heaters all work. I can home, and bed level using the bltouch. I just need to pid tune, and play with linear advance. and bezier jerk. Thanks everyone.
Just was doing my first test print. The printer was crazy loud, so I checked, and realized the motors are scorching hot. 65C on the x and y, and 75C on the extruder. They basically just about burn you instantly. I have 2.2A motors set to 2A, and the e3d pancake set to 1.5A, which I now realize is too much and it was 1.1A in smoothie. However the X and Y are the same as in smoothie, but they are wayyyyy hotter. The sense resistor is set to 0.1 Not sure the calculations are being done correctly.
It's 2 A_rms, which is 2.82 A_peak.
If you have the latest commit on the library the calculation should be correct.
HI ALL, I got mine to work and print! but the SD card is not working.
please help; so according to the smoothie pinout config file for VIKI2...?
panel.external_sd.spi_cs_pin 1.23 # set spi chip select for the sdcard
panel.external_sd.sdcd_pin 1.31!^ # sd detect signal (set to nc if no sdcard detect)
So my board's file is like this:
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
#define BEEPER_PIN P1_31 // BUZZER on Viki2 to exp1 (dupont cable GREEN) was P1_30
#define DOGLCD_A0 P2_06 // Serial cable on EXP2
#define DOGLCD_CS P0_16 // Serial cable on EXP2
#define BTN_EN1 P3_25 // SERIAL CABLE on EXP2 (on VIKI2 ENCA)
#define BTN_EN2 P3_26 // SERIAL CABLE on EXP2 (on VIKI2 ENCB)
#define BTN_ENC P2_11 // SERIAL CABLE on EXP2 (on VIKI2 BTN = ENC BTN)
#define SD_DETECT_PIN P1_18 // SERIAL CABLE on EXP2 = is actually SDCD! // AFM was-1
// for Rambo use Pin 49 for display sd interface, 72 for easy adapter board
#define KILL_PIN P1_30 // P1_19 ? // KILL BTN on Viki2 to EXP1 (dupont cable BLUE) was -1
#define STAT_LED_RED_PIN P1_19 // RED_LED on Viki2 to EXP1 (dupont cable YELLOW) was P0_26
#define STAT_LED_BLUE_PIN P1_20 // BLUE_LED on Viki2 to EXP1 (dupont cable WHITE) was P1_21
// #define SD_CS_PIN -1 //?? should be P1_21 (made by afm) // NADA for now need help here!
#endif
Everything works but SD card reading. my connections are as in the picture attached.
I am missing a way to assign SPI to the sdcard? not sure how to do this, so the pin P1_21 can be assigned.
thnks , Andres
pins should be for card on viki2
#define SDSS P1_21
#define SD_DETECT_PIN P1_18
@alexxy — Is that universal? I see that currently on the Azteeg X5 GT pin P1_21
is actually assigned to the STAT_LED_BLUE_PIN
. Is that pin incorrect?
@thinkyhead i'll submit pr with correction. pins were from some smoothie config, and seesm some asignmetns were wrong (i dont use uSD print, since i use octoprint)
Hi guys,
Thank you for your hard works to made Azteeg GT run marlin firmware.
I'm Azteeg GT user and I ready moved to marlin firmware.
To understand how to make and load the firmware file to the board is difficult to compare to smoothieware. But after following the conversation here I made it. Thanks again.
I have a question regarding this hardware.
As I knew TMC2660 has a stallGuard2 mode to trigger the load of the stepper motor. With stock board and stepper drive (BSD2660), it is possible to run a sensorless mode?
As I knew TMC2660 has a stallGuard2 mode to trigger the load of the stepper motor. With stock board and stepper drive (BSD2660), it is possible to run a sensorless mode?
Not yet.
Please do all remember that you're using a development fork that's not meant for general use. It's a personal development project for myself and I just happen to push the commits online in case someone wants to try it out or if someone can point out bugs.
I receiced my Azteeg X5 GT board with 5 x TMC2660 (Bigfoot BSD2660) drivers and a viki2 this week. I was able to get it working with this fork quite easily. Since i had all 2660s I had to remove the other dependencies due to overlaps in order to complie but now i can move the motors just fine (and change the currents even at the same time).
Well done guys!!
PS, the only thing i havent managed to get working on the board is the buzzer in the viki2 so far. I started writing the necessary HAL stuff in but i cant find any reference code for tone generation for this chip. If any of the marlin sages have anything i could use to finish it off please do send it my way.
@andyman198 — Tone generation for any MCUs not yet supported can probably use the very same code (or very similar) that I did for Due. See the Tone.cpp and HAL_timers_Due.h files for the implementation.
@teemuatlut do you have plans to merge this work to bf-2.0.x?
I have printer working with your fork. and seems it works fine (at least last mounth)
Hi, mine works too.
Also, any plans for stallguard integration?
Andres
Same here. Was also wondering if this would be becoming part of the main fork.
The 1.1.x is in feature freeze and 2.0 currently has to have parity with the main branch so I can't make the PRs just yet.
v1.1.9 is supposed to be the last 1.1.x release and I'll start pushing for new features after that. But first we need to find a solution for the shifted layers issue that has been pushing back the release for a few months now.
I've got five or six development branches that need merging when the time comes. TMC2660 won't be first and it won't be last but most definitely will make its way to upstream.
@teemuatlut I saw you updated bf2_2660 branch of you repo. It seems i cannot build it with Pio
Compiling .pioenvs/LPC1768/src/src/HAL/HAL_LPC1768/LPC1768_PWM.o
In file included from Marlin/src/HAL/HAL_LPC1768/../../inc/../HAL/HAL_LPC1768/HAL.h:69:0,
from Marlin/src/HAL/HAL_LPC1768/../../inc/MarlinConfig.h:30,
from Marlin/src/HAL/HAL_LPC1768/HAL.cpp:23:
Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.h:26:10: fatal error: ../../inc/MarlinConfigPre.h: No such file or directory
#include "../../inc/MarlinConfigPre.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/LPC1768/src/src/HAL/HAL_LPC1768/HAL.o] Error 1
In file included from Marlin/src/HAL/HAL_LPC1768/../../inc/../HAL/HAL_LPC1768/HAL.h:69:0,
from Marlin/src/HAL/HAL_LPC1768/../../inc/MarlinConfig.h:30,
from Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp:51:
Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.h:26:10: fatal error: ../../inc/MarlinConfigPre.h: No such file or directory
#include "../../inc/MarlinConfigPre.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/LPC1768/src/src/HAL/HAL_LPC1768/HAL_spi.o] Error 1
In file included from Marlin/src/HAL/HAL_LPC1768/../../inc/../HAL/HAL_LPC1768/HAL.h:69:0,
from Marlin/src/HAL/HAL_LPC1768/../../inc/MarlinConfig.h:30,
from Marlin/src/HAL/HAL_LPC1768/HAL_timers.cpp:31:
Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.h:26:10: fatal error: ../../inc/MarlinConfigPre.h: No such file or directory
#include "../../inc/MarlinConfigPre.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/LPC1768/src/src/HAL/HAL_LPC1768/HAL_timers.o] Error 1
In file included from Marlin/src/HAL/HAL_LPC1768/../../inc/../HAL/HAL_LPC1768/HAL.h:69:0,
from Marlin/src/HAL/HAL_LPC1768/../../inc/MarlinConfig.h:30,
from Marlin/src/HAL/HAL_LPC1768/LPC1768_PWM.cpp:74:
Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.h:26:10: fatal error: ../../inc/MarlinConfigPre.h: No such file or directory
#include "../../inc/MarlinConfigPre.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/LPC1768/src/src/HAL/HAL_LPC1768/LPC1768_PWM.o] Error 1
===================================================== [ERROR] Took 2.89 seconds ================
I'll push the fixes tomorrow.
Quite possibly fixed now. I successfully compiled my basic test configuration with pio run -e megaatmega2560 -e LPC1768
.
Hi!
Seems not. Doesnt build for me with 2660 steppers
Compiling .pioenvs/LPC1768/src/src/gcode/bedlevel/M420.o
In file included from Marlin/src/feature/../inc/MarlinConfig.h:47:0,
from Marlin/src/feature/tmc_util.cpp:23:
Marlin/src/feature/tmc_util.cpp: In function 'void tmc_status(TMCMarlin<TMC>&, TMC_debug_enum, float) [with TMC = TMC2660Stepper]':
Marlin/src/feature/tmc_util.cpp:386:40: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'getMilliamps'; did you mean 'getMilliAmps'?
case TMC_CURRENT: SERIAL_ECHO(st.getMilliamps()); break;
^
Marlin/src/feature/../inc/../core/serial.h:135:55: note: in definition of macro 'SERIAL_PROTOCOL'
#define SERIAL_PROTOCOL(x) MYSERIAL0.print(x)
^
Marlin/src/feature/tmc_util.cpp:386:25: note: in expansion of macro 'SERIAL_ECHO'
case TMC_CURRENT: SERIAL_ECHO(st.getMilliamps()); break;
^~~~~~~~~~~
Marlin/src/feature/tmc_util.cpp: In instantiation of 'void monitor_tmc_driver(TMCMarlin<TMC>&) [with TMC = TMC2660Stepper]':
Marlin/src/feature/tmc_util.cpp:186:36: required from here
Marlin/src/feature/tmc_util.cpp:144:22: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'getMilliamps'; did you mean 'getMilliAmps'?
SERIAL_ECHO(st.getMilliamps());
~~~^
Marlin/src/feature/../inc/../core/serial.h:135:55: note: in definition of macro 'SERIAL_PROTOCOL'
#define SERIAL_PROTOCOL(x) MYSERIAL0.print(x)
^
Marlin/src/feature/tmc_util.cpp:144:7: note: in expansion of macro 'SERIAL_ECHO'
SERIAL_ECHO(st.getMilliamps());
^~~~~~~~~~~
Marlin/src/feature/tmc_util.cpp:150:27: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'getMilliamps'; did you mean 'getMilliAmps'?
st.rms_current(st.getMilliamps() - CURRENT_STEP_DOWN);
~~~^~~~~~~~~~~~
getMilliAmps
In file included from Marlin/src/feature/../inc/MarlinConfig.h:47:0,
from Marlin/src/feature/tmc_util.cpp:23:
Marlin/src/feature/tmc_util.cpp:153:58: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'getMilliamps'; did you mean 'getMilliAmps'?
SERIAL_ECHOLNPAIR(" current decreased to ", st.getMilliamps());
~~~^
Marlin/src/feature/../inc/../core/serial.h:193:77: note: in definition of macro 'SERIAL_PROTOCOLPAIR'
#define SERIAL_PROTOCOLPAIR(pre, value) (serial_echopair_PGM(PSTR(pre), value))
^~~~~
Marlin/src/feature/../inc/../core/serial.h:202:40: note: in expansion of macro 'SERIAL_PROTOCOLLNPAIR'
#define SERIAL_ECHOLNPAIR(pre, value) SERIAL_PROTOCOLLNPAIR(pre, value)
^~~~~~~~~~~~~~~~~~~~~
Marlin/src/feature/tmc_util.cpp:153:11: note: in expansion of macro 'SERIAL_ECHOLNPAIR'
SERIAL_ECHOLNPAIR(" current decreased to ", st.getMilliamps());
^~~~~~~~~~~~~~~~~
*** [.pioenvs/LPC1768/src/src/feature/tmc_util.o] Error 1
In file included from .piolibdeps/TMCStepper/src/TMCStepper.h:12:0,
from Marlin/src/gcode/bedlevel/../../module/stepper_indirection.h:61,
from Marlin/src/gcode/bedlevel/../../module/stepper.h:46,
from Marlin/src/gcode/bedlevel/G26.cpp:39:
.piolibdeps/TMCStepper/src/source/TMC2130_bitfields.h:147:22: warning: width of 'reg_CHOPCONF::<unnamed union>::<unnamed struct>::<anonymous>' exceeds its type
: 10;
^~
Update your library.
Still error. but another one
Compiling .pioenvs/LPC1768/src/src/module/endstops.o
Marlin/src/lcd/ultralcd.cpp: In function 'void lcd_status_screen()':
Marlin/src/lcd/ultralcd.cpp:658:6: warning: '%02u' directive writing 2 bytes into a region of size between 0 and 4 [-Wformat-overflow=]
void lcd_status_screen() {
^~~~~~~~~~~~~~~~~
Marlin/src/lcd/ultralcd.cpp:658:6: note: directive argument in the range [0, 59]
In file included from Marlin/src/lcd/../module/printcounter.h:27:0,
from Marlin/src/lcd/ultralcd.cpp:37:
Marlin/src/lcd/../module/../libs/duration_t.h:153:16: note: 'sprintf' output between 9 and 13 bytes into a destination of size 10
sprintf_P(buffer, PSTR("%ud %02u:%02u"), d, h % 24, m);
Compiling .pioenvs/LPC1768/src/src/module/motion.o
Marlin/src/module/configuration_store.cpp: In static member function 'static bool MarlinSettings::_load()':
Marlin/src/module/configuration_store.cpp:1288:61: error: 'TMC_X' was not declared in this scope
#define SET_CURR(Q) stepper##Q.rms_current(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT)
^
Marlin/src/module/configuration_store.cpp:1293:13: note: in expansion of macro 'SET_CURR'
SET_CURR(X);
^~~~~~~~
Marlin/src/module/configuration_store.cpp:1288:61: error: 'TMC_Y' was not declared in this scope
#define SET_CURR(Q) stepper##Q.rms_current(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT)
^
Marlin/src/module/configuration_store.cpp:1296:13: note: in expansion of macro 'SET_CURR'
SET_CURR(Y);
^~~~~~~~
Marlin/src/module/configuration_store.cpp:1288:61: error: 'TMC_Z' was not declared in this scope
#define SET_CURR(Q) stepper##Q.rms_current(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT)
^
Marlin/src/module/configuration_store.cpp:1299:13: note: in expansion of macro 'SET_CURR'
SET_CURR(Z);
^~~~~~~~
Marlin/src/module/configuration_store.cpp:1288:61: error: 'TMC_E0' was not declared in this scope
#define SET_CURR(Q) stepper##Q.rms_current(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT)
^
Marlin/src/module/configuration_store.cpp:1311:13: note: in expansion of macro 'SET_CURR'
SET_CURR(E0);
^~~~~~~~
Marlin/src/module/configuration_store.cpp:1288:61: note: suggested alternative: 'M_E'
#define SET_CURR(Q) stepper##Q.rms_current(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT)
^
Marlin/src/module/configuration_store.cpp:1311:13: note: in expansion of macro 'SET_CURR'
SET_CURR(E0);
^~~~~~~~
Marlin/src/module/configuration_store.cpp:1288:61: error: 'TMC_E1' was not declared in this scope
#define SET_CURR(Q) stepper##Q.rms_current(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT)
^
Marlin/src/module/configuration_store.cpp:1314:13: note: in expansion of macro 'SET_CURR'
SET_CURR(E1);
^~~~~~~~
Marlin/src/module/configuration_store.cpp:1288:61: note: suggested alternative: 'M_E'
#define SET_CURR(Q) stepper##Q.rms_current(currents[TMC_##Q] ? currents[TMC_##Q] : Q##_CURRENT)
^
Marlin/src/module/configuration_store.cpp:1314:13: note: in expansion of macro 'SET_CURR'
SET_CURR(E1);
^~~~~~~~
*** [.pioenvs/LPC1768/src/src/module/configuration_store.o] Error 1
Marlin/src/lcd/ultralcd.cpp: In function 'void _lcd_ubl_grid_level_cmd()':
Marlin/src/lcd/ultralcd.cpp:2188:10: warning: '%i' directive writing between 1 and 6 bytes into a region of size 5 [-Wformat-overflow=]
void _lcd_ubl_grid_level_cmd() {
^~~~~~~~~~~~~~~~~~~~~~~
Marlin/src/lcd/ultralcd.cpp:2188:10: note: directive argument in the range [-32768, 32767]
Marlin/src/lcd/ultralcd.cpp:2190:16: note: 'sprintf' output between 7 and 12 bytes into a destination of size 10
sprintf_P(UBL_LCD_GCODE, PSTR("G29 J%i"), side_points);
Marlin/src/lcd/ultralcd.cpp: In function 'void _lcd_ubl_fillin_amount_cmd()':
Marlin/src/lcd/ultralcd.cpp:2229:10: warning: '%i' directive writing between 1 and 6 bytes into a region of size 5 [-Wformat-overflow=]
void _lcd_ubl_fillin_amount_cmd() {
^~~~~~~~~~~~~~~~~~~~~~~~~~
Marlin/src/lcd/ultralcd.cpp:2229:10: note: directive argument in the range [-32768, 32767]
Marlin/src/lcd/ultralcd.cpp:2231:16: note: 'sprintf' output between 13 and 18 bytes into a destination of size 16
sprintf_P(UBL_LCD_GCODE, PSTR("G29 P3 R C.%i"), ubl_fillin_amount);
Marlin/src/lcd/ultralcd.cpp: In function 'void _lcd_ubl_load_mesh_cmd()':
Marlin/src/lcd/ultralcd.cpp:2321:10: warning: ' загружена' directive writing 19 bytes into a region of size between 3 and 8 [-Wformat-overflow=]
void _lcd_ubl_load_mesh_cmd() {
^~~~~~~~~~~~~~~~~~~~~~
Marlin/src/lcd/ultralcd.cpp:2325:16: note: 'sprintf' output between 37 and 42 bytes into a destination of size 25
sprintf_P(UBL_LCD_GCODE, PSTR("M117 " MSG_MESH_LOADED), ubl_storage_slot);
Marlin/src/lcd/ultralcd.cpp: In function 'void _lcd_ubl_save_mesh_cmd()':
Marlin/src/lcd/ultralcd.cpp:2332:10: warning: ' сохранена' directive writing 19 bytes into a region of size between 3 and 8 [-Wformat-overflow=]
void _lcd_ubl_save_mesh_cmd() {
^~~~~~~~~~~~~~~~~~~~~~
Marlin/src/lcd/ultralcd.cpp:2336:16: note: 'sprintf' output between 37 and 42 bytes into a destination of size 25
sprintf_P(UBL_LCD_GCODE, PSTR("M117 " MSG_MESH_SAVED), ubl_storage_slot);
My configs
configs.zip
Ok, I'll take a look a bit later and expand my test configuration.
Thank you =)
Try now.
Builds fine now. I'll test it tomorrow on printer.
(I cannot restart it via octoprint or rserial port to update firmware)
Hi!
With this update printer shows
PRINTER HALTED;
Driver error
How can i check what driver causes this?
I'll try with disabling stop on error
Ok. after disabling stop on errpr i get many overtemperature warnings
2018-06-26 13:27:07,038 - Connecting to: /dev/ttyACM0
2018-06-26 13:27:07,099 - Changing monitoring state from "Offline" to "Opening serial port"
2018-06-26 13:27:07,107 - Connected to: Serial<id=0xb10c1870, open=True>(port='/dev/ttyACM0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=30.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
2018-06-26 13:27:07,115 - Changing monitoring state from "Opening serial port" to "Connecting"
2018-06-26 13:27:07,136 - Send: N0 M110 N0*125
2018-06-26 13:27:07,141 - Recv: ok
2018-06-26 13:27:07,148 - Changing monitoring state from "Connecting" to "Operational"
2018-06-26 13:27:07,163 - Send: N0 M110 N0*125
2018-06-26 13:27:07,177 - Recv: ok
2018-06-26 13:27:07,181 - Send: N1 M115*39
2018-06-26 13:27:07,212 - Recv: FIRMWARE_NAME:Marlin bugfix-2.0.x (Github) SOURCE_CODE_URL:https://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHIN2 UUID:5777a60b-88ed-4102-babe-970ba40c4704
2018-06-26 13:27:07,225 - Recv: Cap:SERIAL_XON_XOFF:0
2018-06-26 13:27:07,229 - Recv: Cap:EEPROM:1
2018-06-26 13:27:07,238 - Recv: Cap:VOLUMETRIC:1
2018-06-26 13:27:07,241 - Recv: Cap:AUTOREPORT_TEMP:1
2018-06-26 13:27:07,248 - Recv: Cap:PROGRESS:0
2018-06-26 13:27:07,257 - Recv: Cap:PRINT_JOB:1
2018-06-26 13:27:07,267 - Recv: Cap:AUTOLEVEL:1
2018-06-26 13:27:07,271 - Recv: Cap:Z_PROBE:1
2018-06-26 13:27:07,275 - Recv: Cap:LEVELING_DATA:1
2018-06-26 13:27:07,279 - Recv: Cap:BUILD_PERCENT:0
2018-06-26 13:27:07,282 - Recv: Cap:SOFTWARE_POWER:0
2018-06-26 13:27:07,284 - Recv: Cap:TOGGLE_LIGHTS:0
2018-06-26 13:27:07,293 - Recv: Cap:CASE_LIGHT_BRIGHTNESS:0
2018-06-26 13:27:07,297 - Recv: Cap:EMERGENCY_PARSER:0
2018-06-26 13:27:07,301 - Recv: Cap:AUTOREPORT_SD_STATUS:0
2018-06-26 13:27:07,304 - Recv: Cap:THERMAL_PROTECTION:1
2018-06-26 13:27:07,308 - Recv: ok
2018-06-26 13:27:07,312 - Send: M21
2018-06-26 13:27:08,131 - Recv: Error:volume.init failed
2018-06-26 13:27:08,136 - Recv: ok
2018-06-26 13:27:08,149 - Send: M155 S2
2018-06-26 13:27:08,160 - Recv: ok
2018-06-26 13:27:09,131 - Recv:
2018-06-26 13:27:09,137 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:09,631 - Recv:
2018-06-26 13:27:09,636 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:09,640 - Recv:
2018-06-26 13:27:09,643 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:10,168 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:11,633 - Recv:
2018-06-26 13:27:11,646 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:12,134 - Recv:
2018-06-26 13:27:12,139 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:12,149 - Recv:
2018-06-26 13:27:12,151 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:12,154 - Recv:
2018-06-26 13:27:12,156 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:12,173 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:14,141 - Recv:
2018-06-26 13:27:14,152 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:14,175 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:14,643 - Recv:
2018-06-26 13:27:14,648 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:15,144 - Recv:
2018-06-26 13:27:15,148 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:15,151 - Recv:
2018-06-26 13:27:15,153 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:15,156 - Recv:
2018-06-26 13:27:15,158 - Recv: 00:00: E1 driver overtemperature warning! (1300mA)
2018-06-26 13:27:16,189 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:17,146 - Recv:
2018-06-26 13:27:17,157 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:17,159 - Recv:
2018-06-26 13:27:17,162 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:17,648 - Recv:
2018-06-26 13:27:17,651 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:17,654 - Recv:
2018-06-26 13:27:17,656 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:17,659 - Recv:
2018-06-26 13:27:17,661 - Recv: 00:00: E1 driver overtemperature warning! (1300mA)
2018-06-26 13:27:18,181 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:19,151 - Recv:
2018-06-26 13:27:19,163 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:19,651 - Recv:
2018-06-26 13:27:19,654 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:19,657 - Recv:
2018-06-26 13:27:19,659 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:20,151 - Recv:
2018-06-26 13:27:20,155 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:20,196 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:21,653 - Recv:
2018-06-26 13:27:21,657 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:22,153 - Recv:
2018-06-26 13:27:22,159 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:22,162 - Recv:
2018-06-26 13:27:22,164 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:22,188 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:22,659 - Recv:
2018-06-26 13:27:22,663 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:24,159 - Recv:
2018-06-26 13:27:24,176 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:24,191 - Recv: T:21.250000 /0.000000 B:19.882812 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:24,661 - Recv:
2018-06-26 13:27:24,665 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:24,671 - Recv:
2018-06-26 13:27:24,673 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:25,161 - Recv:
2018-06-26 13:27:25,167 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:25,171 - Recv:
2018-06-26 13:27:25,173 - Recv: 00:00: E1 driver overtemperature warning! (1300mA)
2018-06-26 13:27:26,195 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:26,663 - Recv:
2018-06-26 13:27:26,668 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:27,165 - Recv:
2018-06-26 13:27:27,172 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:27,175 - Recv:
2018-06-26 13:27:27,178 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:28,213 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:29,176 - Recv:
2018-06-26 13:27:29,180 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:29,668 - Recv:
2018-06-26 13:27:29,672 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:29,677 - Recv:
2018-06-26 13:27:29,681 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:29,684 - Recv:
2018-06-26 13:27:29,688 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:30,202 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:31,671 - Recv:
2018-06-26 13:27:31,675 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:31,684 - Recv:
2018-06-26 13:27:31,687 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:32,172 - Recv:
2018-06-26 13:27:32,176 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:32,185 - Recv:
2018-06-26 13:27:32,189 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:32,211 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:34,176 - Recv:
2018-06-26 13:27:34,188 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:34,192 - Recv:
2018-06-26 13:27:34,203 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:34,212 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:34,678 - Recv:
2018-06-26 13:27:34,683 - Recv: 00:00: E1 driver overtemperature warning! (1300mA)
2018-06-26 13:27:36,177 - Recv:
2018-06-26 13:27:36,196 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:36,211 - Recv: T:21.250000 /0.000000 B:19.648438 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:36,680 - Recv:
2018-06-26 13:27:36,684 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:37,180 - Recv:
2018-06-26 13:27:37,185 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:38,215 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:38,772 - Send: M906
2018-06-26 13:27:38,783 - Recv: X driver current: 1300
2018-06-26 13:27:38,786 - Recv: Y driver current: 1300
2018-06-26 13:27:38,788 - Recv: Z driver current: 1500
2018-06-26 13:27:38,792 - Recv: E0 driver current: 1300
2018-06-26 13:27:38,794 - Recv: E1 driver current: 1300
2018-06-26 13:27:38,796 - Recv: ok
2018-06-26 13:27:39,183 - Recv:
2018-06-26 13:27:39,188 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:39,191 - Recv:
2018-06-26 13:27:39,193 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:40,219 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:41,188 - Recv:
2018-06-26 13:27:41,191 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:41,687 - Recv:
2018-06-26 13:27:41,691 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:42,188 - Recv:
2018-06-26 13:27:42,191 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:42,199 - Recv:
2018-06-26 13:27:42,201 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:42,221 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:43,691 - Recv:
2018-06-26 13:27:43,707 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:44,191 - Recv:
2018-06-26 13:27:44,195 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:44,225 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:44,695 - Recv:
2018-06-26 13:27:44,699 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:44,702 - Recv:
2018-06-26 13:27:44,704 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:46,193 - Recv:
2018-06-26 13:27:46,222 - Recv: 00:00: X driver overtemperature warning! (1300mA)
2018-06-26 13:27:46,254 - Send: M906 X 800
2018-06-26 13:27:46,263 - Recv: T:21.250000 /0.000000 B:19.531250 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:46,268 - Recv: ok
2018-06-26 13:27:46,698 - Recv:
2018-06-26 13:27:46,701 - Recv: 00:00: Y driver overtemperature warning! (1300mA)
2018-06-26 13:27:46,704 - Recv:
2018-06-26 13:27:46,707 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:47,197 - Recv:
2018-06-26 13:27:47,201 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:48,231 - Recv: T:21.250000 /0.000000 B:19.414062 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:48,700 - Recv:
2018-06-26 13:27:48,705 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:49,202 - Recv:
2018-06-26 13:27:49,205 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:50,235 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:50,289 - Send: M906 Y 800
2018-06-26 13:27:50,302 - Recv: ok
2018-06-26 13:27:51,203 - Recv:
2018-06-26 13:27:51,208 - Recv: 00:00: X driver overtemperature warning! (800mA)
2018-06-26 13:27:51,705 - Recv:
2018-06-26 13:27:51,708 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:27:51,712 - Recv:
2018-06-26 13:27:51,715 - Recv: 00:00: Z driver overtemperature warning! (1500mA)
2018-06-26 13:27:52,239 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:53,708 - Recv:
2018-06-26 13:27:53,711 - Recv: 00:00: X driver overtemperature warning! (800mA)
2018-06-26 13:27:54,207 - Recv:
2018-06-26 13:27:54,211 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:27:54,242 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:54,901 - Send: M906 Z 1100
2018-06-26 13:27:54,914 - Recv: ok
2018-06-26 13:27:56,211 - Recv:
2018-06-26 13:27:56,215 - Recv: 00:00: Z driver overtemperature warning! (1100mA)
2018-06-26 13:27:56,218 - Recv:
2018-06-26 13:27:56,220 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:27:56,245 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:58,213 - Recv:
2018-06-26 13:27:58,224 - Recv: 00:00: X driver overtemperature warning! (800mA)
2018-06-26 13:27:58,248 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:27:58,717 - Recv:
2018-06-26 13:27:58,721 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:27:59,217 - Recv:
2018-06-26 13:27:59,221 - Recv: 00:00: Z driver overtemperature warning! (1100mA)
2018-06-26 13:27:59,224 - Recv:
2018-06-26 13:27:59,227 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:28:00,258 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:01,220 - Recv:
2018-06-26 13:28:01,230 - Recv: 00:00: X driver overtemperature warning! (800mA)
2018-06-26 13:28:01,232 - Recv:
2018-06-26 13:28:01,234 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:28:01,720 - Recv:
2018-06-26 13:28:01,726 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:28:02,255 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:03,725 - Recv:
2018-06-26 13:28:03,728 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:28:04,259 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:05,728 - Recv:
2018-06-26 13:28:05,731 - Recv: 00:00: Z driver overtemperature warning! (1100mA)
2018-06-26 13:28:06,227 - Recv:
2018-06-26 13:28:06,231 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:28:06,234 - Recv:
2018-06-26 13:28:06,236 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-26 13:28:06,263 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:08,232 - Recv:
2018-06-26 13:28:08,248 - Recv: 00:00: E1 driver overtemperature warning! (1300mA)
2018-06-26 13:28:08,265 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:09,235 - Recv:
2018-06-26 13:28:09,238 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:28:10,268 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:10,737 - Recv:
2018-06-26 13:28:10,742 - Recv: 00:00: Z driver overtemperature warning! (1100mA)
2018-06-26 13:28:11,237 - Recv:
2018-06-26 13:28:11,241 - Recv: 00:00: X driver overtemperature warning! (800mA)
2018-06-26 13:28:11,243 - Recv:
2018-06-26 13:28:11,247 - Recv: 00:00: E1 driver overtemperature warning! (1300mA)
2018-06-26 13:28:12,272 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:13,240 - Recv:
2018-06-26 13:28:13,251 - Recv: 00:00: X driver overtemperature warning! (800mA)
2018-06-26 13:28:13,742 - Recv:
2018-06-26 13:28:13,745 - Recv: 00:00: Z driver overtemperature warning! (1100mA)
2018-06-26 13:28:14,275 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:16,302 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:18,248 - Recv:
2018-06-26 13:28:18,254 - Recv: 00:00: Z driver overtemperature warning! (1100mA)
2018-06-26 13:28:18,287 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:20,252 - Recv:
2018-06-26 13:28:20,261 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:28:20,291 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:22,301 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:23,258 - Recv:
2018-06-26 13:28:23,262 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:28:24,296 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:26,300 - Recv: T:21.250000 /0.000000 B:19.414062 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:28,318 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:28,535 - Send: M18
2018-06-26 13:28:28,546 - Recv: ok
2018-06-26 13:28:30,306 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:32,324 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:33,274 - Recv:
2018-06-26 13:28:33,279 - Recv: 00:00: Z driver overtemperature warning! (1100mA)
2018-06-26 13:28:34,315 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:35,279 - Recv:
2018-06-26 13:28:35,283 - Recv: 00:00: Y driver overtemperature warning! (800mA)
2018-06-26 13:28:36,331 - Recv: T:21.250000 /0.000000 B:19.843750 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:38,333 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-26 13:28:40,285 - Recv:
2018-06-26 13:28:40,298 - Recv: 00:00: Z driver overtemperature warning! (1100mA)
2018-06-26 13:28:40,323 - Recv: T:21.250000 /0.000000 B:19.375000 /0.000000 T0:21.250000 /0.000000 T1:20.625000 /0.000000 @:0 B@:0 @0:0 @1:0
M122 output
2018-06-26 14:02:54,702 - Send: M122
2018-06-26 14:02:54,708 - Recv: X Y Z E0 E1
2018-06-26 14:02:54,711 - Recv: Enabled true true false false false
2018-06-26 14:02:54,713 - Recv: Set current 800 800 1100 1300 1300
2018-06-26 14:02:54,716 - Recv: RMS current 765 765 1093 1233 1233
2018-06-26 14:02:54,729 - Recv: MAX current 1078.650024 1078.650024 1541.130005 1738.529907 1738.529907
2018-06-26 14:02:54,734 - Recv: Run current 20/31 20/31 29/31 17/31 17/31
2018-06-26 14:02:54,738 - Recv: Hold current
2018-06-26 14:02:54,749 - Recv: CS actual
2018-06-26 14:02:54,751 - Recv: PWM scale
2018-06-26 14:02:54,754 - Recv: vsense 1=.18 1=.18 1=.18 0=.325 0=.325
2018-06-26 14:02:54,756 - Recv: stealthChop
2018-06-26 14:02:54,760 - Recv: msteps 32 32 16 32 32
2018-06-26 14:02:54,764 - Recv: tstep
2018-06-26 14:02:54,766 - Recv: pwm
2018-06-26 14:02:54,769 - Recv: threshold
2018-06-26 14:02:54,772 - Recv: [mm/s]
2018-06-26 14:02:54,774 - Recv: OT prewarn
2018-06-26 14:02:54,776 - Recv: OT prewarn has
2018-06-26 14:02:54,779 - Recv: been triggered
2018-06-26 14:02:54,781 - Recv: off time 5 5 0 0 0
2018-06-26 14:02:54,783 - Recv: blank time 24 24 24 24 24
2018-06-26 14:02:54,786 - Recv: hysteresis
2018-06-26 14:02:54,788 - Recv: -end -3 -3 -3 -3 -3
2018-06-26 14:02:54,790 - Recv: -start 1 1 1 1 1
2018-06-26 14:02:54,792 - Recv: Stallguard thrs 0 0 0 0 0
2018-06-26 14:02:54,795 - Recv: DRVSTATUS X Y Z E0 E1
2018-06-26 14:02:54,797 - Recv: stst
2018-06-26 14:02:54,799 - Recv: olb X X X
2018-06-26 14:02:54,801 - Recv: ola
2018-06-26 14:02:54,803 - Recv: s2gb X X X X
2018-06-26 14:02:54,805 - Recv: s2ga X X X X X
2018-06-26 14:02:54,807 - Recv: otpw X X X X X
2018-06-26 14:02:54,809 - Recv: ot X X X X X
2018-06-26 14:02:54,812 - Recv: Driver registers:
2018-06-26 14:02:54,814 - Recv: X = 0x 0 0: 0 F: F C: F F
2018-06-26 14:02:54,816 - Recv: Y = 0x 0 0: 0 F: F C: F F
2018-06-26 14:02:54,818 - Recv: Z = 0x 0 0: 0 F: F C: F F
2018-06-26 14:02:54,820 - Recv: E0 = 0x 0 0: 0 E: 4 8: 0 0
2018-06-26 14:02:54,823 - Recv: E1 = 0x 0 0: 0 E: 4 8: 1 0
2018-06-26 14:02:54,825 - Recv:
2018-06-26 14:02:54,827 - Recv:
2018-06-26 14:02:54,829 - Recv: ok
I'll try to see what's going on. There were a lot of changes and it's possible something's not quite right.
Well I'm not getting any overtemp errors but did get some short to grounds on coil B. Perhaps it's best just to disable STOP_ON_ERROR
for TMC2660 for now.
Ok. Will test tommorow.
Another fun thing
2018-06-27 11:20:10,524 - Recv: ok
2018-06-27 11:20:10,552 - Recv:
2018-06-27 11:20:10,583 - Send: M21
2018-06-27 11:20:10,648 - Recv: 00:00: Y driver overtemperature warning! (63286mA)
2018-06-27 11:20:10,881 - Recv:
2018-06-27 11:20:11,061 - Recv: 00:00: Z driver overtemperature warning! (550mA)
2018-06-27 11:20:11,068 - Recv:
2018-06-27 11:20:11,083 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-27 11:20:12,803 - Recv: echo:SD init fail
2018-06-27 11:20:12,852 - Recv: ok
2018-06-27 11:20:13,009 - Send: M155 S2
2018-06-27 11:20:13,018 - Recv: ok
2018-06-27 11:20:13,470 - Recv:
2018-06-27 11:20:13,545 - Recv: 00:00: X driver overtemperature warning! (63836mA)
2018-06-27 11:20:13,812 - Recv:
2018-06-27 11:20:13,828 - Recv: 00:00: Y driver overtemperature warning! (63286mA)
2018-06-27 11:20:13,837 - Recv:
2018-06-27 11:20:13,839 - Recv: 00:00: Z driver overtemperature warning! (550mA)
2018-06-27 11:20:15,055 - Recv: T:21.875000 /0.000000 B:19.375000 /0.000000 T0:21.875000 /0.000000 T1:20.000000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-27 11:20:15,825 - Recv:
2018-06-27 11:20:15,828 - Recv: 00:00: X driver overtemperature warning! (63836mA)
2018-06-27 11:20:16,688 - Recv:
2018-06-27 11:20:16,697 - Recv: 00:00: Y driver overtemperature warning! (63286mA)
2018-06-27 11:20:16,728 - Recv:
2018-06-27 11:20:16,752 - Recv: 00:00: Z driver overtemperature warning! (550mA)
2018-06-27 11:20:17,203 - Recv: T:21.875000 /0.000000 B:19.375000 /0.000000 T0:21.875000 /0.000000 T1:20.000000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-27 11:20:18,523 - Recv:
2018-06-27 11:20:18,548 - Recv: 00:00: X driver overtemperature warning! (63836mA)
2018-06-27 11:20:18,856 - Recv:
2018-06-27 11:20:18,859 - Recv: 00:00: Y driver overtemperature warning! (63286mA)
2018-06-27 11:20:18,865 - Recv:
2018-06-27 11:20:18,867 - Recv: 00:00: Z driver overtemperature warning! (550mA)
2018-06-27 11:20:18,870 - Recv:
2018-06-27 11:20:18,873 - Recv: 00:00: E0 driver overtemperature warning! (1300mA)
2018-06-27 11:20:19,187 - Recv: T:21.875000 /0.000000 B:19.375000 /0.000000 T0:21.875000 /0.000000 T1:20.000000 /0.000000 @:0 B@:0 @0:0 @1:0
2018-06-27 11:20:19,307 - Recv:
2018-06-27 11:20:19,447 - Recv: 00:00: E1 driver overtemperature warning! (1300mA)
Strange values for curent -- 63286mA??!
M122
2018-06-27 11:22:15,504 - Send: M122
2018-06-27 11:22:15,510 - Recv: X Y Z E0 E1
2018-06-27 11:22:15,514 - Recv: Enabled false false false false false
2018-06-27 11:22:15,517 - Recv: Set current 63836 63286 550 1300 1300
2018-06-27 11:22:15,520 - Recv: RMS current 205 1849 546 1233 1233
2018-06-27 11:22:15,526 - Recv: MAX current 289.049988 2607.089844 769.859985 1738.529907 1738.529907
2018-06-27 11:22:15,530 - Recv: Run current 2/31 26/31 14/31 17/31 17/31
2018-06-27 11:22:15,532 - Recv: Hold current
2018-06-27 11:22:15,534 - Recv: CS actual
2018-06-27 11:22:15,536 - Recv: PWM scale
2018-06-27 11:22:15,538 - Recv: vsense 0=.325 0=.325 1=.18 0=.325 0=.325
2018-06-27 11:22:15,540 - Recv: stealthChop
2018-06-27 11:22:15,542 - Recv: msteps 32 32 16 32 32
2018-06-27 11:22:15,544 - Recv: tstep
2018-06-27 11:22:15,546 - Recv: pwm
2018-06-27 11:22:15,547 - Recv: threshold
2018-06-27 11:22:15,549 - Recv: [mm/s]
2018-06-27 11:22:15,551 - Recv: OT prewarn
2018-06-27 11:22:15,553 - Recv: OT prewarn has
2018-06-27 11:22:15,555 - Recv: been triggered
2018-06-27 11:22:15,557 - Recv: off time 0 0 0 0 0
2018-06-27 11:22:15,559 - Recv: blank time 24 24 24 24 24
2018-06-27 11:22:15,562 - Recv: hysteresis
2018-06-27 11:22:15,565 - Recv: -end -3 -3 -3 -3 -3
2018-06-27 11:22:15,567 - Recv: -start 1 1 1 1 1
2018-06-27 11:22:15,569 - Recv: Stallguard thrs 0 0 0 0 0
2018-06-27 11:22:15,571 - Recv: DRVSTATUS X Y Z E0 E1
2018-06-27 11:22:15,573 - Recv: stst
2018-06-27 11:22:15,575 - Recv: olb X
2018-06-27 11:22:15,576 - Recv: ola
2018-06-27 11:22:15,578 - Recv: s2gb X X X
2018-06-27 11:22:15,580 - Recv: s2ga
2018-06-27 11:22:15,582 - Recv: otpw
2018-06-27 11:22:15,584 - Recv: ot
2018-06-27 11:22:15,586 - Recv: Driver registers:
2018-06-27 11:22:15,588 - Recv: X = 0x 0 0: 0 6: 0 0: 0 0
2018-06-27 11:22:15,590 - Recv: Y = 0x 0 0: 0 A: 0 0: 0 0
2018-06-27 11:22:15,592 - Recv: Z = 0x 0 0: 0 8: 0 0: 0 0
2018-06-27 11:22:15,593 - Recv: E0 = 0x 0 0: 0 E: 4 8: 0 0
2018-06-27 11:22:15,595 - Recv: E1 = 0x 0 0: 0 E: 4 8: 0 0
2018-06-27 11:22:15,598 - Recv:
2018-06-27 11:22:15,599 - Recv:
2018-06-27 11:22:15,601 - Recv: ok
So is it something wrong with registers reading?
PS i checked cooling for tmc drivers
"63286mA" is the result of a 16 bit unsigned integer underflowing. This doesn't normally happen so there is no sanity check for the value.
Marlin's response is as good as the response it gets from the driver. If the driver reported an over temperature condition, Marlin will react as configured. The response however may not actually be valid if there was a "glitch" in the communication or if there is a bug somewhere. But Marlin itself can't know this.
The reason you're seeing these now and not before is because in the previous version the TMC2660 monitoring wasn't used (IIRC).
You can set CURRENT_STEP_DOWN
as 0
if you want to disable automatic current reduction.
Also I thought I fixed that driver register formatting on LPC... Time to dig out the Azteeg board I guess.
Here's my M122
output with Azteeg X5 GT.
Connecting...
Printer is now online.
>>> M122
SENDING:M122
X Y Z E0
Enabled false false false false
Set current 800 600 700 800
RMS current 765 583 692 765
MAX current 1079 822 976 1079
Run current 20/31 15/31 18/31 20/31
Hold current
CS actual
PWM scale
vsense 1=.18 1=.18 1=.18 1=.18
stealthChop
msteps 16 16 16 16
tstep
pwm
threshold
[mm/s]
OT prewarn
OT prewarn has
been triggered
off time 0 0 0 0
blank time 24 24 24 24
hysteresis
-end -3 -3 -3 -3
-start 1 1 1 1
Stallguard thrs 0 0 0 0
DRVSTATUS X Y Z E0
stst
olb
ola
s2gb X
s2ga
otpw
ot
Driver registers:
X = 0x00:0B:8C:10
Y = 0x00:00:88:00
Z = 0x00:00:08:00
E0 = 0x00:0F:4C:00
Notice the different formatting with the hex printout? I'd first suggest you do a hard reset to my branch.
I've also rebased the branch to the latest bf2 as that fixed my communication issues with the board.
@teemuatlut that's good I thought I'd broken the print utilities when I unified them a few weeks ago.
Ok. Will recreate configs and test.
Output actualy from octoprint serial log
I reflashed fw. Now M122 printout looks as you show.
Still getting errors with overtemperature and current. log file attached
I checked driver temperature and they are not even warm...
Just disable monitoring until I can properly look into the communication issues.
Ok. I leaved monitoring ebnabled, but set CURRENT_BUMP to 0
I've been using this for a while, but I've noticed the noise level is pretty high, when I'm printing, and I wanted to turn down the current to lower it. I realized that the motors are actually incredibly hot, too hot to touch actually, and they are 2.2A motors.
I had the current at 1500ma, and turned them down to 1000ma. They are still very hot and just as loud. My extruder motor is one of the e3d pancake motors, and it's also very hot. I lowered it from 1050ma, to 800ma, and it's still just as hot. Any suggestions? I don't know if current control is working at all
I haven't updated for some time though.
too hot to touch is about 50 deg C. the motors can get 70 deg C and even hotter without any issue.
They were much cooler on smoothieware when set to 2000ma, than they are on marlin at 1000ma. It doesn't seem like they are any cooler or quieter than when set to 1500ma. I am not sure where my thermometer is to check, but I'll try changing it to extremely low current settings later when this print is done to test.
Judging by their comments and equation it looks like Smoothieware uses peak current for their configuration. So their 2A_peak is actually 1.41A_rms.
Still doesn't explain why 1A_rms would be hotter. Did you remember to update the R_SENSE
value?
What does the M122
output say?
EDIT: For whatever reason it also looks like Smoothieware wouldn't be using spreadCycle but the classic constant off time shopper...
These are my settings.
#define R_SENSE 0.10 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#define X_CURRENT 1000 // rms current in mA. Multiply by 1.41 for peak current.
#define X_MICROSTEPS 32 // 0..256
#define Y_CURRENT 1000
#define Y_MICROSTEPS 32
#define Z_CURRENT 1000
#define Z_MICROSTEPS 32
Can I run M122
during a print? I'm currently running a very long print.
Yes.
Send: N22270 M122*39
Recv: X Y Z E0 E1
Recv: Enabled true true true true false
Recv: Set current 1600 1600 1600 900 800
Recv: RMS current 1575 1575 1575 875 765
Recv: MAX current 2220.750000 2220.750000 2220.750000 1233.750000 1078.650000
Recv: Run current 22/31 22/31 22/31 23/31 20/31
Recv: Hold current
Recv: CS actual
Recv: PWM scale
Recv: vsense 0=.325 0=.325 0=.325 1=.18 1=.18
Recv: stealthChop
Recv: msteps 32 32 32 32 16
Recv: tstep
Recv: pwm
Recv: threshold
Recv: [mm/s]
Recv: OT prewarn
Recv: OT prewarn has
Recv: been triggered
Recv: off time 5 5 5 5 0
Recv: blank time 24 24 24 24 24
Recv: hysteresis
Recv: -end -3 -3 -3 -3 -3
Recv: -start 1 1 1 1 1
Recv: Stallguard thrs 0 0 0 0 0
Recv: DRVSTATUS X Y Z E0 E1
Recv: stst
Recv: olb
Recv: ola
Recv: s2gb
Recv: s2ga
Recv: otpw
Recv: ot
Recv: Driver registers:
Recv: X = 0x 0 0: 0 0: 0 0: 0 0
Recv: Y = 0x 0 0: 0 0: 0 0: 0 0
Recv: Z = 0x 0 0: 0 0: 0 0: 0 0
Recv: E0 = 0x 0 0: 0 0: 0 0: 0 0
Recv: E1 = 0x 0 0: 0 0: 0 0: 0 0
Looks like my latest firmware update may not have applied.
The settings were being retained in eeprom. That's why It wouldn't change. Is there a way to set it on the fly?
Where is Marlin at with support for the TMC2660 on the Azteeg X5 GT? Will defining HAVE_TMC26X work? Are there other things I need to configure?
Also is there a newer version than the 2012 version of TMC26XStepper.h?
Have been playing with this for 2 hours but can't compile because of missing TMC26XStepper.h. Then when I add it to
```
lib_deps = CMSIS-LPC1768
https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip
https://github.com/teemuatlut/TMCStepper.git
https://github.com/trinamic/TMC26XStepper.git
I get:
.piolibdeps/TMC26XStepper/TMC26XStepper.h:383:5: error: 'boolean' does not name a type; did you mean
'bool'?
boolean isCoolStepEnabled();
^~~
bool
.piolibdeps/TMC26XStepper/TMC26XStepper.h:444:5: error: 'boolean' does not name a type; did you mean
'bool'?
boolean isCurrentScalingHalfed();
^~~
bool
.piolibdeps/TMC26XStepper/TMC26XStepper.h:463:2: error: 'boolean' does not name a type; did you mean
'bool'?
```
What do I need to do to get this to work?
https://github.com/teemuatlut/Marlin/tree/bf2_tmc2660
Not the latest anymore at this point but has been reported as working.
Why don't you commit changes so we can work towards a fully supported Azteeg X5 GT?
I just installed it on my Ender 3 and it's a really sweet board.
Tried to build it but I get the exact same error as in the latest version:
In file included from Marlin/src/module/stepper.h:224:0,
from Marlin/src/Marlin.cpp:36:
Marlin/src/module/stepper_indirection.h:55:14: fatal error: TMC26XStepper.h: No such file or directory
***********************************************************************
* Looking for TMC26XStepper.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:TMC26XStepper.h"
* Web > https://platformio.org/lib/search?query=header:TMC26XStepper.h
*
***********************************************************************
#include <TMC26XStepper.h>
^~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/LPC1768/src/src/Marlin.o] Error 1
Then when I add that library I get the same error as before:
I get:
.piolibdeps/TMC26XStepper/TMC26XStepper.h:383:5: error: 'boolean' does not name a type; did you mean
'bool'?
boolean isCoolStepEnabled();
^~~~~~~
bool
.piolibdeps/TMC26XStepper/TMC26XStepper.h:444:5: error: 'boolean' does not name a type; did you mean
'bool'?
boolean isCurrentScalingHalfed();
^~~~~~~
bool
.piolibdeps/TMC26XStepper/TMC26XStepper.h:463:2: error: 'boolean' does not name a type; did you mean
'bool'?
Is it just a matter of changing all the boolean to bool in TMC26XStepper.h?
Why don't you commit changes so we can work towards a fully supported Azteeg X5 GT?
Because 1.1.x is in feature freeze and 2.0.x tries to have feature parity with it. I won't be making any significant pull requests until we've left the 1.1.x branch behind.
Also the support requires a few very big patches before it makes it in. Adding proper TMC2660 support is not the first item on my list but it isn't the last one either.
You may be able to get it working with 26x as the 2660 is based on older 262 but that's not a driver or a library I'm supporting.
I understand. I just feel we are so close, Is it just a matter of changing all the 'boolean' to 'boo'l in TMC26XStepper.h to make it work?
If not can you point me to a TMC26XStepper.h library that will work?
Also aren't the 2660 used in the Duet and are those supported?
Is it just a matter of changing all the boolean to bool in TMC26XStepper.h?
That would get you past the current compile issue but there might be another one just behind that one.
can you pint me to a TMC26XStepper.h library that will work?
As far as I know there are no others.
My TMCStepper
does support TMC2660 among others.
And just so we're clear; TMC26x is not the same as TMC2660, but the two are very similar.
I've been playing with this for a while. Your branch, of course, compiles perfectly with only 1 warning. As you predicted, I forked the TMC26xstepper.h library and fixed 1 issue after another but ran into a wall.
What I would like to know is why this wasn't merged? I am not a programmer but could you explain to me what needs to be done to get TMC2660 support in?
I see the TMC26xsupport in the config file so it looks like it should work.
It seems like such a shame to be too close to abandon your work.
Needed 1.1.9 release and for it to be the last one. Then I need confirmation that feature parity between 1.1.x and 2.0.x is lifted and we can start adding features again. After that I need to update upstream Marlin to use the new TMCStepper library. Then I expand that with internal inherited classes. Only then will I have the general prerequisites to merge in TMC2660 support.
For those who may be interested, I've moved my latest dev branch on the public realm along with a rough outline on what's to come and what I've planned so far. It does come with a disclaimer that it may not work and is not meant for daily use but it's there if someone wants to try it out.
https://github.com/teemuatlut/Marlin/tree/master
Thank you for explaining.
@teemuatlut I'm trying migrate my config to your new branch and it doesn't seem to compile for me for tmc2660…
Marlin/src/feature/tmc_util.cpp: In function 'void init_tmc_section()':
Marlin/src/feature/tmc_util.cpp:898:16: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'stored'; did you mean '_started'?
stepperX.stored.I_rms = stepperX.getMilliamps();
^~~~~~
_started
Marlin/src/feature/tmc_util.cpp:901:16: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'stored'; did you mean '_started'?
stepperY.stored.I_rms = stepperY.getMilliamps();
^~~~~~
_started
Marlin/src/feature/tmc_util.cpp:904:16: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'stored'; did you mean '_started'?
stepperZ.stored.I_rms = stepperZ.getMilliamps();
^~~~~~
_started
Marlin/src/feature/tmc_util.cpp:916:17: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'stored'; did you mean '_started'?
stepperE0.stored.I_rms = stepperE0.getMilliamps();
^~~~~~
_started
Marlin/src/feature/tmc_util.cpp:919:17: error: 'class TMCMarlin<TMC2660Stepper>' has no member named 'stored'; did you mean '_started'?
stepperE1.stored.I_rms = stepperE1.getMilliamps();
^~~~~~
_started
compilation terminated due to -fmax-errors=5.
*** [.pioenvs/LPC1768/src/src/feature/tmc_util.o] Error 1
What branch are you on? Move to master
if you haven't already.
And update the library.
Should build fine.
@teemuatlut I used your master
branch and updated library. Configs attached
configs.zip
@teemuatlut seems issue comes from this commit 94735bdc5fe7833840a7dc2c21925742db8e2827
commit 94735bdc5fe7833840a7dc2c21925742db8e2827
Author: teemuatlut teemu.mantykallio@live.fi
Date: Wed Apr 11 17:53:23 2018 +0300
Add TMC LCD section
I've been working on the branch again and I did confirm your issue. That was an easy fix but lead to another issue. Will hopefully fix it this weekend and get the whole thing compiling nicely again.
@teemuatlut thank you =D
Pushed the new code and tested with your config files. No promises on it actually working though. Let me know what happens.
@teemuatlut I tested youre branch. It works without problems for me.
@teemuatlut
is it normal?
Recv: Driver registers:
Recv: X = 0x00000:00:00 Bad response!
Recv: Y = 0x00:00:00:00 Bad response!
Recv: Z = 0x00:00:00:00 Bad response!
Recv: E = 0x00:00:00:00 Bad response!
Recv: E1 = 0x00:00:00:00 Bad response!
No. When did that start happening?
EDIT: I used your latest config files to upload to an Azteeg board and got
Driver registers:
X = 0x00:04:4C:00
Y = 0x00:04:4C:00
Z = 0x00:04:4C:00
E = 0x00:0C:4C:00
E1 = 0x00:0F:FC:FF
This is with my latest master branch and not all commits are online just yet. I still need to fix some compile issues before pushing.
Build of your master branch, drivers work =) i can print
But i need to set current again and seems like m122 dont work
M122
requires TMC_DEBUG
so double-check that it’s enabled.
If it would be disabled, there would be no output at all.
This is a case where the SPI communication failed for some reason during a call to the driver and the response was an all low level signal.
Which is curious because if the communication channel would be completely broken, I don't think the drivers would work at all. Nor do I think it's a case of initializing order either.
I don't think I've done anything that should break things in the past week or two...
Probably a hardware issue, then.
Drivers work, I can change current. m122 dont. So i'm curiose what's the problem
I didnt change anything hw related...
If you can set a value at the TMC, for SPI that means MOSI, CS and CLK do work. If you can't read MISO is broken.
Or on an asynchronous serial TX works but not RX.
Bad contact? Correctly wired? To much load? Pull-up/down required? Bad GND level? Rx shorted to Vcc or GND? Correct Vcc? Noise? Motor power for the TMCs on before config? Right pin? Pin capable for the use? Other parts of Marlin use the pin? ...
HI could you please help me, I can't compile after adding my settings...
I used Teemuatlut's master build.
thanks!
`SYSTEM: LPC1768 100MHz 32KB RAM (512KB Flash)
DEBUG: CURRENT(custom) ON-BOARD(cmsis-dap) EXTERNAL(blackmagic, jlink)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(off) COMPATIBILITY(soft)
Collected 3 compatible libraries
Scanning dependencies...
Dependency Graph
|--
|--
|--
Unable to find destination disk. File must be copied manually.
Compiling .pioenvs\LPC1768\src\src\feature\pause.o
Compiling .pioenvs\LPC1768\src\src\feature\solenoid.o
Compiling .pioenvs\LPC1768\src\src\featuretmc_util.o
Compiling .pioenvs\LPC1768\src\src\featuretwibus.o
Marlin\src\feature\pause.cpp:306:84: error: missing binary operator before token "("
^
* [.pioenvs\LPC1768\src\src\feature\pause.o] Error 1
[ERROR] Took 17.48 seconds
Environment LPC1768 [ERROR]`
Working on that one right now. Trying to get the Travis builds to finish.
Perhaps within the hour or tomorrow as it's getting late here.
EDIT: Travis builds now.
awesome thanks!
my build is using dual extruders with one X motor and parking and electromagnet.
Hi!
I tested your fresh master branch:
Problems if enabled DRIVERS_SOFTWARE_ENABLE (like Azteeg X5 + 2660) branch cannot build
Compiling .pioenvs/LPC1768/src/src/feature/Max7219_Debug_LEDs.o
In file included from Marlin/src/module/stepper.h:224:0,
from Marlin/src/Marlin.cpp:36:
Marlin/src/Marlin.cpp: In function 'void enable_all_steppers()':
Marlin/src/module/stepper_indirection.h:387:62: error: 'E0_ENABLE_ON' was not declared in this scope
#define E0_ENABLE_WRITE(STATE) stepperE0.toff((STATE)==E0_ENABLE_ON ? stepperE0.savedToff() : 0)
^
Marlin/src/Marlin.h:116:26: note: in expansion of macro 'E0_ENABLE_WRITE'
#define enable_E0() E0_ENABLE_WRITE( E_ENABLE_ON)
^~~~~~~~~~~~~~~
Marlin/src/Marlin.cpp:288:3: note: in expansion of macro 'enable_E0'
enable_E0();
^~~~~~~~~
Marlin/src/module/stepper_indirection.h:387:62: note: suggested alternative: 'E_ENABLE_ON'
#define E0_ENABLE_WRITE(STATE) stepperE0.toff((STATE)==E0_ENABLE_ON ? stepperE0.savedToff() : 0)
^
Marlin/src/Marlin.h:116:26: note: in expansion of macro 'E0_ENABLE_WRITE'
#define enable_E0() E0_ENABLE_WRITE( E_ENABLE_ON)
^~~~~~~~~~~~~~~
Marlin/src/Marlin.cpp:288:3: note: in expansion of macro 'enable_E0'
enable_E0();
^~~~~~~~~
Marlin/src/Marlin.cpp: In function 'void disable_e_steppers()':
Marlin/src/module/stepper_indirection.h:387:62: error: 'E0_ENABLE_ON' was not declared in this scope
#define E0_ENABLE_WRITE(STATE) stepperE0.toff((STATE)==E0_ENABLE_ON ? stepperE0.savedToff() : 0)
^
Marlin/src/Marlin.h:117:26: note: in expansion of macro 'E0_ENABLE_WRITE'
#define disable_E0() E0_ENABLE_WRITE(!E_ENABLE_ON)
^~~~~~~~~~~~~~~
Marlin/src/Marlin.cpp:297:3: note: in expansion of macro 'disable_E0'
disable_E0();
^~~~~~~~~~
Marlin/src/module/stepper_indirection.h:387:62: note: suggested alternative: 'E_ENABLE_ON'
#define E0_ENABLE_WRITE(STATE) stepperE0.toff((STATE)==E0_ENABLE_ON ? stepperE0.savedToff() : 0)
^
Marlin/src/Marlin.h:117:26: note: in expansion of macro 'E0_ENABLE_WRITE'
#define disable_E0() E0_ENABLE_WRITE(!E_ENABLE_ON)
^~~~~~~~~~~~~~~
Marlin/src/Marlin.cpp:297:3: note: in expansion of macro 'disable_E0'
disable_E0();
^~~~~~~~~~
Marlin/src/Marlin.cpp: In function 'void disable_e_stepper(uint8_t)':
Marlin/src/module/stepper_indirection.h:387:62: error: 'E0_ENABLE_ON' was not declared in this scope
#define E0_ENABLE_WRITE(STATE) stepperE0.toff((STATE)==E0_ENABLE_ON ? stepperE0.savedToff() : 0)
^
Marlin/src/Marlin.h:117:26: note: in expansion of macro 'E0_ENABLE_WRITE'
#define disable_E0() E0_ENABLE_WRITE(!E_ENABLE_ON)
^~~~~~~~~~~~~~~
Marlin/src/Marlin.cpp:307:13: note: in expansion of macro 'disable_E0'
case 0: disable_E0(); break;
^~~~~~~~~~
Marlin/src/module/stepper_indirection.h:387:62: note: suggested alternative: 'E_ENABLE_ON'
#define E0_ENABLE_WRITE(STATE) stepperE0.toff((STATE)==E0_ENABLE_ON ? stepperE0.savedToff() : 0)
^
Marlin/src/Marlin.h:117:26: note: in expansion of macro 'E0_ENABLE_WRITE'
#define disable_E0() E0_ENABLE_WRITE(!E_ENABLE_ON)
^~~~~~~~~~~~~~~
Marlin/src/Marlin.cpp:307:13: note: in expansion of macro 'disable_E0'
case 0: disable_E0(); break;
^~~~~~~~~~
*** [.pioenvs/LPC1768/src/src/Marlin.o] Error 1
if i disabled it i get another error
Compiling .pioenvs/LPC1768/src/src/gcode/bedlevel/G42.o
Marlin/src/feature/tmc_util.cpp: In function 'uint8_t get_status_response(TMC2130Stepper&, uint32_t)':
Marlin/src/feature/tmc_util.cpp:60:82: error: 'uint8_t TMC2130Stepper::status_response' is protected within this context
static uint8_t get_status_response(TMC2130Stepper &st, uint32_t) { return st.status_response & 0xF; }
^~~~~~~~~~~~~~~
In file included from Marlin/src/feature/tmc_util.h:28:0,
from Marlin/src/feature/tmc_util.cpp:27:
.piolibdeps/TMCStepper_ID5513/src/TMCStepper.h:334:11: note: declared protected here
uint8_t status_response;
^~~~~~~~~~~~~~~
*** [.pioenvs/LPC1768/src/src/feature/tmc_util.o] Error 1
I also get 'uint8_t TMC2130Stepper::status_response' is protected within this context
Looking at TMCStepper.h from the new TMCStepper library the field is indeed protected, making it public fixes the compile issue.
@ghent360 Use the latest commit from github.
@alexxy I've fixed the issues and I'll be pushing the changes today. There's also a new PR that brings upstream support for TMC2660 so you don't have to keep using a forked development branch.
@teemuatlut Ok. I'll test PR and youre branch
was TMC2660 not added recently? i remember to see it mentioned in the config's
Guys, tell me how to run this driver. I assembled it on the standard scheme (https://www.trinamic.com/support/eval-kits/details/tmc2660-bob/) is the power supply of the circuit, the power to the motor, the signal -dir -step too. the motor is not spinning
Do you need to use the other pins? pin en need to connect to the ground?
You need to configure it after powering it up before it can drive anything.
TMC2660
is an available option in our configurations. I'm assuming was added sometime in the 3 years since this was opened.
Closing this as presumed complete.
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.
Most helpful comment
https://github.com/teemuatlut/Marlin/tree/bf2_tmc2660
https://github.com/teemuatlut/TMCStepper/blob/master/src/TMCStepper.h#L475
This is what I've been working on for the past week.