68 lines
1.6 KiB
Go
68 lines
1.6 KiB
Go
package esdi
|
|
|
|
// "esdi/sources/beamng"
|
|
// "fmt"
|
|
// "log"
|
|
// "strings"
|
|
// "time"
|
|
|
|
func beamngExample(esdi ESDI) {
|
|
// bIF, err := beamng.Init("127.0.0.1", 4444)
|
|
// if err != nil {
|
|
// log.Fatalf("Failed to create BeamNG interface: %v", err)
|
|
// }
|
|
//
|
|
// esdi.Source = &bIF
|
|
//
|
|
// lastTime := time.Now().UnixMilli()
|
|
// lastDataSent := time.Now().UnixMilli()
|
|
// for {
|
|
// var err error
|
|
// var buffer strings.Builder
|
|
// buffer.WriteString("\033[?25l\033[2J\033[H")
|
|
//
|
|
// err = esdi.Source.UpdateData()
|
|
// if err != nil {
|
|
// fmt.Printf("could not update data: %v", err)
|
|
// continue
|
|
// }
|
|
//
|
|
// curGear, err := esdi.Source.GetData("Gear")
|
|
// if err != nil {
|
|
// log.Fatalf("could not get field `Gear`: %v", err)
|
|
// }
|
|
//
|
|
// curRPM, err := esdi.Source.GetData("RPM")
|
|
// if err != nil {
|
|
// log.Fatalf("could not get field `RPM`: %v", err)
|
|
// }
|
|
//
|
|
// gear := int(curGear.(int8))
|
|
// rpm := int(curRPM.(float32))
|
|
//
|
|
// buffer.WriteString(fmt.Sprintf("Gear: %d, RPM: %d", gear, rpm))
|
|
//
|
|
// curTime := time.Now().UnixMilli()
|
|
// message := fmt.Sprintf("%d,%d\n", gear-1, rpm)
|
|
// buffer.WriteString("\n" + message)
|
|
//
|
|
// messageWasSentMark := "N"
|
|
// if curTime-lastDataSent > 75 {
|
|
// _, err = esdi.SerialConn.Write([]byte(message))
|
|
// if err != nil {
|
|
// log.Printf("Unable to write data: %v", err)
|
|
// break
|
|
// }
|
|
//
|
|
// messageWasSentMark = "Y"
|
|
// lastDataSent = curTime
|
|
// }
|
|
//
|
|
// buffer.WriteString(" -> " + messageWasSentMark)
|
|
// if curTime-lastTime > 100 {
|
|
// fmt.Print(buffer.String())
|
|
// lastTime = curTime
|
|
// }
|
|
// }
|
|
}
|