Subversion Repositories FlightCtrl

Rev

Rev 2185 | Rev 2492 | 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