一般来说,屏幕固件已经在测试中刷好,直接接入香橙派即可使用。
若需更新屏幕固件,需重新编译并刷入,参考V0display的Github文档。
对于V0-Display,你需要插入背面的BOOT跳线帽(或按住BOOT按钮)然后插入电源,板载的STM32便会进入DFU模式。
可以在FLY-TOOLS中,或使用指令 lsusb
确认,一般该设备的ID为 0483:df11
。
可以通过FLY-TOOLS进入SSH,账号和密码一般均为 pi
,输入
cd ~/klipper;make menuconfig
来进入编译菜单。
在此菜单中,选中 Enable extra low-level configuration options
展开选项,分别将下列选项做如图所示的选择:
建议修改屏幕的usb id,否则将为一串随机的数字。
将可选特性的两项取消勾选,否则stm32的flash空间不够。
退回主界面,按ESC,按Y保存。
输入
make -j4
进行固件编译,固件将被保存到 ~/klipper/out/klipper.bin
输入
make flash FLASH_DEVICE=0483:df11
即可进行固件刷写,若出现错误提示,通常不用理会。
刷入完成后,可使用 lsusb
指令或在 FLY-TOOLS 中找到stm32F042x6开头的设备,且使用 ls /dev/serial/by-id/*
后,能够看到带有display字样的串口设备,代表已经正常连接。
其串口位置一般是 /dev/serial/by-id/usb-Klipper_stm32f042x6_display-if00
填入配置文件即可。
[mcu display]
serial: /dev/serial/by-id/usb-Klipper_stm32f042x6_display-if00
#在这里填写屏幕的串口地址,使用ls /dev/serial/by-id/*查找
restart_method: command
[display]
lcd_type: sh1106
i2c_mcu: display
i2c_bus: i2c1a
encoder_pins: ^display:PA3, ^display:PA4
#encoder_pins: ^display:PA4, ^display:PA3 #旋转编码器反向
click_pin: ^!display:PA1
kill_pin: ^!display:PA5
x_offset: 2
vcomh: 31
#Set the Vcomh value on SSD1306/SH1106 displays. This value is
#associated with a "smearing" effect on some OLED displays. The
#value may range from 0 to 63. Default is 0.
#Adjust this value if you get some vertical stripes on your display. (31 seems to be a good value)
[neopixel displayStatus]
pin: display:PA0
chain_count: 1
color_order: GRB
initial_RED: 0.2
initial_GREEN: 0.05
initial_BLUE: 0