summaryrefslogtreecommitdiff
path: root/usb-keyboardmouse
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2015-02-24 17:37:11 +0100
committerChristian Pointner <equinox@spreadspace.org>2015-02-24 17:37:11 +0100
commitdfa2676fe9524ba07cdcf1b0d9398e9fc19dabd7 (patch)
treeada71cd309a8c856952dfefe47b1b57197d99a51 /usb-keyboardmouse
parentremoved stable usb-freq example (diff)
cleanups
Diffstat (limited to 'usb-keyboardmouse')
-rw-r--r--usb-keyboardmouse/Makefile2
-rw-r--r--usb-keyboardmouse/usb-keyboardmouse.c114
2 files changed, 56 insertions, 60 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();
}
}