wz_cam.sh 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #!/bin/sh
  2. LOG_NAME=/opt/wz_mini/log/wz_cam
  3. if [[ -e $LOG_NAME.log || -L $LOG_NAME.log ]] ; then
  4. i=0
  5. while [[ -e $LOG_NAME.log.$i || -L $LOG_NAME.log.$i ]] ; do
  6. let i++
  7. done
  8. mv $LOG_NAME.log $LOG_NAME.log.$i
  9. LOG_NAME=$LOG_NAME
  10. fi
  11. touch -- "$LOG_NAME".log
  12. exec 1> $LOG_NAME.log 2>&1
  13. export WZMINI_CFG=/opt/wz_mini/wz_mini.conf
  14. [ -f $WZMINI_CFG ] && source $WZMINI_CFG
  15. set -x
  16. echo "welcome to wz_cam.sh"
  17. echo "PID $$"
  18. #test for v2
  19. v2_test() {
  20. if cat /params/config/.product_config | grep WYZEC1-JZ; then
  21. V2="true"
  22. fi
  23. }
  24. if mountpoint -q /params; then
  25. echo "params already mounted"
  26. v2_test
  27. else
  28. mount -t jffs2 /dev/mtdblock9 /params
  29. v2_test
  30. fi
  31. if [ "$V2" == "false" ]; then
  32. cp /opt/wz_mini/etc/uvc.config /opt/wz_mini/usr/bin/uvc.config
  33. if [[ "WEB_CAM_FPS_RATE" != "" ]]; then
  34. sed -i "s/fps_num :30/fps_num :$WEB_CAM_FPS_RATE/" "/opt/wz_mini/usr/bin/uvc.config"
  35. fi
  36. if [[ "WEB_CAM_BIT_RATE" != "" ]]; then
  37. sed -i "s/bitrate :8000/bitrate :$WEB_CAM_BIT_RATE/" "/opt/wz_mini/usr/bin/uvc.config"
  38. fi
  39. echo 1 > /proc/sys/vm/overcommit_memory
  40. mount --bind /opt/wz_mini/usr/bin /system/bin
  41. insmod /system/driver/avpu.ko
  42. insmod /system/driver/tx-isp-t31.ko isp_clk=220000000
  43. insmod /system/driver/sensor_gc2053_t31.ko
  44. insmod /system/driver/audio.ko
  45. insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/libcomposite.ko
  46. insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/videobuf2-vmalloc.ko
  47. insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/usbcamera.ko
  48. cd /system/bin/
  49. /system/bin/ucamera &
  50. sleep 1
  51. #Set dwc2 ID_PIN driver memory
  52. devmem 0x13500000 32 0x001100cc
  53. devmem 0x10000040 32 0x0b000096
  54. #wipe the bits to set the ID_PIN
  55. devmem 0x10000040 32 0x0b000FFF
  56. sleep 1
  57. cd /sys/class/gpio
  58. echo 39 > export
  59. cd gpio39
  60. echo out > direction
  61. echo 0 > active_low
  62. echo 0 > value
  63. /opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/binbin_v3.wav 30
  64. else
  65. cp /opt/wz_mini/etc/uvc_v2.config /opt/wz_mini/usr/bin/uvc.config
  66. if [[ "WEB_CAM_FPS_RATE" != "" ]]; then
  67. sed -i "s/fps_num :30/fps_num :$WEB_CAM_FPS_RATE/" "/opt/wz_mini/usr/bin/uvc.config"
  68. fi
  69. if [[ "WEB_CAM_BIT_RATE" != "" ]]; then
  70. sed -i "s/bitrate :8000/bitrate :$WEB_CAM_BIT_RATE/" "/opt/wz_mini/usr/bin/uvc.config"
  71. fi
  72. mount --bind /opt/wz_mini/usr/bin /system/bin
  73. insmod /driver/tx-isp.ko isp_clk=100000000
  74. insmod /driver/exfat.ko
  75. insmod /driver/sample_motor.ko
  76. insmod /opt/wz_mini/lib/modules/3.10.14/kernel/audio_webcam.ko
  77. insmod /driver/sinfo.ko
  78. insmod /driver/sample_pwm_core.ko
  79. insmod /driver/sample_pwm_hal.ko
  80. insmod /opt/wz_mini/lib/modules/3.10.14/kernel/libcomposite.ko
  81. insmod /opt/wz_mini/lib/modules/3.10.14/kernel/videobuf2-vmalloc.ko
  82. insmod /opt/wz_mini/lib/modules/3.10.14/kernel/usbcamera.ko
  83. /opt/wz_mini/usr/bin/getSensorType
  84. /opt/wz_mini/usr/bin/ucamera_v2 &
  85. devmem 0x10000040 32 0x0b000096
  86. devmem 0x10000040 32 0x0b800096
  87. devmem 0x13500000 32 0x001100cc
  88. sleep 1
  89. echo 38 > /sys/class/gpio/export
  90. echo 39 > /sys/class/gpio/export
  91. echo out > /sys/class/gpio/gpio38/direction
  92. echo out > /sys/class/gpio/gpio39/direction
  93. /opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/binbin_v3.wav 30
  94. fi