Mercurial > d1-mini-20ch-servo
changeset 3:0afff2c18af7 draft
20ch code
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Mon, 19 Dec 2016 00:42:33 +0100 |
| parents | eebf26b86400 |
| children | ef8ab100eb8c |
| files | firmware/main.c |
| diffstat | 1 files changed, 18 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/firmware/main.c Mon Dec 19 00:40:57 2016 +0100 +++ b/firmware/main.c Mon Dec 19 00:42:33 2016 +0100 @@ -33,27 +33,27 @@ // 3 = PB3 // 4 = PB4 // 5 = PB5 -// 6 = PC0 -// 7 = PC1 -// 8 = PC2 -// 9 = PC3 -// 10 = PD0 -// 11 = PD1 -// 12 = PD2 -// 13 = PD3 -// 14 = PD4 -// 15 = PD5 -// 16 = PD6 -// 17 = PD7 -// 18 unused -// 19 unused +// 6 = PB6 +// 7 = PB7 +// 8 = PC0 +// 9 = PC1 +// 10 = PC2 +// 11 = PC3 +// 12 = PD0 +// 13 = PD1 +// 14 = PD2 +// 15 = PD3 +// 16 = PD4 +// 17 = PD5 +// 18 = PD6 +// 19 = PD7 const static uint8_t servo_map[MAX_SERVO] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }; ISR(TIMER1_COMPA_vect) { event = 0; - PORTB = 0b00111111; // leave out XTAL pins + PORTB = 0b11111111; PORTC = 0b00001111; // leave out RESET, SDA and SCL PORTD = 0b11111111; TCNT1 = 0; @@ -82,20 +82,20 @@ } servo_delay[event] = smallest_pulse; servo_mask_b[event] = 0xff; - for (uint8_t servo = 0; servo < 6; ++servo) { + for (uint8_t servo = 0; servo < 8; ++servo) { if (servo_pulse[servo] <= smallest_pulse) { servo_mask_b[event] &= ~(1 << servo); } } servo_mask_c[event] = 0xff; for (uint8_t servo = 0; servo < 4; ++servo) { - if (servo_pulse[6 + servo] <= smallest_pulse) { + if (servo_pulse[8 + servo] <= smallest_pulse) { servo_mask_c[event] &= ~(1 << servo); } } servo_mask_d[event] = 0xff; for (uint8_t servo = 0; servo < 8; ++servo) { - if (servo_pulse[10 + servo] <= smallest_pulse) { + if (servo_pulse[12 + servo] <= smallest_pulse) { servo_mask_d[event] &= ~(1 << servo); } }
