mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-07-26 10:38:41 +00:00
c710cc8236
* ssd1xxx: break dependency from machine package * fix ssd1289 example * simplify
29 lines
487 B
Go
29 lines
487 B
Go
package ssd1289
|
|
|
|
import (
|
|
"tinygo.org/x/drivers/internal/legacy"
|
|
"tinygo.org/x/drivers/internal/pin"
|
|
)
|
|
|
|
type pinBus struct {
|
|
pins [16]pin.Output
|
|
}
|
|
|
|
func NewPinBus(pins [16]pin.Output) pinBus {
|
|
|
|
// configure GPIO pins (on baremetal targets only, for backwards compatibility)
|
|
for i := 0; i < 16; i++ {
|
|
legacy.ConfigurePinOut(pins[i])
|
|
}
|
|
|
|
return pinBus{
|
|
pins: pins,
|
|
}
|
|
}
|
|
|
|
func (b pinBus) Set(data uint16) {
|
|
for i := 15; i >= 0; i-- {
|
|
b.pins[i].Set((data & (1 << i)) != 0)
|
|
}
|
|
}
|