Library&Source / PS3_to_Arduino

Dependents:   throw_1

Committer:
kitta5687
Date:
Fri Mar 01 08:14:11 2019 +0000
Revision:
0:03f05f023ff4
Child:
3:378f57911f5d
make

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kitta5687 0:03f05f023ff4 1 #include "PS3_Controller.h"
kitta5687 0:03f05f023ff4 2
kitta5687 0:03f05f023ff4 3 PS3_controller::PS3_controller(PinName TX, PinName RX) : _uno(TX,RX)
kitta5687 0:03f05f023ff4 4 {
kitta5687 0:03f05f023ff4 5 _uno.baud(57600);
kitta5687 0:03f05f023ff4 6 }
kitta5687 0:03f05f023ff4 7 PS3_controller::PS3_controller(Serial &uno):_uno(uno)
kitta5687 0:03f05f023ff4 8 {
kitta5687 0:03f05f023ff4 9 _uno.baud(57600);
kitta5687 0:03f05f023ff4 10 }
kitta5687 0:03f05f023ff4 11
kitta5687 0:03f05f023ff4 12 void PS3_controller::read_PAD()
kitta5687 0:03f05f023ff4 13 {
kitta5687 0:03f05f023ff4 14 _uno.putc(send_data);
kitta5687 0:03f05f023ff4 15
kitta5687 0:03f05f023ff4 16 while(!_uno.readable()) {}
kitta5687 0:03f05f023ff4 17
kitta5687 0:03f05f023ff4 18 for(int i=0; i<9; i++) str[i]=_uno.getc();
kitta5687 0:03f05f023ff4 19
kitta5687 0:03f05f023ff4 20 all_button_on_off = (str[1] << 8);
kitta5687 0:03f05f023ff4 21 all_button_on_off = (all_button_on_off & 0xff00);
kitta5687 0:03f05f023ff4 22 all_button_on_off = (all_button_on_off | str[0]);
kitta5687 0:03f05f023ff4 23
kitta5687 0:03f05f023ff4 24 for(int i=0; i<6; i++) sthick_value[i] = str[i+2];
kitta5687 0:03f05f023ff4 25
kitta5687 0:03f05f023ff4 26 controller_check = str[8];
kitta5687 0:03f05f023ff4 27 }
kitta5687 0:03f05f023ff4 28
kitta5687 0:03f05f023ff4 29 void PS3_controller::send_UNO(int send_pattern)
kitta5687 0:03f05f023ff4 30 {
kitta5687 0:03f05f023ff4 31 send_data = send_pattern;
kitta5687 0:03f05f023ff4 32 }
kitta5687 0:03f05f023ff4 33
kitta5687 0:03f05f023ff4 34 int PS3_controller::button(int button_pattern)
kitta5687 0:03f05f023ff4 35 {
kitta5687 0:03f05f023ff4 36 return bitRead(all_button_on_off,button_pattern);
kitta5687 0:03f05f023ff4 37 }
kitta5687 0:03f05f023ff4 38
kitta5687 0:03f05f023ff4 39 int PS3_controller::analog(int sthick_pattern)
kitta5687 0:03f05f023ff4 40 {
kitta5687 0:03f05f023ff4 41 return sthick_value[sthick_pattern];
kitta5687 0:03f05f023ff4 42 }
kitta5687 0:03f05f023ff4 43
kitta5687 0:03f05f023ff4 44 bool PS3_controller::conect(void)
kitta5687 0:03f05f023ff4 45 {
kitta5687 0:03f05f023ff4 46 return controller_check;
kitta5687 0:03f05f023ff4 47 }