Review changes

pull/100/head
George Sexton 1 year ago
parent 49b2b5fb4c
commit 98d1d05a5e

@ -53,7 +53,8 @@ type Dev struct {
blink bool blink bool
on bool on bool
cursor bool cursor bool
backlight interface{} blMono display.DisplayBacklight
blRGB display.DisplayRGBBacklight
} }
func wrap(err error) error { func wrap(err error) error {
@ -71,16 +72,22 @@ func wrap(err error) error {
// display.DisplayRGBBacklight. // display.DisplayRGBBacklight.
func New(bus i2c.Bus, func New(bus i2c.Bus,
address uint16, address uint16,
backlight interface{}, backlight any,
rows, rows,
cols int) (*Dev, error) { cols int) (*Dev, error) {
dev := &Dev{ dev := &Dev{
d: &i2c.Dev{Bus: bus, Addr: address}, d: &i2c.Dev{Bus: bus, Addr: address},
backlight: backlight,
rows: rows, rows: rows,
cols: cols, cols: cols,
} }
switch bl := backlight.(type) {
case display.DisplayBacklight:
dev.blMono = bl
case display.DisplayRGBBacklight:
dev.blRGB = bl
}
err := dev.init() err := dev.init()
if err != nil { if err != nil {
dev = nil dev = nil
@ -118,7 +125,6 @@ func (dev *Dev) init() error {
_ = dev.Backlight(0xff) _ = dev.Backlight(0xff)
} }
if err != nil { if err != nil {
fmt.Println("dev.init() returns", err)
err = wrap(err) err = wrap(err)
} }
return err return err
@ -343,27 +349,23 @@ func (dev *Dev) WriteString(text string) (n int, err error) {
// Set the backlight intensity. // Set the backlight intensity.
func (dev *Dev) Backlight(intensity display.Intensity) error { func (dev *Dev) Backlight(intensity display.Intensity) error {
switch bl := dev.backlight.(type) { if dev.blMono != nil {
case display.DisplayBacklight: return dev.blMono.Backlight(intensity)
return bl.Backlight(intensity) } else if dev.blRGB != nil {
case display.DisplayRGBBacklight: return dev.blRGB.RGBBacklight(intensity, intensity, intensity)
return bl.RGBBacklight(intensity, intensity, intensity)
default:
return ErrNotImplemented
} }
return ErrNotImplemented
} }
// For units that have an RGB Backlight, set the backlight color/intensity. // For units that have an RGB Backlight, set the backlight color/intensity.
// The range of the values is 0-255. // The range of the values is 0-255.
func (dev *Dev) RGBBacklight(red, green, blue display.Intensity) error { func (dev *Dev) RGBBacklight(red, green, blue display.Intensity) error {
switch bl := dev.backlight.(type) { if dev.blRGB != nil {
case display.DisplayRGBBacklight: return dev.blRGB.RGBBacklight(red, green, blue)
return bl.RGBBacklight(red, green, blue) } else if dev.blMono != nil {
case display.DisplayBacklight: return dev.blMono.Backlight(red | green | blue)
return bl.Backlight(red | green | blue)
default:
return ErrNotImplemented
} }
return ErrNotImplemented
} }
var _ conn.Resource = &Dev{} var _ conn.Resource = &Dev{}

@ -5,7 +5,6 @@
package waveshare1602_test package waveshare1602_test
import ( import (
"fmt"
"log" "log"
"time" "time"
@ -17,7 +16,6 @@ import (
) )
func Example() { func Example() {
fmt.Println("Starting")
// Make sure periph is initialized. // Make sure periph is initialized.
if _, err := host.Init(); err != nil { if _, err := host.Init(); err != nil {
log.Fatal(err) log.Fatal(err)

Loading…
Cancel
Save