ws2812: rename WS2812 to Device

This is more consistent with the other drivers.
This commit is contained in:
Ayke van Laethem
2018-11-16 14:55:00 +01:00
parent 947042e435
commit 16a5f82d44
2 changed files with 13 additions and 13 deletions
+10 -10
View File
@@ -5,31 +5,31 @@ import (
"machine" "machine"
) )
// WS2812 wraps a pin object for an easy driver interface. // Device wraps a pin object for an easy driver interface.
type WS2812 struct { type Device struct {
Pin machine.GPIO Pin machine.GPIO
} }
// New returns a new WS2812 driver. It does not touch the pin object: you have // New returns a new WS2812 driver. It does not touch the pin object: you have
// to configure it as an output pin before calling New. // to configure it as an output pin before calling New.
func New(pin machine.GPIO) WS2812 { func New(pin machine.GPIO) Device {
return WS2812{pin} return Device{pin}
} }
// Write the raw bitstring out using the WS2812 protocol. // Write the raw bitstring out using the WS2812 protocol.
func (p WS2812) Write(buf []byte) { func (d Device) Write(buf []byte) {
for _, c := range buf { for _, c := range buf {
p.WriteByte(c) d.WriteByte(c)
} }
} }
// Write the given color slice out using the WS2812 protocol. // Write the given color slice out using the WS2812 protocol.
// Colors are specified in RGB format, and are send out in the common GRB // Colors are specified in RGB format, and are send out in the common GRB
// format. // format.
func (p WS2812) WriteColors(buf []uint32) { func (d Device) WriteColors(buf []uint32) {
for _, color := range buf { for _, color := range buf {
p.WriteByte(byte(color >> 8)) // green d.WriteByte(byte(color >> 8)) // green
p.WriteByte(byte(color >> 16)) // red d.WriteByte(byte(color >> 16)) // red
p.WriteByte(byte(color >> 0)) // blue d.WriteByte(byte(color >> 0)) // blue
} }
} }
+3 -3
View File
@@ -10,10 +10,10 @@ import (
) )
// Send a single byte using the WS2812 protocol. // Send a single byte using the WS2812 protocol.
func (p WS2812) WriteByte(c byte) { func (d Device) WriteByte(c byte) {
// For the Cortex-M0 at 16MHz // For the Cortex-M0 at 16MHz
portSet, maskSet := p.Pin.PortMaskSet() portSet, maskSet := d.Pin.PortMaskSet()
portClear, maskClear := p.Pin.PortMaskClear() portClear, maskClear := d.Pin.PortMaskClear()
value := uint32(c) << 24 value := uint32(c) << 24
arm.AsmFull(` arm.AsmFull(`