OSRTT / OSLTT

Open Source Latency Test Tool
https://osrtt.com
Other
7 stars 0 forks source link

Is it possible to show microseconds in results #21

Open Vanri115 opened 1 year ago

Vanri115 commented 1 year ago

Those mice with optical switch has really fast response, and with 4k and 8k polling rates it reaches under 1ms. As far as I have tested, OSLTT is capable of counting milliseconds but I haven't seen microseconds. Is it possible to get MICE/KEYBOARD test results to show numbers under 1ms? Thanks!

Radyjko commented 1 year ago

Hi there - go the same issue. With testing out displays it shows perfectly divided times (input, render etc.) but for mices and keyboards it's accuracy seems to be with 1ms being the smallest value you can get. Therefore - RN I'm testing few of the top gaming mouses and results are - copy/paste 1ms across all the board (where i know 4 sure that's not possible - 1000Hz with mechanical switch vs 8000Hz with optical should have at least a little difference) Are there any possible solutions to this issue?

I've tried to walkaround this problem trying to measure far longer signal distance - with Audio trigger (mouse clikc) -> whole system to the screen color change (light sensor). Since it's so accurate and shows individual results while testing screen adding one more link to the chain would give me slightly bigger times overall, but also a possibility to separate mouse reaction (or to compare different results) But the software is not allowing me to set it up this way - Can we expect any fixes to this? Or is it the hardware limitation and the precision in this tests isn't gonna be any higher?

andymanic commented 1 year ago

Hi guys - I believe I replied to @Vanri115 via email on this but I should note things here too.

Regarding microsecond counts, currently it's not possible as the desktop app uses serial with a 1ms timeout to tell the latency tool it has registered the keypress. That adds between 1 and 2ms per run, and sets that as the effective noise floor, at least for the time being. I'd like to improve that, but it's not something I have the knowledge to improve on right now.

To clarify the way it works: User clicks mouse -> latency tool detects audio spike -> latency tools steps into loop waiting for the desktop app to report the mouse click has been captured -> board times that difference.

Perhaps if there's a way to syncronise clocks between desktop and microcontroller, the microcontroller could report a timecode to the desktop app, then the desktop app just subtracts the timecode from the time when it detects the mouse click down event? Not sure - like I said it's outside my knowledge at the moment. Would love to improve it though!

Radyjko commented 1 year ago

Allright, thanks for quick response. But you didn't cover the last thing - is this possible to combine audio (keypress) trigger with screen measurements?

I have no problems with testing at all, but i found just the 1ms interval not satisfying enough (especially with high-end peripherals). So ill just add it to my testing tools 4now alongside with goose lag meter and manually counting frames on 1000fps camera

śr., 4 paź 2023 o 13:28 andymanic @.***> napisał(a):

Hi guys - I believe I replied to @Vanri115 https://github.com/Vanri115 via email on this but I should note things here too.

Regarding microsecond counts, currently it's not possible as the desktop app uses serial with a 1ms timeout to tell the latency tool it has registered the keypress. That adds between 1 and 2ms per run, and sets that as the effective noise floor, at least for the time being. I'd like to improve that, but it's not something I have the knowledge to improve on right now.

To clarify the way it works: User clicks mouse -> latency tool detects audio spike -> latency tools steps into loop waiting for the desktop app to report the mouse click has been captured -> board times that difference.

Perhaps if there's a way to syncronise clocks between desktop and microcontroller, the microcontroller could report a timecode to the desktop app, then the desktop app just subtracts the timecode from the time when it detects the mouse click down event? Not sure - like I said it's outside my knowledge at the moment. Would love to improve it though!

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1746682375, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7RLKFA6KUHARL5JST3X5VB45AVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBWGY4DEMZXGU . You are receiving this because you commented.Message ID: @.***>

andymanic commented 1 year ago

That one is on the FAQs - yes I intend to support basically any combination of modes you'd want. It's a bit of work to make sure they all work. It's worth noting that the screen measurements are limited by the display's refresh rate, so you won't get much use out of mouse/keyboard measurements on a display.

andymanic commented 12 months ago

As a follow up to this, I did some testing on the idea of syncing clocks between desktop and microcontroller. Unfortunately that doesn't seem possible with any degree of accuracy. The microcontroller's clock drifts from the system clock by about 6ms per 10s, but it's also somewhat unpredictable too so it can't just be corrected for. Even with syncing clocks between each click, you'd still have an unknown drift between the system and arduino clocks which would cause erroneous data. Perhaps with a hardware timer onboard that might be more reliable, but that'd need a hardware revision. Maybe something I can look at in the future. For now the click test has a hard limit at 1ms/1000Hz.

Vanri115 commented 11 months ago

Thank you for the newest update! It does seem to show microseconds now, but somehow every mice I try I get results of 0.02ms all the way. am I missing something?

andymanic commented 11 months ago

Can you include some screenshots and/or results files so I can see what you mean?

Radyjko commented 11 months ago

I've tried several high end keyboards today and 2 of the Best optical ones are getting ~0,02 which i find plausible (like 0,1-0,4 mm travel distance to activate, and 8kHz polling rate). Did minimum 2 tests of 50 clicks for each keyboard and Got simolar results Mwchanical keyboard Got more (bout 3ms) An when I adjusted the travel distance to whole 4mm Times Jumped up to 16ms which i also find possible.

Im testing IT with clicking Keys with a pen to get the first sound of pen striking the keys to trigger test rather than bottom-out which is after the activation

TBH Got some weird 0.02 ms results with 1 keyboard aswell, but i've did test several more Times and considered it a bug, because i was unable To replicate IT on this specific keyboard.

All test contained 50 clicks. When I was not sure about the results i did them again what resulted in few tests for each keyboard. Every with re-plugging each keyboard. I can shareware the results if they can be helpful

So if the question is asked let me follow along.

wt., 31 paź 2023, 15:49 użytkownik Vanri115 @.***> napisał:

Thank you for the newest update! It does seem to show microseconds now, but somehow every mice I try I get results of 0.02ms all the way. am I missing something?

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1787373594, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7RPJOUTM5P2EETMLALYCEFZFAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBXGM3TGNJZGQ . You are receiving this because you commented.Message ID: @.***>

Radyjko commented 11 months ago

Here you are. Those are my results from this morning. Quickly renamed folders so you know what keyboard/settings we are talking about

Let me know what you think - which are valid or false? Or if there are some bugged ones

wt., 31 paź 2023 o 16:03 Radyjko @.***> napisał(a):

I've tried several high end keyboards today and 2 of the Best optical ones are getting ~0,02 which i find plausible (like 0,1-0,4 mm travel distance to activate, and 8kHz polling rate). Did minimum 2 tests of 50 clicks for each keyboard and Got simolar results Mwchanical keyboard Got more (bout 3ms) An when I adjusted the travel distance to whole 4mm Times Jumped up to 16ms which i also find possible.

Im testing IT with clicking Keys with a pen to get the first sound of pen striking the keys to trigger test rather than bottom-out which is after the activation

TBH Got some weird 0.02 ms results with 1 keyboard aswell, but i've did test several more Times and considered it a bug, because i was unable To replicate IT on this specific keyboard.

All test contained 50 clicks. When I was not sure about the results i did them again what resulted in few tests for each keyboard. Every with re-plugging each keyboard. I can shareware the results if they can be helpful

So if the question is asked let me follow along.

wt., 31 paź 2023, 15:49 użytkownik Vanri115 @.***> napisał:

Thank you for the newest update! It does seem to show microseconds now, but somehow every mice I try I get results of 0.02ms all the way. am I missing something?

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1787373594, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7RPJOUTM5P2EETMLALYCEFZFAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBXGM3TGNJZGQ . You are receiving this because you commented.Message ID: @.***>

Vanri115 commented 11 months ago

DAREU A950Pro-CLICK-1ms-RAWRESULTS-OSLTT.csv DAREU A950Pro-CLICK-20ms-RAWRESULTS-OSLTT.csv This is the rawresults file I just cooked. The mouse is on 4K mode, and I sat response time to 1ms and 20ms, but both results are nearly identical. I also tried other couple of mice and they are also getting 0.02ms.

EDITTED--- I've tested the mouse again and it reads latency correctly. But as I tried with other mice it still gets 0.02ms. I first thought it might be because of multiple mice were connected to PC, so I tried to use one at time but it sometimes work but most of the time it still gives me 0.02ms. I can't track down what really causing this issue.

Radyjko commented 11 months ago

Back to you guys with some other shower-thoughts. Actually the lowest i should get with 8kHz should be 0,125ms, but's not the case here (with repeatable patterns on different keyboards) when im getting f.ex. 0,019ms. The only explanation is that the clock starts later on since keyboard hasn't even been polled yet.

Since clock trigger is activated by sound it's possible that the Bottoming-out is launching it, not the initial touch i hoped for. That actually can give us smaller times since the activation signal has already been sent when clock started. Es. with keyboards Like Corsair K70MAX (0,4mm actuation with 8kHz) or SSApex PRO (0,1mm actuation with 1kHz). Both are similar with the whole travel distance - ~4mm. So taking all of that into consideration the signal being sent right away when i touch the key is already "traveling" but still there's delay before clock starts tracking time, because i still have more than 3mm to travel before bottoming out the key and making loud enough sound to trigger OSLTT

What do you think?

wt., 31 paź 2023 o 16:21 Vanri115 @.***> napisał(a):

DAREU A950Pro-CLICK-1ms-RAWRESULTS-OSLTT.csv https://github.com/OSRTT/OSLTT/files/13218178/DAREU.A950Pro-CLICK-1ms-RAWRESULTS-OSLTT.csv DAREU A950Pro-CLICK-20ms-RAWRESULTS-OSLTT.csv https://github.com/OSRTT/OSLTT/files/13218179/DAREU.A950Pro-CLICK-20ms-RAWRESULTS-OSLTT.csv This is the rawresults file I just cooked. The mouse is on 4K mode, and I sat response time to 1ms and 20ms, but both results are nearly identical. I also tried other couple of mice and they are also getting 0.02ms.

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1787440010, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7XSEGKMHMIBTOLYLX3YCEJRLAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBXGQ2DAMBRGA . You are receiving this because you commented.Message ID: @.***>

andymanic commented 11 months ago

@Radyjko I think you're right. I assume there's some disconnect between when the sound is captured and when the signal is polled from the mouse. I have enabled support for soldering to the mouse, but obviously that isn't ideal. I'm not sure if there's anything I could do to improve this accuracy though as I believe it's an external/process issue, rather than something I can address in code. If you have any ideas though, I'm all ears!

Radyjko commented 11 months ago

Tell me more about this soldering, because if it's gonna give me some more repeatable accuracy i'm all ears What would be the clock trigger here? Actually i've used Goose LagMeter for some time, but it has it's own limitations and with wireless mouses and higher polling rates it was useless, but it had quite good idea on how to trigger clock - striking key with a rod that closes small circuit. Maybe we can adapt it somehow here?

https://gooseenterprises.wordpress.com/lagmeter/

If you think i can help anyhow - let me know

czw., 2 lis 2023 o 12:10 andymanic @.***> napisał(a):

@Radyjko https://github.com/Radyjko I think you're right. I assume there's some disconnect between when the sound is captured and when the signal is polled from the mouse. I have enabled support for soldering to the mouse, but obviously that isn't ideal. I'm not sure if there's anything I could do to improve this accuracy though as I believe it's an external/process issue, rather than something I can address in code. If you have any ideas though, I'm all ears!

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1790525499, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7XPSAWP6AKHSRLPTH3YCN5SNAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQGUZDKNBZHE . You are receiving this because you were mentioned.Message ID: @.***>

Radyjko commented 11 months ago

Ouch, and I've just noticed that my tests were not attached earlier: https://drive.google.com/file/d/14Q1VIcTRkq6N2f8rkTiaHisQC_JUBMzw/view?usp=drive_link

czw., 2 lis 2023 o 12:20 Radyjko @.***> napisał(a):

Tell me more about this soldering, because if it's gonna give me some more repeatable accuracy i'm all ears What would be the clock trigger here? Actually i've used Goose LagMeter for some time, but it has it's own limitations and with wireless mouses and higher polling rates it was useless, but it had quite good idea on how to trigger clock - striking key with a rod that closes small circuit. Maybe we can adapt it somehow here?

https://gooseenterprises.wordpress.com/lagmeter/

If you think i can help anyhow - let me know

czw., 2 lis 2023 o 12:10 andymanic @.***> napisał(a):

@Radyjko https://github.com/Radyjko I think you're right. I assume there's some disconnect between when the sound is captured and when the signal is polled from the mouse. I have enabled support for soldering to the mouse, but obviously that isn't ideal. I'm not sure if there's anything I could do to improve this accuracy though as I believe it's an external/process issue, rather than something I can address in code. If you have any ideas though, I'm all ears!

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1790525499, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7XPSAWP6AKHSRLPTH3YCN5SNAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQGUZDKNBZHE . You are receiving this because you were mentioned.Message ID: @.***>

andymanic commented 11 months ago

@Radyjko That's a really cool bit of kit! I'll have to see if I can get one. As for adapting that style of testing, You certainly can hack that sort of thing on, although it isn't something I can offer "officially" with the current hardware design. You'd only need to modify one line in the firmware to make that work too, at least I think.

As for soldering to the mouse, I just emailed @Vanri115 with a description - regarding the left click switch pins: So the three pins on the mouse are more likely to be: Normally closed, ground and normally opened. You'll want to use a multi meter (volt meter) to check, and you'll want to make sure you are soldering the lead with the sticker on it to the one that goes high when you press the mouse button (high being 3.3V or 5V). I'll make a guide video at some point to help explain this better, but I hope that's of use. Feel free to ask any questions you might have.

Radyjko commented 11 months ago

The main problem with goose is that you have to plug IT in between mouse/keyboard and PC. That causes lot of issues when using higher end stuff which need to Access its software etc.

Since im not using goose RN i can lend you mine for couple of days/weeks

We can discuss IT via e-mail next week

czw., 2 lis 2023, 12:31 użytkownik andymanic @.***> napisał:

@Radyjko https://github.com/Radyjko That's a really cool bit of kit! I'll have to see if I can get one. As for adapting that style of testing, You certainly can hack that sort of thing on, although it isn't something I can offer "officially" with the current hardware design. You'd only need to modify one line in the firmware to make that work too, at least I think.

As for soldering to the mouse, I just emailed @Vanri115 https://github.com/Vanri115 with a description - regarding the left click switch pins: So the three pins on the mouse are more likely to be: Normally closed, ground and normally opened. You'll want to use a multi meter (volt meter) to check, and you'll want to make sure you are soldering the lead with the sticker on it to the one that goes high when you press the mouse button (high being 3.3V or 5V). I'll make a guide video at some point to help explain this better, but I hope that's of use. Feel free to ask any questions you might have.

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1790554481, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7XEKCCHWX75W5YJ63DYCOAAJAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQGU2TINBYGE . You are receiving this because you were mentioned.Message ID: @.***>

Vanri115 commented 11 months ago

Thanks for the email, I’m going to get multimeter for that purpose. After I solder them, could I just hit the microswitch and let it count the latency? some vids like yours and optimumtech’s they’re closing the shell and clicking with mouse button to test. If its directly wired to microswitch, is it necessary?

andymanic commented 11 months ago

@Radyjko That would be fantastic, I'd love to know how it works!

@Vanri115 Yes you can - you'd only close up the shell if you wanted to keep it that way. If you just want to use it for a bit of testing then move on, you don't have to close it up.

Vanri115 commented 11 months ago

Awesome! I’ll just wait multimeter to arrive then try solder it on!

Radyjko commented 11 months ago

Hi, just to be sure - if i'll build small circuit with this external cables that came with osltt and fix one end to the key, and the other to metal rod. And strike key with that rod - will it trigger? Because it might me much simpler than i initially thought. What voltage is required to trigger it? I'll try right away

czw., 2 lis 2023 o 14:28 Vanri115 @.***> napisał(a):

Awesome! I’ll just wait multimeter to arrive then try solder it on!

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1790727240, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7QC6NMTMVRBUA3WJFDYCONZXAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQG4ZDOMRUGA . You are receiving this because you were mentioned.Message ID: @.***>

andymanic commented 11 months ago

@Radyjko the two pin input does need a voltage to trigger, not just connecting the two pins together. 3.3V is ideal, although it can accept higher. But as long as you can supply a voltage to the input pin, that'll work fine.

Radyjko commented 11 months ago

well, hold my triggers. Gonna try right after dinner Just remind me please which one should be "hot" all the time - the one with sticker?

czw., 2 lis 2023 o 14:48 andymanic @.***> napisał(a):

@Radyjko https://github.com/Radyjko the two pin input does need a voltage to trigger, not just connecting the two pins together. 3.3V is ideal, although it can accept higher. But as long as you can supply a voltage to the input pin, that'll work fine.

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1790773900, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7QIRVNSP33AOXPQ6NLYCOQEJAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQG43TGOJQGA . You are receiving this because you were mentioned.Message ID: @.***>

andymanic commented 11 months ago

@Radyjko Correct! The other is ground.

Radyjko commented 11 months ago

Well, I've found some DC adapter (5V 0,5A) output and quickly connected it to other cables, than tinfoil on top of LMB and metal rod on the other end. Just a quick proof of concept.

Unfortunatelly the results im getting with this setup are quite unpredictable (and way to big to be real) Ll give it another shot tommorrow Photos-001 (17).zip

Vanri115 commented 11 months ago

I soldered it to the microswitch, then switch functioned allright but results are deviating much. I might be doing something wrong.. its glorious model o wireless, connected wirelessly with 1k polling rate.

Maybe I need to lay the mouse down on the mousepad surface and click it?

Glorious Model O Wireless-CLICK-001-RAWRESULTS-OSLTT.csv IMG_3727

andymanic commented 11 months ago

@Vanri115 While there might be some improvement I can make to the code, if I remember correctly Linus did a video a while ago saying the Glorious mice have weird latency results. Over the weekend I'll grab a couple of the mice I have here and solder the leads on and do some testing (and film a clip for how to solder to a mouse).

Vanri115 commented 11 months ago

OK, I’m looking forward for it! Thanks!

Radyjko commented 11 months ago

Well, u got my attention Vanri I was so focused on getting the response time from the very "thought" of pushing the button so i kept my focus on the outside - but RN i';m gonna try soldering it inside as well

Unfortunately it'll happen after the weekend. " BTW - are those omron switches? Which u soldered where?

pt., 3 lis 2023 o 12:20 Vanri115 @.***> napisał(a):

OK, I’m looking forward for it! Thanks!

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1792265380, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7XXYC6RCNHOR7GKXGDYCTHPZAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJSGI3DKMZYGA . You are receiving this because you were mentioned.Message ID: @.***>

Vanri115 commented 11 months ago

If you connect OSLTT directly to the switch, pushing the button won’t really matter since it can’t detect that physical movement. Ideally you could use solenoid coil to push the button and record it with highspeed camera like 1000fps to check the time lag and it still count good info though.

That switch is omron I believe, and I soldered HOT to the center and GND on the back side. I tried solder GND on the front side first but it did not work. Still, I’m getting inconsistant result so I’ll wait for Andrew’s video to try it again, but I’m curious how your test goes. Please update us!

Radyjko commented 11 months ago

Actually i have history with doing tests with 1000fps camera but nowadays i find it not precise enough because it's damn hard to tell when tha movement actually happened or the click. U can check some of my past test methods here https://www.youtube.com/watch?v=ozcT4uklFEc https://www.youtube.com/watch?v=swEDdqixdFo Those are some old ones Below some newer: https://www.youtube.com/watch?v=bp6pptN8dHM https://www.youtube.com/watch?v=vyi38wFqojU

I'm gonna try sth different later on, but RN i've tried soldering it to 2 different mouses and 1 kbrd - thay all wark fine except when it matters because when i start testing in osltt this specific button i soldered goes dark :( I end test - works fine. Tests starts- nothing. So i have to figure out what is going on

Any suggestions are welcome

pt., 3 lis 2023 o 14:40 Vanri115 @.***> napisał(a):

If you connect OSLTT directly to the switch, pushing the button won’t really matter since it can’t detect that physical movement. Ideally you could use solenoid coil to push the button and record it with highspeed camera like 1000fps to check the time lag and it still count good info though.

That switch is omron I believe, and I soldered HOT to the center and GND on the back side. I tried solder GND on the front side first but it did not work. Still, I’m getting inconsistant result so I’ll wait for Andrew’s video to try it again, but I’m curious how your test goes. Please update us!

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1792458148, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7RI7INA56B2RN5ADGDYCTX5PAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJSGQ2TQMJUHA . You are receiving this because you were mentioned.Message ID: @.***>

andymanic commented 11 months ago

As a quick update to the 2 pin test mode: I haven't had the chance to solder to a mouse (although I have 2 disassembled ready), but I did make a change to the code that should help. I've made the 2 pin input an interrupt instead of a polled signal. That should improve consistency - although I'll find out when I can solder a few jumper leads to the mice.

andymanic commented 11 months ago

Further update: I've realized that most mice seem to have constant power to one side and ground that power when you click. That will still work fine with OSLTT, but it needs the firmware change I've made to work. I'm going to solder to a mouse today and test out the mode. Hopefully with it being a change-state interrupt that'll be much more consistent.

Radyjko commented 11 months ago

Wow! Andy u sure are hard worker! I took weekend off and today i;m gonna be back with some tests of my own. I've bought multimeter as well :P (might be helpful)

I'm gonna keep on trying to develop a possibility to test the total mouse lag/keyboard - from the very touch of key. Because the thing i;m most interested in is behavior if the whole electronics, not just switch itself. Afterall it;s that what matters - from when u want to press the key, to keypress registered So i'll try to make small 5v circuit that will close when the button is touched.

Could you please DM me with the interrupt update? Seems rly helpful

niedz., 5 lis 2023 o 14:19 andymanic @.***> napisał(a):

Further update: I've realized that most mice seem to have constant power to one side and ground that power when you click. That will still work fine with OSLTT, but it needs the firmware change I've made to work. I'm going to solder to a mouse today and test out the mode. Hopefully with it being a change-state interrupt that'll be much more consistent.

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1793735473, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7UV3MUNLVDCCPKE7KLYC6G57AVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTG4ZTKNBXGM . You are receiving this because you were mentioned.Message ID: @.***>

Vanri115 commented 11 months ago

I just remembered that I heard optical switch have different pin assign. And I’m also curious that how you solder to the keyboard efficiently

Radyjko commented 11 months ago

thanks to my constant cooperation with a local retailer i have access to plenty of peripherals, so ill do some testing

pon., 6 lis 2023 o 10:13 Vanri115 @.***> napisał(a):

I just remembered that I heard optical switch have different pin assign. And I’m also curious that how you solder to the keyboard efficiently

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1794375856, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7X2CHHCANSXK6FN333YDCS2NAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJUGM3TKOBVGY . You are receiving this because you were mentioned.Message ID: @.***>

Radyjko commented 11 months ago

Hey!

A friend just send me this: https://github.com/teamfinalmouse/xlat

You both have to take a look at this

pon., 6 lis 2023 o 10:20 Radyjko @.***> napisał(a):

thanks to my constant cooperation with a local retailer i have access to plenty of peripherals, so ill do some testing

pon., 6 lis 2023 o 10:13 Vanri115 @.***> napisał(a):

I just remembered that I heard optical switch have different pin assign. And I’m also curious that how you solder to the keyboard efficiently

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1794375856, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7X2CHHCANSXK6FN333YDCS2NAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJUGM3TKOBVGY . You are receiving this because you were mentioned.Message ID: @.***>

Vanri115 commented 11 months ago

I thought XLAT is doing same thing that OSLTT is doing I suppose… so this is exactly why made me start to solder 2pin wire to mice. XLAT also demand to solder.

Radyjko commented 11 months ago

Yeah, Now ive read some more about IT and im worried IT world Suffer the same things goose does - since Mouse isnt plugged directly to the pc you cant get some software magic and higher polling rates. Yeah, you can get switch latency, but every Mouse is bit different so the Total input May vary 🥲

Gonna build myself xlat and check IT out

pon., 6 lis 2023, 11:18 użytkownik Vanri115 @.***> napisał:

I thought XLAT is doing same thing that OSLTT is doing I suppose… so this is exactly why made me start to solder 2pin wire to mice. XLAT also demand to solder.

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1794496094, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7RCKSYDQINJBYXNN2LYDC2PZAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJUGQ4TMMBZGQ . You are receiving this because you were mentioned.Message ID: @.***>

andymanic commented 11 months ago

@Radyjko XLAT looks pretty cool, I'll have to look up more about how that works.

Further update on the 2 pin mode: I realised I made a mistake with the amount of resistance on the input side. It's way too low. If you solder a resistor in-line with the input lead, something like 1M ohm, the stability increases significantly. Alternatively you can replace R7 on the PCB - it's an 0805 SMD resistor.

Vanri115 commented 11 months ago

well yes XLAT does look promising. but I might wait for finalmouse to start selling them, because I could not find any case for STM32F746G…

I soldered 1Mohm to input line but still getting big latency like 10-30ms. shoud I just wait for the newest update?

Radyjko commented 11 months ago

Hi there I'm just gonna 3d print my own case :D The parts 4 it arrived today - ll let u know how it goes.

On the other hand - i've managed to build a decent circuit that ll help me measure time from key touch to key register and i think it can work efficiently I need firmware update to osltt with 2 changes (ofc if it's possible) to look for voltage drop as a trigger and interrupt instead of poll

Andy, can you send me such an update?

pon., 6 lis 2023 o 15:51 Vanri115 @.***> napisał(a):

well yes XLAT does look promising. but I might wait for finalmouse to start selling them, because I could not find any case for STM32F746G…

I soldered 1Mohm to input line but still getting big latency like 10-30ms. shoud I just wait for the newest update?

— Reply to this email directly, view it on GitHub https://github.com/OSRTT/OSLTT/issues/21#issuecomment-1795007701, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5UK7QOBN5MAQSNIJOQK3LYDD2PNAVCNFSM6AAAAAA4LEUJRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJVGAYDONZQGE . You are receiving this because you were mentioned.Message ID: @.***>

andymanic commented 11 months ago

@Radyjko I'm still working on making the interrupt mode work - with my current build the test doesn't work at all. Once I have it functioning again I'll send it over.

Radyjko commented 10 months ago

Hi guys!

I've just built XLAT and it works damn good. U can customize it to check for power rise of fall as trigger. Unfortunately idk why it works only with mouses, keyboards are correctly recognized by USB, but keypresses don't work. BUT I was able to modify mine to do what i was looking for - measure time from the exact touch of the key to keypress registered I did it by connecting a 5V power adapter to the whole thing. Left key is covered with tin foil and connected to negative pole of adapter, and i'm striking key with metal rod connected to the positive end. When the ends meet voltage drops and that's the trigger. Roughly it looks like this: (work in progress ofc) Hi guys!

I've just built XLAT and it works damn good. U can customize it to check for power rise of fall as trigger. Unfortunately idk why it works only with mouses, keyboards are correctly recognized by USB, but keypresses don't work. BUT I was able to modify mine to do what i was looking for - measure time from the exact touch of the key to keypress registered I did it by connecting a 5V power adapter to the whole thing. Left key is covered with tin foil and connected to negative pole of adapter, and i'm striking key with metal rod connected to the positive end. When the ends meet voltage drops and that's the trigger. Roughly it looks like this: (work in progress ofc) image

Right now i have to check it for the consistency and compare few mouses. I'll let you know how it goes!

Right now i have to check it for the consistency and compare few mouses. I'll let you know how it goes!

andymanic commented 10 months ago

@Radyjko - I've confirmed that this mode actually works now so here you go. OSLTT.ino.bin.zip

To be clear, this isn't a final release firmware as this has the interrupt style hard-coded as RISING, when at some point I'll be adding a UI option to choose between RISING and FALLING and adding some code to de-register then re-register the interrupt with the given mode. Still, if you want to test this, go for it. You should be able to use the OSLTTFlashTool.exe in the repo (I've changed it to use a file picker) to flash the custom file.

Radyjko commented 10 months ago

Hi, finally i've got some time to work on this, but i can't launch the FlashTool - it seems to not be opening. I've tried Admin, antivir disabled, win defender off etc - nothing seems to be working. Even on my 2nd pc I can't get this to launch. The only message i get is the admin prompt, and with the first launch defender smartscreen, where I click to run it anyway. When i try to open it it briefly shows in Task Manager thant disappears and nothing more happens

I've asked friend of mine to try this and he managed to open it without any problem. Do you have any idea what may be the cause? Can you please help me?

Vanri115 commented 10 months ago

Hi, I think I figured out why I'm getting 0.2ms for the mouse click latency test. When I click the button it registers correctly, but when the sound is too small for mic to pick up, it hangs. I tried click really hard and let OSLTT count every single click it gives me correct result, but when I miss click one out of n, it hangs up and gives me 0.2ms.