public MessageFilter(UserFilterType FilterType, byte[] Match) { TxFlags = TxFlag.NONE; switch (FilterType) { case UserFilterType.PASSALL: PassAll(); break; case UserFilterType.PASS: Pass(Match); break; case UserFilterType.BLOCK: Block(Match); break; case UserFilterType.STANDARDISO15765: StandardISO15765(Match); break; case UserFilterType.NONE: break; } }
public PassThruMsg(ProtocolID myProtocolId, TxFlag myTxFlag, byte[] myByteArray) : this() { ProtocolID = myProtocolId; TxFlags = myTxFlag; SetBytes(myByteArray); }
public void FromDataBytes(IEnumerable <byte> Data, TxFlag TxFlags = TxFlag.NONE) { Length = 1; Marshal.WriteInt32(MessagePtr, protocolID); Marshal.WriteInt32(MessagePtr, 8, (int)TxFlags); marshalIEnumerableToHeapData(MessagePtr, Data); }
public void FromDataBytesArray(IEnumerable <byte>[] Data, TxFlag TxFlags = TxFlag.NONE) { Length = Data.Length; for (int i = 0; i < Data.Length; i++) { IntPtr pMessage = IntPtr.Add(MessagePtr, i * CONST.J2534MESSAGESIZE); Marshal.WriteInt32(pMessage, protocolID); Marshal.WriteInt32(pMessage, 8, (int)TxFlags); marshalIEnumerableToHeapData(pMessage, Data[i]); } }
internal Channel(Device Device, Protocol ProtocolID, Baud Baud, ConnectFlag ConnectFlags, int ChannelID, object Sync) { sync = Sync; channelId = ChannelID; hJ2534MessageArray = new HeapMessageArray(ProtocolID, CONST.HEAPMESSAGEBUFFERSIZE); API = Device.API; this.Device = Device; this.ProtocolID = ProtocolID; this.ConnectFlags = ConnectFlags; DefaultTxTimeout = 100; DefaultRxTimeout = 300; DefaultTxFlag = TxFlag.NONE; }
public void StandardISO15765(byte[] SourceAddress) { //Should throw exception?? if (SourceAddress.Length != 4) { return; } Reset(4); Mask[0] = 0xFF; Mask[1] = 0xFF; Mask[2] = 0xFF; Mask[3] = 0xFF; Pattern = SourceAddress.ToArray(); Pattern[3] += 0x08; FlowControl = SourceAddress; TxFlags = TxFlag.ISO15765_FRAME_PAD; FilterType = Filter.FLOW_CONTROL_FILTER; }
/// <summary> /// Convert a Message to an J2534 formatted transmit, and send to the interface /// </summary> private Response <J2534Err> SendNetworkMessage(Message message, TxFlag Flags) { //this.Logger.AddDebugMessage("Trace: Send Network Packet"); PassThruMsg TempMsg = new PassThruMsg(); TempMsg.ProtocolID = Protocol; TempMsg.TxFlags = Flags; TempMsg.SetBytes(message.GetBytes()); int NumMsgs = 1; IntPtr MsgPtr = TempMsg.ToIntPtr(); OBDError = J2534Port.Functions.PassThruWriteMsgs((int)ChannelID, MsgPtr, ref NumMsgs, WriteTimeout); Marshal.FreeHGlobal(MsgPtr); if (OBDError != J2534Err.STATUS_NOERROR) { //Debug messages here...check why failed.. return(Response.Create(ResponseStatus.Error, OBDError)); } return(Response.Create(ResponseStatus.Success, OBDError)); }
public MessageFilter() { TxFlags = TxFlag.NONE; }
public PeriodicMessage(int Interval, byte[] Data, TxFlag TxFlags) : base(Data, TxFlags) { this.Interval = Interval; }
/// <summary> /// Set filter /// </summary> private Response <J2534Err> SetFilter(UInt32 Mask, UInt32 Pattern, UInt32 FlowControl, TxFlag txflag, FilterType Filtertype) { PassThruMsg maskMsg; PassThruMsg patternMsg; IntPtr MaskPtr; IntPtr PatternPtr; IntPtr FlowPtr; maskMsg = new PassThruMsg(Protocol, txflag, new Byte[] { (byte)(0xFF & (Mask >> 16)), (byte)(0xFF & (Mask >> 8)), (byte)(0xFF & Mask) }); patternMsg = new PassThruMsg(Protocol, txflag, new Byte[] { (byte)(0xFF & (Pattern >> 16)), (byte)(0xFF & (Pattern >> 8)), (byte)(0xFF & Pattern) }); MaskPtr = maskMsg.ToIntPtr(); PatternPtr = patternMsg.ToIntPtr(); FlowPtr = IntPtr.Zero; int tempfilter = 0; OBDError = J2534Port.Functions.PassThruStartMsgFilter((int)ChannelID, Filtertype, MaskPtr, PatternPtr, FlowPtr, ref tempfilter); Marshal.FreeHGlobal(MaskPtr); Marshal.FreeHGlobal(PatternPtr); Marshal.FreeHGlobal(FlowPtr); if (OBDError != J2534Err.STATUS_NOERROR) { return(Response.Create(ResponseStatus.Error, OBDError)); } Filters.Add((ulong)tempfilter); return(Response.Create(ResponseStatus.Success, OBDError)); }
public Message(byte[] Data, TxFlag TxFlags = TxFlag.NONE) { FlagsAsInt = (int)TxFlags; this.Data = Data; }
public HeapMessage(Protocol ProtocolID, TxFlag TxFlags, IEnumerable <byte> Data) { this.ProtocolID = ProtocolID; this.TxFlags = TxFlags; this.Data = Data; }
public PassThruMsg(ProtocolID myProtocolId, TxFlag myTxFlag, byte[] myByteArray) { ProtocolID = myProtocolId; TxFlags = myTxFlag; Data = myByteArray; }
public PassThruMsg(ProtocolID myProtocolId, TxFlag myTxFlag, byte[] myByteArray) : this() { ProtocolID = myProtocolId; TxFlags = myTxFlag; SetBytes(myByteArray); }
public PassThruMsg(ProtocolID myProtocolId, TxFlag myTxFlag, byte[] myByteArray) { ProtocolID = myProtocolId; TxFlags = myTxFlag; Data = myByteArray; }