Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:usb-midi-controller

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekte:usb-midi-controller [2014-12-02 22:13]
root [USB-MIDI-Controller]
projekte:usb-midi-controller [2014-12-07 00:00] (aktuell)
Zeile 8: Zeile 8:
     * Uses the USI as I2C to communicate with the master     * Uses the USI as I2C to communicate with the master
     * Possibly replace the ATtiny with some cheap ATmega or some other MCU with multi-master I2C, 1 at least 7-bit ADC, and a free GPIO pin to get around having to use USI :)     * Possibly replace the ATtiny with some cheap ATmega or some other MCU with multi-master I2C, 1 at least 7-bit ADC, and a free GPIO pin to get around having to use USI :)
 +    * Update: The USI is an ungodly mess. "​Here'​s a shift register and half a counter, have fun." I've probably poured 15 hours of work into this, but I'm definitely switching. Probably to the cheapest ATmega I can find.
   * Clients are daisy-chainable,​ see [[projekte:​usb-midi-controller#​Communication]]   * Clients are daisy-chainable,​ see [[projekte:​usb-midi-controller#​Communication]]
- 
 ===== Communication ===== ===== Communication =====
   * The host device acts as a slave and has address 1, all clients are I2C masters   * The host device acts as a slave and has address 1, all clients are I2C masters
Zeile 21: Zeile 21:
     - The device then enables the next device, either by pulling its RESET line high or enabling VCC     - The device then enables the next device, either by pulling its RESET line high or enabling VCC
   * MIDI messages are constructed by the clients and sent as-is. The host will buffer them until it has received the STOP, then forward them over USB. As all MIDI commands start with a set bit, this is an easy way to separate management and MIDI messages.   * MIDI messages are constructed by the clients and sent as-is. The host will buffer them until it has received the STOP, then forward them over USB. As all MIDI commands start with a set bit, this is an easy way to separate management and MIDI messages.
-    * On collision, the device waits between 100 and 1000 microseconds ​and tries again+    * On collision, the device waits until a STOP condition has been detected ​and tries again.
  
 A preliminary command table, with each length including the command byte A preliminary command table, with each length including the command byte
projekte/usb-midi-controller.1417554814.txt.bz2 · Zuletzt geändert: 2014-12-02 00:00 (Externe Bearbeitung)