diff --git a/go.mod b/go.mod index 4cef7eb..5e6859f 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( periph.io/x/conn/v3 v3.7.2 periph.io/x/d2xx v0.1.1 periph.io/x/devices/v3 v3.7.4 - periph.io/x/host/v3 v3.8.3 + periph.io/x/host/v3 v3.8.5 ) require github.com/jonboulle/clockwork v0.5.0 // indirect diff --git a/go.sum b/go.sum index 32b5f23..a643f57 100644 --- a/go.sum +++ b/go.sum @@ -8,5 +8,5 @@ periph.io/x/d2xx v0.1.1 h1:LHp+u+qAWLB5THrTT/AzyjdvfUhllvDF5wBJP7uvn+U= periph.io/x/d2xx v0.1.1/go.mod h1:rLM321G11Fc14Pp088khBkmXb70Pxx/kCPaIK7uRUBc= periph.io/x/devices/v3 v3.7.4 h1:g9CGKTtiXS9iyDFDba4sr9pYde4dy+ZCKRPuKpKJdKo= periph.io/x/devices/v3 v3.7.4/go.mod h1:FqFG9RotW2aCkfIlAes3qxziwgjRTncTMS5cSOcizNg= -periph.io/x/host/v3 v3.8.3 h1:v90ozCFDWgEyfNElZ+JnOvq0jAdW0vmgjCUy8dYXDds= -periph.io/x/host/v3 v3.8.3/go.mod h1:uKrIpfXjELwHkwGBNe6aos//XiQ/3uxDa1P2BmLV6Ok= +periph.io/x/host/v3 v3.8.5 h1:g4g5xE1XZtDiGl1UAJaUur1aT7uNiFLMkyMEiZ7IHII= +periph.io/x/host/v3 v3.8.5/go.mod h1:hPq8dISZIc+UNfWoRj+bPH3XEBQqJPdFdx218W92mdc= diff --git a/inky/main.go b/inky/main.go index 9a6098d..25f9e6b 100644 --- a/inky/main.go +++ b/inky/main.go @@ -22,15 +22,15 @@ import ( func mainImpl() error { spiPort := flag.String("spi", "SPI0.0", "Name or number of SPI port to open") path := flag.String("image", "", "Path to a png file to display on the inky") - dcPin := flag.String("dc", "22", "Inky DC Pin") - resetPin := flag.String("reset", "27", "Inky Reset Pin") - busyPin := flag.String("busy", "17", "Inky Busy Pin") - model := inky.PHAT - flag.Var(&model, "model", "Inky model (PHAT or WHAT)") - modelColor := inky.Red - flag.Var(&modelColor, "model-color", "Inky model color (black, red or yellow)") - borderColor := inky.Black - flag.Var(&borderColor, "border-color", "Border color (black, white, red or yellow)") + dcPin := flag.String("dc", "GPIO22", "Inky DC Pin") + resetPin := flag.String("reset", "GPIO27", "Inky Reset Pin") + busyPin := flag.String("busy", "GPIO17", "Inky Busy Pin") + model := inky.IMPRESSION73 + flag.Var(&model, "model", "Inky model (PHAT, PHAT2, WHAT, IMPRESSION4, IMPRESSION57, or IMPRESSION73)") + modelColor := inky.Multi + flag.Var(&modelColor, "model-color", "Inky model color (multi, black, red or yellow)") + borderColor := inky.Red + flag.Var(&borderColor, "border-color", "Border color (multi, black, white, red or yellow)") flag.Parse() // Open and decode the image. @@ -73,16 +73,26 @@ func mainImpl() error { } log.Printf("Creating inky...") - dev, err := inky.New(b, dc, reset, busy, &inky.Opts{ + opts := &inky.Opts{ Model: model, ModelColor: modelColor, BorderColor: borderColor, - }) - if err != nil { - return err } log.Printf("Drawing image...") + + if model <= inky.PHAT2 { + dev, eInky := inky.New(b, dc, reset, busy, opts) + if eInky != nil { + return eInky + } + return dev.Draw(img.Bounds(), img, image.Point{}) + } + + dev, err := inky.NewImpression(b, dc, reset, busy, opts) + if err != nil { + return err + } return dev.Draw(img.Bounds(), img, image.Point{}) }