Announcement

Collapse
No announcement yet.

Kepad button disappears

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

  • Kepad button disappears

    A 3x4 keypad sends an arduino push data on keys 0-9. One additional key changes pages, a second is an alarm icon that is enabled or disabled from commands from the arduino. It's been working for about a year now. Every so often the '0' key disappears (red x). I assume somehow the pointer to the graphic or graphic itself is corrupted somehow. A reboot fixes it.
    Can you explain about the memory space and how this might be getting corrupted?

  • #2
    Hi,

    Can I ask how frequent does the red x occurs? Have you noticed if it appears after executing a specific command from the Arduino?
    For the corrupt graphics on the display, please refer to this sticky post (No. 2)
    TROUBLESHOOTING - Common Issues and their resolutions (ARDUINO and 4D Display)
    https://forum.4dsystems.com.au/node/40596

    Best Regards,
    Kevin

    Comment


    • #3
      Very infrequently. I'm writing 0x01 0x0E 0x00 0x00 (0x00 or 0x01) 0x?? (chksum) to enable/disable it.
      Click image for larger version

Name:	Keypad.png
Views:	91
Size:	53.0 KB
ID:	70754
      The Alarm icon will be displayed as Red icon when LSB=1 and blank (black) when LSB=0. Digit '0' is affected very infrequently. It is however the next object in the list. The command must be getting corrupted somewhere! I would think that a wrong chksum would cause the command to be tossed out and NAK'd and therefore no corruption. Digit '0' is momentary. I might think that writing the commnad with an ID of WinButton might cause an issue? Can't see how that might happen but I can probably test for that possibility.

      Comment


      • #4
        Hi,

        The 0x0E is the index for LED. By disabling/enabling, do you mean the widget itself or the keyboard?

        The Alarm icon will be displayed as Red icon when LSB=1 and blank (black) when LSB=0. Digit '0' is affected very infrequently.
        There should be no reason for the Digit0 to have red X, unless, otherwise you are writing to the object outside its range

        Digit '0' is momentary. I might think that writing the commnad with an ID of WinButton might cause an issue?
        You have mentioned that it is set as Momentary(Yes) - are you perhaps, writing to it with a value of 1? If that is the case, you will see a red X's on it.

        Maybe you can attach here your program files so I can run some tests.

        Best Regards,
        Kevin

        Comment


        • #5
          Yes the Alarm widget/icon/graphic.
          That was my thought, the Alarm and the winButton are both index 0, perhaps a write to the Alarm gets misinterpreted. Or commands are sent faster than they can be accepted (not waiting for ACK NAK). Maybe I'll add some code to await ACK/NAK.

          Comment


          • John Kevin
            John Kevin commented
            Editing a comment
            Hi,

            Yes, you need to wait for the ACK from the display before sending the next command to avoid any issues from occurring.

            Best Regards,
            Kevin
        Working...
        X