BSP (Board Support Package) not the latest version

The latest version of Custom Waveshare 7inch is v1.0.1 (check link esp-bsp/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch at master · espressif/esp-bsp · GitHub).

However, the built in included BSP in Squareline Studio is v1.0.0. The generated code is not the latest version.

What I tried

I have also tried to add the BSP myself through adding the BSP file by putting the generated BSP in the SquareLine Studio 1.3.0\boards path. However, SLS does not recognizes the newer version.

Did you run gen.py to get the actual packages for SLS?

Breakdown of the differences

The main difference between the two file structures is the presence of the priv_include directory in the first structure and the absence of the priv_include directory in the second structure. Here’s a breakdown of the differences:

The imported actual packages project :

  • Generated following the guide with python gen.py -b custom_waveshare_7inch -o output_folder and put generated espressif/custom_waveshare_7inch folder into boards in SquareLine Studio installation folder
  • idf_component.yml of the component is v1.0.1
  • The components directory contains a subdirectory called ws_7inch, which represents a specific component or module.
  • Inside the ws_7inch directory, there are several files and directories, including CMakeLists.txt, idf_component.yml, LICENSE, pic.jpg, README.md, and ws_7inch.c.
  • The ws_7inch directory also contains an include directory, which further contains a subdirectory called bsp and includes the files esp-bsp.h and ws_7inch.h.
  • Additionally, there is a priv_include directory inside the ws_7inch directory, which includes the file bsp_err_check.h.
  • The main directory contains files and directories related to the main project, including CMakeLists.txt, idf_component.yml, main.c, and a subdirectory called ui.

The exported project when I clicked Export - Create Template Project :

  • The overall file structure is similar to the first structure, with the same files and directories present in the root directory (CMakeLists.txt, LICENSE, partitions.csv, README.md, and sdkconfig.defaults).
  • The components directory also contains the ws_7inch subdirectory, which includes similar files (CMakeLists.txt, idf_component.yml, LICENSE, pic.jpg, README.md, and ws_7inch.c).
  • However, in the second structure, the ws_7inch directory lacks the priv_include directory.
  • Inside the ws_7inch directory, there is an include directory that contains a subdirectory called bsp, which includes the file ws_7inch.h.
  • The main directory and its contents (including CMakeLists.txt, idf_component.yml, main.c, and the ui subdirectory) remain unchanged.

In summary, the main difference is the presence of the priv_include directory in the first structure and its absence in the second structure. This difference indicates that the exported project from the “Create Template Project” process does not include the priv_include directory or its contents.

File structure

The imported actual packages project :

.
|   CMakeLists.txt
|   LICENSE
|   README.md
|   sdkconfig.defaults
|
+---components
|   \---ws_7inch
|       |   CMakeLists.txt
|       |   idf_component.yml
|       |   LICENSE
|       |   pic.jpg
|       |   README.md
|       |   ws_7inch.c
|       |
|       +---include
|       |   \---bsp
|       |           esp-bsp.h
|       |           ws_7inch.h
|       |
|       \---priv_include
|               bsp_err_check.h
|
\---main
    |   CMakeLists.txt
    |   idf_component.yml
    |   main.c
    |
    \---ui
            README.md

The exported project when I clicked Export - Create Template Project :

.
|   CMakeLists.txt
|   LICENSE
|   partitions.csv
|   README.md
|   sdkconfig.defaults
|
+---components
|   |
|   \---ws_7inch
|       |   CMakeLists.txt
|       |   idf_component.yml
|       |   Kconfig
|       |   LICENSE
|       |   pic.jpg
|       |   README.md
|       |   ws_7inch.c
|       |
|       \---include
|           |
|           \---bsp
|                   ws_7inch.h
|
\---main
    |   CMakeLists.txt
    |   idf_component.yml
    |   main.c
    |
    \---ui

It’s really interesting, to be honest I have no idea how can it happen that only one folder is missing.
We have tried it on Linux and Windows and it worked well in both cases.

I guess you have tried to export it again.

Oh, we have any idea! Did you put the board files to C:\Users\USERNAME\Documents\SquareLine\boards?

Be sure you don’t have it in C:\Program Files\SquareLine Studio 1.3.0\boards.

For several months, I have consistently placed the board files in the directory C:\Program Files\SquareLine Studio 1.3.0\boards.

Copy generated espressif/custom_waveshare_7inch folder into boards in SquareLine Studio installation folder.

According to the guidance provided in the documentation esp-bsp/README.md · GitHub, it appeared that the aforementioned location was the designated destination for the board files.

The board packages need to be copied to the boards folder of SquareLine Studio.

Furthermore, the documentation on Open Board Platform (OBP) | SquareLine Studio lacks explicit instructions regarding the precise path for storing the Board Support Package (BSP) board files.

Great! I can confidently affirm that the Board Support Package (BSP) and User Interface (UI) export functionality in SquareLine Studio (SLS) operates seamlessly when the board files are placed in the directory C:\Users\USERNAME\Documents\SquareLine\boards, as opposed to the previous location at C:\Program Files\SquareLine Studio 1.3.0\boards.

Great! :tada:
Thank you for the feedback. We will update the docs.