annotate code/main.c @ 5:d3a2cbba1eca draft default tip

Add bill of materials
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sun, 21 Oct 2018 14:56:12 +0200
parents 8e98dff12acb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
1 #include <avr/io.h>
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
2 #include <avr/pgmspace.h>
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
3 #include <util/delay.h>
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
4
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
5 #define byte unsigned char
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
6
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
7 #define COL0 PB0
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
8 #define COL1 PB4
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
9 #define COL2 PB1
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
10 #define COL3 PB3
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
11 #define COL4 PB2
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
12
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
13 const byte PROGMEM VALUES[] = {
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
14 (COL0 << 4) | COL4,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
15 (COL0 << 4) | COL3,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
16 (COL0 << 4) | COL2,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
17 (COL0 << 4) | COL1,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
18
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
19 (COL1 << 4) | COL4,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
20 (COL1 << 4) | COL3,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
21 (COL1 << 4) | COL2,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
22 (COL1 << 4) | COL0,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
23
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
24 (COL2 << 4) | COL4,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
25 (COL2 << 4) | COL3,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
26 (COL2 << 4) | COL1,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
27 (COL2 << 4) | COL0,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
28
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
29 (COL3 << 4) | COL4,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
30 (COL3 << 4) | COL2,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
31 (COL3 << 4) | COL1,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
32 (COL3 << 4) | COL0,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
33
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
34 (COL4 << 4) | COL3,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
35 (COL4 << 4) | COL2,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
36 (COL4 << 4) | COL1,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
37 (COL4 << 4) | COL0,
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
38 };
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
39
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
40
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
41 int main() {
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
42 while(1) {
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
43 for (byte i=0; i<20; ++i) {
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
44 byte value = pgm_read_byte_near(VALUES + i);
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
45 DDRB = _BV(value & 0x0f) | _BV(value >> 4);
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
46 PORTB = _BV(value >> 4);
2
8e98dff12acb Port to attiny13
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
47 _delay_ms(18);
0
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
48 }
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
49 DDRB = 0;
2
8e98dff12acb Port to attiny13
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
50 _delay_ms(740);
0
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
51 }
1569a3836dfb Initial code
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
52 }