Announcement

Collapse
No announcement yet.

Visio-Genie with 9" Diablo screen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Visio-Genie with 9" Diablo screen

    Hi. I am starting out using these products. I have a 9" screen and started a project using the Viso-Genie tool. I can add any button, graph, digits etc to the emulated screen but when I upload to actual LCD, it is blank. If I add a primitive symbol such as a square or circle, that will upload ok and display. If I take an example project that has digits, slide and graph, it uploads and works ok. If I try adding anything new to the example project such as an additional button or grpahics, it only uploads the original items from example project. It appears I can not create or add any buttons, digits, graphs etc. Any idea what is happening?

  • #2
    Hi,

    Welcome to the forum.

    When you create any additional items do you notice the graphics being re-generated for the new objects and the Copy Confirmation message where it asks you to select an SD card.

    Could you also check that the Destination is set to Run Flash under the Project tab.

    You may find this application note useful

    https://4dsystems.com.au/blog/4d-an-00106/

    Best regards

    Comment


    • #3
      I am not sure what you are referring to about graphics being regenerated and select sd card.

      The app note you sent is where I first started and used that example which uploads to display just fine. If I keep that example open and try to add any new function, the screen in 4D IDE shows the new item. Then I clcik Build Copy/Load. A progress bar comes up then a window to select a drive (sd card) on my PC which I do and is a 4GB card. After hitting OK, another progress bar comes up, then the LCD goes blank, you see text in the corner initializing. When the graphics comes up on LCD, it is missing the new item I added. Only time it accepts a change is if I change an existing item from project (change size, number of digit etc) or add a new primitive item like a square, circle or triangle. If it is an image or active type of item (button, chart, etc) it does not update screen.

      Comment


      • #4
        Hi,

        Sorry to hear you are still having an issue.

        I've just tried the example added 2 buttons, taken the SD card out of the display. Inserted the SD card into the PC chose the SD card as the drive to save to and then it saved the new graphics to the SD card and then uploads the new code to the display, removed the SD card from the PC and inserted it back in the display and the two buttons appeared. It's very odd that you don't see the new objects.

        The changes you make to the existing images that appear on the display means that you are successfully saving to the SD card. Would it be possible to send me the project that you modified so I can test it here. You can zip your project by clicking on File then Zip Project and send the zip to me.

        Best regards

        Paul

        Comment


        • #5
          Hi Paul

          Maybe I am not following the SD card process correctly. I have two SD cards, one located always in display and the other always loaded in the PC. If I make a change to the project, I hit build Copy load and it prompts me to the E drive where the SD card resides on the PC. After I hit OK in that window, it shows copying files then shows upload to LCD. The LCD resets, you see it boot load and some display will be there.

          Are you indicating that I only should use 1 SD card and have to keep remving from LCD, place in PC, copy/load, then install SD card back in LCD?

          Like I said maybe I am misunderstanding the flow and the purpose of th SC cards.

          Thanks

          Jim

          Comment


          • #6
            Hi Jim,

            Sorry for the delayed response

            Yes thats correct. It's just one SD card you need and you take it out of the Display and insert it in the PC when making changes to graphics and then replace it back in the display after copy/load.

            Best regards

            Paul

            Comment


            • #7
              I got passed some original issues. Now I am trying to interface to an arduino to send data from arduino to be displayed on LCD. At the moment I am doing the simplest level possible to just ensure communication is working and it is not. I have the TX1 of Arduino Mega connected to RX of display and RX1 connected to TX of display. There is also a ground wire. I wrote a simple sketch to repeatedly send 1234E over Serial 1 every second. I verified with a scope that the RX pin of display is seeing the data and it is. The Serial1 of Mega is set to 115200.

              I am using the Visi program and started a fresh project. To set up the program in Visi I have the following set as global variables
              var values[10];
              var gotMessage := 0;
              var tempMessage[15];
              var tMcount;
              var combuf[100];

              Then inside main function I set up com, then set up a getSerial function to keep checking input. I believe the getSerial is something I found you wrote in another forum.

              var n;
              com_Init(combuf, 100, 0);
              n :=com_SetBaud(COM0, 11520);
              print("Baudrate Status = ");print(n,"\r\n");
              repeat

              getSerial(); // Get any serial and check for message
              forever
              *******************************************************
              func getSerial()

              var recbyte;

              n := com_Count();
              print("ComCount = ");print(n,"\r\n");

              while(com_Count() > 0)

              recbyte := serin();
              if(recbyte == 69) gotMessage := 1; // check for "E" and set message complete flag
              if(gotMessage != 1) // if message not complete keep building
              tempMessage[tMcount] := recbyte;
              tMcount ++;
              endif
              wend

              if(gotMessage == 1)
              gotMessage := 0;
              var n;
              var multiplier;
              var tempval;
              tempval := 0;
              multiplier := 1;
              for(n := tMcount - 1; n > 0; n--)
              if(tempMessage[n] > 47 && tempMessage[n] < 58)
              tempval := tempval + ((tempMessage[n] - 48) * multiplier);
              multiplier := multiplier *10;
              endif
              next
              if(tempMessage[0] == 97) values[0] := tempval; // if message starts with 'a' 97 being ASCII for a
              // add morechecks here in the same format eg 'b600\r\n'
              tMcount := 0;
              // ledDigitsDisplay(tempval, iLeddigits0+1, 304, 4, 2, 30, 1) ;
              endif

              endfunc

              The program compiles no errors. I upload to display and then disconnect rx/tx of programming cable and connect display rx/tx to the Arduino.
              As some debug code, when setting the com port, it is supposed to return true however depending on baudrate, I get a different decimal number. In this case I get a 36.

              Then I put in a simple print statement to output on display the number of bytes in ComCount and it constantly says 0. The Arduino is running in a loop.

              I cant see what could be wrong. I have tries reversing RX/TX as well and it seems no serial data is being captured.

              Any ideas?

              Comment

              Working...
              X