op_bluetooth_work.sh: Modify LED enable / disable - code to work properly with the...
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_tvout.sh
1 #!/bin/bash
2
3 # defaults
4 tv_type="pal"
5 conn_type="svideo"
6 layer=0
7 pal_size="658,520"
8 pal_pos="35,35"
9 ntsc_size="655,455"
10 ntsc_pos="40,15"
11
12 usage()
13 {
14   echo "usage: $0 [-d] [-t pal|ntsc] [-c composite|svideo] [-l 0|1] [-{p|n}s w,h] [-{p|n}p x,y]"
15   exit 1
16 }
17
18 setup_scaler()
19 {
20   # we must preallocate enough memory for the scaler layer
21   # since the app won't be able to change this
22   # the whole time TV-out is running..
23   ofbset -fb /dev/fb1 -mem $[3*1024*1024] -size 512 256 -en 0
24 }
25
26 enable_it()
27 {
28   size=$pal_size
29   pos=$pal_pos
30   if [ "$tv_type" = "ntsc" ]; then
31     size=$ntsc_size
32     pos=$ntsc_pos
33   fi
34   echo "${tv_type}, ${conn_type}, layer $layer, $pos $size"
35
36   cd /sys/devices/platform/omapdss
37   echo 0 > display1/enabled
38   echo 0 > overlay0/enabled
39   echo 0 > overlay1/enabled
40   echo 0 > overlay2/enabled
41   echo "" > /sys/class/graphics/fb2/overlays
42   echo "" > /sys/class/graphics/fb1/overlays
43   if [ $layer -eq 1 ]; then
44     setup_scaler
45     echo "0" > /sys/class/graphics/fb0/overlays
46     echo "1,2" > /sys/class/graphics/fb1/overlays
47   else
48     # assume layer 0 for now
49     echo "0,2" > /sys/class/graphics/fb0/overlays
50     echo "1" > /sys/class/graphics/fb1/overlays
51   fi
52   echo $conn_type > display1/venc_type
53   echo "tv" > overlay2/manager
54   echo $tv_type > display1/timings
55   echo $size > overlay2/output_size
56   echo $pos > overlay2/position 
57   echo 1 > overlay0/enabled
58   echo 1 > overlay2/enabled
59   echo 1 > display1/enabled
60 }
61
62 disable_it()
63 {
64   cd /sys/devices/platform/omapdss
65   echo 0 > overlay0/enabled
66   echo 0 > overlay1/enabled
67   echo 0 > overlay2/enabled
68   echo 0 > display1/enabled
69   echo "" > /sys/class/graphics/fb2/overlays
70   echo "" > /sys/class/graphics/fb1/overlays
71   echo 0 > /sys/class/graphics/fb0/overlays
72   echo 1 > /sys/class/graphics/fb1/overlays
73   echo 2 > /sys/class/graphics/fb2/overlays
74   echo 1 > overlay0/enabled
75 }
76
77 # parse args
78 got_args=false
79 while true; do
80   case $1 in
81     "-d")
82       disable_it
83       exit 0
84       ;;
85     "-t")
86       shift
87       tv_type=$1
88       ;;
89     "-c")
90       shift
91       conn_type=$1
92       ;;
93     "-l")
94       shift
95       layer=$1
96       ;;
97     "-ps")
98       shift
99       if [ "$1" != "0,0" ]; then
100         pal_size=$1
101       else
102         echo "warning: ignored pal_size: $1"
103       fi
104       ;;
105     "-pp")
106       shift
107       pal_pos=$1
108       ;;
109     "-ns")
110       shift
111       if [ "$1" != "0,0" ]; then
112         ntsc_size=$1
113       else
114         echo "warning: ignored ntsc_size: $1"
115       fi
116       ;;
117     "-np")
118       shift
119       ntsc_pos=$1
120       ;;
121     "")
122       ;;
123     *)
124       usage
125       ;;
126   esac
127
128   if ! shift; then break; fi
129   got_args=true
130 done
131
132 if [ "$tv_type" != "pal" -a "$tv_type" != "ntsc" ]; then
133   usage
134 fi
135
136 if [ "$conn_type" != "svideo" -a "$conn_type" != "composite" ]; then
137   usage
138 fi
139
140 if [ "$layer" != "0" -a "$layer" != "1" ]; then
141   usage
142 fi
143
144
145 if $got_args; then
146   enable_it
147 else
148   # old zenity menu, to be removed
149   while mainsel=$(zenity --title="TV-Out Configuration" --width="420" --height="348" --list \
150     --column "id" --column "Please select" --hide-column=1 \
151     --text="This is a very simple TV Out Script. It will be enhanced." \
152     "pal" "Enable TV Out in PAL Mode (Composite)" \
153     "ntsc" "Enable TV Out in NTSC Mode (Composite)" \
154     "pal2" "Enable TV Out in PAL Mode, overlay (Composite)" \
155     "ntsc2" "Enable TV Out in NTSC Mode, overlay (Composite)" \
156     "pals" "Enable TV Out in PAL Mode (SVideo)" \
157     "ntscs" "Enable TV Out in NTSC Mode (SVideo)" \
158     "pal2s" "Enable TV Out in PAL Mode, overlay (SVideo)" \
159     "ntsc2s" "Enable TV Out in NTSC Mode, overlay (SVideo)" \
160     "disable" "Disable TV Out" \
161     )
162   do
163
164   case $mainsel in
165     "pal")
166     layer=0
167     tv_type="pal"
168     conn_type="composite"
169     enable_it
170     zenity --info --title="TV Out" --text "TV Out (PAL Mode) has been enabled." --timeout 6
171     ;;
172
173     "pal2")
174     layer=1
175     tv_type="pal"
176     conn_type="composite"
177     enable_it
178     zenity --info --title="TV Out" --text "TV Out (PAL Mode) has been enabled." --timeout 6
179     ;;
180
181     "ntsc")
182     layer=0
183     tv_type="ntsc"
184     conn_type="composite"
185     enable_it
186     zenity --info --title="TV Out" --text "TV Out (NTSC Mode) has been enabled." --timeout 6  
187     ;;
188
189     "ntsc2")
190     layer=1
191     tv_type="ntsc"
192     conn_type="composite"
193     enable_it
194     zenity --info --title="TV Out" --text "TV Out (NTSC Mode) has been enabled." --timeout 6  
195     ;;
196
197     "pals")
198     layer=0
199     tv_type="pal"
200     conn_type="svideo"
201     enable_it
202     zenity --info --title="TV Out" --text "TV Out (PAL Mode) has been enabled." --timeout 6
203     ;;
204
205     "pal2s")
206     layer=1
207     tv_type="pal"
208     conn_type="svideo"
209     enable_it
210     zenity --info --title="TV Out" --text "TV Out (PAL Mode) has been enabled." --timeout 6
211     ;;
212
213     "ntscs")
214     layer=0
215     tv_type="ntsc"
216     conn_type="svideo"
217     enable_it
218     zenity --info --title="TV Out" --text "TV Out (NTSC Mode) has been enabled." --timeout 6  
219     ;;
220
221     "ntsc2s")
222     layer=1
223     tv_type="ntsc"
224     conn_type="svideo"
225     enable_it
226     zenity --info --title="TV Out" --text "TV Out (NTSC Mode) has been enabled." --timeout 6  
227     ;;
228
229
230     "disable")
231     disable_it
232     zenity --info --title="TV Out" --text "TV Out has been disabled." --timeout 6
233     ;;    
234   esac
235   done
236 fi