概要
接上回《Klipper上位机开发,通过实现修改printer实现对LED灯控制》,本文主要介绍如何在Console中输入G代码控制单片机。LED亮度的控制,这里我是通过参考官方写的fan.py实现的。
实现效果
这里的语言是英语,中文界面下Console则是控制台
在这里我们可以输入M106 S0-255来控制LED灯的亮度,这里我就演示了M106 S1和M106 S255这两个Gcode命令。
VID_20240709_115132
配置文件
[b]
pin: mcu:PE4
注意:klipper的PWM好似是规定了哪些引脚才能使用PWM,好像没有模拟PWM的类可以使用,这里我选择的是PE4。
源码部分
文件名:b.by
import time
FAN_MIN_TIME = 0.100
class GCODE_USE_TEST:
def __init__(self, config, default_shutdown_speed=0.):
self.printer = config.get_printer()
self.last_fan_value = 0.
self.last_fan_time = 0.
# Read config
self.max_power = config.getfloat('max_power', 1., above=0., maxval=1.)
self.kick_start_time = config.getfloat('kick_start_time', 0.1,
minval=0.)
self.off_below = config.getfloat('off_below', default=0.,
minval=0., maxval=1.)
cycle_time = config.getfloat('cycle_time',