No announcement yet.

Multiple Displays and Multiple Forms Using a Teensy 4.1 as Arduino

  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    So the COM port selection in Workshop4 sets where Genie will talk out of the display.
    Setting it to COM1 means it will use the 2 GPIO pins you have selected out of the 30 way FFC connector, instead of the standard RX/TX pin.
    If you are using the gen4-IB, you MUST use COM0 as only TX/RX come out of the gen4-IB.
    If you are using the 4D-UPA, you MUST use COM1 as the TX/RX is being connected to the USB to Serial chip on the programmer, which makes connecting those pins also to your Arduino, not a good idea. It normally results in comms not working. So this is why you would use COM1 in this situation, BUT you then must take the wires from the 2 GPIO pins you selected in WS4, off the pads on the 4D-UPA and wire them up.

    Remember, changing the COM port in Workshop4, means you have to change the wiring to suit too. Also TX goes to RX, and RX goes to TX, between the teensy and the display.

    So yes, you can use gen4-IB on both displays, like I did in the video I presented. You will just have to unplug the gen4-IB and replace it with the 4D-UPA when you want to program the display, and then switch it back to the gen4-IB to run it again.

    Alternatively, you can set the Destination to uSD in Workshop4, and then load the 'Update Banks and Run' from the Tools menu, so then each time you want to change the project on the Display, you just swap out the uSD card, you dont need to program the display with the 4D-UPA.

    If you press the Reset button on your Teensy, the Teensy program will restart and it will trigger the reset of both displays via the code in your setup() routine. If only 1 display is resetting, then likely the display that is not resetting is not getting the reset signal from the Teensy, so check your GPIO is set correctly in your code (set to output, etc) and check the wiring, or maybe change to a different GPIO. It worked perfectly fine for me on my Arduino, both reset correctly.

    Hope that helps



    • #17
      Ok i got it actually that destination change makes life so much easier and i now have the double gen4-ib setup working thank you for you help with that. I have this weird issue though where sometimes my screen will perform the functions super quick and other times it will be super super slow say on when it is appending the numbers to the frequencies. Also I moved everything to a PCB we created and it finally started working when I swapped the TX and RX jumpers (go figure). Should I find a way to maybe clear the buffer or something like that? thank you. I am going to reattach everything here so you can just have an idea of where i'm at
      Attached Files
      Last edited by Riptor919; 24 July 2021, 02:26 AM.


      • #18
        So i got everything going I do however have to program the bottom display in the UPA or else it gives me issues. The screen would not work unless I did it that way. Also I have a randomish question where I would not really know where else to ask this. We are thinking about possibly shaving/cutting the bezels of the display and I was wondering if that would cause any issues as far as is there any sort of layers in the screen that would be destroyed that are vital for its function etc or is this doable? Let me know or if you need to you can for sure place this question in a different forum location. Thank you


        • #19
          Hi again,

          RE the super slow performance, if you can take a video, that would help me understand what you are talking about.
          Both of your screens are resetting correctly now after resetting the Teensy? This ensures they are in sync to start with.

          RE the bottom display needing to be programmed using the UPA or else it gives you issues - sorry, can you give more information? I assume you loaded the Update Banks and Run to the module with the 4D-UPA, and have the destination set to uSD after that, and then compile and build the program to load the card in WS4 and put it in your display?

          RE the bezel, are you talking about the glass CLB? You want to trim it? There should not be any CTP signals or anything in the outer CLB edge, however what success you will have I am unsure. If you want something custom, this can be arranged, please just raise it on a Support Ticket and this can be directed to our LCD factory and things can be customised.



          • Riptor919
            Riptor919 commented
            Editing a comment
            I will send a video tomorrow I am pretty sure that the Reset is working properly now though

        • #20
          As far as what you said in the 2nd paragraph that is exactly what i am doing. Both were on bank 1. I then programmed the sd cards without plugging the displays into the computer as i did before. When I tried to upload the sd card into the back of the bottom display, it would be stuck on form 1 and the buttons were not responding to my touch on that form like they would not light up when i pressed them and sometimes it would somehow glitch and make it to form 2 on the bottom display and those buttons did respond to my touch, but none of them would perform any sort of function even the main menu button did not execute a simple formActivate attached to the button. The top display also did not respond to anything from the bottom display either. But all of this was fixed when i programmed via the 4D-UPA. As far as the bezel thank you for that information that is very helpful. I will be back tomorrow with updates. Also do you know the exact material of the top layer of the screen like the plexiglass? just want to know what we would be dealing with and if we wanted to replace that layer it would be very helpful to know. the material seems to be the same for both screens
          Last edited by Riptor919; 27 July 2021, 08:39 AM.


          • #21
            32DCT-CLB and 32D-CLB, are both hardened glass fronts.

            Regarding the issue with the loading from uSD, I just want to double check.
            Are you sure when you had the displays connected to the computer with the programmer, you clicked the "Update Banks and Run" from the Tools Menu, for each display, and then changed the project over to uSD destination and loaded the cards, and then put them in the display?
            If you didn't do the Update Banks and Run, then there would be no program in the processor to know how to load from the cards, and it will just be running the last program you loaded to Flash.
            If you didn't then load the card with the updated project, then you would have weird things happening also, it would be running the last program you had on there, etc

            You might want to repeat the process to be sure.

            Do this for each of the displays. Plug the display into the programmer, and open the project for that display in WS4. Go to Tools, and select 'Update Banks and Run' and let it load that to the display. Then select your designation to be uSD card, if it is not already. Put the uSD card into your computer, and then do a Build of the project, and it will load the project onto the uSD card. Remove the card from the computer, and put it in the display. Power up the display, it should then load the card onto the Flashbank1 and then run it.
            Each time you change the project in WS4, take the card out of the display and put it in your computer, Build the project (with designation still on uSD card) and load the card, then put it back in the display and power the display up.

            I hope that helps