Messungen durchführen

Schließen wir den Teensy 4.0 an den Computer an und öffnen die serielle USB-Konsole:

Stellenmarkt
  1. Projektleiter (w/m/d) im Bereich Breitbandinfrastruktur
    RBS wave GmbH, Stuttgart, Ettlingen
  2. Team-Leiter:in (w/m/d) für die Informations- und Kommunikationstechnik
    Hochschule Aalen, Aalen
Detailsuche


% screen /dev/ttyACM0 115200

Es sollte die folgende Willkommensnachricht erscheinen:


# kinT latency measurement driver
#   t  - trigger measurement

Golem Karrierewelt
  1. Advanced Python – Fortgeschrittene Programmierthemen: virtueller Drei-Tage-Workshop
    23.-25.01.2023, Virtuell
  2. Deep-Dive Kubernetes – Production Grade Deployments: virtueller Ein-Tages-Workshop
    08.11.2022, Virtuell
Weitere IT-Trainings

Die Tastenkombination C-a H veranlasst screen, die Ausgaben in die Datei screenlog.0 zu schreiben. So können wir die Messergebnisse abspeichern. Jetzt drücken wir ein paar Mal t, um mehrere Messungen auszulösen, und schließen screen mit C-a k. Die Ergebnisse der Messungen können wir dann mit Benchstat zusammenfassen:


% benchstat screenlog.0
name                 time/op
KeypressToLEDReport  1.82ms ±20%

Scan-to-Scan-Verzögerung

Die Messwertausgabe auf der seriellen USB-Konsole enthält auch die Scan-to-Scan-Verzögerung der Matrix:


# scan-to-scan delay: 422475 ns

Bei jedem Scan der Tastaturmatrix wird jede Zeile einzeln geschaltet und dann alle Spalten gelesen. Das bedeutet, dass ROW_EQL bei jedem Scan der Matrix einmal auf high und dann wieder auf low gesetzt wird. Der Teensy 4.0 misst die Scan-to-Scan-Verzögerung, indem er das Intervall zwischen den Aktivierungen von ROW_EQL misst.

Diesen Ansatz können wir überprüfen, indem wir QMK dazu bringen, seine Scanrate selbst zu melden. Um das zu tun, müssen wir die Debug-Option für die Matrixscan-Rate unter keyboards/kinesis/keymaps/stapelberg/config.h wie folgt aktivieren:

  1. #pragma once
  2.  
  3. #define DEBUG_MATRIX_SCAN_RATE

Mit hid_listen erhalten wir nun die folgenden QMK-Debug-Meldungen:


% sudo hid_listen
Waiting for new device:..
Listening:
matrix scan frequency: 2300
matrix scan frequency: 2367
matrix scan frequency: 2367

Eine Matrixscan-Rate/-Frequenz von 2367 Scans pro Sekunde entspricht 422 μs pro Scan:


1000000 μs / 2367 scans/second = 422μs

Eine weitere Möglichkeit, den Ansatz zu überprüfen, besteht darin, eine End-to-End-Messung mit einer einzeiligen Änderung im QMK-Tastaturcode kurzzuschließen:

  1. bool process_action_kb(keyrecord_t *record) {
  2. #define LED_CAPS_LOCK LINE_PIN12
  3. #define ledTurnOn writePinLow
  4. ledTurnOn(LED_CAPS_LOCK);
  5. return true;
  6. }

Wiederholt man die Messungen nun, erhält man:


% benchstat screenlog.0     
name                 time/op
KeypressToLEDReport  693µs ±26%

Dieser Wert liegt zwischen 0 und dem doppelten Matrixscan-Intervall (2 x 422μs), da es passieren kann, dass eine Taste gedrückt wird, nachdem sie bereits vom laufenden Matrixscan abgetastet wurde. In diesem Fall muss sie warten, bis der nächste Scan abgeschlossen ist (!), bevor sie als gedrückt registriert werden kann.

Tastaturcontroller verbinden

Nachdem wir nun unsere allgemeine Messumgebung eingerichtet haben, ist es an der Zeit, unseren Teensy 4.0 an verschiedene Tastaturcontroller anzuschließen!

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Host-Einstellungen (Linux)Kint36, Kint41: GPIO 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10.  


Aktuell auf der Startseite von Golem.de
Minority Report wird 20 Jahre alt
Die Zukunft wird immer gegenwärtiger

Minority Report zog aus, die Zukunft des Jahres 2054 vorherzusagen. 20 Jahre später scheint so manches noch prophetischer.
Von Peter Osteried

Minority Report wird 20 Jahre alt: Die Zukunft wird immer gegenwärtiger
Artikel
  1. Luftfahrt: Wisk Aero zeigt autonomes Flugtaxi
    Luftfahrt
    Wisk Aero zeigt autonomes Flugtaxi

    Das senkrecht startende und landende Lufttaxi soll in fünf Jahren im regulären Einsatz sein.

  2. Gegen Agile Unlust: Macht es wie Bruce Lee
    Gegen Agile Unlust
    Macht es wie Bruce Lee

    Unser Autor macht seit vielen Jahren agile Projekte und kennt "agile Unlust". Er weiß, warum sie entsteht, und auch, wie man gegen sie ankommen kann.
    Ein Erfahrungsbericht von Marvin Engel

  3. Firefly Aerospace: Rakete erreicht den Orbit
    Firefly Aerospace
    Rakete erreicht den Orbit

    Der zweite Start der Alpha-Rakete war erfolgreich. Sie hat Satelliten in einer niedrigen Erdumlaufbahn ausgesetzt.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • MindFactory (u. a. PowerColor RX 6700 XT Hellhound 489€, ASRock RX 6600 XT Challenger D OC 388€) • Kingston NV2 1TB (PS5) 72,99€ • be quiet! Silent Loop 2 240 99,90€ • Star Wars: Squadrons PS4a 5€ • Acer 24"-FHD/165 Hz 149€ + Cashback • PCGH-Ratgeber-PC 3000 Radeon Edition 2.500€ [Werbung]
    •  /