重现步骤
将摄像头显示画面程序设置为开机自启动,插type-C开机,有一定概率出现紫色画面的问题,并且摄像头画面显示不完整,一直刷。
软硬件版本信息
01studio主板,gc2093摄像头,microPython固件V1.2.2版本
尝试解决过程
尝试过排出屏幕问题,当出现紫屏后,通过按键切换只显示屏幕内容,发现屏幕显示正常,重新切换回摄像头显示,故障依然存在。
重启设备后,显示又可以恢复正常。属于概率性问题。
补充材料
图片
使用源码:
import time, math, os, gc, sys
from media.sensor import *
from media.display import *
from media.media import *
WIDTH = 800
HEIGHT = 480
sensor = None
try:
# construct a Sensor object with default configure
sensor = Sensor(width = WIDTH, height = HEIGHT)
# sensor reset
sensor.reset()
# set hmirror
# sensor.set_hmirror(False)
# sensor vflip
# sensor.set_vflip(False)
# set chn0 output size
sensor.set_framesize(width = WIDTH, height = HEIGHT)
# set chn0 output format
sensor.set_pixformat(Sensor.RGB565)
# use IDE as output
Display.init(Display.ST7701, width = WIDTH, height = HEIGHT, to_ide = True)
# init media manager
MediaManager.init()
# sensor start run
sensor.run()
fps = time.clock()
while True:
fps.tick()
# check if should exit.
os.exitpoint()
img = sensor.snapshot()
# draw result to screen
Display.show_image(img)
gc.collect()
print(fps.fps())
except KeyboardInterrupt as e:
print(f"user stop")
except BaseException as e:
print(f"Exception '{e}'")
finally:
# sensor stop run
if isinstance(sensor, Sensor):
sensor.stop()
# deinit display
Display.deinit()
os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)
time.sleep_ms(100)
# release media buffer
MediaManager.deinit()