Beispiel #1
0
        static void CHANNEL_RESPONSE(ref ANTIncomingMessage msg)
        {
            msg.Type = "CHANNEL_RESPONSE";
            StringBuilder status      = new StringBuilder();
            var           chanNum     = msg.Buffer[3];
            var           messageId   = msg.Buffer[4];
            var           messageCode = msg.Buffer[5];

            status.AppendLine("Channel Number: " + chanNum + " [" + Utility.StringValueOfByte(chanNum) + "]");
            status.AppendLine("Message ID: " + Utility.StringValueOfByte(messageId) + (messageId == 1 ? " ... !RF EVENT!" : ""));
            status.Append("Message Code: [" + messageCode + "]-> ");

            // TODO: Flesh this out
            Dictionary <int, string> codes = new Dictionary <int, string>();

            codes.Add(0, "RESPONSE_NO_ERROR");
            codes.Add(1, "EVENT_RX_SEARCH_TIMEOUT");
            codes.Add(2, "EVENT_RX_FAIL");
            codes.Add(3, "EVENT_TX");
            codes.Add(4, "EVENT_TRANSFER_RX_FAILED");
            codes.Add(5, "EVENT_TRANSFER_TX_COMPLETED");
            codes.Add(6, "EVENT_TRANSFER_TX_FAILED");
            codes.Add(7, "EVENT_CHANNEL_CLOSED");

            if (codes.ContainsKey(messageCode))
            {
                status.AppendLine(codes[messageCode]);
            }
            else
            {
                status.AppendLine("UNKNOWN");
            }

            msg.ParsedContent = status.ToString();
        }
Beispiel #2
0
        public static void Parse(byte[] msg)
        {
            if (msg[0] != 0xA4) // NOT ANT
            {
                return;
            }
            var antParsed = new ANTIncomingMessage(msg);

            switch (msg[2])
            {
            case 0x6F:
                STARTUP_MESSAGE(ref antParsed);
                break;

            case 0x40:
                CHANNEL_RESPONSE(ref antParsed);
                break;
            }

            Debug.Write(antParsed);
            Console.Write(antParsed);
        }
Beispiel #3
0
        static void STARTUP_MESSAGE(ref ANTIncomingMessage msg)
        {
            msg.Type = "STARTUP_MESSAGE";
            StringBuilder status   = new StringBuilder();
            var           statcode = msg.Buffer[3];

            if (statcode == 0x00)
            {
                status.Append("POWER_ON_RESET ");
            }

            BitArray msgBits = new BitArray(new byte[] { statcode });

            if (msgBits[0])
            {
                status.Append("HARDWARE_RESET_LINE ");
            }
            if (msgBits[1])
            {
                status.Append("WATCH_DOG_RESET ");
            }
            if (msgBits[5])
            {
                status.Append("COMMAND_RESET ");
            }
            if (msgBits[6])
            {
                status.Append("SYNCHRONOUS_RESET ");
            }
            if (msgBits[7])
            {
                status.Append("SUSPEND_RESET ");
            }

            msg.ParsedContent = status.ToString();
        }