diff --git a/examples/initdisplay/badger2040.go b/displays/badger2040.go similarity index 92% rename from examples/initdisplay/badger2040.go rename to displays/badger2040.go index 4ef2772..52248d2 100644 --- a/examples/initdisplay/badger2040.go +++ b/displays/badger2040.go @@ -1,6 +1,6 @@ //go:build badger2040 || badger2040_w -package initdisplay +package displays import ( "machine" @@ -9,7 +9,7 @@ import ( "tinygo.org/x/tinyterm" ) -func InitDisplay() tinyterm.Displayer { +func Init() tinyterm.Displayer { led3v3 := machine.ENABLE_3V3 led3v3.Configure(machine.PinConfig{Mode: machine.PinOutput}) led3v3.High() diff --git a/examples/initdisplay/clue.go b/displays/clue.go similarity index 92% rename from examples/initdisplay/clue.go rename to displays/clue.go index efef4ab..c522255 100644 --- a/examples/initdisplay/clue.go +++ b/displays/clue.go @@ -1,6 +1,6 @@ //go:build clue_alpha -package initdisplay +package displays import ( "image/color" @@ -10,7 +10,7 @@ import ( "tinygo.org/x/tinyterm" ) -func InitDisplay() tinyterm.Displayer { +func Init() tinyterm.Displayer { machine.SPI1.Configure(machine.SPIConfig{ Frequency: 8000000, SCK: machine.TFT_SCK, diff --git a/examples/initdisplay/gopher-badge.go b/displays/gopher-badge.go similarity index 91% rename from examples/initdisplay/gopher-badge.go rename to displays/gopher-badge.go index 6a67bd8..28fefc5 100644 --- a/examples/initdisplay/gopher-badge.go +++ b/displays/gopher-badge.go @@ -1,6 +1,6 @@ //go:build gopher_badge -package initdisplay +package displays import ( "image/color" @@ -10,7 +10,7 @@ import ( "tinygo.org/x/tinyterm" ) -func InitDisplay() tinyterm.Displayer { +func Init() tinyterm.Displayer { machine.SPI0.Configure(machine.SPIConfig{ Frequency: 8000000, Mode: 0, diff --git a/examples/initdisplay/pybadge.go b/displays/pybadge.go similarity index 85% rename from examples/initdisplay/pybadge.go rename to displays/pybadge.go index 6cdc930..07038f2 100644 --- a/examples/initdisplay/pybadge.go +++ b/displays/pybadge.go @@ -1,6 +1,6 @@ //go:build pybadge -package initdisplay +package displays import ( "image/color" @@ -10,7 +10,7 @@ import ( "tinygo.org/x/tinyterm" ) -func InitDisplay() tinyterm.Displayer { +func Init() tinyterm.Displayer { machine.SPI1.Configure(machine.SPIConfig{ SCK: machine.SPI1_SCK_PIN, SDO: machine.SPI1_SDO_PIN, @@ -20,7 +20,7 @@ func InitDisplay() tinyterm.Displayer { display := st7735.New(machine.SPI1, machine.TFT_RST, machine.TFT_DC, machine.TFT_CS, machine.TFT_LITE) display.Configure(st7735.Config{ - Rotation: st7735.ROTATION_180, + Rotation: st7735.ROTATION_90, }) display.FillScreen(color.RGBA{0, 0, 0, 255}) diff --git a/examples/initdisplay/pyportal.go b/displays/pyportal.go similarity index 91% rename from examples/initdisplay/pyportal.go rename to displays/pyportal.go index dc27528..c1cb270 100644 --- a/examples/initdisplay/pyportal.go +++ b/displays/pyportal.go @@ -1,6 +1,6 @@ //go:build pyportal -package initdisplay +package displays import ( "image/color" @@ -10,7 +10,7 @@ import ( "tinygo.org/x/tinyterm" ) -func InitDisplay() tinyterm.Displayer { +func Init() tinyterm.Displayer { display := ili9341.NewParallel( machine.LCD_DATA0, machine.TFT_WR, diff --git a/examples/initdisplay/wioterminal.go b/displays/wioterminal.go similarity index 92% rename from examples/initdisplay/wioterminal.go rename to displays/wioterminal.go index 10c3475..f2ec623 100644 --- a/examples/initdisplay/wioterminal.go +++ b/displays/wioterminal.go @@ -1,6 +1,6 @@ //go:build wioterminal -package initdisplay +package displays import ( "image/color" @@ -10,7 +10,7 @@ import ( "tinygo.org/x/tinyterm" ) -func InitDisplay() tinyterm.Displayer { +func Init() tinyterm.Displayer { machine.SPI3.Configure(machine.SPIConfig{ SCK: machine.LCD_SCK_PIN, SDO: machine.LCD_SDO_PIN, diff --git a/examples/basic/main.go b/examples/basic/main.go index cac2d03..c24ea87 100644 --- a/examples/basic/main.go +++ b/examples/basic/main.go @@ -6,7 +6,7 @@ import ( "tinygo.org/x/tinyfont/proggy" "tinygo.org/x/tinyterm" - "tinygo.org/x/tinyterm/examples/initdisplay" + "tinygo.org/x/tinyterm/displays" ) var ( @@ -14,19 +14,19 @@ var ( ) func main() { - display := initdisplay.InitDisplay() + display := displays.Init() terminal := tinyterm.NewTerminal(display) terminal.Configure(&tinyterm.Config{ Font: font, FontHeight: 10, FontOffset: 6, - UseSoftwareScroll: initdisplay.NeedsSoftwareScroll(), + UseSoftwareScroll: displays.NeedsSoftwareScroll(), }) for { time.Sleep(time.Second) fmt.Fprintf(terminal, "\ntime: %d", time.Now().UnixNano()) - display.Display() + terminal.Display() } } diff --git a/examples/colors/main.go b/examples/colors/main.go index da347c8..00982f7 100644 --- a/examples/colors/main.go +++ b/examples/colors/main.go @@ -7,7 +7,7 @@ import ( "tinygo.org/x/tinyfont/proggy" "tinygo.org/x/tinyterm" - "tinygo.org/x/tinyterm/examples/initdisplay" + "tinygo.org/x/tinyterm/displays" ) var ( @@ -15,7 +15,7 @@ var ( ) func main() { - display := initdisplay.InitDisplay() + display := displays.Init() terminal := tinyterm.NewTerminal(display) terminal.Configure(&tinyterm.Config{ @@ -49,6 +49,8 @@ func main() { } terminal.Write([]byte(strings.Repeat(" ", 12) + "|\n")) terminal.Write([]byte(" " + strings.Repeat("\xaf", 36) + "\n")) + + terminal.Display() time.Sleep(5 * time.Second) } diff --git a/examples/httpclient/main.go b/examples/httpclient/main.go index 80587db..663ff3d 100644 --- a/examples/httpclient/main.go +++ b/examples/httpclient/main.go @@ -20,7 +20,7 @@ import ( "tinygo.org/x/drivers/netlink/probe" "tinygo.org/x/tinyfont/proggy" "tinygo.org/x/tinyterm" - "tinygo.org/x/tinyterm/examples/initdisplay" + "tinygo.org/x/tinyterm/displays" ) var ( @@ -39,7 +39,7 @@ var ( ) func main() { - display := initdisplay.InitDisplay() + display := displays.Init() terminal := tinyterm.NewTerminal(display) terminal.Configure(&tinyterm.Config{ @@ -90,6 +90,8 @@ func main() { cnt++ fmt.Fprintf(terminal, "-------- %d --------\r\n", cnt) + + terminal.Display() time.Sleep(10 * time.Second) } } diff --git a/tinyterm.go b/tinyterm.go index 28d3548..7168484 100644 --- a/tinyterm.go +++ b/tinyterm.go @@ -121,6 +121,12 @@ func (t *Terminal) Println(args ...interface{}) (n int, err error) { return fmt.Fprintln(t, args...) } +// Display the terminal on the display. Must be called after writing to the +// terminal to see the changes. +func (t *Terminal) Display() { + t.display.Display() +} + type state uint8 const (