[no ci] update imp-control.sh script

pull/1164/head
gtxaspec 2023-11-27 14:24:13 -08:00
parent 9a95be2ee4
commit 887e4c8e05
1 changed files with 52 additions and 46 deletions

View File

@ -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