diff options
-rw-r--r-- | usb-keyboardmouse/Makefile | 2 | ||||
-rw-r--r-- | usb-keyboardmouse/usb-keyboardmouse.c | 114 | ||||
-rw-r--r-- | usb-midi/Makefile | 2 | ||||
-rw-r--r-- | usb-midi/usb-midi.c | 12 |
4 files changed, 61 insertions, 69 deletions
diff --git a/usb-keyboardmouse/Makefile b/usb-keyboardmouse/Makefile index 01fee72..e69b4b0 100644 --- a/usb-keyboardmouse/Makefile +++ b/usb-keyboardmouse/Makefile @@ -23,7 +23,7 @@ NAME := usb-keyboardmouse BOARD_TYPE := teensy2 OBJ := $(NAME).o -LIBS := util led lufa-descriptor-keyboardmouse +LIBS := util led lufa-descriptor-keyboardmouse serialio EXTERNAL_LIBS := lufa SPREADAVR_PATH := .. diff --git a/usb-keyboardmouse/usb-keyboardmouse.c b/usb-keyboardmouse/usb-keyboardmouse.c index dd1ea4d..f1eb0eb 100644 --- a/usb-keyboardmouse/usb-keyboardmouse.c +++ b/usb-keyboardmouse/usb-keyboardmouse.c @@ -29,6 +29,7 @@ #include "util.h" #include "led.h" +#include "serialio.h" /* LUFA Library @@ -38,7 +39,6 @@ www.lufa-lib.org */ #include <LUFA/Drivers/USB/USB.h> -#include "LUFA/Drivers/Peripheral/Serial.h" #include <LUFA/Drivers/Misc/RingBuffer.h> #include "lufa-descriptor-keyboardmouse.h" @@ -46,59 +46,58 @@ static uint8_t PrevKeyboardHIDReportBuffer[sizeof(USB_KeyboardReport_Data_t)]; static uint8_t PrevMouseHIDReportBuffer[sizeof(USB_MouseReport_Data_t)]; USB_ClassInfo_HID_Device_t Keyboard_HID_Interface = - { - .Config = - { - .InterfaceNumber = 0, + { + .Config = + { + .InterfaceNumber = 0, - .ReportINEndpointNumber = KEYBOARD_IN_EPNUM, - .ReportINEndpointSize = HID_EPSIZE, - .ReportINEndpointDoubleBank = false, + .ReportINEndpointNumber = KEYBOARD_IN_EPNUM, + .ReportINEndpointSize = HID_EPSIZE, + .ReportINEndpointDoubleBank = false, - .PrevReportINBuffer = PrevKeyboardHIDReportBuffer, - .PrevReportINBufferSize = sizeof(PrevKeyboardHIDReportBuffer), - }, - }; + .PrevReportINBuffer = PrevKeyboardHIDReportBuffer, + .PrevReportINBufferSize = sizeof(PrevKeyboardHIDReportBuffer), + }, + }; USB_ClassInfo_HID_Device_t Mouse_HID_Interface = - { - .Config = - { - .InterfaceNumber = 1, + { + .Config = + { + .InterfaceNumber = 1, - .ReportINEndpointNumber = MOUSE_IN_EPNUM, - .ReportINEndpointSize = HID_EPSIZE, + .ReportINEndpointNumber = MOUSE_IN_EPNUM, + .ReportINEndpointSize = HID_EPSIZE, - .PrevReportINBuffer = PrevMouseHIDReportBuffer, - .PrevReportINBufferSize = sizeof(PrevMouseHIDReportBuffer), - }, - }; + .PrevReportINBuffer = PrevMouseHIDReportBuffer, + .PrevReportINBufferSize = sizeof(PrevMouseHIDReportBuffer), + }, + }; void EVENT_USB_Device_ConfigurationChanged(void) { - HID_Device_ConfigureEndpoints(&Keyboard_HID_Interface); - HID_Device_ConfigureEndpoints(&Mouse_HID_Interface); + HID_Device_ConfigureEndpoints(&Keyboard_HID_Interface); + HID_Device_ConfigureEndpoints(&Mouse_HID_Interface); - USB_Device_EnableSOFEvents(); + USB_Device_EnableSOFEvents(); } /** Event handler for the library USB Control Request reception event. */ void EVENT_USB_Device_ControlRequest(void) { - HID_Device_ProcessControlRequest(&Keyboard_HID_Interface); - HID_Device_ProcessControlRequest(&Mouse_HID_Interface); + HID_Device_ProcessControlRequest(&Keyboard_HID_Interface); + HID_Device_ProcessControlRequest(&Mouse_HID_Interface); } /** Event handler for the USB device Start Of Frame event. */ void EVENT_USB_Device_StartOfFrame(void) { - HID_Device_MillisecondElapsed(&Keyboard_HID_Interface); - HID_Device_MillisecondElapsed(&Mouse_HID_Interface); + HID_Device_MillisecondElapsed(&Keyboard_HID_Interface); + HID_Device_MillisecondElapsed(&Mouse_HID_Interface); } /* end LUFA CDC-ACM specific definitions*/ -FILE serial_stream; static RingBuffer_t keyboard_buffer; static uint8_t keyboard_buffer_data[16]; static RingBuffer_t mouse_buffer; @@ -111,8 +110,8 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn uint16_t* const ReportSize) { - if (HIDInterfaceInfo == &Keyboard_HID_Interface) { - USB_KeyboardReport_Data_t* KeyboardReport = (USB_KeyboardReport_Data_t*)ReportData; + if (HIDInterfaceInfo == &Keyboard_HID_Interface) { + USB_KeyboardReport_Data_t* KeyboardReport = (USB_KeyboardReport_Data_t*)ReportData; if(!RingBuffer_IsEmpty(&keyboard_buffer)) { uint8_t received_byte = RingBuffer_Remove(&keyboard_buffer); @@ -122,18 +121,18 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn case '3': KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_3_AND_HASHMARK; break; case '4': KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_4_AND_DOLLAR; break; case 'c': KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_CAPS_LOCK; break; - default: return 0; // no key has been pressed - just return + default: return 0; // no key has been pressed - just return } } // KeyboardReport->Modifier = HID_KEYBOARD_MODIFIER_LEFTSHIFT; - - *ReportSize = sizeof(USB_KeyboardReport_Data_t); - return false; - } - else - { - USB_MouseReport_Data_t* MouseReport = (USB_MouseReport_Data_t*)ReportData; + *ReportSize = sizeof(USB_KeyboardReport_Data_t); + return false; + + } + else + { + USB_MouseReport_Data_t* MouseReport = (USB_MouseReport_Data_t*)ReportData; MouseReport->Y = 0; MouseReport->X = 0; @@ -148,9 +147,9 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn case 'e': MouseReport->Button |= (1 << 1); break; // Button 2 } } - *ReportSize = sizeof(USB_MouseReport_Data_t); - return true; - } + *ReportSize = sizeof(USB_MouseReport_Data_t); + return true; + } } void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, @@ -159,21 +158,21 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI const void* ReportData, const uint16_t ReportSize) { - if (HIDInterfaceInfo == &Keyboard_HID_Interface) - { - uint8_t* LEDReport = (uint8_t*)ReportData; + if (HIDInterfaceInfo == &Keyboard_HID_Interface) + { + uint8_t* LEDReport = (uint8_t*)ReportData; - /* if (*LEDReport & HID_KEYBOARD_LED_NUMLOCK) */ + /* if (*LEDReport & HID_KEYBOARD_LED_NUMLOCK) */ /* // do something */ - if (*LEDReport & HID_KEYBOARD_LED_CAPSLOCK) + if (*LEDReport & HID_KEYBOARD_LED_CAPSLOCK) led_on(); else led_off(); - - /* if (*LEDReport & HID_KEYBOARD_LED_SCROLLLOCK) */ + + /* if (*LEDReport & HID_KEYBOARD_LED_SCROLLLOCK) */ /* // do something */ - } + } } int main(void) @@ -184,17 +183,14 @@ int main(void) cpu_init(); led_init(); USB_Init(); - - Serial_Init(115200, false); - Serial_CreateStream(&serial_stream); - stdin = stdout = stderr = &serial_stream; + serialio_init(115200, false); RingBuffer_InitBuffer(&keyboard_buffer, keyboard_buffer_data, sizeof(keyboard_buffer_data)); RingBuffer_InitBuffer(&mouse_buffer, mouse_buffer_data, sizeof(mouse_buffer_data)); sei(); for(;;) { - if(Serial_IsCharReceived()) { + if(serialio_bytes_received()) { int received_byte = fgetc(stdin); switch(received_byte) { case '1': @@ -208,13 +204,13 @@ int main(void) case 'a': case 'd': case 'q': - case 'e': + case 'e': RingBuffer_Insert(&mouse_buffer, (uint8_t)received_byte); break; } } - HID_Device_USBTask(&Keyboard_HID_Interface); - HID_Device_USBTask(&Mouse_HID_Interface); + HID_Device_USBTask(&Keyboard_HID_Interface); + HID_Device_USBTask(&Mouse_HID_Interface); USB_USBTask(); } } diff --git a/usb-midi/Makefile b/usb-midi/Makefile index ba3d8f7..f8f4f34 100644 --- a/usb-midi/Makefile +++ b/usb-midi/Makefile @@ -23,7 +23,7 @@ NAME := usb-midi BOARD_TYPE := rhmixxx OBJ := $(NAME).o -LIBS := util led lufa-descriptor-midi +LIBS := util led lufa-descriptor-midi serialio EXTERNAL_LIBS := lufa SPREADAVR_PATH := .. diff --git a/usb-midi/usb-midi.c b/usb-midi/usb-midi.c index 7b8d68c..6339646 100644 --- a/usb-midi/usb-midi.c +++ b/usb-midi/usb-midi.c @@ -27,6 +27,9 @@ #include <avr/power.h> #include <stdio.h> +#include "serialio.h" +#include "led.h" + /* LUFA Library Copyright (C) Dean Camera, 2012. @@ -37,7 +40,6 @@ #include <LUFA/Version.h> #include <LUFA/Drivers/USB/USB.h> #include "lufa-descriptor-midi.h" -#include "LUFA/Drivers/Peripheral/Serial.h" /** LUFA MIDI Class driver interface configuration and state information. This structure is * passed to all MIDI Class driver functions, so that multiple instances of the same class @@ -78,8 +80,6 @@ void EVENT_USB_Device_ControlRequest(void) #include "util.h" #include "led.h" -static FILE serial_stream; - #define KEY_PIN PINA #define KEY_PORT PORTA #define KEY_DDR DDRA @@ -101,11 +101,7 @@ int main(void) cpu_init(); led_init(); key_init(); - - Serial_Init(38400, 0); - Serial_CreateStream(&serial_stream); - stdin = stdout = stderr = &serial_stream; - + serialio_init(38400, 0); USB_Init(); sei(); |