author | Tero Marttila <terom@paivola.fi> |
Thu, 29 Jan 2015 22:16:16 +0200 | |
changeset 106 | 89bd5028b150 |
parent 99 | b1f2b34d4f8c |
permissions | -rw-r--r-- |
47
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
1 |
## Dependencies |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
2 |
* avrdude |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
3 |
* avra |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
4 |
* picocom |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
5 |
* gcc-avr |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
6 |
* avr-libc |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
7 |
|
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
8 |
## USB |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
9 |
Configure udev for the `/dev/arduino` symlink. |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
10 |
|
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
11 |
### /etc/udev/rules.d/09-arduino.rules |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
12 |
# /dev/arduino |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
13 |
SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="arduino arduino_$attr{serial}" |
7f930a94ee1e
bravely step into the modern world of C-programming, using avr-gcc for a hello world...
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
14 |
|
99
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
15 |
## Protocol |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
16 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
17 |
The protocol used is ASCII with decimal. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
18 |
Commands are given as a command character, followed by command-specific arguments, and terminated by a newline character. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
19 |
The implementation supports up to 8 arguments. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
20 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
21 |
### Syntax (EBNF) |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
22 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
23 |
dmx-command: |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
24 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
25 |
cmd { sep arg } eol |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
26 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
27 |
cmd: |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
28 |
'a'..'z' | 'A'..'Z' |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
29 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
30 |
arg: |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
31 |
'0'..'9' [ arg ] |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
32 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
33 |
sep: |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
34 |
'\t' | ' ' | ',' |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
35 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
36 |
eol: |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
37 |
'\r' | '\n' |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
38 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
39 |
### Commands |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
40 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
41 |
The output state keeps track of both channel values, as well as the number of active channels. Only the channels up to |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
42 |
the highest active channel are output. Up to 255 channels are supported. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
43 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
44 |
All commands ensure that any modified channels will become active. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
45 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
46 |
#### *c*lear |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
47 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
48 |
c |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
49 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
50 |
Reset to initial state, with all channels inactive. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
51 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
52 |
#### *o*ut |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
53 |
o <value0> ... <valueN> |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
54 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
55 |
Set active channels 0..N to given $value0..$valueN. All remaining channels will be marked inactive. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
56 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
57 |
#### *f*ill |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
58 |
f <start> <end> <value0> ... <valueN> |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
59 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
60 |
Set channel $start+0 = $value0, ... $start+N = $valueN, up to $end, repeating $value0..N as needed. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
61 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
62 |
#### *r*ange |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
63 |
r <start> <stop> <step> <value> |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
64 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
65 |
Set channels $start, $start + $step, ..., $end (inclusive) to the given $value. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
66 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
67 |
#### *s*et |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
68 |
s <start> <value0> ... <valueN> |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
69 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
70 |
Set channels start..start+N to the given $value0..$valueN. Ensures channels up to N are valid. |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
71 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
72 |
#### *z*ero |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
73 |
z [<count>] |
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
74 |
|
b1f2b34d4f8c
README: docdoc serial commands
Tero Marttila <terom@paivola.fi>
parents:
47
diff
changeset
|
75 |
Set channels 1..$count to zero, and null all following channels. |