NubeQ: Pin configuration not showing anything significant when loading sample applications

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JoLl_4741886
Level 3
Level 3
10 replies posted 10 sign-ins 5 replies posted

The short story:

Select New Application. Select the CY8CKIT-062-WIFI-BT BSP. Select "OLED emWin FreeRTOS". Open Device Configurator expecting to see the pins defined for communicating with the display. There should be 8 data pins and 4 or 5 control pins. All I see are CapSense pins, SWD and UART pins defined. Why are the LCD control pins not showing up in Device Config?

Longer story:

After using PSoC Creator successfully for PSoC5 projects and have been at a standstill for a while with MTB 2.2 with PSoC6. I am building a project with a 320x240 LCD and I want maximum speed for dumping real-time logs to the little display. I thought that since the Pioneer kits use an Arduino shield with a parallel data interface to the ST7789V display controller, I could use this as a starting point. I got emWin working with the display with PSoC Creator and the PSoC5 and am dead in the water with MTB and PSoC6. MTB and I are not friends yet. I see that new tutorial videos have been posted to YouTube and am working my way through those but am not seeing the answer to my LCD display dilemma.

I've tried other sample projects but I see the same thing: the pin configuration doesn't show the real pin usage. What am I missing?

TIA!

0 Likes
1 Solution
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi JoLl_4741886​,

I believe you are referring to this Code Example - GitHub - cypresssemiconductorco/mtb-example-psoc6-emwin-oled-freertos: This code example demonstrate...

Please correct me if I am wrong.

The code example uses an SSD1306 OLED display which is interfaced using I2C.

You do not see the pins enabled in Device Configurator because the pins/peripherals are initialized using Hardware Abstraction Layer (HAL) APIs which do not require Device Configurator. The pins are mentioned in the code itself. You can find the initialization code for the I2C peripheral and the display in oledTask.c

You can learn more about HAL drivers in this training - Session 2: Introduction to Digital Peripherals in ModusToolbox

Session 2: Introduction to Digital Peripherals in ModusToolbox - YouTube

You can also refer the discussions on these threads -

Running Hello World with CY8CKIT-062-WiFi-BT using Modus Toolbox

Issues starting with ModusToolbox IDE on Mac

Hope this helps,

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B

View solution in original post

0 Likes
6 Replies
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi JoLl_4741886​,

I believe you are referring to this Code Example - GitHub - cypresssemiconductorco/mtb-example-psoc6-emwin-oled-freertos: This code example demonstrate...

Please correct me if I am wrong.

The code example uses an SSD1306 OLED display which is interfaced using I2C.

You do not see the pins enabled in Device Configurator because the pins/peripherals are initialized using Hardware Abstraction Layer (HAL) APIs which do not require Device Configurator. The pins are mentioned in the code itself. You can find the initialization code for the I2C peripheral and the display in oledTask.c

You can learn more about HAL drivers in this training - Session 2: Introduction to Digital Peripherals in ModusToolbox

Session 2: Introduction to Digital Peripherals in ModusToolbox - YouTube

You can also refer the discussions on these threads -

Running Hello World with CY8CKIT-062-WiFi-BT using Modus Toolbox

Issues starting with ModusToolbox IDE on Mac

Hope this helps,

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B
0 Likes

Rakshith, thank you for your reply.

I am looking at the PSoC6 WiFi-BT Pioneer Kit, part number CY8CKIT-062-WiFi-BT. I figured that the example code was going to match the TFT display included with the kit. It is based on the ST7789V display controller. The schematic for the LCD shows a parallel interface (4 control lines plus 8 data lines). I'll look for example code that communicates with the TFT Shield included with the kit.

0 Likes

Hi JoLl_4741886​,

These discussions might help you -

Re: CY8CKIT-062S2-43012 with CY8CKIT-028-TFT Demo?

Adding TFT to my project

Fun with the TFT

Regards,

Rakshith

Thanks and Regards,
Rakshith M B
0 Likes

Rakshith,

Thank you again for your help. I'm digging through the projects you created in the other thread to understand how the libraries work in MTB. It may take a few days for me to get through it.

0 Likes

Hi JoLl_4741886,

Sure! You can always create a thread if you face any issues and we will try to help you in resolving the issue

Best Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B
0 Likes

I thought I'd follow up to keep track of my own progress. Baby steps.

I was able to build the project today by using these steps:

  1. Switch the active BSP to CY8CKIT-062-WIFI-BT. That had the side-effect of removing the CY8CKIT-028-TFT and motion sensor libraries from the project. I figured that was ok because the mtb_st7789 library was still present. It is good that the CY8CKIT-028-TFT library was removed by the library manager because the library has support for other devices that are on the TFT shield that are not present on my breadboard.
  2. Remove the CY8CKIT-028-TFT include file from main.c.
  3. Hardcode the pin definitions in main.c to match my hardware setup as below.

After that, the project builds.

Next, I need to investigate whether port 8 is working as expected after the mtb_st7789v init code runs. I am using port 8 for TFT control signals and am concerned that port 8 is configured for capsense. If I don't find out what code is initializing the capsense pins quickly, I'll hook a scope up and try stepping through the TFT init code to see if the pins working as expected. If so, then it's time to hook up the TFT, check for smoke and step through the initialization to see if emWin can bring up the display.

pastedImage_0.png

0 Likes