Ejemplo n.º 1
0
func getStatus(dev *gorfxtrx.Device) {
	log.Println("Setting mode")
	pkt, _ := gorfxtrx.NewSetMode()
	err := dev.Send(pkt)
	if err != nil {
		log.Println("Error sending packet:", err)
	}

	log.Println("Getting status")
	pkt2, _ := gorfxtrx.NewStatus()
	err = dev.Send(pkt2)
	if err != nil {
		log.Println("Error sending packet:", err)
	}
}
Ejemplo n.º 2
0
func repeatSend(dev *gorfxtrx.Device, device string, pkt gorfxtrx.OutPacket, repeat int64) error {
	// cancel any existing timer
	if t, ok := repeats[device]; ok {
		delete(repeats, device)
		t.Stop()
	}

	err := dev.Send(pkt)
	if err != nil {
		return err
	}

	if repeat > 1 {
		repeats[device] = time.AfterFunc(RepeatInterval, func() {
			repeatSend(dev, device, pkt, repeat-1)
		})
	}
	return nil
}