|
Forum Index : Microcontroller and PC projects : MMBasic V6.03.00 release candidates
| Author | Message | ||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11435 |
One more test with the diagnostics removed and a logic simplification. If this doesn't keep going for an extended period there is one minor change to put a keep-alive back PicoMite.zip |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 623 |
I'm just popping out for lunch; I'll be back in a minute. |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 623 |
OK, with this version (8 out of 9): MageDok T090A HDMI 9-inch IPS 1280x720 Touch 10 point: GUI TEST TOUCH - Single Trace - Passed - Dual Trace - Passed On Screen Keyboard - Passed Pump GUI Demo - Passed Swipe U/D/L/R - Passed TAP/DTAP/HOLD - Passed EXPAND/CONTRACT - Passed ROTATE CW/CCW - failed Two Finger Tap - Passed Or maybe ROTATE I'm doing it wrong? I'm trying to draw a circle the size of a 2-euro coin with one finger. Is that right? |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11435 |
No: two fingers, rotate one down and one up |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 623 |
Okay, then: MageDok T090A HDMI 9-inch IPS 1280x720 Touch 10 point: GUI TEST TOUCH - Single Trace - Passed - Dual Trace - Passed On Screen Keyboard - Passed Pump GUI Demo - Passed Swipe U/D/L/R - Passed TAP/DTAP/HOLD - Passed EXPAND/CONTRACT - Passed ROTATE CW/CCW - Passed Two Finger Tap - Passed |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11435 |
WW please test with the version from the second last post of the previous page (18) |
||||
| WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2983 |
Will do - but won’t be until about 19:30 this evening. THANK YOU for all your effort on this today; even though I’m at work, I’ve been keeping a very keen eye on all the posts. |
||||
| WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2983 |
Hi Peter, Loaded FW from Page 18 (2nd last post) and installed on reference I2S. After power up, connect the USB touch and get the following output: PicoMiteHDMI MMBasic USB RP2350B Edition V6.03.00RC16 Copyright 2011-2026 Geoff Graham Copyright 2016-2026 Peter Mather > ---- Touch HID report descriptor (704 bytes) ---- 000: 05 0D 09 04 A1 01 85 0D 05 0D 09 22 A1 02 09 42 010: 15 00 25 01 75 01 95 01 81 02 95 03 81 01 09 51 020: 75 04 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 030: 0E 65 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 040: 8A 03 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 050: 00 25 01 75 01 95 01 81 02 95 03 81 01 09 51 75 060: 04 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 070: 65 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 080: 03 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 090: 25 01 75 01 95 01 81 02 95 03 81 01 09 51 75 04 0A0: 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 0B0: 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 0C0: 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 0D0: 01 75 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0E0: 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 0F0: 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 100: 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 110: 75 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 120: 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 130: 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 140: 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 150: 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 160: 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 170: 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 180: 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 190: 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 1A0: 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 1B0: 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 1C0: 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 1D0: 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 1E0: 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 1F0: 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 200: 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 01 210: 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 02 220: 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 46 230: 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 0D 240: C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 01 81 250: 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 02 05 260: 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 46 79 270: 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 0D C0 280: 27 FF FF 00 00 75 10 95 01 09 56 81 02 09 54 15 290: 00 25 7F 95 01 75 08 81 02 85 0A 09 55 95 01 25 2A0: 0F B1 02 C0 05 0D 09 0E A1 01 85 21 09 22 A1 00 2B0: 09 52 09 53 15 00 25 0A 75 08 95 02 B1 02 C0 C0 ---- Parsed touch_info ---- uses_report_id=1 report_id=13 report_length_bytes=54 max_contacts=10 first_contact_bit_offset=0 contact_stride_bits=40 contact_count bit_offset=416 bits=8 tip_switch_bit_offset=0 in_range_bit_offset=0 contact_id bit_offset=4 bits=4 X bit_offset=8 bits=16 logical_max=16383 Y bit_offset=24 bits=16 logical_max=9599 input_mode=1 report_id=33 bringup: cc_max_id=10 cert_id=0 pointer_fallback=0 --------------------------- Multi-touch CTouch SET_FEATURE InputMode id=33 len=2 onnected on channel 4 (10 contacts, 16383x9599) > Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 . . . This last line then repeats about every 2 seconds Nothing else different happens if I touch the screen. If I unplug USB touch, then I see: Multi-touch Disconnected and on plugging it back in I get: > ---- Touch HID report descriptor (704 bytes) ---- 000: 05 0D 09 04 A1 01 85 0D 05 0D 09 22 A1 02 09 42 010: 15 00 25 01 75 01 95 01 81 02 95 03 81 01 09 51 020: 75 04 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 030: 0E 65 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 040: 8A 03 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 050: 00 25 01 75 01 95 01 81 02 95 03 81 01 09 51 75 060: 04 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 070: 65 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 080: 03 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 090: 25 01 75 01 95 01 81 02 95 03 81 01 09 51 75 04 0A0: 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 0B0: 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 0C0: 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 0D0: 01 75 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0E0: 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 0F0: 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 100: 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 110: 75 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 120: 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 130: 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 140: 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 150: 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 160: 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 170: 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 180: 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 190: 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 1A0: 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 1B0: 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 1C0: 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 1D0: 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 1E0: 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 1F0: 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 200: 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 01 210: 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 02 220: 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 46 230: 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 0D 240: C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 01 81 250: 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 02 05 260: 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 46 79 270: 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 0D C0 280: 27 FF FF 00 00 75 10 95 01 09 56 81 02 09 54 15 290: 00 25 7F 95 01 75 08 81 02 85 0A 09 55 95 01 25 2A0: 0F B1 02 C0 05 0D 09 0E A1 01 85 21 09 22 A1 00 2B0: 09 52 09 53 15 00 25 0A 75 08 95 02 B1 02 C0 C0 ---- Parsed touch_info ---- uses_report_id=1 report_id=13 report_length_bytes=54 max_contacts=10 first_contact_bit_offset=0 contact_stride_bits=40 contact_count bit_offset=416 bits=8 tip_switch_bit_offset=0 in_range_bit_offset=0 contact_id bit_offset=4 bits=4 X bit_offset=8 bits=16 logical_max=16383 Y bit_offset=24 bits=16 logical_max=9599 input_mode=1 report_id=33 bringup: cc_max_id=10 cert_id=0 pointer_fallback=0 --------------------------- Multi-touch CTouch SET_FEATURE InputMode id=33 len=2 onnected on channel 4 (10 contacts, 16383x9599) > Error : USB device limit reached> >Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 Touch SET_FEATURE InputMode id=33 len=2 NOTE the line in red above stating USB device limit reached. The bottom line repeats itself once again about every 2 seconds as before |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11435 |
WW Please try again with this version. Probably won't work but the diagnostics might be more useful PicoMite.zip |
||||
| WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2983 |
Loaded, and it just displays the following (and then sits on a cursor - i.e. no repeating lines at the end) PicoMiteHDMI MMBasic USB RP2350B Edition V6.03.00RC16 Copyright 2011-2026 Geoff Graham Copyright 2016-2026 Peter Mather > ---- Touch HID report descriptor (704 bytes) ---- 000: 05 0D 09 04 A1 01 85 0D 05 0D 09 22 A1 02 09 42 010: 15 00 25 01 75 01 95 01 81 02 95 03 81 01 09 51 020: 75 04 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 030: 0E 65 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 040: 8A 03 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 050: 00 25 01 75 01 95 01 81 02 95 03 81 01 09 51 75 060: 04 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 070: 65 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 080: 03 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 090: 25 01 75 01 95 01 81 02 95 03 81 01 09 51 75 04 0A0: 25 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 0B0: 11 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 0C0: 09 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 0D0: 01 75 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0E0: 0F 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 0F0: 09 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 100: 31 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 110: 75 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 120: 95 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 130: 30 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 140: 81 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 150: 01 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 160: 01 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 170: 35 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 180: 02 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 190: 95 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 1A0: 81 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 1B0: 00 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 1C0: 05 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 1D0: 01 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 1E0: 02 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 1F0: 46 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 200: 0D C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 01 210: 81 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 02 220: 05 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 46 230: 79 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 0D 240: C0 09 22 A1 02 09 42 15 00 25 01 75 01 95 01 81 250: 02 95 03 81 01 09 51 75 04 25 0F 95 01 81 02 05 260: 01 26 FF 3F 75 10 55 0E 65 11 09 30 35 00 46 79 270: 08 81 02 26 7F 25 46 8A 03 09 31 81 02 05 0D C0 280: 27 FF FF 00 00 75 10 95 01 09 56 81 02 09 54 15 290: 00 25 7F 95 01 75 08 81 02 85 0A 09 55 95 01 25 2A0: 0F B1 02 C0 05 0D 09 0E A1 01 85 21 09 22 A1 00 2B0: 09 52 09 53 15 00 25 0A 75 08 95 02 B1 02 C0 C0 ---- Parsed touch_info ---- uses_report_id=1 report_id=13 report_length_bytes=54 max_contacts=10 first_contact_bit_offset=0 contact_stride_bits=40 contact_count bit_offset=416 bits=8 tip_switch_bit_offset=0 in_range_bit_offset=0 contact_id bit_offset=4 bits=4 X bit_offset=8 bits=16 logical_max=16383 Y bit_offset=24 bits=16 logical_max=9599 input_mode=1 report_id=33 bringup: cc_max_id=10 cert_id=0 pointer_fallback=0 --------------------------- Multi-touch CoTouch SET_FEATURE InputMode id=33 len=2 nnected on channel 4 (10 contacts, 16383x9599) > |
||||
| WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2983 |
GUI TEST TOUCH doesn't respond to touch. Disconnecting touch-USB, and then reconnecting still shows: Error : USB device limit reached (along with the HID data once again) |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11435 |
WW Last try. If this doesn't work then I think we have to assign that monitor as "non-supported". Every other touch monitor that has been tested AFAIK now works. You should see two devices connect. The multi-touch digitizer and a USB touchscreen. Make sure you test without a USB mouse also connected. It may be that only single touch via the USB touchscreen works but that would be a win. PicoMite.zip Edited 2026-06-05 17:36 by matherp |
||||
| WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2983 |
Thanks Peter. At work again, so it will be later this evening before I’m in front of my Pico…. |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 623 |
Peter, just a quick follow-up on multitouch. Will it be possible to retrieve the coordinates of the n-touch inputs? In an array or something similar? Matthias |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11435 |
You can retrieve the second touch coordinates with TOUCH(X2), TOUCH(Y2). I haven't done more than that at the moment as I can't see a specific need. The only use of more than that I'm aware of is palm touch removal but that requires complex heuristics way beyond PicoMite usage Edited 2026-06-05 19:32 by matherp |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 623 |
My hope was to get the coordinates of the 10 points. My idea is to implement sliders like those on a mixing desk and use them as controllers for DMX and MIDI. In this case, it is important to be able to move more than two sliders at the same time. So, I certainly have plenty of ideas for what to do with them. |
||||
| phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 3268 |
If it doesn't prove to be practical to get the 10 pairs of coordinates perhaps the following workaround will be adequate. Add a toggle button above (or below) each slider. All the sliders whose buttons have been pressed move as a group. Move any one of the group and the rest of the group move with it. |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 623 |
There’s a workaround for everything, but it’s not the same. Here's a quick demo – it works really well with a two-finger tap! Option CONSOLE SCREEN Dim integer x,y,x2,y2,sy(12) Print @(0,0) String$(32," ") For i=1 To 10 slider(i*128-28,400) Next i Do x=Touch(x) y=Touch(y) x2=Touch(x2) y2=Touch(y2) Print @(0,0) x,y,x2,y2;String$(32," ") If y<>-1 Then slider(x,y) If y2<>-1 Then slider(x2,y2) Loop ' Sub slider(xx,yy) Local integer sz=-1 Select Case xx Case 0 To 120 sz=0 Case 128 To 248 sz=1 Case 256 To 376 sz=2 Case 384 To 504 sz=3 Case 512 To 632 sz=4 Case 640 To 760 sz=5 Case 768 To 888 sz=6 Case 896 To 1016 sz=7 Case 1024 To 1144 sz=8 Case 1152 To 1272 sz=9 End Select If sz>-1 Then Box sz*128,sy(sz),120,50,1,0,-1 sy(sz)=yy Box sz*128,sy(sz),120,50,1,1,-1 End If End Sub |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11435 |
In the next RC Dim x(10),y(10) Do If Touch(yn 0) Then For i=1 To Touch(yn 0) x(i)=Touch(xn i) y(i)=Touch(yn i) Next Pixel x(),y(),RGB(white) EndIf Loop |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 623 |
Danke! |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2026 |