Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
USBJoystick.h
00001 /* USBJoystick.h */ 00002 /* USB device example: Joystick*/ 00003 /* Copyright (c) 2011 ARM Limited. All rights reserved. */ 00004 /* Modified Mouse code for Joystick - WH 2012 */ 00005 00006 // PS3向け改修版 00007 00008 #ifndef USBJOYSTICK_H 00009 #define USBJOYSTICK_H 00010 00011 #include "USBHID.h" 00012 00013 #define REPORT_ID_JOYSTICK 4 00014 00015 #define JOYSTICK_UP (1<<0) 00016 #define JOYSTICK_DOWN (1<<1) 00017 #define JOYSTICK_LEFT (1<<2) 00018 #define JOYSTICK_RIGHT (1<<3) 00019 00020 class USBJoystick: public USBHID 00021 { 00022 private: 00023 int8_t _x; 00024 int8_t _y; 00025 int8_t _z; 00026 int8_t _rz; 00027 uint32_t _buttons; 00028 uint8_t _stick; 00029 00030 void _init(); 00031 00032 public: 00033 /** 00034 * Constructor 00035 * 00036 * @param vendor_id Your vendor_id (default: 0x1234) 00037 * @param product_id Your product_id (default: 0x0002) 00038 * @param product_release Your product_release (default: 0x0001) 00039 */ 00040 USBJoystick(uint16_t vendor_id = 0x1234, uint16_t product_id = 0x0100, uint16_t product_release = 0x0001): 00041 USBHID(0, 0, vendor_id, product_id, product_release, false) 00042 { 00043 _init(); 00044 connect(); 00045 }; 00046 00047 /** 00048 * Write a state of the mouse 00049 * 00050 * @param x x-axis position 00051 * @param y y-axis position 00052 * @param z z-axis position 00053 * @param rz rotate-z position 00054 * @param buttons buttons state 00055 * @param stick rest of buttons, and hat state 0 (up), 1 (right, 2 (down), 3 (left) or 4 (neutral) 00056 * @returns true if there is no error, false otherwise 00057 */ 00058 bool update(int16_t x, int16_t y, int16_t z, int16_t rz, uint32_t buttons, uint8_t stick); 00059 00060 /** 00061 * Write a state of the mouse 00062 * 00063 * @returns true if there is no error, false otherwise 00064 */ 00065 bool update(); 00066 00067 00068 /* 00069 * To define the report descriptor. Warning: this method has to store the length of the report descriptor in reportLength. 00070 * 00071 * @returns pointer to the report descriptor 00072 */ 00073 virtual uint8_t * reportDesc(); 00074 00075 }; 00076 00077 #endif
Generated on Thu Jul 14 2022 14:49:55 by
1.7.2