diff --git a/br-ext-chip-sigmastar/configs/ssc377_lite_defconfig b/br-ext-chip-sigmastar/configs/ssc377_lite_defconfig index 336fb493..31062540 100644 --- a/br-ext-chip-sigmastar/configs/ssc377_lite_defconfig +++ b/br-ext-chip-sigmastar/configs/ssc377_lite_defconfig @@ -95,6 +95,7 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_CLI=y BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +# BR2_PACKAGE_RTL8188FU_OPENIPC is not set # Debug # BR2_PACKAGE_HOST_GDB is not set diff --git a/general/package/Config.in b/general/package/Config.in index c35c9f55..10e0c8fd 100644 --- a/general/package/Config.in +++ b/general/package/Config.in @@ -93,6 +93,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/rtw-hostapd/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-motors/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6b0/Config.in" +source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6c/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6e/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-msc313e/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-sensors/Config.in" diff --git a/general/package/sigmastar-osdrv-infinity6b0/files/script/ircut_demo b/general/package/sigmastar-osdrv-infinity6b0/files/script/ircut_demo deleted file mode 100755 index bbb59551..00000000 --- a/general/package/sigmastar-osdrv-infinity6b0/files/script/ircut_demo +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh - -# DAY mode -ir_cut_enable() { - # Pin_mux - [ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export - [ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export - - # Dir - echo "out" >/sys/class/gpio/gpio$gpio_0/direction - echo "out" >/sys/class/gpio/gpio$gpio_1/direction - - # Data, gpio_1: 0, gpio_0: 1 (day mode) - echo "1" >/sys/class/gpio/gpio$gpio_0/value - echo "0" >/sys/class/gpio/gpio$gpio_1/value - - # Sleep 1s - sleep 1 - - # Back to original - echo "0" >/sys/class/gpio/gpio$gpio_0/value - echo "0" >/sys/class/gpio/gpio$gpio_1/value -} - -# NIGHT mode -ir_cut_disable() { - # Pin_mux - [ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export - [ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export - - # Dir - echo "out" >/sys/class/gpio/gpio$gpio_0/direction - echo "out" >/sys/class/gpio/gpio$gpio_1/direction - - # Data, gpio_1: 1, gpio_0: 0 (night mode) - echo "0" >/sys/class/gpio/gpio$gpio_0/value - echo "1" >/sys/class/gpio/gpio$gpio_1/value - - # Sleep 1s - sleep 1 - - # Back to original - echo "0" >/sys/class/gpio/gpio$gpio_0/value - echo "0" >/sys/class/gpio/gpio$gpio_1/value -} - -gpio_0=0 -gpio_1=0 - -if [ $# -lt 2 ]; then - echo "Usage: ircut_demo " - echo "For example:" - echo "NIGHT : ircut_demo anjoy 1" -else - if [ $1 = "anjoy" ]; then - gpio_0=78 - gpio_1=79 - elif [ $1 = "brovotech" ]; then - gpio_0=78 - gpio_1=79 - elif [ $1 = "gospell" ]; then - gpio_0=78 - gpio_1=79 - elif [ $1 = "uniview" ]; then - gpio_0=78 - gpio_1=79 - else - echo -e "Wrong vendor name: $1\nPlease select: anjoy, brovotech, gospell, uniview" - exit - fi - - if [ $2 -eq 0 ]; then - echo "DAY mode, ir_cut on" - ir_cut_enable >/dev/null - elif [ $2 -eq 1 ]; then - echo "NIGHT mode, ir_cut off" - ir_cut_disable >/dev/null - else - echo "Invalid mode, please slect 0 or 1" - fi -fi diff --git a/general/package/sigmastar-osdrv-infinity6c/Config.in b/general/package/sigmastar-osdrv-infinity6c/Config.in new file mode 100644 index 00000000..4215d1da --- /dev/null +++ b/general/package/sigmastar-osdrv-infinity6c/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C + bool "sigmastar-osdrv-infinity6c" + select BR2_PACKAGE_SIGMASTAR_OSDRV_SENSORS + help + Sigmastar infinity6c kernel modules diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/config.json b/general/package/sigmastar-osdrv-infinity6c/files/kmod/config.json new file mode 100644 index 00000000..b2e4aa0d --- /dev/null +++ b/general/package/sigmastar-osdrv-infinity6c/files/kmod/config.json @@ -0,0 +1,36 @@ +{ + "mi_fb": { + "fb_device_disp_path": [ + { + "fb_hwlayer_id": 2, + "fb_hwwin_id": 0, + "fb_hwlayer_dst": 3, + "fb_hwwin_format": 5, + "fb_hwlayer_outputcolor": 0, + "fb_width": 1024, + "fb_height": 600, + "fb_timing_width": 1024, + "fb_timing_height": 600, + "fb_mmap_name": "E_MMAP_ID_FB", + "fb_buffer_len": 8192 + } + ], + "fb_device_video_path": [ + { + "fb_buf_id_path": { + "fb_gwin_id": 7, + "fb_mod": 34, + "fb_dev": 1, + "fb_chn": 0, + "fb_port": 0 + }, + "fb_hwwin_format": 6, + "fb_width": 1920, + "fb_height": 1080, + "fb_timing_width": 1920, + "fb_timing_height": 1080, + "fb_buf_cnt": 3 + } + ] + } +} diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_common.ko b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_common.ko new file mode 100644 index 00000000..1bc0b962 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_common.ko differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_isp.ko b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_isp.ko new file mode 100644 index 00000000..e01467de Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_isp.ko differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_rgn.ko b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_rgn.ko new file mode 100644 index 00000000..afce39ca Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_rgn.ko differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_sensor.ko b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_sensor.ko new file mode 100644 index 00000000..8ad16767 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_sensor.ko differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_sys.ko b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_sys.ko new file mode 100644 index 00000000..04644a2d Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_sys.ko differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_vcodec.ko b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_vcodec.ko new file mode 100644 index 00000000..7e1e8316 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_vcodec.ko differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_venc.ko b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_venc.ko new file mode 100644 index 00000000..53e0a2e2 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_venc.ko differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_vif.ko b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_vif.ko new file mode 100644 index 00000000..b9dd5538 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/kmod/mi_vif.ko differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/kmod/param.json b/general/package/sigmastar-osdrv-infinity6c/files/kmod/param.json new file mode 100644 index 00000000..35c6ac79 --- /dev/null +++ b/general/package/sigmastar-osdrv-infinity6c/files/kmod/param.json @@ -0,0 +1,24 @@ +{ + "E_MI_MODULE_ID_SYS" : + { + "cmdQBufSize" : 400 + }, + "E_MI_MODULE_ID_DISP" : + { + "threadPriority" : 98, + "debugFilePath" : "", + "u64CpuMaskAffinity" : "0x0" + }, + "E_MI_MODULE_ID_MIPITX" : + { + "threadPriority" : 70 + }, + "E_MI_MODULE_ID_PANEL" : + { + "debugFilePath" : "" + }, + "E_MI_MODULE_ID_FB" : + { + "default_reserved_mem_name": "fb" + } +} diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libMD_LINUX.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libMD_LINUX.so new file mode 100644 index 00000000..608aef9f Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libMD_LINUX.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libcam_fs_wrapper.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libcam_fs_wrapper.so new file mode 100644 index 00000000..2fa82b7a Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libcam_fs_wrapper.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libcam_os_wrapper.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libcam_os_wrapper.so new file mode 100644 index 00000000..5c8abc67 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libcam_os_wrapper.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libcus3a.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libcus3a.so new file mode 100644 index 00000000..69aef6d1 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libcus3a.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libispalgo.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libispalgo.so new file mode 100644 index 00000000..096fbe2e Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libispalgo.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ai.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ai.so new file mode 100644 index 00000000..83931b87 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ai.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ao.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ao.so new file mode 100644 index 00000000..e5c1be10 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ao.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_common.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_common.so new file mode 100644 index 00000000..d1c1b1b0 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_common.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ipu.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ipu.so new file mode 100644 index 00000000..30d6bace Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ipu.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_isp.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_isp.so new file mode 100644 index 00000000..748f8914 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_isp.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ive.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ive.so new file mode 100644 index 00000000..4ffd0929 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_ive.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_rgn.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_rgn.so new file mode 100644 index 00000000..a7e54370 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_rgn.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_scl.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_scl.so new file mode 100644 index 00000000..8ca53c4d Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_scl.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sed.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sed.so new file mode 100644 index 00000000..3408cdb2 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sed.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sensor.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sensor.so new file mode 100644 index 00000000..de9d6e9e Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sensor.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_shadow.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_shadow.so new file mode 100644 index 00000000..58a892dd Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_shadow.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sys.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sys.so new file mode 100644 index 00000000..9f918611 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_sys.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vdf.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vdf.so new file mode 100644 index 00000000..c2508e2c Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vdf.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_venc.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_venc.so new file mode 100644 index 00000000..ff32af8f Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_venc.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vif.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vif.so new file mode 100644 index 00000000..4070aee9 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vif.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vpe.so b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vpe.so new file mode 100644 index 00000000..c3df4615 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/lib/libmi_vpe.so differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/script/load_sigmastar b/general/package/sigmastar-osdrv-infinity6c/files/script/load_sigmastar new file mode 100755 index 00000000..934cdef4 --- /dev/null +++ b/general/package/sigmastar-osdrv-infinity6c/files/script/load_sigmastar @@ -0,0 +1,61 @@ +#!/bin/sh +# +# OpenIPC.org | 2023.11.01 +# + +PATH_MODULE=/lib/modules/5.10.61/sigmastar +PATH_SENSOR=${PATH_MODULE}/sensor +SENSOR=$(fw_printenv -n sensor) + +detect_sensor() { + #devmem 0x1F2079A4 16 0x0111 + #devmem 0x1F207188 16 0x0001 + #devmem 0x1F2608FC 16 0x0003 + SENSOR=$(ipcinfo -s) + fw_setenv sensor ${SENSOR} +} + +set_sensor() { + case ${SENSOR} in + sc401ai) + insmod ${PATH_SENSOR}/sensor_${SENSOR}_mipi.ko chmap=1 + ;; + *) + echo -e "\n\e[1;31mUNSUPPORTED sensor - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC + ;; + esac +} + +insert_ko() { + insmod ${PATH_MODULE}/mi_common.ko g_ModParamPath=${PATH_MODULE}/param.json config_json_path=/${PATH_MODULE}/config.json + insmod ${PATH_MODULE}/mi_isp.ko + insmod ${PATH_MODULE}/mi_rgn.ko + insmod ${PATH_MODULE}/mi_sensor.ko + insmod ${PATH_MODULE}/mi_sys.ko + insmod ${PATH_MODULE}/mi_vcodec.ko drv_codec40_common.fw_load_path=/etc/firmware/chagall.bin + insmod ${PATH_MODULE}/mi_venc.ko + insmod ${PATH_MODULE}/mi_vif.ko + + major=$(awk '$2=="mi_poll" {print $1}' /proc/devices) + mknod /dev/mi_poll c $major 0 + echo isproot /etc/firmware > /dev/ispmid +} + +if [ ! -e /dev/mi_poll ]; then + insert_ko +fi + +if [ -z ${SENSOR} ]; then + echo -e "\n\e[1;33mAutodetect sensor\e[0m\n" | logger -s -t OpenIPC + detect_sensor +fi + +if [ -z ${SENSOR} ]; then + echo -e "\n\e[1;31mSensor parameter MISSING\e[0m\n" | logger -s -t OpenIPC + exit 1 +else + echo -e "\n\e[1;32mSensor assigned - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC + $(lsmod | grep -q ${SENSOR}) || set_sensor +fi + +exit 0 diff --git a/general/package/sigmastar-osdrv-infinity6c/files/sensor/configs/sc401ai.bin b/general/package/sigmastar-osdrv-infinity6c/files/sensor/configs/sc401ai.bin new file mode 100644 index 00000000..adae944e Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/sensor/configs/sc401ai.bin differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/sensor/firmware/chagall.bin b/general/package/sigmastar-osdrv-infinity6c/files/sensor/firmware/chagall.bin new file mode 100644 index 00000000..0feb5e95 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/sensor/firmware/chagall.bin differ diff --git a/general/package/sigmastar-osdrv-infinity6c/files/sensor/firmware/iqfile0.bin b/general/package/sigmastar-osdrv-infinity6c/files/sensor/firmware/iqfile0.bin new file mode 100644 index 00000000..70b083d5 Binary files /dev/null and b/general/package/sigmastar-osdrv-infinity6c/files/sensor/firmware/iqfile0.bin differ diff --git a/general/package/sigmastar-osdrv-infinity6c/sigmastar-osdrv-infinity6c.mk b/general/package/sigmastar-osdrv-infinity6c/sigmastar-osdrv-infinity6c.mk new file mode 100644 index 00000000..185ed187 --- /dev/null +++ b/general/package/sigmastar-osdrv-infinity6c/sigmastar-osdrv-infinity6c.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# sigmastar-osdrv-infinity6c +# +################################################################################ + +SIGMASTAR_OSDRV_INFINITY6C_VERSION = +SIGMASTAR_OSDRV_INFINITY6C_SITE = +SIGMASTAR_OSDRV_INFINITY6C_LICENSE = MIT +SIGMASTAR_OSDRV_INFINITY6C_LICENSE_FILES = LICENSE + +define SIGMASTAR_OSDRV_INFINITY6C_INSTALL_TARGET_CMDS + $(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/5.10.61/sigmastar + $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/5.10.61/sigmastar $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/kmod/* + + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/firmware + $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/firmware $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/sensor/firmware/* + + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensors + $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/sensor/configs/* + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib + $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/lib/* + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin + $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/script/* +endef + +$(eval $(generic-package)) diff --git a/general/package/sigmastar-osdrv-infinity6e/files/script/ircut_demo b/general/package/sigmastar-osdrv-infinity6e/files/script/ircut_demo deleted file mode 100755 index adba9e84..00000000 --- a/general/package/sigmastar-osdrv-infinity6e/files/script/ircut_demo +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh - -# DAY mode -ir_cut_enable() { - # Pin_mux - [ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export - [ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export - - # Dir - echo "out" >/sys/class/gpio/gpio$gpio_0/direction - echo "out" >/sys/class/gpio/gpio$gpio_1/direction - - # Data, gpio_1: 0, gpio_0: 1 (day mode) - echo "1" >/sys/class/gpio/gpio$gpio_0/value - echo "0" >/sys/class/gpio/gpio$gpio_1/value - - # Sleep 1s - sleep 1 - - # Back to original - echo "0" >/sys/class/gpio/gpio$gpio_0/value - echo "0" >/sys/class/gpio/gpio$gpio_1/value -} - -# NIGHT mode -ir_cut_disable() { - # Pin_mux - [ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export - [ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export - - # Dir - echo "out" >/sys/class/gpio/gpio$gpio_0/direction - echo "out" >/sys/class/gpio/gpio$gpio_1/direction - - # Data, gpio_1: 1, gpio_0: 0 (night mode) - echo "0" >/sys/class/gpio/gpio$gpio_0/value - echo "1" >/sys/class/gpio/gpio$gpio_1/value - - # Sleep 1s - sleep 1 - - # Back to original - echo "0" >/sys/class/gpio/gpio$gpio_0/value - echo "0" >/sys/class/gpio/gpio$gpio_1/value -} - -gpio_0=0 -gpio_1=0 - -if [ $# -lt 2 ]; then - echo "Usage: ircut_demo " - echo "For example:" - echo "NIGHT: ircut_demo anjoy 1" -else - if [ $1 = "anjoy" ]; then - gpio_0=78 - gpio_1=79 - elif [ $1 = "brovotech" ]; then - gpio_0=78 - gpio_1=79 - elif [ $1 = "camhi" ]; then - gpio_0=23 - gpio_1=24 - elif [ $1 = "gospell" ]; then - gpio_0=78 - gpio_1=79 - elif [ $1 = "uniview" ]; then - gpio_0=78 - gpio_1=79 - else - echo -e "Wrong vendor name: $1\nPlease select: anjoy, brovotech, camhi, gospell, uniview" - exit - fi - - if [ $2 -eq 0 ]; then - echo "DAY mode, ir_cut on" - ir_cut_enable >/dev/null - elif [ $2 -eq 1 ]; then - echo "NIGHT mode, ir_cut off" - ir_cut_disable >/dev/null - else - echo "Invalid mode, please slect 0 or 1" - fi -fi