Trackball based on the NXP LPC11U24 and the ADNS-9500

Dependencies:   ADNS9500 USBDevice mbed 25LCxxx_SPI

Committer:
xxann5
Date:
Sun Dec 16 18:38:20 2012 +0000
Revision:
5:c7056267daa7
Parent:
4:ba169f98e9be
Child:
6:4cb2c9a3abcd
Started fooling around with sending HID reports to configure the mouse with. things such as default CPI.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xxann5 5:c7056267daa7 1 #include "mbed.h"
xxann5 5:c7056267daa7 2 #include "USBHID.h"
xxann5 5:c7056267daa7 3 #include "USBMouse.h"
xxann5 5:c7056267daa7 4 #include <math.h>
xxann5 5:c7056267daa7 5 #include <stdint.h>
xxann5 5:c7056267daa7 6
xxann5 5:c7056267daa7 7 #define ADNS9500_SROM_91
xxann5 5:c7056267daa7 8
xxann5 5:c7056267daa7 9 #define DEBUG
xxann5 5:c7056267daa7 10
xxann5 5:c7056267daa7 11 #include "adns9500.hpp"
xxann5 5:c7056267daa7 12 #include "Ser25lcxxx.h"
xxann5 5:c7056267daa7 13
xxann5 5:c7056267daa7 14 #define CHAT_SET 0x01
xxann5 5:c7056267daa7 15 #define CHAT_GET 0x02
xxann5 5:c7056267daa7 16
xxann5 5:c7056267daa7 17 #define CHAT_MOTION_DEFAULT_CPI 0x01
xxann5 5:c7056267daa7 18 #define CHAT_MOTION_MAX_CPI 0x02
xxann5 5:c7056267daa7 19 #define CHAT_MOTION_MIN_CPI 0x03
xxann5 5:c7056267daa7 20 #define CHAT_MOTION_STEP_CPI 0x04
xxann5 5:c7056267daa7 21 #define CHAT_Z_DEFAULT_CPI 0x05
xxann5 5:c7056267daa7 22 #define CHAT_HR_DEFAULT_CPI 0x06
xxann5 5:c7056267daa7 23
xxann5 5:c7056267daa7 24 #define CHAT_VID 0x07
xxann5 5:c7056267daa7 25 #define CHAT_PID 0x08
xxann5 5:c7056267daa7 26
xxann5 5:c7056267daa7 27 #define CHAT_ADNS_SROM 0x09
xxann5 5:c7056267daa7 28
xxann5 5:c7056267daa7 29 #define CHAT_LED_BEHAVIOR 0x0a
xxann5 5:c7056267daa7 30
xxann5 5:c7056267daa7 31
xxann5 5:c7056267daa7 32
xxann5 5:c7056267daa7 33 //This report will contain data to be sent
xxann5 5:c7056267daa7 34 HID_REPORT send_rep;
xxann5 5:c7056267daa7 35 HID_REPORT recv_rep;
xxann5 5:c7056267daa7 36
xxann5 5:c7056267daa7 37 DigitalOut led1(LED1);
xxann5 5:c7056267daa7 38 DigitalOut led2(LED2);
xxann5 5:c7056267daa7 39 DigitalOut led3(LED3);
xxann5 5:c7056267daa7 40 DigitalOut led4(LED4);
xxann5 5:c7056267daa7 41
xxann5 5:c7056267daa7 42 InterruptIn btn_hr(p16);
xxann5 5:c7056267daa7 43 InterruptIn btn_z(p17);
xxann5 5:c7056267daa7 44 InterruptIn btn_l(p18);
xxann5 5:c7056267daa7 45 InterruptIn btn_m(p19);
xxann5 5:c7056267daa7 46 InterruptIn btn_r(p20);
xxann5 5:c7056267daa7 47
xxann5 5:c7056267daa7 48 bool motion_triggered = false;
xxann5 5:c7056267daa7 49 bool z_axis_active = false;
xxann5 5:c7056267daa7 50 bool high_rez_active = false;
xxann5 5:c7056267daa7 51
xxann5 5:c7056267daa7 52 int default_motion_cpi = 1080;
xxann5 5:c7056267daa7 53 int default_z_cpi = 90;
xxann5 5:c7056267daa7 54 int default_hirez_cpi = 180;
xxann5 5:c7056267daa7 55
xxann5 5:c7056267daa7 56
xxann5 5:c7056267daa7 57
xxann5 5:c7056267daa7 58
xxann5 5:c7056267daa7 59
xxann5 5:c7056267daa7 60 void set( uint8_t attrib, uint8_t *val );
xxann5 5:c7056267daa7 61 void get( uint8_t attrib);