Экран TFT требует 'tft.begin' при объединении Arduino с программой .net через CmdMessenger - PullRequest
0 голосов
/ 28 августа 2018

Я нахожусь в процессе превращения arduino в «фиктивную» доску, чтобы поддерживать поведение ближе к DAQ. В основном используя CmdMessenger Я планирую в конечном итоге уйти от программирования на Arduino и управления им напрямую через проект .net.

TFT аппаратно подключен.

Пока все идет отлично. Однако моя проблема возникает, когда я пытаюсь реализовать TFT. Идеальная ситуация - динамически создавать TFT-объекты.

#include <TFT.h>        
void TFTBegin()
    {
      int CS = cmdMessenger.readInt32Arg();
      int DC = cmdMessenger.readInt32Arg();
      int RESET = cmdMessenger.readInt32Arg();
      //  TFTscreen  = TFT(CS, DC, RESET);
      TFT(CS, DC, RESET).begin();

      // BELOW CODE IS FOR DEBUGGING AND TEMP ENSURING SCREEN IS SETUP
      TFT(CS, DC, RESET).background(0, 0, 0);
      TFT(CS, DC, RESET).stroke(255, 255, 255);
      TFT(CS, DC, RESET).setTextSize(2);
      TFT(CS, DC, RESET).setTextSize(5);
      CheckSetup(); // FEEDBACK COMMAND TO CONFIRM SETUP COMPLETE
    }

    void TFTCommands()
    {
      enum commands
      {
        background,
        stroke,
        setTextSize,
        text,
      };

      int CS = cmdMessenger.readInt32Arg();
      int DC = cmdMessenger.readInt32Arg();
      int RESET = cmdMessenger.readInt32Arg();
      int Command = cmdMessenger.readInt32Arg();
      TFT(CS, DC, RESET).begin(); // WITHOUT THIS LINE NOTHING HAPPENS ON THE SCREEN?
      switch (Command)
      {
    case background:
      {
        Serial.println("test");
        int R = cmdMessenger.readInt32Arg();
        int G = cmdMessenger.readInt32Arg();
        int B = cmdMessenger.readInt32Arg();
        TFT(CS, DC, RESET).background(R, G, B);
      }
      break;

ECT...

Функция TFTBegin работает должным образом, и TFTCommands обновит экран, но только после его повторной инициализации, что приводит к значительным задержкам в процессе. Я использовал TFT, традиционно используя библиотеку, и все, и все в порядке, так что только в этом формате. Я также проверил файлы библиотеки, но не вижу ничего очевидного.

Любая помощь будет принята с благодарностью! Спасибо!

...