mirror of
https://github.com/gtxaspec/wz_mini_hacks.git
synced 2024-11-22 21:47:19 +00:00
336 lines
13 KiB
Markdown
336 lines
13 KiB
Markdown
wz_mini notes for atomcam
|
|
---
|
|
|
|
take a RAW snapshot (v2 only)
|
|
|
|
`impdbg --save_pic /tmp/output.nv12 --pic_type NV12`
|
|
|
|
convert to jpg:
|
|
|
|
`ffmpeg -loglevel quiet -y -f rawvideo -pixel_format nv12 -s 1920x1080 -i /tmp/output.nv12 -vf fps=1 /media/mmc/output.jpg`
|
|
|
|
---
|
|
take a RAW snapshot (v3 only)
|
|
|
|
`echo saveraw 1 > /proc/jz/isp/isp-w02`
|
|
|
|
convert to tiff:
|
|
|
|
download: https://github.com/jdthomas/bayer2rgb
|
|
|
|
`bayer2rgb --input /tmp/snap0.raw --output=/media/mmc/record/snap0.tiff --width=1920 --height=1080 --bpp=16 --first=RGGB --method=BILINEAR --tiff`
|
|
|
|
---
|
|
libcallback command utility `cmd` :
|
|
|
|
```
|
|
welcome to: cmd <arg>
|
|
|
|
arg can be:
|
|
jpeg (will dump raw jpeg to stdout with http headers, trim first 2 lines to get a jpg image)
|
|
video on or off (channel 0)
|
|
video on1 or off1 (channel 1)
|
|
audio on or off (channel 0)
|
|
audio on1 or off1 (channel 1)
|
|
move (for pan / swing models)
|
|
waitMotion <timeout>
|
|
irled on or off
|
|
aplay <file path> <volume 1-100>
|
|
mp4write on or off
|
|
```
|
|
---
|
|
GPIO:
|
|
|
|
v3:
|
|
|
|
```
|
|
gpio_request lable = wifi_enable_gpio gpio = 57
|
|
gpio_request lable = yellow_gpio gpio = 38
|
|
gpio_request lable = blue_gpio gpio = 39
|
|
gpio_request lable = night_gpio gpio = 49
|
|
gpio_request lable = 850_light_gpio gpio = 47
|
|
gpio_request lable = SPK_able_gpio gpio = 63
|
|
gpio_request lable = TF_en_gpio gpio = 50
|
|
gpio_request lable = TF_cd_gpio gpio = 59
|
|
gpio_request lable = SD_able_gpio gpio = 48
|
|
gpio_request lable = wifi_enable_gpio gpio = 57
|
|
```
|
|
```
|
|
May 13 13:22:38 iCamera: [sdk,0205]dbg: Pin(39) Lvl(1) Dir(out)
|
|
May 13 13:22:38 iCamera: [sdk,0205]dbg: Pin(38) Lvl(0) Dir(out)
|
|
May 13 13:22:38 iCamera: [sdk,0205]dbg: Pin(52) Lvl(0) Dir(out)
|
|
May 13 13:22:38 iCamera: [sdk,0205]dbg: Pin(53) Lvl(0) Dir(out)
|
|
May 13 13:22:38 iCamera: [sdk,0205]dbg: Pin(47) Lvl(0) Dir(out)
|
|
May 13 13:22:38 iCamera: [sdk,0205]dbg: Pin(51) Lvl(1) Dir(in)
|
|
May 13 13:22:38 iCamera: [sdk,0205]dbg: Pin(50) Lvl(0) Dir(in)
|
|
May 13 13:22:38 iCamera: [sdk,0205]dbg: Pin(62) Lvl(0) Dir(in)
|
|
```
|
|
---
|
|
|
|
kernel command line:
|
|
|
|
v3:
|
|
|
|
`[ 0.000000] Kernel command line: console=ttyS1,115200n8 mem=99M@0x0 rmem=29M@0x6300000 init=/linuxrc rootfstype=squashfs root=/dev/mtdblock2 rw mtdparts=jz_sfc:256K(boot),1984K(kernel),3904K(rootfs),3904K(app),1984K(kback),3904K(aback),384K(cfg),64K(para)
|
|
`
|
|
|
|
panv2:
|
|
|
|
`console=ttyS1,115200n8 mem=96M@0x0 rmem=32M@0x6000000 init=/linuxrc rootfstype=squashfs root=/dev/mtdblock2 rw mtdparts=jz_sfc:256K(boot),1984K(kernel),3904K(rootfs),3904K(app),1984K(kback),3904K(aback),384K(cfg),64K(para)`
|
|
|
|
---
|
|
|
|
v3 accessory:
|
|
|
|
Spotlight serial:
|
|
|
|
high brightness:
|
|
`echo -ne "\xaa\x55\x43\x05\x16\xff\x07\x02\x63" > /dev/ttyUSB0`
|
|
|
|
low brightness:
|
|
`echo -ne "\xaa\x55\x43\x05\x16\x33\x07\x01\x97" > /dev/ttyUSB0`
|
|
|
|
off:
|
|
`echo -ne "\xaa\x55\x43\x05\x16\x00\x07\x01\x64" > /dev/ttyUSB0`
|
|
|
|
---
|
|
|
|
USB 2.0 DWC controller:
|
|
|
|
v2:
|
|
set host mode:
|
|
|
|
`devmem 0x10000040 32 0x0b000096`
|
|
|
|
set device mode:
|
|
|
|
`devmem 0x10000040 32 0x0b800096`
|
|
|
|
`devmem 0x13500000 32 0x001100cc`
|
|
|
|
v3:
|
|
|
|
set host mode:
|
|
|
|
`devmem 0x10000040 32 0x0b000096`
|
|
|
|
set device mode:
|
|
|
|
`devmem 0x13500000 32 0x001100cc`
|
|
|
|
`devmem 0x10000040 32 0x0b000FFF`
|
|
|
|
---
|
|
libIMP debug:
|
|
|
|
`impdbg`
|
|
```
|
|
usage: impdbg --option [args]
|
|
--enc_info get encoder info
|
|
--enc_rc_s chn:offset:size:data set encoder rc
|
|
--fs_info get frame source info
|
|
--save_pic [path] save pic data
|
|
--pic_type [RAW/NV12/YUYV422/UYVY422/RGB565BE] save pic type
|
|
--system_info get system info
|
|
```
|
|
|
|
v3:
|
|
|
|
`--enc_info`
|
|
```
|
|
GROUP 0
|
|
CHANNEL 0 1920x 1080 START H264 tf:786 df:3 encdur:39264, encodingFrameCnt:783,endencodeFrameCnt=783,endrelaseFrameCnt=783,Fps:20.01,Bitrate:838.09
|
|
-------------------------------------------------
|
|
ch->index = 0
|
|
ch->releaseFrmNum = 0
|
|
ch->releaseFrmDen = 0
|
|
chnAttr->encAttr->eProfile = 77(0x4d) offset:size = 0:4
|
|
chnAttr->encAttr->uLevel = 41(0x29) offset:size = 4:1
|
|
chnAttr->encAttr->uTier = 0(0x0) offset:size = 5:1
|
|
chnAttr->encAttr->uWidth = 1920(0x780) offset:size = 6:2
|
|
chnAttr->encAttr->uHeight = 1080(0x438) offset:size = 8:2
|
|
chnAttr->encAttr->ePicFormat = 392(0x188) offset:size = 12:4
|
|
chnAttr->encAttr->eEncOptions = 294952(0x48028) offset:size = 16:4
|
|
chnAttr->encAttr->eEncTools = 156(0x9c) offset:size = 20:4
|
|
chnAttr->rcAttr->rcMode = 8(0x8) offset:size = 44:4
|
|
chnAttr->rcAttr->CappedQuality->uTargetBitRate = 720(0x2d0) offset:size = 48:4
|
|
chnAttr->rcAttr->CappedQuality->uMaxBitRate = 960(0x3c0) offset:size = 52:4
|
|
chnAttr->rcAttr->CappedQuality->iInitialQP = -1(0xffffffff) offset:size = 56:2
|
|
chnAttr->rcAttr->CappedQuality->iMinQP = 23(0x17) offset:size = 58:2
|
|
chnAttr->rcAttr->CappedQuality->iMaxQP = 51(0x33) offset:size = 60:2
|
|
chnAttr->rcAttr->CappedQuality->iIPDelta = 3(0x3) offset:size = 62:2
|
|
chnAttr->rcAttr->CappedQuality->iPBDelta = 3(0x3) offset:size = 64:2
|
|
chnAttr->rcAttr->CappedQuality->eRcOptions = 1(0x1) offset:size = 68:4
|
|
chnAttr->rcAttr->CappedQuality->uMaxPictureSize = 1920(0x780) offset:size = 72:4
|
|
chnAttr->rcAttr->CappedQuality->uMaxPSNR = 48(0x30) offset:size = 76:2
|
|
chnAttr->rcAttr->outFrmRate->frmRateNum = 20(0x14) offset:size = 80:4
|
|
chnAttr->rcAttr->outFrmRate->frmRateDen = 1(0x1) offset:size = 84:4
|
|
chnAttr->gopAttr->uGopCtrlMode = 2(0x2) offset:size = 88:4
|
|
chnAttr->gopAttr->uGopLength = 40(0x28) offset:size = 92:2
|
|
chnAttr->gopAttr->uNotifyUserLTInter = 0(0x0) offset:size = 94:1
|
|
chnAttr->gopAttr->uMaxSameSenceCnt = 1(0x1) offset:size = 96:4
|
|
chnAttr->gopAttr->bEnableLT = 0(0x0) offset:size = 100:1
|
|
chnAttr->gopAttr->uFreqLT = 0(0x0) offset:size = 104:4
|
|
chnAttr->gopAttr->bLTRC = 0(0x0) offset:size = 108:1
|
|
CHANNEL 4 1920x 1080 STOP JPEG tf:0 df:0 encdur:39436, encodingFrameCnt:0,endencodeFrameCnt=0,endrelaseFrameCnt=0,Fps:0.00,Bitrate:0.00
|
|
-------------------------------------------------
|
|
ch->index = 4
|
|
ch->releaseFrmNum = 0
|
|
ch->releaseFrmDen = 0
|
|
chnAttr->encAttr->eProfile = 67108864(0x4000000) offset:size = 0:4
|
|
chnAttr->encAttr->uLevel = 0(0x0) offset:size = 4:1
|
|
chnAttr->encAttr->uTier = 0(0x0) offset:size = 5:1
|
|
chnAttr->encAttr->uWidth = 1920(0x780) offset:size = 6:2
|
|
chnAttr->encAttr->uHeight = 1080(0x438) offset:size = 8:2
|
|
chnAttr->encAttr->ePicFormat = 392(0x188) offset:size = 12:4
|
|
chnAttr->encAttr->eEncOptions = 294952(0x48028) offset:size = 16:4
|
|
chnAttr->encAttr->eEncTools = 156(0x9c) offset:size = 20:4
|
|
chnAttr->rcAttr->rcMode = 0(0x0) offset:size = 44:4
|
|
chnAttr->rcAttr->FixQP->iInitialQP = 32(0x20) offset:size = 48:2
|
|
chnAttr->rcAttr->outFrmRate->frmRateNum = 20(0x14) offset:size = 80:4
|
|
chnAttr->rcAttr->outFrmRate->frmRateDen = 1(0x1) offset:size = 84:4
|
|
chnAttr->gopAttr->uGopCtrlMode = 2(0x2) offset:size = 88:4
|
|
chnAttr->gopAttr->uGopLength = 40(0x28) offset:size = 92:2
|
|
chnAttr->gopAttr->uNotifyUserLTInter = 0(0x0) offset:size = 94:1
|
|
chnAttr->gopAttr->uMaxSameSenceCnt = 1(0x1) offset:size = 96:4
|
|
chnAttr->gopAttr->bEnableLT = 0(0x0) offset:size = 100:1
|
|
chnAttr->gopAttr->uFreqLT = 0(0x0) offset:size = 104:4
|
|
chnAttr->gopAttr->bLTRC = 0(0x0) offset:size = 108:1
|
|
GROUP 1
|
|
CHANNEL 1 640x 360 START H264 tf:786 df:2 encdur:39270, encodingFrameCnt:784,endencodeFrameCnt=784,endrelaseFrameCnt=784,Fps:20.02,Bitrate:161.93
|
|
-------------------------------------------------
|
|
ch->index = 1
|
|
ch->releaseFrmNum = 0
|
|
ch->releaseFrmDen = 0
|
|
chnAttr->encAttr->eProfile = 77(0x4d) offset:size = 0:4
|
|
chnAttr->encAttr->uLevel = 50(0x32) offset:size = 4:1
|
|
chnAttr->encAttr->uTier = 0(0x0) offset:size = 5:1
|
|
chnAttr->encAttr->uWidth = 640(0x280) offset:size = 6:2
|
|
chnAttr->encAttr->uHeight = 360(0x168) offset:size = 8:2
|
|
chnAttr->encAttr->ePicFormat = 392(0x188) offset:size = 12:4
|
|
chnAttr->encAttr->eEncOptions = 294952(0x48028) offset:size = 16:4
|
|
chnAttr->encAttr->eEncTools = 156(0x9c) offset:size = 20:4
|
|
chnAttr->rcAttr->rcMode = 8(0x8) offset:size = 44:4
|
|
chnAttr->rcAttr->CappedQuality->uTargetBitRate = 180(0xb4) offset:size = 48:4
|
|
chnAttr->rcAttr->CappedQuality->uMaxBitRate = 240(0xf0) offset:size = 52:4
|
|
chnAttr->rcAttr->CappedQuality->iInitialQP = -1(0xffffffff) offset:size = 56:2
|
|
chnAttr->rcAttr->CappedQuality->iMinQP = 23(0x17) offset:size = 58:2
|
|
chnAttr->rcAttr->CappedQuality->iMaxQP = 51(0x33) offset:size = 60:2
|
|
chnAttr->rcAttr->CappedQuality->iIPDelta = 3(0x3) offset:size = 62:2
|
|
chnAttr->rcAttr->CappedQuality->iPBDelta = 3(0x3) offset:size = 64:2
|
|
chnAttr->rcAttr->CappedQuality->eRcOptions = 1(0x1) offset:size = 68:4
|
|
chnAttr->rcAttr->CappedQuality->uMaxPictureSize = 640(0x280) offset:size = 72:4
|
|
chnAttr->rcAttr->CappedQuality->uMaxPSNR = 48(0x30) offset:size = 76:2
|
|
chnAttr->rcAttr->outFrmRate->frmRateNum = 20(0x14) offset:size = 80:4
|
|
chnAttr->rcAttr->outFrmRate->frmRateDen = 1(0x1) offset:size = 84:4
|
|
chnAttr->gopAttr->uGopCtrlMode = 2(0x2) offset:size = 88:4
|
|
chnAttr->gopAttr->uGopLength = 40(0x28) offset:size = 92:2
|
|
chnAttr->gopAttr->uNotifyUserLTInter = 0(0x0) offset:size = 94:1
|
|
chnAttr->gopAttr->uMaxSameSenceCnt = 1(0x1) offset:size = 96:4
|
|
chnAttr->gopAttr->bEnableLT = 0(0x0) offset:size = 100:1
|
|
chnAttr->gopAttr->uFreqLT = 0(0x0) offset:size = 104:4
|
|
chnAttr->gopAttr->bLTRC = 0(0x0) offset:size = 108:1
|
|
CHANNEL 5 640x 360 STOP JPEG tf:39 df:1 encdur:30426, encodingFrameCnt:38,endencodeFrameCnt=38,endrelaseFrameCnt=38,Fps:1.18,Bitrate:157.51
|
|
-------------------------------------------------
|
|
ch->index = 5
|
|
ch->releaseFrmNum = 0
|
|
ch->releaseFrmDen = 0
|
|
chnAttr->encAttr->eProfile = 67108864(0x4000000) offset:size = 0:4
|
|
chnAttr->encAttr->uLevel = 0(0x0) offset:size = 4:1
|
|
chnAttr->encAttr->uTier = 0(0x0) offset:size = 5:1
|
|
chnAttr->encAttr->uWidth = 640(0x280) offset:size = 6:2
|
|
chnAttr->encAttr->uHeight = 360(0x168) offset:size = 8:2
|
|
chnAttr->encAttr->ePicFormat = 392(0x188) offset:size = 12:4
|
|
chnAttr->encAttr->eEncOptions = 294952(0x48028) offset:size = 16:4
|
|
chnAttr->encAttr->eEncTools = 156(0x9c) offset:size = 20:4
|
|
chnAttr->rcAttr->rcMode = 0(0x0) offset:size = 44:4
|
|
chnAttr->rcAttr->FixQP->iInitialQP = 32(0x20) offset:size = 48:2
|
|
chnAttr->rcAttr->outFrmRate->frmRateNum = 20(0x14) offset:size = 80:4
|
|
chnAttr->rcAttr->outFrmRate->frmRateDen = 1(0x1) offset:size = 84:4
|
|
chnAttr->gopAttr->uGopCtrlMode = 2(0x2) offset:size = 88:4
|
|
chnAttr->gopAttr->uGopLength = 40(0x28) offset:size = 92:2
|
|
chnAttr->gopAttr->uNotifyUserLTInter = 0(0x0) offset:size = 94:1
|
|
chnAttr->gopAttr->uMaxSameSenceCnt = 1(0x1) offset:size = 96:4
|
|
chnAttr->gopAttr->bEnableLT = 0(0x0) offset:size = 100:1
|
|
chnAttr->gopAttr->uFreqLT = 0(0x0) offset:size = 104:4
|
|
chnAttr->gopAttr->bLTRC = 0(0x0) offset:size = 108:1
|
|
|
|
```
|
|
`--fs_info`
|
|
|
|
```
|
|
CHANNEL(0)
|
|
INFO 1920x 1080 RUN 20/ 1(fps) NV12
|
|
CROP DIS left(0) top(0) width(1920) height(1080)
|
|
SCALER DIS width(1920) height(1080)
|
|
CHANNEL(1)
|
|
INFO 640x 360 RUN 20/ 1(fps) NV12
|
|
CROP DIS left(0) top(0) width(1920) height(1080)
|
|
SCALER EN width(640) height(360)
|
|
CHANNEL(2)
|
|
INFO 1280x 720 OPEN 20/ 1(fps) NV12
|
|
CROP DIS left(0) top(0) width(1920) height(1080)
|
|
SCALER EN width(1280) height(720)
|
|
```
|
|
`--system_info`
|
|
```tree item: 3
|
|
Framesource-0 update_cnt=7205(qframecnt=7207, dqframecnt=7205, sem_msg_cnt=16, sem_cnt=0)
|
|
OSD-0 update_cnt=7205(sem_msg_cnt=16, sem_cnt=0)
|
|
Encoder-0 update_cnt=7205(sem_msg_cnt=16, sem_cnt=0)
|
|
---Framesource-0-----OSD-0-------------Encoder-0
|
|
tree item: 4
|
|
Framesource-1 update_cnt=7205(qframecnt=7208, dqframecnt=7205, sem_msg_cnt=16, sem_cnt=0)
|
|
IVS-0 update_cnt=7205(sem_msg_cnt=16, sem_cnt=0)
|
|
OSD-1 update_cnt=7205(sem_msg_cnt=16, sem_cnt=0)
|
|
Encoder-1 update_cnt=7205(sem_msg_cnt=16, sem_cnt=0)
|
|
---Framesource-1-----IVS-0-------------OSD-1-------------Encoder-1
|
|
tree item: 1
|
|
Framesource-2 update_cnt=0(qframecnt=0, dqframecnt=0, sem_msg_cnt=16, sem_cnt=0)
|
|
---Framesource-2
|
|
```
|
|
---
|
|
|
|
audio info:
|
|
|
|
v3:
|
|
|
|
```
|
|
May 13 13:22:39 iCamera: [sdk,0269]dbg: (local_sdk_speaker_set_parameters) sampleRate :16000
|
|
May 13 13:22:39 iCamera: [sdk,0270]dbg: (local_sdk_speaker_set_parameters) trackType :1
|
|
May 13 13:22:39 iCamera: [sdk,0271]dbg: (local_sdk_speaker_set_parameters) gain :28
|
|
May 13 13:22:39 iCamera: [sdk,0272]dbg: (local_sdk_speaker_set_parameters) volume :60
|
|
May 13 13:22:39 iCamera: [sdk,0273]dbg: (local_sdk_speaker_set_parameters) pcmBufSize :1280
|
|
May 13 13:22:39 iCamera: [sdk,0274]dbg: (local_sdk_speaker_set_parameters) cacheSec :1
|
|
May 13 13:22:39 iCamera: [sdk,0275]dbg: (local_sdk_speaker_set_parameters) paMode :3
|
|
May 13 13:22:39 iCamera: [sdk,0276]dbg: (local_sdk_speaker_set_parameters) paAutoDisable:1
|
|
```
|
|
```
|
|
I/sdkspeaker.c( 232): samplerate :16000
|
|
I/sdkspeaker.c( 232): bitwidth :16
|
|
I/sdkspeaker.c( 232): soundmode :1
|
|
I/sdkspeaker.c( 232): frmNum :35
|
|
I/sdkspeaker.c( 232): numPerFrm :640
|
|
I/sdkspeaker.c( 232): chnCnt :1
|
|
```
|
|
|
|
```
|
|
I/ai ( 232): AI Enable: 1
|
|
I/ao ( 232): AO Enable: 0
|
|
I/ai ( 232): AI Enable Chn: 1-0
|
|
I/ai ( 232): EXIT AI Enable Chn: 1-0
|
|
I/ai ( 232): AI Set Gain: 31
|
|
I/ai ( 232): AI Set Vol: 90
|
|
I/ai ( 232): AI AGC ENABLE: targetLevelDbfs = 4, compressionGaindB = 10, limiterEnable =1
|
|
I/ai ( 232): AI HPF Enable
|
|
I/ai ( 232): HPF version is: Ingenic High Pass Filter 1.1.0
|
|
I/ao ( 232): AO Ch Enable: 0:0
|
|
I/ao ( 232): EXIT AO Ch Enable: 0:0
|
|
I/ao ( 232): AO Set Vol: 60
|
|
I/ao ( 232): AO Get Vol: 60
|
|
I/ao ( 232): AO HPF ENABLE
|
|
I/ao ( 232): HPF version is: Ingenic High Pass Filter 1.1.0
|
|
I/ao ( 232): AO Get Gain: 28
|
|
I/ao ( 232): AO Get Gain: 28
|
|
```
|
|
|