Suga Koubou 製 PS_PADライブラリ https://developer.mbed.org/users/okini3939/code/PS_PAD/ を改造したもの。単に__rbitが使えなかったので置き換えただけ。
Dependents: pscontroller project_beta
Fork of PS_PAD by
PS_PAD.h@3:f5eee5325eed, 2017-11-20 (annotated)
- Committer:
- Nyakkey from Desktop
- Date:
- Mon Nov 20 03:58:33 2017 +0900
- Revision:
- 3:f5eee5325eed
- Parent:
- 2:14f34d92a797
update to mbed-os-5
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:6eeefcf5a37a | 1 | /* |
okini3939 | 0:6eeefcf5a37a | 2 | * PlayStation Controller library |
okini3939 | 0:6eeefcf5a37a | 3 | * Copyright (c) 2013 Hiroshi Suga |
okini3939 | 0:6eeefcf5a37a | 4 | */ |
okini3939 | 0:6eeefcf5a37a | 5 | |
okini3939 | 0:6eeefcf5a37a | 6 | #include "mbed.h" |
okini3939 | 0:6eeefcf5a37a | 7 | |
okini3939 | 0:6eeefcf5a37a | 8 | class PS_PAD { |
okini3939 | 0:6eeefcf5a37a | 9 | public: |
okini3939 | 0:6eeefcf5a37a | 10 | enum TYPE { |
okini3939 | 0:6eeefcf5a37a | 11 | PAD_LEFT, |
okini3939 | 0:6eeefcf5a37a | 12 | PAD_BOTTOM, |
okini3939 | 0:6eeefcf5a37a | 13 | PAD_RIGHT, |
okini3939 | 0:6eeefcf5a37a | 14 | PAD_TOP, |
okini3939 | 0:6eeefcf5a37a | 15 | PAD_START, |
okini3939 | 0:6eeefcf5a37a | 16 | ANALOG_LEFT, |
okini3939 | 0:6eeefcf5a37a | 17 | ANALOG_RIGHT, |
okini3939 | 0:6eeefcf5a37a | 18 | PAD_SELECT, |
okini3939 | 0:6eeefcf5a37a | 19 | PAD_SQUARE, |
okini3939 | 0:6eeefcf5a37a | 20 | PAD_X, |
okini3939 | 0:6eeefcf5a37a | 21 | PAD_CIRCLE, |
okini3939 | 0:6eeefcf5a37a | 22 | PAD_TRIANGLE, |
okini3939 | 0:6eeefcf5a37a | 23 | PAD_R1, |
okini3939 | 0:6eeefcf5a37a | 24 | PAD_L1, |
okini3939 | 0:6eeefcf5a37a | 25 | PAD_R2, |
okini3939 | 0:6eeefcf5a37a | 26 | PAD_L2, |
okini3939 | 1:840370e1dcce | 27 | BUTTONS, |
okini3939 | 0:6eeefcf5a37a | 28 | ANALOG_RX, |
okini3939 | 0:6eeefcf5a37a | 29 | ANALOG_RY, |
okini3939 | 0:6eeefcf5a37a | 30 | ANALOG_LX, |
okini3939 | 0:6eeefcf5a37a | 31 | ANALOG_LY, |
okini3939 | 0:6eeefcf5a37a | 32 | }; |
okini3939 | 0:6eeefcf5a37a | 33 | |
Nyakkey from Desktop | 3:f5eee5325eed | 34 | //PS_PAD (PinName mosi, PinName miso, PinName sck, PinName cs); |
Nyakkey from Desktop | 3:f5eee5325eed | 35 | PS_PAD (SPI *spi, PinName cs); |
okini3939 | 0:6eeefcf5a37a | 36 | |
okini3939 | 0:6eeefcf5a37a | 37 | int init (); |
okini3939 | 0:6eeefcf5a37a | 38 | int poll (); |
okini3939 | 0:6eeefcf5a37a | 39 | int read (TYPE t); |
okini3939 | 0:6eeefcf5a37a | 40 | int vibration (int v1, int v2); |
okini3939 | 0:6eeefcf5a37a | 41 | |
okini3939 | 0:6eeefcf5a37a | 42 | private: |
Nyakkey from Desktop | 3:f5eee5325eed | 43 | SPI *_spi; |
okini3939 | 0:6eeefcf5a37a | 44 | DigitalOut _cs; |
okini3939 | 1:840370e1dcce | 45 | uint8_t _pad[6]; |
okini3939 | 0:6eeefcf5a37a | 46 | int _vib1, _vib2; |
okini3939 | 1:840370e1dcce | 47 | bool _connected; |
okini3939 | 0:6eeefcf5a37a | 48 | |
okini3939 | 0:6eeefcf5a37a | 49 | int send (const char *cmd, int len, char *dat); |
Nyakkey from Desktop | 3:f5eee5325eed | 50 | uint32_t bitflip32(uint32_t val); |
okini3939 | 0:6eeefcf5a37a | 51 | }; |