Sfoglia il codice sorgente

integrated serial mouse drivers as a feature into the firmware architecture

 * can be enabled by defining Makefile macro SERIAL_MOUSE_MICROSOFT_ENABLE or
   SERIAL_MOUSE_MOUSESYSTEMS_ENABLE.
 * Serial implementation can be chosen via SERIAL_MOUSE_USE_SOFT and
   SERIAL_MOUSE_USE_UART macros
 * UART configuration still has to be done in config.h: I added working clauses
   for both mouse protocols to ps2_usb's config.h
core
Robin Haberkorn 10 anni fa
parent
commit
a9398c4c9b
3 ha cambiato i file con 33 aggiunte e 1 eliminazioni
  1. 20
    0
      protocol.mk
  2. 12
    0
      protocol/lufa/lufa.c
  3. 1
    1
      protocol/serial_mouse_mousesystems.c

+ 20
- 0
protocol.mk Vedi File

@@ -23,5 +23,25 @@ ifdef PS2_USE_USART
endif


ifdef SERIAL_MOUSE_MICROSOFT_ENABLE
SRC += $(PROTOCOL_DIR)/serial_mouse_microsoft.c
OPT_DEFS += -DSERIAL_MOUSE_ENABLE -DSERIAL_MOUSE_MICROSOFT \
-DMOUSE_ENABLE
endif

ifdef SERIAL_MOUSE_MOUSESYSTEMS_ENABLE
SRC += $(PROTOCOL_DIR)/serial_mouse_mousesystems.c
OPT_DEFS += -DSERIAL_MOUSE_ENABLE -DSERIAL_MOUSE_MOUSESYSTEMS \
-DMOUSE_ENABLE
endif

ifdef SERIAL_MOUSE_USE_SOFT
SRC += $(PROTOCOL_DIR)/serial_soft.c
endif

ifdef SERIAL_MOUSE_USE_UART
SRC += $(PROTOCOL_DIR)/serial_uart.c
endif

# Search Path
VPATH += $(TOP_DIR)/protocol

+ 12
- 0
protocol/lufa/lufa.c Vedi File

@@ -49,6 +49,10 @@
#endif
#include "suspend.h"

#ifdef SERIAL_MOUSE_ENABLE
#include "serial_mouse.h"
#endif

#include "descriptor.h"
#include "lufa.h"

@@ -571,6 +575,10 @@ int main(void)
sleep_led_init();
#endif

#ifdef SERIAL_MOUSE_ENABLE
serial_mouse_init();
#endif

print("Keyboard start.\n");
while (1) {
while (USB_DeviceState == DEVICE_STATE_Suspended) {
@@ -582,6 +590,10 @@ int main(void)

keyboard_task();

#ifdef SERIAL_MOUSE_ENABLE
serial_mouse_task();
#endif

#if !defined(INTERRUPT_CONTROL_ENDPOINT)
USB_USBTask();
#endif

+ 1
- 1
protocol/serial_mouse_mousesystems.c Vedi File

@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "print.h"
#include "debug.h"

#define SERIAL_MOUSE_CENTER_SCROLL
//#define SERIAL_MOUSE_CENTER_SCROLL

static void print_usb_data(const report_mouse_t *report);