summaryrefslogtreecommitdiff
path: root/uart/midi/artifically_generated/README
blob: c2976ca85b565909f18952bf0f89ada7bc1decac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
-------------------------------------------------------------------------------
Artifically Generated Data
-------------------------------------------------------------------------------

This data was generated by hand based off of various specifications:

 - "The Complete MIDI 1.0 Detailed Specification" version 96.1
 - "General MIDI System Level 1" revision 4
 - "General MIDI 2" version 1.2a


Logic analyzer setup
--------------------

Not applicable.


Data
----

The data was initially created as CSV files with one column composed of only
1s and 0s of UART data. These CSV files were then imported into sigrok's GUI,
PulseView. When importing the CSV files, the samplerate was set to 100000
(i.e. 100kHz). Each byte value was visually verified for correctness.
The data was then resaved as *.sr files.

Since MIDI communicates at 31250 bits/sec in 8N1 format, each byte of UART
data used 37 rows of data in the CSV file when using a sampling rate of
100kHz. Listed from top to bottom, the rows in the CSV for each byte were:

    1.  Three rows of "1" as padding before the bits
    2.  Three rows of "0" as the start bit
    3.  Three rows of the data bytes bit0 (lsb)
    4.  Three rows of the data bytes bit1
    5.  Three rows of the data bytes bit2
    6.  Four rows of the data bytes bit3
    7.  Three rows of the data bytes bit4
    8.  Three rows of the data bytes bit5
    9.  Three rows of the data bytes bit6
    10. Three rows of the data bytes bit7 (msb)
    11. Three rows of "1" as the stop bit
    12. Three rows of "1" as padding after the bits