Rev 2185 | Rev 2403 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2185 | Rev 2309 | ||
---|---|---|---|
Line 19... | Line 19... | ||
19 | else PPM_diff[channel] = 0; |
19 | else PPM_diff[channel] = 0; |
20 | PPM_in[channel] = value; |
20 | PPM_in[channel] = value; |
21 | } |
21 | } |
22 | #endif |
22 | #endif |
Line 23... | Line -... | ||
23 | - | ||
24 | //--------------------------------------------------------------// |
- | |
25 | //--------------------------------------------------------------// |
- | |
26 | /* |
- | |
27 | void SpektrumBinding(void) |
- | |
28 | { |
- | |
29 | unsigned int timerTimeout = SetDelay(10000); // Timeout 10 sec. |
- | |
30 | unsigned char connected = 0; |
- | |
31 | unsigned int delaycounter; |
- | |
32 | - | ||
33 | UCSR1B &= ~(1 << RXCIE1); // disable rx-interrupt |
- | |
34 | UCSR1B &= ~(1<<RXEN1); // disable Uart-Rx |
- | |
35 | PORTD &= ~(1 << PORTD2); // disable pull-up |
- | |
36 | - | ||
37 | printf("\n\rPlease connect Spektrum receiver for binding NOW..."); |
- | |
38 | - | ||
39 | while(!CheckDelay(timerTimeout)) |
- | |
40 | { |
- | |
41 | if (PIND & (1 << PORTD2)) { timerTimeout = SetDelay(90); connected = 1; break; } |
- | |
42 | } |
- | |
43 | - | ||
44 | if (connected) |
- | |
45 | { |
- | |
46 | - | ||
47 | printf("ok.\n\r"); |
- | |
48 | DDRD |= (1 << DDD2); // Rx as output |
- | |
49 | - | ||
50 | while(!CheckDelay(timerTimeout)); // delay after startup of RX |
- | |
51 | for (delaycounter = 0; delaycounter < 100; delaycounter++) PORTD |= (1 << PORTD2); |
- | |
52 | for (delaycounter = 0; delaycounter < 400; delaycounter++) PORTD &= ~(1 << PORTD2); |
- | |
53 | - | ||
54 | for (delaycounter = 0; delaycounter < 10; delaycounter++) PORTD |= (1 << PORTD2); |
- | |
55 | for (delaycounter = 0; delaycounter < 10; delaycounter++) PORTD &= ~(1 << PORTD2); |
- | |
56 | for (delaycounter = 0; delaycounter < 400; delaycounter++) PORTD |= (1 << PORTD2); |
- | |
57 | for (delaycounter = 0; delaycounter < 400; delaycounter++) PORTD &= ~(1 << PORTD2); |
- | |
58 | - | ||
59 | for (delaycounter = 0; delaycounter < 10; delaycounter++) PORTD |= (1 << PORTD2); |
- | |
60 | for (delaycounter = 0; delaycounter < 10; delaycounter++) PORTD &= ~(1 << PORTD2); |
- | |
61 | for (delaycounter = 0; delaycounter < 400; delaycounter++) PORTD |= (1 << PORTD2); |
- | |
62 | for (delaycounter = 0; delaycounter < 400; delaycounter++) PORTD &= ~(1 << PORTD2); |
- | |
63 | - | ||
64 | for (delaycounter = 0; delaycounter < 10; delaycounter++) PORTD |= (1 << PORTD2); |
- | |
65 | for (delaycounter = 0; delaycounter < 10; delaycounter++) PORTD &= ~(1 << PORTD2); |
- | |
66 | for (delaycounter = 0; delaycounter < 400; delaycounter++) PORTD |= (1 << PORTD2); |
- | |
67 | - | ||
68 | } |
- | |
69 | else |
- | |
70 | { printf("Timeout.\n\r"); |
- | |
71 | - | ||
72 | - | ||
73 | } |
- | |
74 | - | ||
75 | DDRD &= ~(1 << DDD2); // RX as input |
- | |
76 | PORTD &= ~(1 << PORTD2); |
- | |
77 | - | ||
78 | SpektrumUartInit(); // init Uart again |
- | |
79 | } |
- | |
80 | */ |
23 | |
81 | //############################################################################ |
24 | //############################################################################ |
82 | // USART1 initialisation from killagreg |
25 | // USART1 initialisation from killagreg |
83 | void SpektrumUartInit(void) |
26 | void SpektrumUartInit(void) |
84 | //############################################################################ |
27 | //############################################################################ |
Line 95... | Line 38... | ||
95 | UCSR1B &= ~(1 << RXCIE1); |
38 | UCSR1B &= ~(1 << RXCIE1); |
96 | // disable TX-Interrupt |
39 | // disable TX-Interrupt |
97 | UCSR1B &= ~(1 << TXCIE1); |
40 | UCSR1B &= ~(1 << TXCIE1); |
98 | // disable DRE-Interrupt |
41 | // disable DRE-Interrupt |
99 | UCSR1B &= ~(1 << UDRIE1); |
42 | UCSR1B &= ~(1 << UDRIE1); |
- | 43 | /* |
|
100 | // set direction of RXD1 and TXD1 pins |
44 | // set direction of RXD1 and TXD1 pins |
101 | // set RXD1 (PD2) as an input pin |
45 | // set RXD1 (PD2) as an input pin |
102 | PORTD |= (1 << PORTD2); |
46 | PORTD |= (1 << PORTD2); |
103 | DDRD &= ~(1 << DDD2); |
47 | DDRD &= ~(1 << DDD2); |
104 | - | ||
105 | // set TXD1 (PD3) as an output pin |
48 | // set TXD1 (PD3) as an output pin |
106 | PORTD |= (1 << PORTD3); |
49 | PORTD |= (1 << PORTD3); |
107 | DDRD |= (1 << DDD3); |
50 | DDRD |= (1 << DDD3); |
108 | 51 | */ |
|
109 | // USART0 Baud Rate Register |
52 | // USART0 Baud Rate Register |
110 | // set clock divider |
53 | // set clock divider |
111 | UBRR1H = (uint8_t)(ubrr>>8); |
54 | UBRR1H = (uint8_t)(ubrr>>8); |
112 | UBRR1L = (uint8_t)ubrr; |
55 | UBRR1L = (uint8_t)ubrr; |
113 | // enable double speed operation |
56 | // enable double speed operation |