Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LCD Sharp BoosterPack SPI examples no longer work on CC13x0. #1059

Open
rei-vilo opened this issue Apr 18, 2020 · 5 comments
Open

LCD Sharp BoosterPack SPI examples no longer work on CC13x0. #1059

rei-vilo opened this issue Apr 18, 2020 · 5 comments

Comments

@rei-vilo
Copy link
Member

rei-vilo commented Apr 18, 2020

The LCD_Sharp128BoosterPack_SPI_main example no longer works on the Sharp 128 against the CC1350 LaunchPad.

Only the first Hello from line 45 is displayed.

The program seems to freeze before line 52.

Same for the LCD_SharpBoosterPack_SPI_main example on the Sharp 96 against the CC1350 LaunchPad.

@rei-vilo
Copy link
Member Author

The two same examples LCD_Sharp128BoosterPack_SPI_main and LCD_SharpBoosterPack_SPI_main run smoothly on a CC1352 LaunchPad with the corresponding screens.

@rei-vilo
Copy link
Member Author

Using a logic analyser shows the internal VCOM doesn't work as expected on the CC1310.

On the CC1350

SPI /CS goes high to select the screen, a first SCK signal goes on but nothing more. No second SCK signal and no /CS going low to deselect the screen.

Capture 2020-04-20 à 17 33 54

Capture 2020-04-20 à 17 29 05

On the CC1352

Capture 2020-04-20 à 17 33 46

Capture 2020-04-20 à 17 29 11

@rei-vilo
Copy link
Member Author

rei-vilo commented Apr 20, 2020

Replacing

SPI.transfer((char)command);
SPI.transfer((char)SHARP_LCD_TRAILER_BYTE);

by

        shiftOut(15, 7, MSBFIRST, (char)command);
        shiftOut(15, 7, MSBFIRST, (char)SHARP_LCD_TRAILER_BYTE);

seems to solve the issue.

But adding an extra SPI.begin(); before line 531 doesn't solve the issue.

  • Could SPI be called from a timer task?
  • Does the implementation of TI-RTOS on CC1350 differ from CC1352?

I don’t know the minutiae of the implementation of TI-RTOS in Energia MT.

@rei-vilo
Copy link
Member Author

rei-vilo commented Apr 20, 2020

Here are the traces after adding the patch

        shiftOut(15, 7, MSBFIRST, (char)command);
        shiftOut(15, 7, MSBFIRST, (char)SHARP_LCD_TRAILER_BYTE);

The program displays a first screen, waits for 1 second and then displays a second screen.

Trace for the CC1352

Capture 2020-04-20 à 20 44 45

Trace for the CC1350

Capture 2020-04-20 à 20 44 36

@rei-vilo
Copy link
Member Author

As the CC1352 replaces the CC1350, the workaround at #1061 is good-enough to patch the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants