kidoman / embd

Embedded Programming Framework in Go
http://embd.kidoman.io
MIT License
1.28k stars 156 forks source link

Update i2c.go #77

Open Cruiser79 opened 7 years ago

Cruiser79 commented 7 years ago

We have to reset i2cDriverInitialized, to initialize the driver correct, after closing it.

Following code is not working in current repo.

for {
    if err := embd.InitI2C(); err != nil {
        panic(err)
    }

    bus := embd.NewI2CBus(1)

    conn, err := hd44780.NewI2C(
        bus,
        0x3f,
        hd44780.PCF8574PinMap,
        hd44780.RowAddress16Col,
        hd44780.TwoLine,
        hd44780.BlinkOff,
    )
    if err != nil {
    panic(err)
    }

    conn.Clear()
    conn.BacklightOn()

    message := "HDTest"
    bytes := []byte(message)
    for _, b := range bytes {
        conn.WriteChar(b)
    }

    conn.Close()
    embd.CloseI2C()

    time.Sleep(2*time.Second)
}