系统屏幕接口(Python)

概要

小龟小车主控板支持一枚SSD1306芯片做为系统屏幕(I2C协议),小伙伴在使用的时候可将屏幕模块的四根管脚插入系统I2C总线对应的管脚即可。在执行显示输出前,如不使用car.screen.open接口配置屏幕的特征的话,小车系统会议默认的参数初始化屏幕。

是插入到主控板中央的系统总线插口!

系统屏幕的所有接口都位于car.screen集合内。


打开屏幕(open)

语法:

说明:

    初始化SSD1306屏幕,如不进行初始化,在首次使用相关的屏幕输出接口的时候,会以默认配置初始化屏幕。

默认配置:128像素宽、64像素高、I2C地址60。

参数:

范例:

#打开屏幕,并向系统登记屏幕大小为128*64,I2C地址60car.screen.open(128, 64, 60)



调节屏幕亮度(brightness)

语法:

说明:

调节屏幕亮度。

参数:

范例:

#调节屏幕到最亮car.screen.brightness(255)




清空屏幕(clear)

语法:

说明:

清空屏幕上所有内容。

参数:

范例:

#清空屏幕car.screen.clear()



关闭屏幕(close)

语法:

    car.screen.close()

说明:

    关闭屏幕,屏幕上的显示内容也会被同步清空。

范例:

car.screen.close()



旋转屏幕(rotate)

语法:

    car.screen.rotate(mode:str)->bool

说明:

    旋转屏幕,因为屏幕可以自由的安装到主控板任意一面或者外壳的任何地方,如果显示内容的方向不对,则可以通过本函数接口旋转屏幕。

参数:

范例:

#旋转屏幕180度car.screen.rotate("B")



查询屏幕尺寸(size)

语法:

    car.screen.size()->(width, height)

说明:

    查询返回当前屏幕的宽和高。

参数:

#查询登记的屏幕大小car.screen.size()



绘制点(point)

语法:

    car.screen.point(x:int, y:int, v:int)->bool

说明:

    对屏幕上指定XY坐标的某一点设置或者清空显示。。

参数:

范例:

#给屏幕上x=5, y=6的点设置开启car.screen.point(5, 6, 1)



打印文本(print)

语法:

    car.screen.print(text:str, x:int, y:int)->bool

说明:

    在屏幕上指定XY坐标的位置开始打印text文本。

本接口在打印内容超过屏幕边界以后,会忽略后续打印,不会自动换行到下一行。


参数:

范例:

#在屏幕上x=1, y=2处打印ABC三个字母car.screen.print("ABC", 1, 2)



绘制像素图基于字节(draw)

语法:

    car.screen.draw(image:str, width:int, height:int, x:int, y:int)->bool

说明:

    在屏幕上指定XY坐标的位置开始绘制image。

image是一个字符串,其中每一个字节代表一个像素,空格代表该像素不显示,其它字符代表该显示显示。width和height是该图像的宽和高,如果绘制超过屏幕边缘会被自动截掉。


参数:

范例:

#在屏幕x=0, y=0处绘制一条14个像素的虚线car.screen.draw("  **  **  **  ", 14, 1, 0, 0)



绘制像素图基于位(draw_bits)

语法:

    car.screen.draw_bits(image:str, width:int, height:int, x:int, y:int)->bool

说明:

    在屏幕上指定XY坐标的位置开始绘制image。

image是一个字符串,其中每一个字节的一个位(bit)代表一个像素,0代表该像素不显示,1代表该显示显示。width和height是该图像的宽和高,如果绘制超过屏幕边缘会被自动截掉。


参数:

范例:

#在屏幕x=0,y=0处绘制一条16个像素的实线car.screen.draw_bits(b"\xFF\xFF", 16, 1, 0, 0)



刷新屏幕(flush)

语法:

    car.screen.flush()->bool

说明:

    重绘屏幕。在进行类似绘制点的操作,不会立刻看到效果,而需要执行这个flush输出绘制结果。

参数:

范例:

car.screen.flush()