func (e *Elm327) addPacket(canpkt api.CanData) { pkt := api.CanData{} pkt.SeqNo = e.seqNo e.seqNo += 1 pkt.Src = canpkt.Src pkt.AbsTime = time.Now().Format("10:00:00pm (EST)") pkt.RelTime = "TODO" // TODO pkt.Status = canpkt.Status pkt.Error = canpkt.Error pkt.Transmit = canpkt.Transmit pkt.Desc = canpkt.Desc pkt.Network = canpkt.Network pkt.Node = canpkt.Node pkt.ArbID = canpkt.ArbID pkt.Remote = canpkt.Remote pkt.Extended = canpkt.Extended pkt.B1 = canpkt.B1 pkt.B2 = canpkt.B2 pkt.B3 = canpkt.B3 pkt.B4 = canpkt.B4 pkt.B5 = canpkt.B5 pkt.B6 = canpkt.B6 pkt.B7 = canpkt.B7 pkt.B8 = canpkt.B8 pkt.Value = canpkt.Value pkt.Trigger = canpkt.Trigger e.Packets[e.packetIdx] = pkt e.packetIdx += 1 if e.packetIdx >= MAX_BUFFER { e.packetIdx = 0 } }
func (s *HackSession) InjectPacket(user api.User, TxPkt api.TransmitPacket) error { if s.Device == nil { return logger.Err("Device not set") } var err error pkt := api.CanData{} pkt.Src = user.GetName() pkt.ArbID = TxPkt.ArbId pkt.Network = TxPkt.Network pkt.B1, err = api.Atoui8(TxPkt.B1) if err != nil { return err } pkt.B2, err = api.Atoui8(TxPkt.B2) if err != nil { return err } pkt.B3, err = api.Atoui8(TxPkt.B3) if err != nil { return err } pkt.B4, err = api.Atoui8(TxPkt.B4) if err != nil { return err } pkt.B5, err = api.Atoui8(TxPkt.B5) if err != nil { return err } pkt.B6, err = api.Atoui8(TxPkt.B6) if err != nil { return err } pkt.B7, err = api.Atoui8(TxPkt.B7) if err != nil { return err } pkt.B8, err = api.Atoui8(TxPkt.B8) if err != nil { return err } err = s.Device.InjectPacket(pkt) return err }