Announcement

Collapse
No announcement yet.

Windows 10 not finding 4D-UPA / or CP210x USB driver...

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

  • Windows 10 not finding 4D-UPA / or CP210x USB driver...

    Hello all, new to the board and 4DSystems.

    I just received a D4-UPA and two different displays.

    They are the gen4-uLCD-28PT and the IOD-09TH on a Windows 10 64-bit OS with all of the latest updates.

    I'm an experienced developer and can control Windows *AND* ESD fairly well. (I have straps, a tester and ground,) I have now tested this on three different computers, even restarted in non-drive-signed mode as some of the posts suggested. I've tried multiple known good micro USB cables and still get the same results.

    I find the Arduinos via their USB/Com port no problem. Device Manager sees them no problem. When I plug in my Arduino USB (or most other USB products) I here the usual Windows "do-beep" (upon successful insertion). I can then look in Device Manager and see it has appeared. When I unplug it, I hear the corresponding "be-doop" meaning successful removal of the device.

    This is NOT what happens when plugging in my 4D-UPA. (On 3 different computers, two laptops and a desktop)

    No matter which of the 5 available USB ports (3 x USB 2.0 and 2 x USB 3.0) I plug it into, I get no new serial or COM device, no "do-beep" (or any noise).

    And no LED blinky flashy. :-(

    It appears 5v power *IS* flowing though, as both of the displays boot up (I only have one installed/connected at a time) and display their startup /splash screens, but nothing else happens and I can't see a new device like the App Note says I should be able to.

    I installed/reinstalled/rebooted/uninstalled/rebooted and reinstalled, rebooted and did the unsigned driver thingy with the CP210x_Universal_Windows_Driver per your App Notes and other user-forum responses to no avail. And yes, I updated the latest drivers from the website. :-)

    NO LED status (not even an initial blink) upon insertion.

    I get NO LED (red, green or otherwise) on the board itself and I can't seem to talk to it at all.
    Click image for larger version

Name:	PXL_20200924_192443315.jpg
Views:	162
Size:	202.1 KB
ID:	73782
    Is this a bad board?
    Click image for larger version

Name:	CP210x NotFound.png
Views:	72
Size:	48.9 KB
ID:	73783
    If someone from 4DS reads this, I still have an order that is "in process" (at least according to the website) and if it is indeed a bad UPA board, can you throw another one in my basket, pretty please?

    Thanks,

    Frank

  • #2
    Hi Frank,

    Sorry to hear that your UPA doesn't seem to be working as expected. I will talk with the team on Monday about the order that is being processed.

    I would like to assure you that this is a very un-common issue.

    The IoD-09 would need a programmer to do anything as it needs code to be flashed to perform a task.

    The gen4-uLCD-28PT can be used in conjuction with your Arduino to be controlled via the pre loaded serial environment so you could try this method for the time being until the UPA issue is resolved.

    You will need to have the Arduino IDE installed first.

    In Workshop, click on File then Options then click on the Arduino tab

    You can then set up your Arduino so that the Arduino template code in the next step is correct. This is how I set it up here.

    Click image for larger version

Name:	ArduinoSetup.png
Views:	130
Size:	48.7 KB
ID:	73811

    Next you can create a new project but when choosing the display you need to select the Arduino Display Modules type and then select gen4-uLCD-28PT-AR

    Click image for larger version

Name:	ArduinoSetup2.png
Views:	58
Size:	90.7 KB
ID:	73812

    You can then choose Basic Graphics or Extended Graphics programming mode

    Basic Graphics doesn't need an SD card card and can be used for text, primitives shapes and buttons etc. Extended graphics needs an SD card and allows you to use the widgets available in Workshop. You will notice that there is a Paste Code button in the object inspector for the widgets you have chosen and this will insert the code into your Arduino sketch to control the widget.

    I hope this helps and allows you to try out the gen4-uLCD-28PT in the meantime.

    Best regards

    Paul

    Comment


    • Mick Burian
      Mick Burian commented
      Editing a comment
      Dear Paul,

      Apologies for trying to reach you this way but I was not sure how to reach you.

      On a previous post you helped a subscriber with setting a string to be touch enabled etc. Please see below.... :

      Hi Paul,

      Thank you for the information, I did not read about this approach in the forum so far.
      So you seem to be accessing the following data to read the coordinates of the object (if I understand):
      x1 := strNum[6];
      y1 := strNum[8];
      x2 := strNum[10];
      y2 := strNum[12];

      Is it documented somewhere where I can find more info about this? I am a little confused where you get these values from.
      For example, I would also like to do the same touch detection for static text and images if possible in magic code.

      Thanks in advance,

      Anguel

      Can you please advise how you get the 6, 8, 10 and 12 array values?
      I have a string field I want to use with your code but I dont understand where you got the values from

      Regards,
      Mick BUrian

    • fbraski
      fbraski commented
      Editing a comment
      Thanks, Paul -- You offer a glimmer of hope... ;-) I'll try these steps and report back!

  • #3
    Hi Mick

    Apologies for trying to reach you this way but I was not sure how to reach you.
    Thats totally fine

    When a Visi-Genie project is built it creates data which you can't usually see and in the case of a Strings object the data created will include the co-ordinates of the object identified by the Strings object name. so iStrings0 would be that pointer to were this data is stored so,

    x1 := strNum[6]; // the value found at position 6 of the created data
    y1 := strNum[8]; // the value found at position 8 of the created data
    x2 := strNum[10]; // the value found at position 10 of the created data
    y2 := strNum[12]; // the value found at position 12 of the created data

    In the example I provided in the other post, the function would return a 1 if the x and y touch co-ordinates fell within the bounds of the above in relation to iStrings0 being given as the objects identity.

    Could you please let me know what programming environment you are using and if you are using Genie are you using the Pro version of Workshop 4 ?

    Best regards

    Paul

    Comment


    • #4
      Originally posted by pauleilio View Post
      Hi Mick



      Thats totally fine

      When a Visi-Genie project is built it creates data which you can't usually see and in the case of a Strings object the data created will include the co-ordinates of the object identified by the Strings object name. so iStrings0 would be that pointer to were this data is stored so,

      x1 := strNum[6]; // the value found at position 6 of the created data
      y1 := strNum[8]; // the value found at position 8 of the created data
      x2 := strNum[10]; // the value found at position 10 of the created data
      y2 := strNum[12]; // the value found at position 12 of the created data

      In the example I provided in the other post, the function would return a 1 if the x and y touch co-ordinates fell within the bounds of the above in relation to iStrings0 being given as the objects identity.

      Could you please let me know what programming environment you are using and if you are using Genie are you using the Pro version of Workshop 4 ?

      Best regards

      Paul
      I am using the PRO environment..

      Sorry for this question again I am really struggling ... I have attached my project
      It is very basic, I know but I am trying to recognize the Frequency string in form 1 iString2

      I have attached my simple project with my attempt at adding MagicTouch from one of your examples but it will not compile...

      Could you please have a look and advise? GREATLY APPRECIATED!

      ​​​​​​​
      Attached Files

      Comment


      • #5
        Hi Mick,

        This should work for you now. I added the StringTouched function to MagicCode0

        Best regards

        Paul
        Attached Files

        Comment


        • #6
          Originally posted by pauleilio View Post
          Hi Mick,

          This should work for you now. I added the StringTouched function to MagicCode0

          Best regards

          Paul
          Hi Paul,

          Thank you so much!!!!!!!
          Form 1 has an string (string2) which, when touched needs to display something to allow a User to enter a value in it.



          I am struggling with being able to reference the objects on the screen.

          I have another form where I use a keyboard and, using an example from your ap notes, I can press a key and then see the value show on the screen.



          I would like this value to populate the string object.



          Sorry, I know this must be ridiculously simple for you but if you could just guide me in the right direction I would be very appreciative.



          Thanking you in advance.

          Comment


          • #7
            Hi Mick,

            It isn't easy to do but I have implemented what I think you might need. Hopefully it's enough and you can modify it to suit.

            Best regards

            Paul
            Attached Files

            Comment


            • #8
              Hi Mick,

              I left something out of the WriteStr function. Could you please replace this line,

              txt_FontID(font);

              with this

              txt_FontID(font); txt_FGcolour(fgcol); txt_BGcolour(bgcol);

              Best regards

              Paul

              Comment


              • Mick Burian
                Mick Burian commented
                Editing a comment
                Paul,

                Another one for you please?
                In the Current field, the maximum allowed entry = 25.0 and minimum = 00.0.
                Please note the decimal point........... Is there a way of checking while typing the max value as well as dynamically inserting the "." when a third digit is entered......
                i.e.. I am typing 1, 7, 3 and the display will show 17.3

                Also not allow anything > 25

            • #9
              Originally posted by pauleilio View Post
              Hi Mick,

              I left something out of the WriteStr function. Could you please replace this line,

              txt_FontID(font);

              with this

              txt_FontID(font); txt_FGcolour(fgcol); txt_BGcolour(bgcol);

              Best regards

              Paul
              Paul,

              Thank you so much for all your help!!!!!
              This would have taken me ages to figure out on my own. You have saved me so much time!

              Kind Regards,
              Mick Burian

              Comment


              • #10
                Paul,

                Another one for you please?
                In the Current field, the maximum allowed entry = 25.0 and minimum = 00.0.
                Please note the decimal point........... Is there a way of checking while typing the max value as well as dynamically inserting the "." when a third digit is entered......
                i.e.. I am typing 1, 7, 3 and the display will show 17.3

                Also not allow anything > 25

                Comment


                • #11
                  Originally posted by pauleilio View Post
                  Hi Mick,

                  I left something out of the WriteStr function. Could you please replace this line,

                  txt_FontID(font);

                  with this

                  txt_FontID(font); txt_FGcolour(fgcol); txt_BGcolour(bgcol);

                  Best regards

                  Paul
                  Paul,

                  Another one for you please?
                  In the Current field, the maximum allowed entry = 25.0 and minimum = 00.0.
                  Please note the decimal point........... Is there a way of checking while typing the max value as well as dynamically inserting the "." when a third digit is entered......
                  i.e.. I am typing 1, 7, 3 and the display will show 17.3

                  Also not allow anything > 25

                  Comment


                  • Mick Burian
                    Mick Burian commented
                    Editing a comment
                    Just interested... what time zone are you in Paul?

                  • ESPsupport
                    ESPsupport commented
                    Editing a comment
                    He's UTC

                  • Mick Burian
                    Mick Burian commented
                    Editing a comment
                    Just wondering if you had a chance to have a look at this?

                • #12
                  Paul,

                  Thank you for your assistance with this!

                  Comment


                  • #13
                    I am UTC +10. What is the best time to reach him?

                    Comment


                    • ESPsupport
                      ESPsupport commented
                      Editing a comment
                      He tends to come on about 3pm UCT+10
                  Working...
                  X