waveshare213v2: Move error handler to separate file

The structure definition and the functions were already split up. Moving
to a separate file simplifies the code structure.

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
pull/38/head
Michael Hanselmann 4 years ago
parent c1f05896d4
commit fdb05081b1

@ -0,0 +1,55 @@
// Copyright 2021 The Periph Authors. All rights reserved.
// Use of this source code is governed under the Apache License, Version 2.0
// that can be found in the LICENSE file.
package waveshare2in13v2
import "periph.io/x/conn/v3/gpio"
// errorHandler is a wrapper for error management.
type errorHandler struct {
d Dev
err error
}
func (eh *errorHandler) rstOut(l gpio.Level) {
if eh.err != nil {
return
}
eh.err = eh.d.rst.Out(l)
}
func (eh *errorHandler) cTx(w []byte, r []byte) {
if eh.err != nil {
return
}
eh.err = eh.d.c.Tx(w, r)
}
func (eh *errorHandler) dcOut(l gpio.Level) {
if eh.err != nil {
return
}
eh.err = eh.d.dc.Out(l)
}
func (eh *errorHandler) csOut(l gpio.Level) {
if eh.err != nil {
return
}
eh.err = eh.d.cs.Out(l)
}
func (eh *errorHandler) sendCommand(cmd byte) {
if eh.err != nil {
return
}
eh.err = eh.d.sendCommand(cmd)
}
func (eh *errorHandler) sendData(d []byte) {
if eh.err != nil {
return
}
eh.err = eh.d.sendData(d)
}

@ -81,12 +81,6 @@ type Opts struct {
// PartialUpdate defines if the display should do a full update or just a partial update. // PartialUpdate defines if the display should do a full update or just a partial update.
type PartialUpdate bool type PartialUpdate bool
// errorHandler is a wrapper for error management.
type errorHandler struct {
d Dev
err error
}
const ( const (
// Full should update the complete display. // Full should update the complete display.
Full PartialUpdate = false Full PartialUpdate = false
@ -136,48 +130,6 @@ func dataDimensions(opts *Opts) (int, int) {
return opts.Height, (opts.Width + 7) / 8 return opts.Height, (opts.Width + 7) / 8
} }
func (eh *errorHandler) rstOut(l gpio.Level) {
if eh.err != nil {
return
}
eh.err = eh.d.rst.Out(l)
}
func (eh *errorHandler) cTx(w []byte, r []byte) {
if eh.err != nil {
return
}
eh.err = eh.d.c.Tx(w, r)
}
func (eh *errorHandler) dcOut(l gpio.Level) {
if eh.err != nil {
return
}
eh.err = eh.d.dc.Out(l)
}
func (eh *errorHandler) csOut(l gpio.Level) {
if eh.err != nil {
return
}
eh.err = eh.d.cs.Out(l)
}
func (eh *errorHandler) sendCommand(cmd byte) {
if eh.err != nil {
return
}
eh.err = eh.d.sendCommand(cmd)
}
func (eh *errorHandler) sendData(d []byte) {
if eh.err != nil {
return
}
eh.err = eh.d.sendData(d)
}
// New creates new handler which is used to access the display. // New creates new handler which is used to access the display.
func New(p spi.Port, dc, cs, rst gpio.PinOut, busy gpio.PinIO, opts *Opts) (*Dev, error) { func New(p spi.Port, dc, cs, rst gpio.PinOut, busy gpio.PinIO, opts *Opts) (*Dev, error) {
c, err := p.Connect(5*physic.MegaHertz, spi.Mode0, 8) c, err := p.Connect(5*physic.MegaHertz, spi.Mode0, 8)

Loading…
Cancel
Save