Closed thinkyhead closed 4 years ago
the Rememberer template sure looks like it ought to work
Tracking down the exact spot where it sets the port wrong should be an interesting challenge.
So what can I do to test it?I have the drivers set for uart...the radds is up to date with the latest marlin 2.0.x branch...
ARMed Stick is 'powered by the popular STM32F103C8T6 micro controller', so it is not STM32F4 but an STM32F1
We'll have to ask the author of #12147 @ktand about that.
Now I have all my printers(almost all)with duet board, but I want to have my dolly printer where i can test boards and firmwares...
So what can I do to test it?
- https://www.youtube.com/watch?v=GtlsW3FDN3E
#if NUM_SERIAL > 1 extern int8_t serial_port_index; #define _PORT_REDIRECT(n,p) REMEMBER(n,serial_port_index,p) #define _PORT_RESTORE(n) RESTORE(n) #define SERIAL_OUT(WHAT, V...) do{ \ if (!serial_port_index || serial_port_index == SERIAL_BOTH) (void)MYSERIAL0.WHAT(V); \ if ( serial_port_index) (void)MYSERIAL1.WHAT(V); \ }while(0)
define SERIAL_ASSERT(P) if(serial_port_index!=(P)){ debugger(); }
else
define _PORT_REDIRECT(n,p) NOOP
define _PORT_RESTORE(n) NOOP
define SERIAL_OUT(WHAT, V...) (void)MYSERIAL0.WHAT(V)
define SERIAL_ASSERT(P) NOOP
endif
Place SERIAL_ASSERT(0)
where the serial port should be "0" and SERIAL_ASSERT(1)
where the serial port should be "1" and so on. Replace debugger()
with some function (or macro) that gives an indication where the error happened.
The debugger is the most direct way to see what's going on. But you could have the SERIAL_ASSERT
macro print out to the serial port something fun like PSTR(__FILE__ " : " __LINE__)
which the compiler fills in with the right strings.
We'll have to ask the author of #12147 @ktand about that.
Oh. There is an ARMed STICK based in STM32F103C8 controller and there is an Arm'ed 3D Printer Controller based on STM32F407VE controller.
Link is the original post got me confused as it is pointing to ARMed STICK i.e. STM32F1.
ARMed Stick is 'powered by the popular STM32F103C8T6 micro controller', so it is not STM32F4 but an STM32F1
We'll have to ask the author of #12147 @ktand about that.
I'm the designer of the ARMED board (https://github.com/ktand/armed). Defined in Marlin's boards.h as:
and is based on the STM32F407 controller.
@thinkyhead, as mentioned before, the following features are stable for the ARMED board:
The board uses a STM32F407VET6 controller, not a STM32F401VE.
Board link: Armed 3D Printer Controller
Lol, Adafruit grand central internal eeprom is working, onboard sd card is on the road, LCD (at least on ruramps can't use sd detect pin because is used by SPI itself. A cable patch is needed) but I think I'll not be able to test nothing more nor TMC in SPI/USART nor neopixel, nor max6675 (what is it?), wifi (?!? on board support or some external board? ruramps has a esp8266 connection but is this required?)
Also external eeprom on shield should works but I'm expecting a ruramps and I don't know when it will be sent.
With these limits, Is there any possibility it will be added to Marlin repo?
With these limits, Is there any possibility it will be added to Marlin repo?
Don't worry about it being supported in the first release. First, it probably is going to take several more months to get things clean enough for that to happen. But if it doesn't make the first release.... It will be included as soon as it is ready. You aren't going to be left behind.
We need an icon for "not applicable." On the Malyan M200 V1/V2/V3/Pro and M300 printers, there will never be TMC in either flavor (these are fixed driver boards). There's no free SPI output, so no Max support. on V1s there's not even a free GPIO to hook a Neopixel to once the Arduino Core and library support it.
Summary of different Malyan M200/M300 printers: Malyan M200 V1 - SMT32F103 LCD has minor bugs. EEPROM, SD, work. Max, TMC, Wifi, Neopixel aren't possible.
Malyan M200 V2 - SMT32F070 LCD has minor bugs. EEPROM, SD, work. Max, TMC, Wifi aren't possible. Neopixel needs work (lots and lots of work).
The V3 is essentialy the V2 + an auto-level sensor, in the same state (same MCU). I'd list it as V2/V3.
Description Initial MKS Robin Lite and MKS Robin Lite2 (STM32F103RCT6) support brought over from Makerbase's Robin Lite repo and Robin Lite2 repo
Benefits Brings MKS Robin Lite/Lite2 board support into Marlin.
Related Issues None.
@thinkyhead first message mentions that FAST_PWM_FAN works on Due.
At Marlin/src/HAL/HAL_DUE/SanityCheck.h
there is condition preventing build:
#if ENABLED(FAST_PWM_FAN)
#error "FAST_PWM_FAN is not yet implemented for this platform."
#endif
Error in message or in code?
How much proof of life do you need for the SKR 1.3? I can confirm that SD Card (onboard & on LCD), LCD (2004 & 12864), TMC SPI (2130 & 5160), TMC UART (2208/2209), and EEPROM work well on the two SKR 1.3 boards that I have.
add kinematics delta robot on marlin 2.0 RC1 http://www.cim.mcgill.ca/~paul/clavdelt.pdf
https://www.youtube.com/watch?v=v46Gh64aN_o https://www.youtube.com/watch?v=1aBubz6Mk2M
smoothieware and reprap firmware supports these kinematics waiting for washed down on marlin: (
Just want to add the jgaurora A5S and A1, Iβve been debugging marlin 2.0 with both and most things are working great. Bltouch not working yet since servos not working. SD card reliability I would describe as 99%, but that could be due to wire shielding issues. EEPROM on SD working fine. This is all on ZET6 like robin and alfawise. LCD touch working via same method as for those boards too, just a different calibration for screen touch values.
I'm testing 2.0 on an SKR V1.3 with TMC5160s on all axis and BLTouch. It's all working well apart from the wierd layer shift issue. Happy to test any fixes you might have for that. This is my deveopment printer so can be up and down as needed.
I'm testing 2.0 on an SKR V1.3 with TMC5160s on all axis and BLTouch. It's all working well apart from the wierd layer shift issue. Happy to test any fixes you might have for that. This is my deveopment printer so can be up and down as needed.
Have you been able to get Linear Advance working on your end, or is that something you've tested at all? I can't seem to find a whole lot of results for other tests with Linear Advance on the SKR 1.3. I'm using TMC2208s on the X, Y and Z axis and an A4988 on the E and the calibration patterns won't produce anything usable.
It's next on my list to test actually. Might have some data tomorrow.
Linear advance working fine on SKR V1.3. K factor came out at 0.8 with my Bowden setup after calibration.
Linear advance working fine on SKR V1.3. K factor came out at 0.8 with my Bowden setup after calibration.
Which drivers do you have?
TMC5160s in SPI mode on X, Y, and Z. A4988 on E0.
On my SKR1.3 Linear Advance works fine with my Titan Aero setup. (2208 XY, A4988 ZE; 0.13 PLA, 0.18 PETG, 0.26 TPU) I've not had much luck when using a Bowden setup, but never tried anything close to 0.8 either.
On another topic, is there a good way to figure out the pins for STM32F1 (03RCT6)? I got an XVico X1 dirt cheap mostly for parts. The main board is discussed here: https://tinkerfiddle.blogspot.com/2019/ I've dug a little further - I know its running DLion firmware - V4 or later. And its based on the DLion Mini board ( https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4004-17760143202.4.256738f4qt6iZ8&id=592299690248 ) which is I think made by logeek.cn. They make the DLion source available (V04) but the board schematic and pins.h are for the non mini variant. And my extensive use Google Translate has run into a wall getting the info for my board. (I can post the pins.h file and schematics for the non Mini board if anyone wants it)
On my SKR1.3 Linear Advance works fine with my Titan Aero setup. (2208 XY, A4988 ZE; 0.13 PLA, 0.18 PETG, 0.26 TPU) I've not had much luck when using a Bowden setup, but never tried anything close to 0.8 either.
Could you share your config files for your SKR 1.3 and 2208 setup? I've been wrestling with this issue for three weeks and I'm very curious as to what's setup wrong on my end.
On my SKR1.3 Linear Advance works fine with my Titan Aero setup. (2208 XY, A4988 ZE; 0.13 PLA, 0.18 PETG, 0.26 TPU) I've not had much luck when using a Bowden setup, but never tried anything close to 0.8 either.
Could you share your config files for your SKR 1.3 and 2208 setup? I've been wrestling with this issue for three weeks and I'm very curious as to what's setup wrong on my end.
Here you go. My 2208's are currently in standalone mode because I haven't wrangled up a soldering iron yet (why couldn't they just put a jumper/DIP switch there for UART?)
On my SKR1.3 Linear Advance works fine with my Titan Aero setup. (2208 XY, A4988 ZE; 0.13 PLA, 0.18 PETG, 0.26 TPU) I've not had much luck when using a Bowden setup, but never tried anything close to 0.8 either.
Could you share your config files for your SKR 1.3 and 2208 setup? I've been wrestling with this issue for three weeks and I'm very curious as to what's setup wrong on my end.
Here you go. My 2208's are currently in standalone mode because I haven't wrangled up a soldering iron yet (why couldn't they just put a jumper/DIP switch there for UART?)
Thank you for this. I duplicated your settings (even down to putting my drivers back in standalone mode) and I'm still getting strange behavior. Do you happen to have a 24V power supply or 12V? I've got a 24V and I can't help but wonder if something is wrong regarding that.
Grand Central support has arrived with #14749
Okay now that I have a new ESP32 board, I went through the list to check what is working and what's not. All of these tests have been done against fec52e61ea22640d70d7aaa0c8c235958cfe4b24
lib_ignore
. I think this should be removed by default as it's not causing issues.upload_protocol = espota
upload_port = 10.66.0.102
upload_flags = -p 3232
I should create a MR for this but in the meantime
lib_deps =
+ ${common.lib_deps}
https://github.com/me-no-dev/AsyncTCP.git
https://github.com/me-no-dev/ESPAsyncWebServer.git
lib_ignore =
- LiquidCrystal_I2C
LiquidCrystal
- NewliquidCrystal
- LiquidTWI2
TMC26XStepper
c1921b4
- SailfishLCD
- SailfishRGB_LED
Only things that really are tested in AGCM4 and that seems to work are: onboard SD and onboard eeprom LCD is not working yet (missing u8 libs code), servo have some issue with original library (doesn't work, doesn't compile but there are some PR that should fix these) while tmc may work but are not tested because I don't have any shield and any stepstick to test.
SSD1306 OLED over I2C is not working because u8glib doesn't support the ESP32. Using u8g2 would solve this but it's not currently used in Marlin
I did implement that support in the Marlin fork of u8glib here: https://github.com/MarlinFirmware/U8glib-HAL/pull/7 Unlike on LPC (see https://github.com/MarlinFirmware/Marlin/issues/13550) on ESP32 it does seem to be stable.
SSD1306 OLED over I2C is not working because u8glib doesn't support the ESP32. Using u8g2 would solve this but it's not currently used in Marlin
I did implement that support in the Marlin fork of u8glib here: MarlinFirmware/U8glib-HAL#7 Unlike on LPC (see #13550) on ESP32 it does seem to be stable.
Thanks I will check that at some point, I managed to compile fine when I did the tests but I had a crash loop when Marlin tried to initialise the screen. I assumed it was because of u8glib compatibility but apparently not. The crash was in u8gInit if i remember correctly.
EDIT: working fine with @Idorobots changes
What do you guys means with:
STM32: Needs software serial
I'm working in a Software UART to a side project, for Chibios OS on a STM32F1(Probably works on all STM32), and it may fit, depending on your needs. It uses a Timer that works 3 times the baud frequency, all interrupt code, plain simple but highly effective. Probably will finish until end of month.
I'm not familiar with Marlin, so if my question is dumb, just let me know.
Serial (and multiple serials) seems to works properly on the F1. What "could" be missing is the direct USB pins, printers seems to generally use a dedicated usb/serial chip via a serial channel. But i say could because pins are not linked/used on my boards.
Well, if that's the case, it is not a "Software serial" that is needed... odd.
Software serial is useful for talking to devices like the TMC2208 etc drivers (less so with the TMC2209 which allows multiple drivers to share a UART), when you may need five or more serial interfaces (to talk to the drivers) plus perhaps one or more to talk to say a TFT screen and perhaps another to talk to Octoprint or whatever. So you may need 7 UART devices. I'm not sure how many UARTS the STM devices support, or how easy it is to arrange for the pins to be available (they may be shared with other devices that are also needed like spi/i2c/adc etc.). On the LPC176x chips there simply are not enough hardware UARTS available and so we use software serial (@0x3333 you may want to take a look at how it is implemented for the LPC176x, sounds similar to how you are doing things).
@gloomyandy yeah, I thought that was the reason. The LPC176X is using arduino software serial, and it is blocking, isn't it?
@0x3333 No it is written for the LPC176x It uses the same API as the Arduino (so that it can be used with things like the TMC library). Everything is driven from a timer interrupt. It is sort of blocking on output, but only because the output buffer is only a single byte (like the Arduino version), but it only blocks if the previous character is still being sent. The source is here: https://github.com/p3p/pio-framework-arduino-lpc176x/blob/master/cores/arduino/SoftwareSerial.cpp
Ignore the header comment, that is from the original Arduino software serial code and I didn't get around to updating it before the code was merged.
Please, to whomever can change this post, grandcentral M4 should have β οΈ on TMC and lcd and π on WiFi and Max6675
Does the coming soon BigtreeTech SKR Pro is so much too far from the current Marlin status ? I still don't have the "big picture" of Marlin V2, so sorry in advance if it's a silly question. In fact, I even don't know if STM32F407ZGT6 already exists in Marlin ecosystem.
It exists. I have a board on the way. If its just a matter of a pin file, config samples ect and the HAL is good, it just might make it in. Time will tell.
I have a printer running on a BIGTREETECH SKR PRO with TMC5160's (X,Y) and TMC2130's (Z1,Z2,E) , everything seems ok except for linear advance, it doesn't extrude properly with LA enabled. Still trying to work that out.
doesn't extrude properly with LA enabled
Be sure to disable spreadCycle on E as this seems to play havoc with LA.
@thinkyhead are you sure you mean disable spreadcycle? From what I've seen it is stealthchop that causes problems and spreadcyle usually works.
@thinkyhead - core function things (LCD, USB serial, SD, Touch, SD-on-eeprom) have been working great now on JGAurora A5S/A1 for a while. Can we add them to the supported list to RC1? Different board, but same chip and status as Robin 2.4.
Are there any plans to include support for the 12bit ADCs on these boards? I've tried to switch from Smoothieware to Marlin on my MKS SBASE but the temps are nowhere near as smooth and none of the settings in Marlin seem to make it as stable as SW.
With respect to the FAST_PWM_FAN; the HAL doesn't support the DUE yet; but does support the LPC176x; as the DUE HAL lacks the void set_pwm_frequency(const pin_t pin, int f_desired)
definition anywhere in it's HAL. (and similarly the LPC176x does)
Just thought I'd chip in an say that I've been running 2.0 on an SKR V1.3 for about 2 months now. Configured with linear advance and TMC5160s in SPI mode. No issues at all. It's solid and believe me, I hammer it daily.
STM32: Needs software serial
Just an overview of the Status: stm32duino added that feature on the 11. September 2019 and released it with stm32duino v1.7.0 . platform-ststm32 merged stm32duino v1.7.0 today (1. October 2019), so when the the next release of ststm32 (something like 5.6.1 or 5.7.0) will include the software serial for the STM32.
So things are moving forward :-)
I2C GPIO expanders for Teensy 3.5 would be great. The chip is pretty powerful and could enable shields with more features. PCF8574 is pretty simple and common.
I guess this issue can be closed due to https://github.com/MarlinFirmware/Marlin/releases/tag/2.0.0
@thinkyhead do you agree with @extesy ^^^
will close this one as 2.0 is out
Let's coordinate the Marlin 2.0 RC1 release and track remaining work for this first release candidate.
AVR
SAM
LPC
STM32F1
STM32F4
STM32F7
ESP32
Teensy
Legend
Checklist for RC1:
Compiles and runs onβ¦
FAST_PWM_FAN
(e.g., Native PWM, also good for spindle/laser):