Announcement

Collapse
No announcement yet.

Way to clear touch-buffer on uLCD-43PT?

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

  • #16


    Have a look at the way the ViSi demos handle touch, check that your screen works properly with them and then look at the way they handle touch. There isn't really that much 'overhead' if you do your code right.

    even with a paper clip
    I hope you are using the 'blunt' end, the touch membrane is not tough enough to withstand that sort of treatment using the 'sharp' end for long.
    Mark

    Comment


    • #17


      One solution provided billow.

      Not shure the many zeros is the intended behavior by design.
      And I still do not catch why in the demo KBMULTIFORMS, when we hold a key, it holds the action rather than re-etering a pressed. (but it used some keyboard functions I did not see the uncompiled source if available).

      My problem started using the example in the Visi User Guide page37.
      In another demo I got the idea to use the Pressed for updating the button's look,
      but use the Released event to do an action because we cannot get 2 released!
      But we do not have time to catch up the released hit if we do some processing after button is pressed.
      So I do not know how to take advantage of the released event.

      Again, my goal is to get only one pressed event if I hold a key.

      So, unless somebody can shed light on that, here is my perfectly working solution:

      func waitPressed()
      repeat
      pressed:=0; // global var (saving time to declare)
      for (statusCount:=0; statusCount

      Comment


      • #18


        Not shure the many zeros is the intended behavior by design.
        Not sure why you keep saying this, the touch status is the status at the instant you invoke the function (other than the exception you will see below), it does not block waiting for a touch, so if you aren't touching you could get millions of zeros.

        And I still do not catch why in the demo KBMULTIFORMS, when we hold a key, it holds the action rather than re-etering a pressed. (but it used some keyboard functions I did not see the uncompiled source if available).
        Again, not sure what you are getting at, if you are still touching it is still the same 'press'(ed), I have never seen a touch keyboard that is 'typematic', if that's what you want then you will need to do it in your code. (you can do this with a timer that retriggers whilst touch is 'still' pressed or moving)

        You will always get a released after a touch, if you get a 'touched' and then you don't call status until 1/2 an hour after the touch is released, that status call will return released, hence you can do anything you like after the touch, you can't miss the release.

        Look at the supplied examples carefully and have a good play with them.
        Mark

        Comment


        • #19


          I mean, the device I have, if we hold the touch without moving, we do not get status like:3333333333333333333333333333333333, but like 000000000000000000003000000000000000000000003.
          In other words, the status I get from a Pressed, is plenty of zeros with a 3 roughly every 50 to 1600 times. It is the mark of being pressed! (opposed to not touched with just 000000000000000000000000).

          What I want is I press normal time or 5 seconds, I get only one entry., unless I release and reclick.
          So, if I click a button, without programming something to take care of process speed, let's say to increase Contrast by 1, I will easily get 2,3,or 4 increases together.

          So, to avoid it, I need to know I got a release before taking care of the next pressed.
          No, I am not able to get the release message. I see it pass when I only print the status, but the code cannot catch it. My code does not depend on whatever good fit frequency. It works all the way, because it defines a released by the fact that there is no more pressed (namely some 3s appearing here and there in a bunch of zeros) Sounds weard but that is the way the device I have seems to works.

          When I tried to get the release (other than constantly printing status on the screen like a calculator tape) it didn't work. Some day I will try again and post result here.

          Comment


          • #20


            Right, that's not correct.

            Which PmmC version are you using?
            Mark

            Comment


            • #21


              In the Comms menu I see uLCD-43PT [v3.4]

              I suppose that is the firmware version? Because no other way to find.

              Thanks for your help.

              Marc

              Comment


              • #22


                Please try the latest (v3.5) PmmC from here

                http://www.4dsystems.com.au/product/1/11/4D_Intelligent_Display_Modules/uLCD_43/

                If that doesn't fix the problem, try the procedure to reset the touch controller here

                http://4d.websitetoolbox.com/post/touchscreen-abnormal-delay-6240068?highlight=ar1020+reset
                Mark

                Comment

                Working...
                X