Kazufumi Honda / Mbed 2 deprecated RosSerialModule

Dependencies:   mbed

Committer:
Kize
Date:
Sun Jun 21 01:48:47 2020 +0000
Revision:
0:4289fbe66d45
new commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kize 0:4289fbe66d45 1 #include "dualshock3.h"
Kize 0:4289fbe66d45 2
Kize 0:4289fbe66d45 3 Dualshock3::Dualshock3(PinName tx, PinName rx)
Kize 0:4289fbe66d45 4 :controller(tx, rx), baudrate(DEFAULT_BAUDRATE)
Kize 0:4289fbe66d45 5 {
Kize 0:4289fbe66d45 6 button_state = 0;
Kize 0:4289fbe66d45 7 button_risen = 0;
Kize 0:4289fbe66d45 8 previous_button_state = button_state;
Kize 0:4289fbe66d45 9 data[3] = 0x40;
Kize 0:4289fbe66d45 10 data[4] = 0x40;
Kize 0:4289fbe66d45 11 data[5] = 0x40;
Kize 0:4289fbe66d45 12 data[6] = 0x40;
Kize 0:4289fbe66d45 13 printf("dualshock3 is ready\r\n");
Kize 0:4289fbe66d45 14 }
Kize 0:4289fbe66d45 15
Kize 0:4289fbe66d45 16 void Dualshock3::set_baudrate(int baud)
Kize 0:4289fbe66d45 17 {
Kize 0:4289fbe66d45 18 baudrate = baud;
Kize 0:4289fbe66d45 19 }
Kize 0:4289fbe66d45 20
Kize 0:4289fbe66d45 21 void Dualshock3::initialize(void)
Kize 0:4289fbe66d45 22 {
Kize 0:4289fbe66d45 23 controller.baud(baudrate);
Kize 0:4289fbe66d45 24 controller.attach(callback(this, &Dualshock3::read), Serial::RxIrq);
Kize 0:4289fbe66d45 25 }
Kize 0:4289fbe66d45 26
Kize 0:4289fbe66d45 27 void Dualshock3::clear(void)
Kize 0:4289fbe66d45 28 {
Kize 0:4289fbe66d45 29 button_state = 0;
Kize 0:4289fbe66d45 30 button_risen = 0;
Kize 0:4289fbe66d45 31 }
Kize 0:4289fbe66d45 32
Kize 0:4289fbe66d45 33 void Dualshock3::read(void)
Kize 0:4289fbe66d45 34 {
Kize 0:4289fbe66d45 35 __disable_irq();
Kize 0:4289fbe66d45 36 data[0] = controller.getc();
Kize 0:4289fbe66d45 37 if(data[0]==0x80){
Kize 0:4289fbe66d45 38 for(int i=1;i<DATA_LENGTH;i++){
Kize 0:4289fbe66d45 39 data[i] = controller.getc();
Kize 0:4289fbe66d45 40 }
Kize 0:4289fbe66d45 41 button_state = (data[1]<<DATA_LENGTH) + data[2];
Kize 0:4289fbe66d45 42 //今該当ボタンのビットが1で、前回は0なら、risenを1にする
Kize 0:4289fbe66d45 43 if((button_state & UP) && !(previous_button_state & UP)){
Kize 0:4289fbe66d45 44 button_risen |= UP;
Kize 0:4289fbe66d45 45 }
Kize 0:4289fbe66d45 46 if((button_state & DOWN) && !(previous_button_state & DOWN)){
Kize 0:4289fbe66d45 47 button_risen |= DOWN;
Kize 0:4289fbe66d45 48 }
Kize 0:4289fbe66d45 49 if((button_state & LEFT) && !(previous_button_state & LEFT)){
Kize 0:4289fbe66d45 50 button_risen |= LEFT;
Kize 0:4289fbe66d45 51 }
Kize 0:4289fbe66d45 52 if((button_state & RIGHT) && !(previous_button_state & RIGHT)){
Kize 0:4289fbe66d45 53 button_risen |= RIGHT;
Kize 0:4289fbe66d45 54 }
Kize 0:4289fbe66d45 55 if((button_state & TRIANGLE) && !(previous_button_state & TRIANGLE)){
Kize 0:4289fbe66d45 56 button_risen |= TRIANGLE;
Kize 0:4289fbe66d45 57 }
Kize 0:4289fbe66d45 58 if((button_state & CROSS) && !(previous_button_state & CROSS)){
Kize 0:4289fbe66d45 59 button_risen |= CROSS;
Kize 0:4289fbe66d45 60 }
Kize 0:4289fbe66d45 61 if((button_state & CIRCLE) && !(previous_button_state & CIRCLE)){
Kize 0:4289fbe66d45 62 button_risen |= CIRCLE;
Kize 0:4289fbe66d45 63 }
Kize 0:4289fbe66d45 64 if((button_state & RECTANGLE) && !(previous_button_state & RECTANGLE)){
Kize 0:4289fbe66d45 65 button_risen |= RECTANGLE;
Kize 0:4289fbe66d45 66 }
Kize 0:4289fbe66d45 67 if((button_state & L1) && !(previous_button_state & L1)){
Kize 0:4289fbe66d45 68 button_risen |= L1;
Kize 0:4289fbe66d45 69 }
Kize 0:4289fbe66d45 70 if((button_state & L2) && !(previous_button_state & L2)){
Kize 0:4289fbe66d45 71 button_risen |= L2;
Kize 0:4289fbe66d45 72 }
Kize 0:4289fbe66d45 73 if((button_state & R1) && !(previous_button_state & R1)){
Kize 0:4289fbe66d45 74 button_risen |= R1;
Kize 0:4289fbe66d45 75 }
Kize 0:4289fbe66d45 76 if((button_state & R2) && !(previous_button_state & R2)){
Kize 0:4289fbe66d45 77 button_risen |= R2;
Kize 0:4289fbe66d45 78 }
Kize 0:4289fbe66d45 79 if((button_state & START) && !(previous_button_state & START)){
Kize 0:4289fbe66d45 80 button_risen |= START;
Kize 0:4289fbe66d45 81 }
Kize 0:4289fbe66d45 82 if((button_state & SELECT) && !(previous_button_state & SELECT)){
Kize 0:4289fbe66d45 83 button_risen |= SELECT;
Kize 0:4289fbe66d45 84 }
Kize 0:4289fbe66d45 85 previous_button_state = button_state;
Kize 0:4289fbe66d45 86 }
Kize 0:4289fbe66d45 87 __enable_irq();
Kize 0:4289fbe66d45 88 }
Kize 0:4289fbe66d45 89
Kize 0:4289fbe66d45 90 bool Dualshock3::circle_is_pushed(void)
Kize 0:4289fbe66d45 91 {
Kize 0:4289fbe66d45 92 if(button_state & CIRCLE){
Kize 0:4289fbe66d45 93 return true;
Kize 0:4289fbe66d45 94 }else{
Kize 0:4289fbe66d45 95 return 0;
Kize 0:4289fbe66d45 96 }
Kize 0:4289fbe66d45 97 }
Kize 0:4289fbe66d45 98
Kize 0:4289fbe66d45 99 bool Dualshock3::cross_is_pushed(void)
Kize 0:4289fbe66d45 100 {
Kize 0:4289fbe66d45 101 if(button_state & CROSS){
Kize 0:4289fbe66d45 102 return true;
Kize 0:4289fbe66d45 103 }else{
Kize 0:4289fbe66d45 104 return 0;
Kize 0:4289fbe66d45 105 }
Kize 0:4289fbe66d45 106 }
Kize 0:4289fbe66d45 107
Kize 0:4289fbe66d45 108 bool Dualshock3::rectangle_is_pushed(void)
Kize 0:4289fbe66d45 109 {
Kize 0:4289fbe66d45 110 if(button_state & RECTANGLE){
Kize 0:4289fbe66d45 111 return true;
Kize 0:4289fbe66d45 112 }else{
Kize 0:4289fbe66d45 113 return 0;
Kize 0:4289fbe66d45 114 }
Kize 0:4289fbe66d45 115 }
Kize 0:4289fbe66d45 116
Kize 0:4289fbe66d45 117 bool Dualshock3::triangle_is_pushed(void)
Kize 0:4289fbe66d45 118 {
Kize 0:4289fbe66d45 119 if(button_state & TRIANGLE){
Kize 0:4289fbe66d45 120 return true;
Kize 0:4289fbe66d45 121 }else{
Kize 0:4289fbe66d45 122 return 0;
Kize 0:4289fbe66d45 123 }
Kize 0:4289fbe66d45 124 }
Kize 0:4289fbe66d45 125
Kize 0:4289fbe66d45 126 bool Dualshock3::up_is_pushed(void)
Kize 0:4289fbe66d45 127 {
Kize 0:4289fbe66d45 128 if(button_state & UP){
Kize 0:4289fbe66d45 129 if(button_state & DOWN){
Kize 0:4289fbe66d45 130 return 0;
Kize 0:4289fbe66d45 131 }else{
Kize 0:4289fbe66d45 132 return true;
Kize 0:4289fbe66d45 133 }
Kize 0:4289fbe66d45 134 }else{
Kize 0:4289fbe66d45 135 return 0;
Kize 0:4289fbe66d45 136 }
Kize 0:4289fbe66d45 137 }
Kize 0:4289fbe66d45 138
Kize 0:4289fbe66d45 139 bool Dualshock3::down_is_pushed(void)
Kize 0:4289fbe66d45 140 {
Kize 0:4289fbe66d45 141 if(button_state & DOWN){
Kize 0:4289fbe66d45 142 if(button_state & UP){
Kize 0:4289fbe66d45 143 return 0;
Kize 0:4289fbe66d45 144 }else{
Kize 0:4289fbe66d45 145 return true;
Kize 0:4289fbe66d45 146 }
Kize 0:4289fbe66d45 147 }else{
Kize 0:4289fbe66d45 148 return 0;
Kize 0:4289fbe66d45 149 }
Kize 0:4289fbe66d45 150 }
Kize 0:4289fbe66d45 151
Kize 0:4289fbe66d45 152 bool Dualshock3::left_is_pushed(void)
Kize 0:4289fbe66d45 153 {
Kize 0:4289fbe66d45 154 if(button_state & LEFT){
Kize 0:4289fbe66d45 155 if(button_state & RIGHT){
Kize 0:4289fbe66d45 156 return 0;
Kize 0:4289fbe66d45 157 }else{
Kize 0:4289fbe66d45 158 return true;
Kize 0:4289fbe66d45 159 }
Kize 0:4289fbe66d45 160 }else{
Kize 0:4289fbe66d45 161 return 0;
Kize 0:4289fbe66d45 162 }
Kize 0:4289fbe66d45 163 }
Kize 0:4289fbe66d45 164
Kize 0:4289fbe66d45 165 bool Dualshock3::right_is_pushed(void)
Kize 0:4289fbe66d45 166 {
Kize 0:4289fbe66d45 167 if(button_state & RIGHT){
Kize 0:4289fbe66d45 168 if(button_state & LEFT){
Kize 0:4289fbe66d45 169 return 0;
Kize 0:4289fbe66d45 170 }else{
Kize 0:4289fbe66d45 171 return true;
Kize 0:4289fbe66d45 172 }
Kize 0:4289fbe66d45 173 }else{
Kize 0:4289fbe66d45 174 return 0;
Kize 0:4289fbe66d45 175 }
Kize 0:4289fbe66d45 176 }
Kize 0:4289fbe66d45 177
Kize 0:4289fbe66d45 178 bool Dualshock3::l1_is_pushed(void)
Kize 0:4289fbe66d45 179 {
Kize 0:4289fbe66d45 180 if(button_state & L1){
Kize 0:4289fbe66d45 181 return true;
Kize 0:4289fbe66d45 182 }else{
Kize 0:4289fbe66d45 183 return 0;
Kize 0:4289fbe66d45 184 }
Kize 0:4289fbe66d45 185 }
Kize 0:4289fbe66d45 186
Kize 0:4289fbe66d45 187 bool Dualshock3::l2_is_pushed(void)
Kize 0:4289fbe66d45 188 {
Kize 0:4289fbe66d45 189 if(button_state & L2){
Kize 0:4289fbe66d45 190 return true;
Kize 0:4289fbe66d45 191 }else{
Kize 0:4289fbe66d45 192 return 0;
Kize 0:4289fbe66d45 193 }
Kize 0:4289fbe66d45 194 }
Kize 0:4289fbe66d45 195
Kize 0:4289fbe66d45 196 bool Dualshock3::r1_is_pushed(void)
Kize 0:4289fbe66d45 197 {
Kize 0:4289fbe66d45 198 if(button_state & R1){
Kize 0:4289fbe66d45 199 return true;
Kize 0:4289fbe66d45 200 }else{
Kize 0:4289fbe66d45 201 return 0;
Kize 0:4289fbe66d45 202 }
Kize 0:4289fbe66d45 203 }
Kize 0:4289fbe66d45 204
Kize 0:4289fbe66d45 205 bool Dualshock3::r2_is_pushed(void)
Kize 0:4289fbe66d45 206 {
Kize 0:4289fbe66d45 207 if(button_state & R2){
Kize 0:4289fbe66d45 208 return true;
Kize 0:4289fbe66d45 209 }else{
Kize 0:4289fbe66d45 210 return 0;
Kize 0:4289fbe66d45 211 }
Kize 0:4289fbe66d45 212 }
Kize 0:4289fbe66d45 213
Kize 0:4289fbe66d45 214 bool Dualshock3::start_is_pushed(void)
Kize 0:4289fbe66d45 215 {
Kize 0:4289fbe66d45 216 if((button_state & START) == START){
Kize 0:4289fbe66d45 217 return true;
Kize 0:4289fbe66d45 218 }else{
Kize 0:4289fbe66d45 219 return 0;
Kize 0:4289fbe66d45 220 }
Kize 0:4289fbe66d45 221 }
Kize 0:4289fbe66d45 222
Kize 0:4289fbe66d45 223 bool Dualshock3::select_is_pushed(void)
Kize 0:4289fbe66d45 224 {
Kize 0:4289fbe66d45 225 if((button_state & SELECT) == SELECT){
Kize 0:4289fbe66d45 226 return true;
Kize 0:4289fbe66d45 227 }else{
Kize 0:4289fbe66d45 228 return 0;
Kize 0:4289fbe66d45 229 }
Kize 0:4289fbe66d45 230 }
Kize 0:4289fbe66d45 231
Kize 0:4289fbe66d45 232 float Dualshock3::get_left_stick_x(void)
Kize 0:4289fbe66d45 233 {
Kize 0:4289fbe66d45 234 return (float)(data[3] - CENTER_STICK_VAL) / CENTER_STICK_VAL;
Kize 0:4289fbe66d45 235 }
Kize 0:4289fbe66d45 236
Kize 0:4289fbe66d45 237 float Dualshock3::get_left_stick_y(void)
Kize 0:4289fbe66d45 238 {
Kize 0:4289fbe66d45 239 return -(float)(data[4] - CENTER_STICK_VAL) / CENTER_STICK_VAL;
Kize 0:4289fbe66d45 240 }
Kize 0:4289fbe66d45 241
Kize 0:4289fbe66d45 242 float Dualshock3::get_right_stick_x(void)
Kize 0:4289fbe66d45 243 {
Kize 0:4289fbe66d45 244 return (float)(data[5] - CENTER_STICK_VAL) / CENTER_STICK_VAL;
Kize 0:4289fbe66d45 245 }
Kize 0:4289fbe66d45 246
Kize 0:4289fbe66d45 247 float Dualshock3::get_right_stick_y(void)
Kize 0:4289fbe66d45 248 {
Kize 0:4289fbe66d45 249 return -(float)(data[6] - CENTER_STICK_VAL) / CENTER_STICK_VAL;
Kize 0:4289fbe66d45 250 }
Kize 0:4289fbe66d45 251
Kize 0:4289fbe66d45 252 bool Dualshock3::circle_has_been_pushed(void)
Kize 0:4289fbe66d45 253 {
Kize 0:4289fbe66d45 254 if(button_risen & CIRCLE){
Kize 0:4289fbe66d45 255 button_risen = 0;
Kize 0:4289fbe66d45 256 return true;
Kize 0:4289fbe66d45 257 }else{
Kize 0:4289fbe66d45 258 return 0;
Kize 0:4289fbe66d45 259 }
Kize 0:4289fbe66d45 260 }
Kize 0:4289fbe66d45 261
Kize 0:4289fbe66d45 262 bool Dualshock3::cross_has_been_pushed(void)
Kize 0:4289fbe66d45 263 {
Kize 0:4289fbe66d45 264 if(button_risen & CROSS){
Kize 0:4289fbe66d45 265 button_risen = 0;
Kize 0:4289fbe66d45 266 return true;
Kize 0:4289fbe66d45 267 }else{
Kize 0:4289fbe66d45 268 return 0;
Kize 0:4289fbe66d45 269 }
Kize 0:4289fbe66d45 270 }
Kize 0:4289fbe66d45 271
Kize 0:4289fbe66d45 272 bool Dualshock3::rectangle_has_been_pushed(void)
Kize 0:4289fbe66d45 273 {
Kize 0:4289fbe66d45 274 if(button_risen & RECTANGLE){
Kize 0:4289fbe66d45 275 button_risen = 0;
Kize 0:4289fbe66d45 276 return true;
Kize 0:4289fbe66d45 277 }else{
Kize 0:4289fbe66d45 278 return 0;
Kize 0:4289fbe66d45 279 }
Kize 0:4289fbe66d45 280 }
Kize 0:4289fbe66d45 281
Kize 0:4289fbe66d45 282 bool Dualshock3::triangle_has_been_pushed(void)
Kize 0:4289fbe66d45 283 {
Kize 0:4289fbe66d45 284 if(button_risen & TRIANGLE){
Kize 0:4289fbe66d45 285 button_risen = 0;
Kize 0:4289fbe66d45 286 return true;
Kize 0:4289fbe66d45 287 }else{
Kize 0:4289fbe66d45 288 return 0;
Kize 0:4289fbe66d45 289 }
Kize 0:4289fbe66d45 290 }
Kize 0:4289fbe66d45 291
Kize 0:4289fbe66d45 292 bool Dualshock3::up_has_been_pushed(void)
Kize 0:4289fbe66d45 293 {
Kize 0:4289fbe66d45 294 if(button_risen & UP){
Kize 0:4289fbe66d45 295 if(up_is_pushed()){
Kize 0:4289fbe66d45 296 button_risen = 0;
Kize 0:4289fbe66d45 297 return true;
Kize 0:4289fbe66d45 298 }else{
Kize 0:4289fbe66d45 299 return 0;
Kize 0:4289fbe66d45 300 }
Kize 0:4289fbe66d45 301 }else{
Kize 0:4289fbe66d45 302 return 0;
Kize 0:4289fbe66d45 303 }
Kize 0:4289fbe66d45 304 }
Kize 0:4289fbe66d45 305
Kize 0:4289fbe66d45 306 bool Dualshock3::down_has_been_pushed(void)
Kize 0:4289fbe66d45 307 {
Kize 0:4289fbe66d45 308 if(button_risen & DOWN){
Kize 0:4289fbe66d45 309 if(down_is_pushed()){
Kize 0:4289fbe66d45 310 button_risen = 0;
Kize 0:4289fbe66d45 311 return true;
Kize 0:4289fbe66d45 312 }else{
Kize 0:4289fbe66d45 313 return 0;
Kize 0:4289fbe66d45 314 }
Kize 0:4289fbe66d45 315 }else{
Kize 0:4289fbe66d45 316 return 0;
Kize 0:4289fbe66d45 317 }
Kize 0:4289fbe66d45 318 }
Kize 0:4289fbe66d45 319
Kize 0:4289fbe66d45 320 bool Dualshock3::left_has_been_pushed(void)
Kize 0:4289fbe66d45 321 {
Kize 0:4289fbe66d45 322 if(button_risen & LEFT){
Kize 0:4289fbe66d45 323 if(left_is_pushed()){
Kize 0:4289fbe66d45 324 button_risen = 0;
Kize 0:4289fbe66d45 325 return true;
Kize 0:4289fbe66d45 326 }else{
Kize 0:4289fbe66d45 327 return 0;
Kize 0:4289fbe66d45 328 }
Kize 0:4289fbe66d45 329 }else{
Kize 0:4289fbe66d45 330 return 0;
Kize 0:4289fbe66d45 331 }
Kize 0:4289fbe66d45 332 }
Kize 0:4289fbe66d45 333
Kize 0:4289fbe66d45 334 bool Dualshock3::right_has_been_pushed(void)
Kize 0:4289fbe66d45 335 {
Kize 0:4289fbe66d45 336 if(button_risen & RIGHT){
Kize 0:4289fbe66d45 337 if(right_is_pushed()){
Kize 0:4289fbe66d45 338 button_risen = 0;
Kize 0:4289fbe66d45 339 return true;
Kize 0:4289fbe66d45 340 }else{
Kize 0:4289fbe66d45 341 return 0;
Kize 0:4289fbe66d45 342 }
Kize 0:4289fbe66d45 343 }else{
Kize 0:4289fbe66d45 344 return 0;
Kize 0:4289fbe66d45 345 }
Kize 0:4289fbe66d45 346 }
Kize 0:4289fbe66d45 347
Kize 0:4289fbe66d45 348 bool Dualshock3::l1_has_been_pushed(void)
Kize 0:4289fbe66d45 349 {
Kize 0:4289fbe66d45 350 if(button_risen & L1){
Kize 0:4289fbe66d45 351 button_risen = 0;
Kize 0:4289fbe66d45 352 return true;
Kize 0:4289fbe66d45 353 }else{
Kize 0:4289fbe66d45 354 return 0;
Kize 0:4289fbe66d45 355 }
Kize 0:4289fbe66d45 356 }
Kize 0:4289fbe66d45 357
Kize 0:4289fbe66d45 358 bool Dualshock3::l2_has_been_pushed(void)
Kize 0:4289fbe66d45 359 {
Kize 0:4289fbe66d45 360 if(button_risen & L2){
Kize 0:4289fbe66d45 361 button_risen = 0;
Kize 0:4289fbe66d45 362 return true;
Kize 0:4289fbe66d45 363 }else{
Kize 0:4289fbe66d45 364 return 0;
Kize 0:4289fbe66d45 365 }
Kize 0:4289fbe66d45 366 }
Kize 0:4289fbe66d45 367
Kize 0:4289fbe66d45 368 bool Dualshock3::r1_has_been_pushed(void)
Kize 0:4289fbe66d45 369 {
Kize 0:4289fbe66d45 370 if(button_risen & R1){
Kize 0:4289fbe66d45 371 button_risen = 0;
Kize 0:4289fbe66d45 372 return true;
Kize 0:4289fbe66d45 373 }else{
Kize 0:4289fbe66d45 374 return 0;
Kize 0:4289fbe66d45 375 }
Kize 0:4289fbe66d45 376 }
Kize 0:4289fbe66d45 377
Kize 0:4289fbe66d45 378 bool Dualshock3::r2_has_been_pushed(void)
Kize 0:4289fbe66d45 379 {
Kize 0:4289fbe66d45 380 if(button_risen & R2){
Kize 0:4289fbe66d45 381 button_risen = 0;
Kize 0:4289fbe66d45 382 return true;
Kize 0:4289fbe66d45 383 }else{
Kize 0:4289fbe66d45 384 return 0;
Kize 0:4289fbe66d45 385 }
Kize 0:4289fbe66d45 386 }
Kize 0:4289fbe66d45 387
Kize 0:4289fbe66d45 388 bool Dualshock3::start_has_been_pushed(void)
Kize 0:4289fbe66d45 389 {
Kize 0:4289fbe66d45 390 if((button_risen & START) == START){
Kize 0:4289fbe66d45 391 if(start_is_pushed()){
Kize 0:4289fbe66d45 392 button_risen = 0;
Kize 0:4289fbe66d45 393 return true;
Kize 0:4289fbe66d45 394 }else{
Kize 0:4289fbe66d45 395 return 0;
Kize 0:4289fbe66d45 396 }
Kize 0:4289fbe66d45 397 }else{
Kize 0:4289fbe66d45 398 return 0;
Kize 0:4289fbe66d45 399 }
Kize 0:4289fbe66d45 400 }
Kize 0:4289fbe66d45 401
Kize 0:4289fbe66d45 402 bool Dualshock3::select_has_been_pushed(void)
Kize 0:4289fbe66d45 403 {
Kize 0:4289fbe66d45 404 if((button_risen & SELECT) == SELECT){
Kize 0:4289fbe66d45 405 if(select_is_pushed()){
Kize 0:4289fbe66d45 406 button_risen = 0;
Kize 0:4289fbe66d45 407 return true;
Kize 0:4289fbe66d45 408 }else{
Kize 0:4289fbe66d45 409 return 0;
Kize 0:4289fbe66d45 410 }
Kize 0:4289fbe66d45 411 }else{
Kize 0:4289fbe66d45 412 return 0;
Kize 0:4289fbe66d45 413 }
Kize 0:4289fbe66d45 414 }
Kize 0:4289fbe66d45 415
Kize 0:4289fbe66d45 416 void Dualshock3::get_all_buttons_info(int buttons_info[14]){
Kize 0:4289fbe66d45 417 /*
Kize 0:4289fbe66d45 418 for(int i=0;i<14;i++){
Kize 0:4289fbe66d45 419 buttons_info[i] = 0;
Kize 0:4289fbe66d45 420 }
Kize 0:4289fbe66d45 421 */
Kize 0:4289fbe66d45 422
Kize 0:4289fbe66d45 423 buttons_info[0] = select_is_pushed();
Kize 0:4289fbe66d45 424 buttons_info[1] = start_is_pushed();
Kize 0:4289fbe66d45 425 buttons_info[2] = up_is_pushed();
Kize 0:4289fbe66d45 426 buttons_info[3] = right_is_pushed();
Kize 0:4289fbe66d45 427 buttons_info[4] = down_is_pushed();
Kize 0:4289fbe66d45 428 buttons_info[5] = left_is_pushed();
Kize 0:4289fbe66d45 429 buttons_info[6] = l2_is_pushed();
Kize 0:4289fbe66d45 430 buttons_info[7] = r2_is_pushed();
Kize 0:4289fbe66d45 431 buttons_info[8] = l1_is_pushed();
Kize 0:4289fbe66d45 432 buttons_info[9] = r1_is_pushed();
Kize 0:4289fbe66d45 433 buttons_info[10] = triangle_is_pushed();
Kize 0:4289fbe66d45 434 buttons_info[11] = circle_is_pushed();
Kize 0:4289fbe66d45 435 buttons_info[12] = cross_is_pushed();
Kize 0:4289fbe66d45 436 buttons_info[13] = rectangle_is_pushed();
Kize 0:4289fbe66d45 437 }
Kize 0:4289fbe66d45 438
Kize 0:4289fbe66d45 439 void Dualshock3::get_all_sticks_info(float sticks_info[4]){
Kize 0:4289fbe66d45 440 sticks_info[0] = get_left_stick_x();
Kize 0:4289fbe66d45 441 sticks_info[1] = get_left_stick_y();
Kize 0:4289fbe66d45 442 sticks_info[2] = get_right_stick_x();
Kize 0:4289fbe66d45 443 sticks_info[3] = get_right_stick_y();
Kize 0:4289fbe66d45 444 }