janick / wt32-sqln Goto Github PK
View Code? Open in Web Editor NEWGetting started with Wireless Tag's WT32-SC01 Plus using SquareLine Studio and LVGL
License: MIT License
Getting started with Wireless Tag's WT32-SC01 Plus using SquareLine Studio and LVGL
License: MIT License
Started fresh with everything today, getting this error trying to build:
`/home/me/git/WT32-SqLn/components/LovyanGFX/src/lgfx/v1/platforms/esp32s3/Bus_Parallel8.cpp: In member function 'virtual void lgfx::v1::Bus_Parallel8::writeBytes(const uint8_t*, uint32_t, bool, bool)':
/home/me/git/WT32-SqLn/components/LovyanGFX/src/lgfx/v1/platforms/esp32s3/Bus_Parallel8.cpp:354:70: error: 'LCD_CAM_LCD_UPDATE_REG' was not declared in this scope; did you mean 'LCD_CAM_LCD_UPDATE_M'?
354 | *reg_lcd_user = LCD_CAM_LCD_CMD | LCD_CAM_LCD_CMD_2_CYCLE_EN | LCD_CAM_LCD_UPDATE_REG | LCD_CAM_LCD_START;`
The same error occurs with Bus_Parallel16.cpp.
I'm building on Ubuntu 22.10 with Python 3.10.7
I've tried the earlier versions of LovyanGFX (1.1.15, 1.1.16) to no avail.
Found your repository, your work and detail in this github page is awesome. thank you.
two things:
Hi, thanks for your article, it helped me a lot to figure out that usb-c was not created for downloading a sketch
But I have a question, how to connect the programmer in wt32-sc01 plus
it seemed to me mlm on the attached screenshot, you have changed the rx and tx places, could you attach a clear connection diagram of the programmer?
and I understand that you are powering wt32-sc01 plus from 3v3?
Maybe some of you knows the answer:
Own a WT32-SC01 Plus. Question: Which type/norm of socket is the debug connector. Tried to find it out but no success up to now ...
Hi, thanks for the guide bro,
I need help for the build project.
This is my config for export path ui in squareline:
I I followed the steps described on your page, however, trying to execute the build command idf.py build
is returning an error in the ui.c file when you need these methods:
Any idea how to solve this ?
Best regards
Hi Janick, just a quick thank you for now, I just found your repo. Some days ago my 2 pcs of SC01 Plus arrived, and while desperately trying to program them a Hello world with 8ms thru USB-C (seems that I managed to brick one of them, hope the right programmer revives it) and finding almost no information, you came to my rescue. I was even thinking to switch to the plain SC01 version: more info, more IO (with standard pin headers), extension boards available, but I am tempted by the prettier and faster display. have to compromise.
Your Boot Button looks great! I have a similar lying around somewhere, will do it!
I am looking to interface the SC01 Plus with some of my CNC machines first, so I will need IO to some MOSFET and relay drivers, motor control, PWM output for LED drivers, maybe I2C or SPI input. Will buy some of those 8-pin MX1.25 connectors (thank you for showing the source, I found no info how they are even called)
Do you have an idea what existing IO extension board or ICs to use, in terms of what there are more examples for, software driver libraries? Considering the few available IO lines, I may rather choose to interface everything thru the RS485, making my on data bus with all my peripherals (with PIC controllers to convert everything to RS485), but how is serial communication supported by software libraries? I do not have much experience in ESP32 programming, previously I programmed the Microchip family microcontrollers.
sorry to barrage you with questions, (there will be more if I didn't scare you away) you're my only source of wisdom for now.
Hello Janick
I used board wt32-sc01-plus
Can you help me to configuration platformio.ini file ?
I spend time to configuration vscode -> plateformio to use psram but it is not working.
this is my configuration file
File platformio.ini
; [env:WT32-SC01-PLUS]
[env:esp32s3box]
platform = espressif32
board = esp32s3box
framework = arduino
upload_port = COM22
monitor_speed = 115200
upload_speed = 921600
board_build.f_cpu = 240000000L
board_build.f_flash = 80000000L
board_build.arduino.partitions = default_16MB.csv
board_build.flash_mode = qio
board_build.arduino.memory_type = qio_opi
build_flags =
-DESP32S3
-DBOARD_HAS_PSRAM
-mfix-esp32-psram-cache-issue
-DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1
-DCONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=1
-DCONFIG_SPIRAM_CACHE_WORKAROUND=1
board_upload.flash_size = 16MB
lib_deps =
SPI
lvgl/lv_arduino@^3.0.1
lovyan03/LovyanGFX@^1.1.9
bblanchon/ArduinoJson@^6.21.3
my code
float psramsize;
void setup(void)
{
SERIALBEGIN(_buad);
// init_sdcard();
lv_driver_tft();
multi_heap_info_t info;
heap_caps_get_info(&info, MALLOC_CAP_SPIRAM);
psramInit() ? Serial.println("\nThe PSRAM is correctly initialized") : Serial.println("\nPSRAM does not work");
}
unsigned long _ms = false;
void loop()
{
lv_task_handler();
if( millis() > _ms ){
_ms = millis() + 3000;
const float use_heap_memory = 100 - (static_cast(esp_get_free_heap_size())/ ESP.getHeapSize() ) * 100;
DEBUG_PRINTF("heap memory using : %.2f %%", use_heap_memory );
DEBUG_PRINTF("\tpsram : %d/%d\n", ESP.getFreePsram(), ESP.getPsramSize());
}
delay(5);
}
Thank you so much.
Hello sir i have WT32 and squareline i would like to run the squareline exported code on my WT32 but when i follow your instructions it says that i need to work with OTA, i do not know if i can skip this step or disable OTA in your peoject so that i just run simple sqaureline project on WT32 and if you have another way to do that i will be glad to show me.
Thanks.
Thanks for the useful repo. In the readme it says :
- Build the demo application using the command idf.py build
Where is the demo UI? Is there supposed to be some demo squareline files inside main/ui?
hi, esp has a function esp_sleep_enable_ext0_wakeup, tell me which pin is responsible for the output from deep sleep?
Hello.
The wt32_sc01_plus.zip is missing in Squareline board folder.
Is it possible to add it somehow?
Really appreciate this detailed description of possible routes to go. I was able to upload once to this board over usb-c, not doing anything special. The second time I tried, I ran into the issue you describe.
My board came with a jst-connector, and I'm connecting pin 0 to gnd to get a boot switch. This makes my board show up on com23 instead of 22 when it's running the sketch. The problem is that nothing will upload. esptool just hangs after Serial port COM23, no errors, nothing.
I've tried pressing reset while boot is low, then releasing reset and lastly releasing boot. I've also tried holding boot the whole time while trying to upload.
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: COM23
Forcing reset using 1200bps open/close on port COM23
Waiting for the new upload port...
Uploading .pio\build\WT32-SC01-PLUS\firmware.bin
esptool.py v4.5
Serial port COM23
This may not be the best forum to post this but this is something that clearly caused an enormous amount of frustration.
I got the WT32-SC01 not the plus. But they visually seem to be the same surface mounted port.
I had the same issues with the com port not showing up. The board would power up. But not show up as a port I could program to.
Fortunately I took the stupid approach and just forced it in harder. It was more force than seems reasonable. There was an audible click and the plug went in another fraction of a milometer. This is definitely not a typical thing for USB C: a click when fully seated, but this component seems to be that way.
It showed up at a com port. And I was able to program it as a esp32 wrover kit.
I still can't figure out how to get everything working. As there are few examples, but I guess that is the downside to a lesser known board.
Thank you for making this tutorial to help people.
I would like to know how i can run the code using LVGL only without Lovyan.
Thanks.
Most likely I'm missing a step but, after doing:
bringing all submodules in
idf.py set-target esp32
idf.py build
I get the following error:
/Dev/CNC/WT32-SqLn/components/LovyanGFX/src/lgfx/v1/misc/pixelcopy.cpp: In constructor 'lgfx::v1::pixelcopy_t::pixelcopy_t(const void*, lgfx::v1::color_depth_t, lgfx::v1::color_depth_t, bool, const void*, uint32_t)':
/Dev/CNC/WT32-SqLn/components/LovyanGFX/src/lgfx/v1/misc/pixelcopy.cpp:39:25: error: member 'lgfx::v1::pixelcopy_t::<anonymous>' is used uninitialized [-Werror=uninitialized]
39 | , src_mask ( (1 << src_bits) - 1 )
| ^~~~~~~~
/Dev/CNC/WT32-SqLn/components/LovyanGFX/src/lgfx/v1/misc/pixelcopy.cpp:40:25: error: member 'lgfx::v1::pixelcopy_t::<anonymous>' is used uninitialized [-Werror=uninitialized]
40 | , dst_mask ( (1 << dst_bits) - 1 )
| ^~~~~~~~
cc1plus: some warnings being treated as errors
[702/1148] Building CXX object esp-idf/...yanGFX.dir/src/lgfx/v1/LGFXBase.cpp.objninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /Dev/CNC/WT32-SqLn/build/log/idf_py_stderr_output_44835 and /Dev/CNC/WT32-SqLn/build/log/idf_py_stdout_output_44835
Any suggestions?
Hi my friends, I make another project based on this project.
Im make GUI on Squareline and export UI files to WT32-SqLn/main/ui
I following this guide https://github.com/janick/WT32-SqLn#lanscape-orientation for configure landscape orientation
But, after flash my UI is cutting:
I do not have idea how to solve this.
Best regards
hello, i try compile in vsc but i have problem. Who not found cmakelist?
` Executing task: cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -B c:\Users\Patryk\WT32-SqLn\build -S c:\Users\Patryk\WT32-SqLn
-- Found Git: C:/Users/Patryk/vsc/.espressif/tools/idf-git/2.39.2/cmd/git.exe (found version "2.39.2.windows.1")
-- Component directory C:/Users/Patryk/WT32-SqLn/components/LovyanGFX does not contain a CMakeLists.txt file. No component will be added
-- Component directory C:/Users/Patryk/WT32-SqLn/components/lvgl does not contain a CMakeLists.txt file. No component will be added
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/Patryk/vsc/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/Patryk/vsc/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/Patryk/vsc/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
Processing 2 dependencies:
[1/2] espressif/fmt (9.1.0)
[2/2] idf (5.1.2)
CMake Error at C:/Users/Patryk/vsc/esp/esp-idf/tools/cmake/build.cmake:266 (message):
Failed to resolve component 'LovyanGFX'.
Call Stack (most recent call first):
C:/Users/Patryk/vsc/esp/esp-idf/tools/cmake/build.cmake:302 (__build_resolve_and_add_req)
C:/Users/Patryk/vsc/esp/esp-idf/tools/cmake/build.cmake:595 (__build_expand_requirements)
C:/Users/Patryk/vsc/esp/esp-idf/tools/cmake/project.cmake:547 (idf_build_process)
CMakeLists.txt:29 (project)
-- Configuring incomplete, errors occurred!
See also "C:/Users/Patryk/WT32-SqLn/build/CMakeFiles/CMakeOutput.log".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.