update rccd2 for end-system integraton
[tas2555sw-android/tas2555-util-stereo.git] / rccd2 / rccd2.bat
1 @ECHO OFF
2 :: Default options
3 set ADB=adb.exe
4 set RCCD2=rccd2
5 set PORT=80
6 set SAFE=
7 set CARD=0
8 set LOGCAT=OFF
9 set DEBUG=OFF
11 goto GETOPTS
13 :USAGE
14 echo.
15 echo.   rccd2.bat  -- Start RCCD server on target Android phone
16 echo.
17 echo.   Usage: rccd2 [/help] [/safe] [/supersafe] [/card:N] [/port:N] 
18 echo.                     [/adb:ADB] [/rccd2:RCCD2] [/logcat]
19 echo.
20 echo.   Options:
21 echo.
22 echo.       /help           Display this help text and exit
23 echo.       /port:N         Set port number to N (Default: %PORT%)
24 echo.       /card:N         Select sound card N (Default: %CARD%)
25 echo.       /adb:ADB        Use ADB as the adb executable
26 echo.                       (Default: %ADB%)
27 echo.       /rccd2:RCCD2    Use RCCD2 as the target rccd2 executable
28 echo.                       (Default: %RCCD2%)
29 echo.       /logcat         Start adb logcat at the end
30 echo.       /debug          Output debug information
31 echo.
32 goto END
35 :GETOPTS
36     set SWITCHOPT=%1
37     if [%SWITCHOPT%] == [] goto START
39     for /F "tokens=1,2 delims=: " %%a IN ("%SWITCHOPT%") DO SET SWITCH=%%a&set VALUE=%%b
40    
41     shift
43     if [%SWITCH%] == [/h] goto USAGE
44     if [%SWITCH%] == [/H] goto USAGE
45     if [%SWITCH%] == [/?] goto USAGE
46     if [%SWITCH%] == [/help] goto USAGE
47     if [%SWITCH%] == [/HELP] goto USAGE
49     if [%SWITCH%] == [/safe] goto SET_SAFE_ON
50     if [%SWITCH%] == [/SAFE] goto SET_SAFE_ON
51     if [%SWITCH%] == [/supersafe] goto SET_SSAFE_ON
52     if [%SWITCH%] == [/SUPERSAFE] goto SET_SSAFE_ON
54     if [%SWITCH%] == [/card] goto SET_CARD
55     if [%SWITCH%] == [/CARD] goto SET_CARD
57     if [%SWITCH%] == [/port] goto SET_PORT
58     if [%SWITCH%] == [/PORT] goto SET_PORT
60     if [%SWITCH%] == [/adb] goto SET_ADB
61     if [%SWITCH%] == [/ADB] goto SET_ADB
63     if [%SWITCH%] == [/rccd2] goto SET_RCCD2
64     if [%SWITCH%] == [/RCCD2] goto SET_RCCD2
66     if [%SWITCH%] == [/logcat] goto SET_LOGCAT_ON
67     if [%SWITCH%] == [/LOGCAT] goto SET_LOGCAT_ON
69     if [%SWITCH%] == [/debug] goto SET_DEBUG_ON
70     if [%SWITCH%] == [/DEBUG] goto SET_DEBUG_ON
73     echo. Unknown option %SWITCH%. Ignored
74 goto GETOPTS
77 :SET_SAFE_ON
78     set SAFE=-s
79 goto GETOPTS
81 :SET_SSAFE_ON
82     set SAFE=-S
83 goto GETOPTS
85 :SET_PORT
86     set PORT=%VALUE%
87 goto GETOPTS
89 :SET_CARD
90     set CARD=%VALUE%
91 goto GETOPTS
93 :SET_ADB
94     set ADB=%VALUE%
95 goto GETOPTS
97 :SET_RCCD2
98     set RCCD2=%VALUE%
99 goto GETOPTS
101 :SET_LOGCAT_ON
102     set LOGCAT=ON
103 goto GETOPTS
106 :SET_DEBUG_ON
107     REM echo ON
108     set DEBUG=ON
109 goto GETOPTS
111 :START
113 if [%DEBUG%] == [OFF] goto RUN
114     echo. "Starting RCCD..."
115     echo. SAFE=%SAFE%
116     echo. PORT=%PORT%
117     echo. CARD=%CARD%
118     echo. ADB=%ADB%
119     echo. RCCD2=%RCCD2%
120     echo. LOGCAT=%LOGCAT%
122 :RUN
124 %ADB% root
125 %ADB% remount
126 %ADB% shell svc power stayon true
127 ping localhost > NUL
128 %ADB% push %RCCD2% /system/bin/rccd2
129 %ADB% shell chmod 0777 /system/bin/rccd2
130 %ADB% forward tcp:%PORT% tcp:%PORT%
131 %ADB% shell /system/bin/rccd2 -k
132 %ADB% shell /system/bin/rccd2 -p %PORT% -r %CARD% %SAFE%
134 if [%DEBUG%] == [ON] echo "RCCD2 is running..."
136 if [%LOGCAT%] == [OFF] goto END
137     %ADB% logcat -s aic3xxx
139 :END