mirror of https://github.com/OpenIPC/firmware.git
[no ci] update imp-control.sh script
parent
9a95be2ee4
commit
887e4c8e05
|
@ -3,54 +3,60 @@
|
||||||
# This script provides a control interface for the libimp_control library.
|
# This script provides a control interface for the libimp_control library.
|
||||||
# It sends commands to the server listening on localhost port 4000.
|
# It sends commands to the server listening on localhost port 4000.
|
||||||
|
|
||||||
# Function to display the usage of the script
|
full_demo() {
|
||||||
show_help() {
|
|
||||||
echo "Usage: imp-control.sh [command] [parameters]"
|
demo() {
|
||||||
echo " Use without parameters to retrieve current values."
|
echo "imp_control $*" | nc localhost 4000 >/dev/null 2>&1
|
||||||
echo "Available commands:"
|
|
||||||
echo "Command Parameters Description"
|
|
||||||
echo "------- ---------- -----------"
|
|
||||||
echo "aihpf [on/off] High Pass Filter"
|
|
||||||
echo "aiagc [off/gainLevel compGaindB] Auto Gain Control"
|
|
||||||
echo "ains [off/0-3] Noise Suppression"
|
|
||||||
echo "aiaec [on/off] Echo Cancellation"
|
|
||||||
echo "aivol [-30-120] Audio Input Volume"
|
|
||||||
echo "aigain [0-31] Audio Input Gain"
|
|
||||||
echo "aialc [0-7] Audio Input ALC Gain"
|
|
||||||
echo "aovol [-30-120] Audio Output Volume"
|
|
||||||
echo "aogain [0-31] Audio Output Gain"
|
|
||||||
echo "contrast [0-255] Contrast"
|
|
||||||
echo "brightness [0-255] Brightness"
|
|
||||||
echo "saturation [0-255] Saturation"
|
|
||||||
echo "sharpness [0-255] Sharpness"
|
|
||||||
echo "sinter [0-255] Sinter Strength"
|
|
||||||
echo "temper [0-255] Temper Strength"
|
|
||||||
echo "aecomp [0-255] AE Compensation"
|
|
||||||
echo "aeitmax [value] AE Max parameters"
|
|
||||||
echo "backlightcomp [strength] Set Backlight Comp."
|
|
||||||
echo "dpc [0-255] DPC Strength"
|
|
||||||
echo "drc [0-255] DRC Strength"
|
|
||||||
echo "hilight [0-10] Highlight Intensity"
|
|
||||||
echo "again [value] Analog Gain"
|
|
||||||
echo "dgain [value] Digital Gain"
|
|
||||||
echo "hue [0-255] Hue"
|
|
||||||
echo "ispmode [0/1] ISP Mode (Day/Night)"
|
|
||||||
echo "flicker [0/1/2] Anti-Flicker"
|
|
||||||
echo "flip [normal/flip/mirror/flip_mirror] Image Flip"
|
|
||||||
echo "fps [fps_num] [fps_den] Set Sensor FPS"
|
|
||||||
echo "whitebalance [mode] [rgain] [bgain] Set White Balance"
|
|
||||||
echo "gamma Get Gamma Values"
|
|
||||||
echo "autozoom [ch] [scaler enable] [scale w] [scale h] [crop enable] [crop left] [crop top] [crop w] [crop h]"
|
|
||||||
echo " Set Auto Zoom"
|
|
||||||
echo "frontcrop [enable] [top] [left] [width] [height]"
|
|
||||||
echo " Set Front Crop"
|
|
||||||
echo "mask [ch] [enable] [top] [left] [width] [height] [green] [blue] [red]"
|
|
||||||
echo " Set Mask"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check for no arguments and display help
|
random_range() {
|
||||||
if [ "$#" -eq 0 ]; then
|
echo $(($1 + RANDOM % ($2 - $1 + 1)))
|
||||||
show_help
|
}
|
||||||
|
|
||||||
|
run_demo() {
|
||||||
|
echo "Running $1..."
|
||||||
|
for v in $(seq 127 -1 1) $(seq 1 255) $(seq 254 -1 127); do
|
||||||
|
echo -n "$v."
|
||||||
|
demo $1 $v
|
||||||
|
sleep 0.004
|
||||||
|
done
|
||||||
|
echo -e "\n$1 Done"
|
||||||
|
}
|
||||||
|
|
||||||
|
mask() {
|
||||||
|
start=$(date +%s)
|
||||||
|
echo "Mask demo"
|
||||||
|
while [ $(($(date +%s) - start)) -lt 10 ]; do
|
||||||
|
demo mask "0 1 $(random_range 0 640) $(random_range 0 1024) 320 240 $(random_range 0 255) $(random_range 0 255) $(random_range 0 255)"
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
|
demo mask 0 0 516 34 320 240 49 98 163
|
||||||
|
}
|
||||||
|
mask
|
||||||
|
|
||||||
|
echo "Whitebalance demo"
|
||||||
|
for wb in $(seq 1 9) 0; do demo whitebalance $wb; sleep 1; done
|
||||||
|
echo "isp mode demo"
|
||||||
|
demo ispmode 1; sleep 3; demo ispmode 0; sleep 1
|
||||||
|
|
||||||
|
echo "Front Crop Demo"
|
||||||
|
for v in $(seq 0 400); do demo frontcrop 1 $v 0 1280 720; done
|
||||||
|
for v in $(seq 0 800); do demo frontcrop 1 0 $v 1280 720; done
|
||||||
|
demo frontcrop 1 0 0 1920 1080
|
||||||
|
|
||||||
|
echo "autozoom demo"
|
||||||
|
for zoom in 1.05 1.10 1.15 1.20 1.15 1.10 1.05; do
|
||||||
|
demo autozoom 0 1 $(awk "BEGIN {print int(1920 * $zoom)}") $(awk "BEGIN {print int(1080 * $zoom)}") 1 0 0 1920 1080
|
||||||
|
echo "Autozoom: $zoom"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
demo autozoom 0 0 2304 1296 0 0 0 1920 1080
|
||||||
|
|
||||||
|
for func in brightness contrast saturation sharpness sinter temper aecomp dpc drc hue; do run_demo $func; done
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$1" == "full_demo" ]; then
|
||||||
|
full_demo
|
||||||
else
|
else
|
||||||
# Send the command and parameters to the server
|
# Send the command and parameters to the server
|
||||||
echo "imp_control $*" | nc localhost 4000
|
echo "imp_control $*" | nc localhost 4000
|
||||||
|
|
Loading…
Reference in New Issue