private void ProcessMDC1200(Decoders.MDC1200 decoder, RadioLog.Common.SignalCode sigCode, int frameCount, byte op, byte arg, ushort unitID, byte extra0, byte extra1, byte extra2, byte extra3, string opMsg) { Common.ConsoleHelper.ColorWriteLine(ConsoleColor.Magenta, "MDC: {0} on stream {1}", opMsg, _sourceName); _silenceHelper.ClearSilenceStats(); if (_sigDelegate != null) { string desc = opMsg; if (!string.IsNullOrWhiteSpace(LastValidStreamTitle)) { desc += ", Stream Title=" + LastValidStreamTitle; } RadioLog.Common.RadioSignalingItem sigItem = new Common.RadioSignalingItem(Common.SignalingSourceType.Streaming, _sourceName, RadioLog.Common.SignalingNames.MDC, sigCode, string.Format("{0:X4}", unitID), desc, DateTime.Now, _recorder.CurrentFileName); _sigDelegate(sigItem); } }
private void ProcessRootDecoder(RadioLog.Common.SignalCode sigCode, string format, string unitId, string desc) { Common.ConsoleHelper.ColorWriteLine(ConsoleColor.Magenta, "{0}: {1} on stream {2}", format, sigCode, _sourceName); _silenceHelper.ClearSilenceStats(); if (_sigDelegate != null) { if (!string.IsNullOrWhiteSpace(LastValidStreamTitle)) { desc += ", Stream Title=" + LastValidStreamTitle; } RadioLog.Common.RadioSignalingItem sigItem = new Common.RadioSignalingItem(Common.SignalingSourceType.Streaming, _sourceName, format, sigCode, unitId, desc, DateTime.Now, _recorder.CurrentFileName); _sigDelegate(sigItem); } }
private void ProcessSTAR(Decoders.STAR decoder, RadioLog.Common.SignalCode sigCode, uint unitID, uint tag, uint status, uint message) { Common.ConsoleHelper.ColorWriteLine(ConsoleColor.Magenta, "STAR: {0} on stream {1}", unitID, _sourceName); _silenceHelper.ClearSilenceStats(); if (_sigDelegate != null) { string desc; if (!string.IsNullOrWhiteSpace(LastValidStreamTitle)) { desc = string.Format("Unit: {0}, Tag: {1}, Status: {2}, Message: {3}, Stream Title: {4}", unitID, tag, status, message, LastValidStreamTitle); } else { desc = string.Format("Unit: {0}, Tag: {1}, Status: {2}, Message: {3}", unitID, tag, status, message); } RadioLog.Common.RadioSignalingItem sigItem = new Common.RadioSignalingItem(Common.SignalingSourceType.Streaming, _sourceName, RadioLog.Common.SignalingNames.STAR, sigCode, unitID.ToString(), desc, DateTime.Now, _recorder.CurrentFileName); _sigDelegate(sigItem); } }
private void ProcessGoodMDC(int good, byte op, byte arg, ushort unitID, byte extra0, byte extra1, byte extra2, byte extra3) { string desc = string.Empty; RadioLog.Common.SignalCode sigCode = Common.SignalCode.Generic; switch (op) { case PTT_ID: switch (arg) { case NO_ARG: desc += string.Format("PTT ID: {0:X4} [Post-ID]", unitID); break; case ARG_PTT_PRE: desc += string.Format("PTT ID: {0:X4} [Pre-ID]", unitID); break; default: desc += string.Format("PTT ID: {0:X4} [Unknown-ID]", unitID); break; } sigCode = Common.SignalCode.PTT; break; case EMERGENCY: desc += string.Format("EMERG: {0:X4}", unitID); sigCode = Common.SignalCode.Emergency; break; case EMERGENCY_ACK: desc += string.Format("EMERG ACK: {0:X4}", unitID); sigCode = Common.SignalCode.EmergencyAck; break; case RADIO_CHECK: desc += string.Format("RADIO CHECK: {0:X4}", unitID); sigCode = Common.SignalCode.RadioCheck; break; case RADIO_CHECK_ACK: desc += string.Format("RADIO CHECK ACK: {0:X4}", unitID); sigCode = Common.SignalCode.RadioCheckAck; break; case REMOTE_MONITOR: desc += string.Format("REMOTE MONITOR: {0:X4}", unitID); //sigCode break; case RTT_1: case RTT_2: desc += string.Format("RTT: {0:X4}", unitID); break; case RTT_ACK: desc += string.Format("RTT ACK: {0:X4}", unitID); break; case RADIO_INHIBIT: { // check argument switch (arg) { case NO_ARG: desc += string.Format("RADIO STUN/INHIBIT: {0:X4}", unitID); sigCode = Common.SignalCode.RadioStun; break; case ARG_CANCEL_INHIBIT: desc += string.Format("RADIO REVIVE/UNINHIBIT: {0:X4}", unitID); sigCode = Common.SignalCode.RadioRevive; break; default: desc += string.Format("UNK INHIBIT: {0:X4}", unitID); break; } } break; case RADIO_INHIBIT_ACK: { // check argument switch (arg) { case NO_ARG: desc += string.Format("RADIO STUN/INHIBIT ACK: {0:X4}", unitID); sigCode = Common.SignalCode.RadioStunAck; break; case ARG_CANCEL_INHIBIT: desc += string.Format("RADIO REVIVE/UNINHIBIT ACK: {0:X4}", unitID); sigCode = Common.SignalCode.RadioReviveAck; break; default: desc += string.Format("UNK INHIBIT ACK: {0:X4}", unitID); break; } } break; /** * Double Packet Operations */ case DOUBLE_PACKET_TYPE1: case DOUBLE_PACKET_TYPE2: desc += string.Format("PACKET TO: {0:X4}", unitID); break; case CALL_ALERT_ACK_EXPECTED: case CALL_ALERT_NOACK_EXPECTED: desc += string.Format("PAGE FROM: {0:X4}", unitID); break; case CALL_ALERT_ACK: desc += string.Format("CALL/PAGE ACK: {0:X4}", unitID); break; case SELECTIVE_CALL_1: case SELECTIVE_CALL_2: desc += string.Format("SEL-CALL FROM: {0:X4}", unitID); break; default: desc += string.Format("UNK Op {0:x2}", op); break; } if (good >= 2) { Common.ConsoleHelper.ColorWriteLine(ConsoleColor.Green, "Src:{0},MDC:{1},Good:{2},Op:{3:x2},Arg:{4:x2},UnitID:{5:X4},E0:{6:x2},E1:{7:x2},E2:{8:x2},E3:{9:x2}", _sourceName, desc, good, op, arg, unitID, extra0, extra1, extra2, extra3); } else { Common.ConsoleHelper.ColorWriteLine(ConsoleColor.Green, "Src:{0},MDC:{1},Good:{2},Op:{3:x2},Arg:{4:x2},UnitID:{5:X4}", _sourceName, desc, good, op, arg, unitID); } ClearAllSamples(); if (_callback != null) { _callback(this, sigCode, good, op, arg, unitID, extra0, extra1, extra2, extra3, "MDC: " + desc); } }
private static void MDCDelegate(Decoders.MDC1200 decoder, RadioLog.Common.SignalCode sigCode, int frameCount, byte op, byte arg, ushort unitID, byte extra0, byte extra1, byte extra2, byte extra3, string opMsg) { // }