Announcement

Collapse
No announcement yet.

Teensy 3.1 / 3.2 and 3.2" Picasso not communicating

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

  • Teensy 3.1 / 3.2 and 3.2" Picasso not communicating

    Hey guys,

    I've recently upgraded from an Arduino Uno to a Teensy 3.2 and i'm having trouble connecting the 3.2" Picasso display to the teensy.

    I've got the Teensy stacked onto a sparkfun Arduino adapter, and I have the Arduino adapter for the display, so everything should just click and work, but it doesn't.
    The power is getting to the display and my default forms load fine and work as they did with the uno, but the buttons and events which relied on host handling don't work anymore. If I try and load a different form in loop it doesn't work, so it's clear there's no communication, but why? ​

    Any idea what modifications I have to make in terms of wiring or code?

  • #2
    Teensy use Serial1.2.3 not the real Serial from UNO
    What do you use Genie Visi or Designer?

    Comment


    • #3
      Originally posted by ADVANCETOM View Post
      Teensy use Serial1.2.3 not the real Serial from UNO
      What do you use Genie Visi or Designer?
      Oh? I'm getting communication to the serial monitor from the teensy just by a Serial.print() in the loop. Should I be using a different Serial setup method?

      I use Visi Genie.

      Thanks​

      Comment


      • #4
        For Genie just use:

        Serial1.begin(9600); // Serial1 @ 9600 Baud Teensy 3.1

        genie.Begin(Serial1)

        Comment


        • #5
          im just connect the display directly to the Teensy3.1 without adapter or else on RX1 and TX1 Port 0 and 1 and works Fine.

          Comment


          • #6
            Originally posted by ADVANCETOM View Post
            For Genie just use:

            Serial1.begin(9600); // Serial1 @ 9600 Baud Teensy 3.1

            genie.Begin(Serial1)
            Tried this and still nothing. What do you have your RX and TX wired to?​

            Comment


            • #7
              RX from Display to pin 0 RX1 on teensy
              Tx from Display to pin 1 TX 1 on teensy

              Comment


              • #8
                Hi Guys

                We have had a few people using Teensy's with our displays, so I know they do work. The problem is likely simple.

                RX -> RX does not sound right to me.
                RX should go to TX, and TX should go to RX. One end sends, the other end receives. It does however depend what you are looking at exactly as to your take on RX and TX from the display.

                So you have one of these: https://www.sparkfun.com/products/13736
                and one of these: https://www.sparkfun.com/products/13288
                right?
                You are then plugging on one of these kits: https://www.sparkfun.com/products/11741
                ?

                As Tom said, it looks like the Teensy 3.1 and 3.2 break out their Serial1 port to pins 0 and 1, which in turn go to 0 and 1 of the sparkfun teensy adaptor, and thus into the 4D Arduino adaptor shield.

                So Teensy connects to Sparkfun adaptor. 4D Arduino Adaptor Shield plugs on top. 5 way cable from H1 header of 4D Arduino Adaptor Shield to 4D display, and that should be it.

                So simply doing:

                Serial1.begin(9600);
                genie.Begin(Serial1);

                Should be correct.

                You definitely have the same baud rate set on both ends, Teensy and Workshop4 application?
                Do you have sufficient delay after resetting the 4D display from the Teensy setup() routine, to allow the display to start up? Do you have this reset code present at all? If you dont, then the Teensy may start up faster than the display, and start talking to it before the display is able to communicate. Unsure what the Teensy does with Serial1 at startup, it might also send some rubbish at startup, which confuses the delay - another reason to reset everything at bootup so you have the Teensy started, display reset and then both are clean and ready to talk.

                I hope that is of some help - never touched a Teensy, but hopefully something above is the solution

                Regards
                James

                Comment


                • #9
                  Thanks for all the replies. The solution was to increase the delay() after the reset!

                  I believe the normal protocol for the Arduino is delay(3500), but the Teensy needs a delay of 5000ms.

                  Comment


                  • #10
                    Glad you have it working. Delay isnt so much for the Teensy, its for the display.
                    Factors such as the size of your WS4 application, and brand of your uSD card, can affect the delay required. As your WS4 program grows (not arduino sketch), the delay may need to increase.
                    So with 3.5 seconds before, your Teensy would have started talking to the display before it was fully booted and ready to accept data.

                    Glad you have it sorted

                    Regards
                    James

                    Comment

                    Working...
                    X