mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
scripts/libraries: Add Python DAC and PWM backlight controllers.
This commit is contained in:
parent
391ec443f6
commit
ad44d4533f
@ -5,13 +5,39 @@
|
|||||||
#
|
#
|
||||||
# This work is licensed under the MIT license, see the file LICENSE for details.
|
# This work is licensed under the MIT license, see the file LICENSE for details.
|
||||||
#
|
#
|
||||||
# This is an extension to the display C user-module. Add any display-related
|
# This is an extension to the display C user-module. Add or import any display-related
|
||||||
# drivers here, and freeze this module in the board's manifest, and those
|
# drivers here, and freeze this module in the board's manifest, and those drivers will
|
||||||
# drivers will be importable from display.
|
# be importable from display.
|
||||||
|
|
||||||
from udisplay import *
|
from udisplay import *
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
class DACBacklight:
|
||||||
|
def __init__(self, channel, bits=8):
|
||||||
|
from pyb import DAC
|
||||||
|
self.bits = bits
|
||||||
|
self.dac = DAC(channel, bits=bits, buffering=True)
|
||||||
|
self.backlight(100)
|
||||||
|
|
||||||
|
def deinit(self):
|
||||||
|
self.dac.deinit()
|
||||||
|
|
||||||
|
def backlight(self, value):
|
||||||
|
self.dac.write(int(value / 100 * (2 ** self.bits - 1)))
|
||||||
|
|
||||||
|
class PWMBacklight:
|
||||||
|
def __init__(self, pin, timer=3, channel=3, frequency=200):
|
||||||
|
from machine import Pin
|
||||||
|
from pyb import Timer
|
||||||
|
self.timer = Timer(timer, freq=frequency)
|
||||||
|
self.channel = self.timer.channel(channel, Timer.PWM, pin=Pin(pin))
|
||||||
|
self.backlight(100)
|
||||||
|
|
||||||
|
def deinit(self):
|
||||||
|
self.timer.deinit()
|
||||||
|
|
||||||
|
def backlight(self, value):
|
||||||
|
self.channel.pulse_width_percent(value * 100 // 100)
|
||||||
|
|
||||||
class ST7701:
|
class ST7701:
|
||||||
DSI_CMD2_BKX_SEL = const(0xFF)
|
DSI_CMD2_BKX_SEL = const(0xFF)
|
||||||
|
|||||||
@ -13,6 +13,7 @@ freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
|||||||
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "bno055.py")
|
freeze ("$(OMV_LIB_DIR)/", "bno055.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
||||||
|
freeze ("$(OMV_LIB_DIR)/", "display.py")
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
require("ntptime")
|
require("ntptime")
|
||||||
|
|||||||
@ -10,3 +10,4 @@ freeze ("$(OMV_LIB_DIR)/", "ssd1306.py")
|
|||||||
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
||||||
|
freeze ("$(OMV_LIB_DIR)/", "display.py")
|
||||||
|
|||||||
@ -10,3 +10,4 @@ freeze ("$(OMV_LIB_DIR)/", "ssd1306.py")
|
|||||||
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
||||||
|
freeze ("$(OMV_LIB_DIR)/", "display.py")
|
||||||
|
|||||||
@ -12,6 +12,7 @@ freeze ("$(OMV_LIB_DIR)/", "ssd1306.py")
|
|||||||
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
||||||
|
freeze ("$(OMV_LIB_DIR)/", "display.py")
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
require("ntptime")
|
require("ntptime")
|
||||||
|
|||||||
@ -12,6 +12,7 @@ freeze ("$(OMV_LIB_DIR)/", "ssd1306.py")
|
|||||||
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
||||||
|
freeze ("$(OMV_LIB_DIR)/", "display.py")
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
require("ntptime")
|
require("ntptime")
|
||||||
|
|||||||
@ -12,6 +12,7 @@ freeze ("$(OMV_LIB_DIR)/", "ssd1306.py")
|
|||||||
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
||||||
|
freeze ("$(OMV_LIB_DIR)/", "display.py")
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
require("ntptime")
|
require("ntptime")
|
||||||
|
|||||||
@ -12,6 +12,7 @@ freeze ("$(OMV_LIB_DIR)/", "ssd1306.py")
|
|||||||
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
||||||
|
freeze ("$(OMV_LIB_DIR)/", "display.py")
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
require("ntptime")
|
require("ntptime")
|
||||||
|
|||||||
@ -12,6 +12,7 @@ freeze ("$(OMV_LIB_DIR)/", "ssd1306.py")
|
|||||||
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
freeze ("$(OMV_LIB_DIR)/", "tb6612.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
freeze ("$(OMV_LIB_DIR)/", "vl53l1x.py")
|
||||||
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
freeze ("$(OMV_LIB_DIR)/", "machine.py")
|
||||||
|
freeze ("$(OMV_LIB_DIR)/", "display.py")
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
require("ntptime")
|
require("ntptime")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user