Announcement

Collapse
No announcement yet.

Serial works Workshop4 terminal but doesnt work on Putty

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

  • Serial works Workshop4 terminal but doesnt work on Putty

    Hi people,

    I'm facing some problems regarding the serial communication with the Gen4-uLCD-32DT module.
    I can interface it with the computer using the terminal at 115200 from the workshop 4 tools (both directions), but it does not work with putty and other devices (such as the microcontroller it is suppose to interact with). I have run out of ideas on what to try here. Any help will be greatly appreciated.

  • #2
    Hello,

    Welcome to the forum!

    Could you please explain more about how you're communicating with the display via putty?

    based on these posts, I don't think you can send hex data from a putty session:

    How do I transmit a single hexadecimal value serial data in PuTTY using an Alt code?
    https://superuser.com/questions/7593...using-an-alt-c

    How to type/send hex on a PuTTY session
    https://serverfault.com/questions/28...-putty-session

    To try and simulate your issue on my end, I've set up a simple ViSi Genie program.

    As you've stated, I can send hex bytes via the serial terminal of the Workshop4 IDE and the display responds accordingly.

    I then used realterm to try and send hex bytes to the display and it seemed to have worked as well.

    Can you give more information about your project?

    What microcontroller are you trying to use?

    This application note might provide additional information as well.

    Serial Connection to an Arduino Host
    https://www.4dsystems.com.au/appnote/4D-AN-00092/


    Best regards,
    Michael

    Comment


    • #3
      Hi Michael,

      after some debugging with realterm that you mentioned I found that the code was being sent by the uC using something else than putc(). We figured that by sending with putc() we can get the job done. Thanks a lot.

      Davi

      Comment


      • #4
        I am also attempting to use the 4D Terminal with Hyperterminal or Putty, and having some success.

        1. There is no 'terminal' character employed with the 4D, only the 8 Xor checksum as the last byte. [Odd, and not a standard deployment of RS232 protocol]

        2. You need to send the data as Raw Hex, not as ASCII so a terminal program without changing it's base configuration will not do this. [Microprocessors send in Raw Hex natively, but terminal programs do not]

        When I make more progress, I will post more.
        Regards
        Jack

        Comment


        • John Kevin
          John Kevin commented
          Editing a comment
          Sure, Jack. We look forward to your test results

      • #5
        Now I see a different problem.
        Screen: Gen4-uLCD-43DCT-CLB using Genie.

        I don't see a 'proper' RS232 signal from the screen ribbon 'adapter' with the header pins to provide a 9-pin RS232 signal [Gen4 interface Board E 481957]. The Ribbon to USB [E 334023].

        Using a UART protocol analyzer scope we see the following: Sending the SAME data.

        Image 1 is a HEALTHY RS232 message using a common off-the-shelf USB-Serial Adapter, the string set was "x0721 0300 0025". And it's decode by the scope analyzer correctly.
        Click image for larger version  Name:	SDS00001.png Views:	1 Size:	15.8 KB ID:	70107

        This image is the same Hex String "x0721 0300 0025 " which is what a 4D screen button press sends from the screen
        Click image for larger version  Name:	SDS00002.png Views:	1 Size:	12.1 KB ID:	70108

        Issues:
        1. Standard RS232 is Low-High Logic signal at 5VDC - The 4D is sending High-Low logic. Also the logic level is about 2V as compared to 5V for standard COM.

        Can you explain this?

        Jack

        Comment


        • #6
          I'm very confused about some of the terminology you are using.

          RS232 is not a protocol, it's an electrical standard, traditionally with a swing from -25 to +25, but other -ve to positive swings allowed. We do not use that.

          We are using TTL Serial which is, in our case a 0 to 3.3v swing.

          We shouldn't compare TTL to RS232, but, yes, they are 'inverted' with respect to each other.

          Again, RS232 is not a protocol, there are zillions of 'protocols' that can be used over RS232 (serial) and/or TTL serial, so any reference to 'Terminal Characters' and/or 'checksums' is not applicable.
          Mark

          Comment


          • #7
            Mark,

            Appreciate the reply. At the end of the day, I simply want to get the 4D display connected to an industrial RS232 Serial interface, employing the typical 9-pin D connection. I'm using a PLC.

            Question:
            1. Is there a configuration parameter in the 4D that allows me to change the inversion of the RX|TX output?. [The standard RS232 interface configurations do not provide for inverting the logic level]

            I can level shift the 3.3 up/down, but inverting the logic would require us to build a circuit, which we'd like to avoid to less the total part count of our system here.

            Regards
            Jack Hamilton


            Comment


            • #8
              Hi Jack

              To convert our TTL 3.3V UART into RS232 you need to use a RS232 transceiver, there are literally thousands available on the market.
              Like a MAX3232 for example.

              You will need to have something in between, as a TTL UART and a RS232 network are not compatible directly, you need to convert them to be the same interface.
              There are many modules available already built which you could just buy and use if you dont want to make one yourself. They are cheap.

              You don't need to worry about the inversion, the chip does that for you.

              Regards
              James

              Comment


              • #9
                James,
                Thanks.

                May I ask that 4D answer our question?. Can you configure the display to invert the logic on the Rx|Tx. [Basic forum edicate would require this].

                Or Dev manager has us looking at possibly another solution. Like Reach Tech displays which appear more robust for industrial applications.

                It would be great is 4D offered the serial solution on the documentation or this solution path was existing on the forums?. It seems odd on one has attempted this rather common application of interfacing 4D displays to PLC's?.

                My initial query was responded to rather didatically including word-smithing..in lieu of offering a solution path. This initial response makes it seems like this is unfamiliar territory for 4D. Our question is pretty basic. Additionally, Audrino solutions are offered quite often on these forums. Of concern is Audrino and Rasberry Pie's are rarely considered for production, robust solutions. They are cost effect hobby solutions. We are not in the hobby space.


                Regards
                Jack Hamilton
                Last edited by C6Systems; 3 weeks ago.

                Comment


                • #10
                  Hi Jack

                  TTL UART is inverted compared to RS232, that is how these serial bus systems work.
                  By default the Diablo UART is the way it is, however with some software modification we could invert it for you - however the hardware requirements would then change as the default hardware pullup's on the RX and TX lines in our modules would then have to become pulldowns, so really its not a solution that would achieve anything. The issue still remains that RS232 swings between negative and positive voltages, while TTL UART is from 0 to 3.3V (or 5V if a 5V TTL system).

                  The solutions we provide are suited to a range of applications, but are a component of a final system. TTL UART, SPI, I2C is the standard for many small controllers, RS232 is more specific as is RS485, Ethernet, etc. Our modules are designed to work in many applications, and if we provide RS232 by default then 99% of customers may not use that feature but have to pay for it.

                  With the gen4-uLCD-32DT module you are using, we have got a series of add-on modules available for it, one of which is an RS232 module. These are called MOTG modules.
                  For your 3.2", you can use the MOTG-AC1 (or AC2) board which goes on the back of the gen4 plastics, and then the MOTG-RS232 module connects on to that. These are mainly used for development, but this might satisfy your requirements.

                  Here are the links for the products on our website:

                  https://4dsystems.com.au/gen4-motg-ac1
                  https://4dsystems.com.au/gen4-motg-ac2
                  https://4dsystems.com.au/motg-rs232

                  Regarding your comments about Arduino and Raspberry Pi, while these are often seen as hobby platforms, many companies do use them for final products. The reason we provide kits for these is they are fast and easy for development of systems. Whether they are used in final applications is up to the customer, these are just platforms we have selected which are easy for development and have had the greatest demand.

                  I come from a background in Industrial Automation myself, dealing with PLC/SCADA and HMI systems, so I am very familiar with what you are working with.

                  Alternatively, if you are wanting something more custom, we can work with you to design something specific for your application, using our technology but customising the hardware to include RS232. This is possible if you wish to go down this route.

                  I hope this is of some help

                  Regards
                  James

                  Comment

                  Working...
                  X