Skip to content

Commit 772cb57

Browse files
committed
Add PS3 remocon_sampleProgram
1 parent b6c6b20 commit 772cb57

File tree

2 files changed

+151
-0
lines changed

2 files changed

+151
-0
lines changed

SampleProgram/RemoCon_Step1.sh

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/bash -xv
2+
3+
trap 2
4+
5+
sudo sixad -start &
6+
7+
8+
set +xv
9+
while true ; do
10+
if grep -q 0 /dev/rtswitch0 ; then
11+
sleep 0.1
12+
while grep -q 0 /dev/rtswitch0 ; do
13+
sleep 0.1
14+
done
15+
sudo python /home/pi/bbb.py
16+
break
17+
fi
18+
if grep -q 0 /dev/rtswitch1 ; then
19+
sleep 0.1
20+
while grep -q 0 /dev/rtswitch1 ; do
21+
sleep 0.1
22+
done
23+
break;
24+
fi
25+
if grep -q 0 /dev/rtswitch2 ; then
26+
sleep 0.1
27+
while grep -q 0 /dev/rtswitch2 ; do
28+
sleep 0.1
29+
done
30+
break
31+
fi
32+
33+
echo 1 | tee /dev/rtled?
34+
sleep 0.5
35+
echo 0 | tee /dev/rtled?
36+
sleep 0.5
37+
done
38+
set -xv
39+
40+

SampleProgram/RemoCon_for_PS3.py

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
#!/usr/bin/python
2+
import sys
3+
file = open('/dev/input/js0','r')
4+
data = []
5+
led0 = open('/dev/rtled0','a')
6+
led1 = open('/dev/rtled1','a')
7+
led2 = open('/dev/rtled2','a')
8+
led3 = open('/dev/rtled3','a')
9+
rmotor = open('/dev/rtmotor_raw_r0','a')
10+
lmotor = open('/dev/rtmotor_raw_l0','a')
11+
motoren = open('/dev/rtmotoren0','a')
12+
buzzer = open('/dev/rtbuzzer0','a')
13+
straight = 0
14+
curbe =0
15+
16+
while 1:
17+
for character in file.read(1):
18+
data += ['%02X' % ord(character)]
19+
if len(data) == 8:
20+
if data[6] == '01':
21+
if data[4] == '01':
22+
if data[7] == '0F':
23+
led3.write("1")
24+
elif data[7] == '0E':
25+
led2.write("1")
26+
elif data[7] == '0D':
27+
led1.write("1")
28+
elif data[7] == '0C':
29+
led0.write("1")
30+
elif data[7] == '04':
31+
print >> motoren,1
32+
print >> rmotor,500
33+
print >> lmotor,500
34+
elif data[7] == '06':
35+
print >> motoren,1
36+
print >> rmotor,-500
37+
print >> lmotor,-500
38+
elif data[7] == '05':
39+
print >> motoren,1
40+
print >> rmotor,-500
41+
print >> lmotor,500
42+
elif data[7] == '07':
43+
print >> motoren,1
44+
print >> rmotor,500
45+
print >> lmotor,-500
46+
elif data[7] == '00' :
47+
print >> buzzer,440
48+
elif data[4] == '00':
49+
if data[7] == '0F':
50+
led3.write("0")
51+
elif data[7] == '0E':
52+
led2.write("0")
53+
elif data[7] == '0D':
54+
led1.write("0")
55+
elif data[7] == '0C':
56+
led0.write("0")
57+
elif data[7] == '04':
58+
print >> motoren,0
59+
elif data[7] == '06':
60+
print >> motoren,0
61+
elif data[7] == '05':
62+
print >> motoren,0
63+
elif data[7] == '07':
64+
print >> motoren,0
65+
elif data[7] == '00' :
66+
print >> buzzer,0
67+
straight=0
68+
curbe=0
69+
elif data[6] == '02':#analog
70+
if data[7] == '01':#left
71+
print >> motoren,1
72+
if int(data[5],16) > 127:
73+
if int(data[5],16) < 252:
74+
straight = (255 - int(data[5],16)) * 5
75+
print "straight %d" % straight
76+
print >> rmotor,int(straight * (127 - curbe) / 50)
77+
print >> lmotor,int(straight * (127 + curbe) / 50)
78+
elif int(data[5],16) > 3:
79+
straight = -(int(data[5],16)) * 5
80+
print "straight %d" % straight
81+
print >> rmotor,int(straight * (127 - curbe ) / 50)
82+
print >> lmotor,int(straight * (127 + curbe) / 50)
83+
else :
84+
print >> motoren,0
85+
print >> lmotor,0
86+
print >> rmotor,0
87+
straight=0
88+
elif data[7] == '02':#right
89+
print >> motoren,1
90+
if int(data[5],16) > 127:#left
91+
if int(data[5],16) < 252:
92+
curbe = -(255 - int(data[5],16))
93+
print "curbe %d" % curbe
94+
print >> rmotor,int(straight * (127 -curbe) / 50)
95+
print >> lmotor,int(straight * (127 + curbe) /50)
96+
elif int(data[5],16) > 3:
97+
curbe = (int(data[5],16))
98+
print "curbe %d" % curbe
99+
print >> rmotor,int(straight * (127 - curbe) / 50)
100+
print >> lmotor,int(straight * (127 + curbe) / 50)
101+
else :
102+
curbe=0
103+
led3.flush()
104+
led2.flush()
105+
led1.flush()
106+
led0.flush()
107+
motoren.flush()
108+
rmotor.flush()
109+
lmotor.flush()
110+
buzzer.flush()
111+
data = []

0 commit comments

Comments
 (0)