Announcement

Collapse
No announcement yet.

on raspberry pi connection problems

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

  • on raspberry pi connection problems

    Hello. I've just got myself 32PTU-Pi, unfortunately without uUSB-PA5 as it wasn't available locally.
    (yep, it was really great idea that screen software can't be updated with generic usb to ttl adapter, only with proprietary one).

    While USB adapter is on its way I'm trying to control lcd via serial port, it worked with PC (generic ftdi adapter), it even worked with arduino, but not really good with raspberry pi.

    Even with disabled serial console raspberry pi prints "Uncompressing Linux... done, booting the kernel." to uart, it shouldn't be a problem since after that uart is free and usable, but looks like it prevents proper initialization of display. In this case display doesn't respond at all.

    If display was connected after pi has booted up it shows welcome screen, but to make it work i need to close freshly opened connection and open it again, only after that it works as intended.

    Attached 3 images from my dso:
    when screen powered with raspberry pi:

    when screen powered later (first serial open):

    when screen powered later (second serial open):


    test python code:
    HTML Code:
    import serial
    s = serial.Serial('/dev/ttyAMA0',9600)
    s.write("ffc50064006400c8012c001f".decode('hex'))
    any suggestions on how to make screen work with less complications are welcome

  • #2


    There seem to be a few issues with 'getting the Pi working'.

    Since, as you say the first trace is after the Pi has sent it's boot up diagnostics I suspect there would be a message on the Display indicating why it wasn't responding.

    The second trace is what Pi user's have reported before and seems to be caused by a spurious byte being send by the Pi when serial comms is opened in python, not sure what people have done to get around that.

    The third trace I don't understand at all.

    The ViSi Genie Pi Library must have gotten around these issues somehow, maybe you can find the answer in that library https://github.com/4dsystems/ViSi-Genie-RaspPi-Library


    Failing that, maybe try contacting the author of that library and see if he has gotten serial working with Python https://projects.drogon.net/contact/
    Mark

    Comment


    • #3


      In first case display stays completely blank, backlight on, no messages.

      What's wrong with third one? It's the only case when command was executed (blue rectangle rendered)

      Comment


      • #4


        The correct response to the rectangle command is 0x06, not 0x33.

        In the first case, yeah, the screen could end up blank with all the stuff the Pi sends during boot. It would probably be a good idea to reset the display after it receives all of that. Even better to prevent it from being sent, but anyway.
        Mark

        Comment


        • #5


          Oh, it is 0x06 according to software, it was decoded as 0x33 by the scope because of misconfiguration.
          I've already tried with reset and it works fine (except for need wait another five seconds and open serial connection twice), sadly reset pin on the adapter is not connected. Maybe 4d should consider connecting it to one of free gpios in the next version of rpi adapter, or even make pads for all of them and leave user to pick one with solder jumper.

          Comment


          • #6


            Have you been able to pick a suitable gpio and connect it?

            How did you decide which were 'good' candidates and which weren't?
            Mark

            Comment


            • #7


              There are number of GPIO pins available on GPIO header of RPI, of course some of them can be used depending on current setup, display itself use 2 pins for serial communications.
              Since i'm not using i2c I've picked GPIO3 (used numbered scheme attached), according to http://elinux.org/RPi_Low-level_peripherals this pin already have pull-up resistor.



              Example code using rpi.gpio python package:
              HTML Code:
              import RPi.GPIO as GPIO
              GPIO.setmode(GPIO.BOARD)
              GPIO.setup(3,GPIO.OUT,pull_up_down=GPIO.PUD_UP,initial = GPIO.HIGH)
              
              GPIO.output(3,GPIO.LOW)
              GPIO.output(3,GPIO.HIGH)

              Comment

              Working...
              X