The Digispark can be configured as a HID Keyboard. Useful for auto testing a typing app.
It has a USB port for the HID and three pins.
There are three pins P0, P1, P2. P1 has an LED so in an output.
We want an ASTABLE - when one end is typing, the other end backs off. Turn the LED on when Typing, if the other end has LED on, back off typing.
----|----|----|----|----|----|----|----|----|----|----|----|
+---------+
|DigiSpark|
+---------| P2 |==> USB HID keyboard
| +-------| P1 LED |
| | +----| P0 I/P |
| | | +---------+
| | +-- /DISABLE P0 is used to disable typing
| | P1 is LED output
| | P2 is Fast / slow
| | +-- /DISABLE
| | | +---------+
| | | |DigiSpark|
| | +----| P0 |
+---------| P1 LED |
+-------| P2 I/P |==> USB HID keyboard
+---------+
----|----|----|----|----|----|----|----|----|----|----|----|
The units type either fast or slow. When TYPING turn on the LED
LED __^--- Start of typing - back off
LED --v___ GA invitation to start typing
The LED typing triggers a HOLDOFF timer,
If P2 connected to P1 on other chip
When LED on back off
HOLDOFF is reset wile typing is seen or activity on P2.
while( true ){
While ( HOLDOFF ){ wait }
Type up to the next EOL or GA
}
while( true ){
wait ( HOLDOFF )
Type
Pause
}