diff options
Diffstat (limited to 'Projects/Benito/Benito.c')
-rw-r--r-- | Projects/Benito/Benito.c | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/Projects/Benito/Benito.c b/Projects/Benito/Benito.c index a9afda4a3..735d7346b 100644 --- a/Projects/Benito/Benito.c +++ b/Projects/Benito/Benito.c @@ -1,7 +1,7 @@ /* LUFA Library Copyright (C) Dean Camera, 2010. - + dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ @@ -9,13 +9,13 @@ /* Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in + without fee, provided that the above copyright notice appear in all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -60,7 +60,7 @@ uint8_t FlushPeriodRemaining = RECEIVE_BUFFER_FLUSH_MS; */ USB_ClassInfo_CDC_Device_t VirtualSerial_CDC_Interface = { - .Config = + .Config = { .ControlInterfaceNumber = 0, @@ -84,9 +84,9 @@ USB_ClassInfo_CDC_Device_t VirtualSerial_CDC_Interface = int main(void) { SetupHardware(); - + RingBuffer_InitBuffer(&Tx_Buffer); - + sei(); for (;;) @@ -98,9 +98,9 @@ int main(void) UDR1 = ReceivedByte; LEDs_TurnOnLEDs(LEDMASK_TX); - PulseMSRemaining.TxLEDPulse = TX_RX_LED_PULSE_MS; + PulseMSRemaining.TxLEDPulse = TX_RX_LED_PULSE_MS; } - + /* Check if the millisecond timer has elapsed */ if (TIFR0 & (1 << OCF0A)) { @@ -110,14 +110,14 @@ int main(void) LEDs_TurnOffLEDs(LEDMASK_BUSY); AVR_RESET_LINE_DDR &= ~AVR_RESET_LINE_MASK; } - + /* Check if the LEDs should be ping-ponging (during enumeration) */ if (PulseMSRemaining.PingPongLEDPulse && !(--PulseMSRemaining.PingPongLEDPulse)) { LEDs_ToggleLEDs(LEDMASK_TX | LEDMASK_RX); PulseMSRemaining.PingPongLEDPulse = PING_PONG_LED_PULSE_MS; } - + /* Turn off TX LED(s) once the TX pulse period has elapsed */ if (PulseMSRemaining.TxLEDPulse && !(--PulseMSRemaining.TxLEDPulse)) LEDs_TurnOffLEDs(LEDMASK_TX); @@ -139,14 +139,14 @@ int main(void) LEDs_TurnOnLEDs(LEDMASK_RX); PulseMSRemaining.RxLEDPulse = TX_RX_LED_PULSE_MS; } - + FlushPeriodRemaining = RECEIVE_BUFFER_FLUSH_MS; } /* Clear the millisecond timer CTC flag (cleared by writing logic one to the register) */ - TIFR0 |= (1 << OCF0A); + TIFR0 |= (1 << OCF0A); } - + CDC_Device_USBTask(&VirtualSerial_CDC_Interface); USB_USBTask(); } @@ -167,7 +167,7 @@ void SetupHardware(void) OCR0A = (F_CPU / 64 / 1000); TCCR0A = (1 << WGM01); TCCR0B = ((1 << CS01) | (1 << CS00)); - + /* Tristate target /RESET Line */ AVR_RESET_LINE_PORT &= ~AVR_RESET_LINE_MASK; AVR_RESET_LINE_DDR &= ~AVR_RESET_LINE_MASK; @@ -216,10 +216,10 @@ void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCI switch (CDCInterfaceInfo->State.LineEncoding.ParityType) { case CDC_PARITY_Odd: - ConfigMask = ((1 << UPM11) | (1 << UPM10)); + ConfigMask = ((1 << UPM11) | (1 << UPM10)); break; case CDC_PARITY_Even: - ConfigMask = (1 << UPM11); + ConfigMask = (1 << UPM11); break; } @@ -238,7 +238,7 @@ void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCI ConfigMask |= ((1 << UCSZ11) | (1 << UCSZ10)); break; } - + /* Must turn off USART before reconfiguring it, otherwise incorrect operation may occur */ UCSR1B = 0; UCSR1A = 0; @@ -246,10 +246,10 @@ void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCI /* Set the new baud rate before configuring the USART */ UBRR1 = SERIAL_2X_UBBRVAL(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS); - + /* Reconfigure the USART in double speed mode for a wider baud rate range at the expense of accuracy */ UCSR1C = ConfigMask; - UCSR1A = (1 << U2X1); + UCSR1A = (1 << U2X1); UCSR1B = ((1 << RXCIE1) | (1 << TXEN1) | (1 << RXEN1)); } @@ -276,10 +276,11 @@ void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t* const C if (!(PreviousDTRState) && CurrentDTRState) { LEDs_SetAllLEDs(LEDMASK_BUSY); - + AVR_RESET_LINE_DDR |= AVR_RESET_LINE_MASK; PulseMSRemaining.ResetPulse = AVR_RESET_PULSE_MS; } - + PreviousDTRState = CurrentDTRState; } + |