Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
            }
        }
Example #5
0
 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)
 {
     //
 }