Closed sl1pkn07 closed 4 years ago
Since you're planning not to use an aftermarket controller (i.e. SKR mini) but the Nucleo development board, you can use pretty much any display you pick. Though, you have to check beforehand whether or not the display controller you pick is supported by the U8G2 library from Oliver Kraus, since this is the one the SMuFF firmware builds upon. If it does, you only have to initialize the correct display (controller type) in SMuFF.cpp. I'd say, chances are pretty good you'll be able to reuse your CR10 display (aka standard RepRap 12864 display).
I've used the I2C OLED for two reasons:
Hi
the TFT i posted use the SSD1327 controller, and seems is supported by U8G2
i use the nucleo because have the same family of MCU (STM32F103XXX6) and i have already one
thanks
PD: a litle offtopic. you know this board?
https://wiki.fysetc.com/AIO_II/ https://github.com/FYSETC/AIO_II
i think is perfect for you project (up to V3, i think is not compatible with servos). have 4 drivers (exist a module for 4xTMC2208 in UART), have integrated LCD, encoder, SD and reset button. also have a free Serial pin header (include I2C pinout)
Yes, the display is supported although, it's got twice the resolution in height (128px), so you might need to modify some of the screens of the SMuFF firmware.
The FYSETC controller is nice! Great find. It's a combination of the Wanhao i3 mini (first controller of the SMuFF) and the SKR - I might want one ;o)
i have one, but i want to use for other project (DVD drive printer). sadly the missing servo. i'm not sure if can be used the fancy RGB port as servo
greetings
You can use the RGB if you get access to the signal before the MOSFETS. That's the price you pay for highly integrated stuff...
Hi, sorry for hihacked my own thread, but i need little help with support for Nucleo-f103rb
https://github.com/sl1pkn07/SMuFF-1.1/tree/nucleo_f103rb
Linking .pio/build/NUCLEO_F103RB/firmware.elf
/home/sl1pkn07/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/NUCLEO_F103RB/firmware.elf section `.rodata' will not fit in region `rom'
/home/sl1pkn07/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/bin/ld: region `rom' overflowed by 320 bytes
collect2: error: ld returned 1 exit status
*** [.pio/build/NUCLEO_F103RB/firmware.elf] Error 1
:cry:
how i can redute that 320Bytes? in one of your post in thinkiverse (i don't rebember what) you say i can put the json files into the headers, and i can get rid the SD code and json parser
how?
greetings and sorry
I don't think you'll get it 320 bytes down by removing the JSON parser. I'd rather say, shorten the texts in String.h, since those will be put into the ROM section as well.
To get rid of the JSON parser, you have to put your values as defaults into the smuffConfig structure in SMuFF.h and comment out the code in Config.cpp.
Edit: Be aware that you won't be able to change or rather store changed parameters from the menus anymore if you kick out the JSON / SD-Card part.
with
diff --git a/include/SMuFFBitmaps.h b/include/SMuFFBitmaps.h
index a2ac3cd..42028e6 100644
--- a/include/SMuFFBitmaps.h
+++ b/include/SMuFFBitmaps.h
@@ -22,7 +22,11 @@
#define logo_width 128
#define logo_height 64
-static const unsigned char logo_bits[] PROGMEM = {
+#ifdef __BRD_NUCLEO_F103RB
+ static const unsigned char logo_bits[] PROGMEM = {
+ 0x00, };
+#else
+ static const unsigned char logo_bits[] PROGMEM = {
0x00, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x1F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00,
@@ -109,5 +113,5 @@ static const unsigned char logo_bits[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };
-
+ #endif
#endif
diff --git a/src/SMuFF.cpp b/src/SMuFF.cpp
@@ -109,5 +113,5 @@ static const unsigned char logo_bits[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };
-
+ #endif
#endif
Checking size .pio/build/NUCLEO_F103RB/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [===== ] 53.9% (used 11032 bytes from 20480 bytes)
Flash: [==========] 99.5% (used 130368 bytes from 131072 bytes)
================================================================================================================== [SUCCESS] Took 4.79 seconds ==================================================================================================================
Environment Status Duration
---------------- -------- ------------
WANHAO_I3_MINI IGNORED
BIGTREE_SKR_MINI IGNORED
NUCLEO_F103RB SUCCESS 00:00:04.785
================================================================================================================== 1 succeeded in 00:00:04.785 ==================================================================================================================
should be ok?
WTF?
Well, ok ;o)
the code is not for merge to upstream, so don't worry xd
well, the branch experimental overflow the nucleo by 1264 bytes
well, time to mod the nucleo! (STM32F103RET6 incoming!)
Hi
im looking and buy the pieces for mount this awesome project!
but i have a lite questions
what type of LCDs is compatible with Smuff?
can work with SPI displays like the CR10/ENDER3 display? (10wires, display+encoder) (i have one wothout use)
if only use I2C, this display can work? https://es.aliexpress.com/item/32853228170.html (editer, the other display is SPI (damm SDA name XD)) 0.9" is little small for me (and +2" is quite expensive)
my project is based on ST NUCLEO-F103RB+CNC shield
greetings