Trackball based on the NXP LPC11U24 and the ADNS-9500
Dependencies: ADNS9500 USBDevice mbed 25LCxxx_SPI
main.h@5:c7056267daa7, 2012-12-16 (annotated)
- 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?
User | Revision | Line number | New 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); |