This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SPI transmission problem with SoftDevice S130

Hello,

I try to build a working firmware for reading some parameters from external sensors and transmit them thru BLE (I am using S130 and SDK 12.3.0). I have already developed the solution and it is working just fine, Now I want to display some info on the SPI display connected to my nRF51822 device. I can communicate with the display, so it's not a problem, problems are starting after starting BLE stack with active SPI transmission.

I have placed some SPI transmission code into the main loop of the firmware, something like that:

  for (;;)
  {
    power_manage();
    if (flag)
    {
      sprintf(str, "%.1f", (float)temp / 100);
      ST7735_DispStringHCenterAt(str, Font_16x26, ST7735_WIDTH / 2, 30);
      flag = false;
    }
  }

Communication with ST7735 is nothing more than some series of SPI transmissions. If I choose a smaller font (about 400 words to transmit per one sign) everything is OK, BLE is working, temperature is updated every 5 seconds. But if I want to use bigger font (about 1500 words per sign) it is displayed only once. BLE is not working anymore, text is not updated also. I am pretty sure it has nothing to do with firmware errors. I can display texts with selected font many times successfully before BLE stack is started.

So it should have something to do with transmission duration. What could it be? Please advice, I can't find any signs of errors and I am very disappointed.

With best regards, Alex

Parents
  • Hi,

    You write that BLE is not working anymore and text is not updated on the display, which is all seen from the outside. Have you attempted to use a debugger to check what is happening? As it seems like things stop working I am tempted to think that perhaps an error check has been hit, or your firmware is in some other bad state. The only way to know more is to use the debugger.

Reply
  • Hi,

    You write that BLE is not working anymore and text is not updated on the display, which is all seen from the outside. Have you attempted to use a debugger to check what is happening? As it seems like things stop working I am tempted to think that perhaps an error check has been hit, or your firmware is in some other bad state. The only way to know more is to use the debugger.

Children
Related