⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diagmsgdisplay.java

📁 无线通信的主要编程软件,是无线通信工作人员的必备工具,关天相关教程我会在后续传上.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            case TYPE_CHAR:   addChar();   break;            case TYPE_INT64:  addInt64();  break;            case TYPE_UINT64: addUint64(); break;            case TYPE_TOKEN:  addToken();  break;            case TYPE_ARRAY:  addArray();  break;                        default:                line.append(delimiter + "unknown");        }    }        protected void addArray() throws DiagMsgException {        int len = getByte();        int type = (len >> 4) & 0xF;        len &= 0xF;                if( type == TYPE_CHAR )            addStr(len);        else {            line.append(delimiter + "[");                        while( --len >= 0 )                addSimple(type);                        line.append(" ]");        }    }        protected void check(int len) throws DiagMsgException {        if( head + len > end )            throw new DiagMsgException("illegal message format");    }        protected byte getByte() throws DiagMsgException {        check(1);        byte ret = packet[head];        head += 1;        return ret;    }        protected short getShort() throws DiagMsgException {        short a,b;        check(2);                a = packet[head];            a &= 0x00FF;        b = packet[head+1]; b <<= 8; b &= 0xFF00; a |= b;                head += 2;        return a;    }        protected int getInt() throws DiagMsgException {        int a,b;        check(4);                a = packet[head];             a &= 0x000000FF;        b = packet[head+1]; b <<= 8;  b &= 0x0000FF00; a |= b;        b = packet[head+2]; b <<= 16; b &= 0x00FF0000; a |= b;        b = packet[head+3]; b <<= 24; b &= 0xFF000000; a |= b;                head += 4;        return a;    }        protected long getLong() throws DiagMsgException {        long a,b;        check(8);                a = packet[head];             a &= 0x00000000000000FF;        b = packet[head+1]; b <<= 8;  b &= 0x000000000000FF00; a |= b;        b = packet[head+2]; b <<= 16; b &= 0x0000000000FF0000; a |= b;        b = packet[head+3]; b <<= 24; b &= 0x00000000FF000000; a |= b;        b = packet[head+4]; b &= 0x00000000000000FF; b <<= 32; a |= b;        b = packet[head+5]; b &= 0x00000000000000FF; b <<= 40; a |= b;        b = packet[head+6]; b &= 0x00000000000000FF; b <<= 48; a |= b;        b = packet[head+7]; b &= 0x00000000000000FF; b <<= 56; a |= b;                head += 8;        return a;    }        protected void addUint8() throws DiagMsgException {        String value = Integer.toString(getByte() & 0xFF);        line.append(delimiter + value);    }        protected void addInt8() throws DiagMsgException {        String value = Byte.toString(getByte());        line.append(delimiter + value);    }        protected void addHex8() throws DiagMsgException {        String value = Integer.toHexString(getByte() & 0xFF);                line.append(delimiter + "0x");        for(int i = value.length(); i < 2; ++i)            line.append('0');        line.append(value);    }        protected void addUint16() throws DiagMsgException {        String value = Integer.toString(getShort() & 0xFFFF);        line.append(delimiter + value);    }        protected void addInt16() throws DiagMsgException {        String value = Short.toString(getShort());        line.append(delimiter + value);    }        protected void addHex16() throws DiagMsgException {        String value = Integer.toHexString(getShort() & 0xFFFF);                line.append(delimiter + "0x");        for(int i = value.length(); i < 4; ++i)            line.append('0');        line.append(value);    }        protected void addUint32() throws DiagMsgException {        String value = Long.toString(getInt() & 0xFFFFFFFF);        line.append(delimiter + value);    }        protected void addInt32() throws DiagMsgException {        String value = Integer.toString(getInt());        line.append(delimiter + value);    }        protected void addHex32() throws DiagMsgException {        String value = Integer.toHexString(getInt());                line.append(delimiter + "0x");        for(int i = value.length(); i < 8; ++i)            line.append('0');        line.append(value);    }        protected void addInt64() throws DiagMsgException {        String value = Long.toString(getLong());        line.append(delimiter + value);    }        protected void addUint64() throws DiagMsgException {        String value = Long.toString(getLong());        line.append(delimiter + value);    }        protected void addReal() throws DiagMsgException {        float value = Float.intBitsToFloat(getInt());        line.append(delimiter + Float.toString(value));    }        protected void addChar() throws DiagMsgException {        char value = (char)getByte();        line.append(delimiter + "'" + value + "'");    }        protected void addStr(int len) throws DiagMsgException {        line.append(delimiter + "\"");                while( --len >= 0 )            line.append((char)getByte());                line.append('"');    }        protected void addToken() throws DiagMsgException {        int token = getByte() & 0xFF;                line.append(delimiter);                switch(token) {            case 0 : line.append("false"); break;            case 1 : line.append("true"); break;            case 2 : line.append("node"); break;            case 3 : line.append("source"); break;            case 4 : line.append("destination"); break;            case 5 : line.append("target"); break;            case 6 : line.append("minimum"); break;            case 7 : line.append("maximum"); break;            case 8 : line.append("mean"); break;            case 9 : line.append("average"); break;            case 10 : line.append("time"); break;            case 11 : line.append("counter"); break;            case 12 : line.append("stamp"); break;            case 13 : line.append("sequence"); break;            case 14 : line.append("number"); break;            case 15 : line.append("config"); break;            case 16 : line.append("diameter"); break;            case 17 : line.append("fail"); break;            case 18 : line.append("success"); break;            case 19 : line.append("ack"); break;            case 20 : line.append("power"); break;            case 21 : line.append("local"); break;            case 22 : line.append("remote"); break;            case 23 : line.append("leader"); break;            case 24 : line.append("root"); break;            case 25 : line.append("first"); break;            case 26 : line.append("second"); break;            case 27 : line.append("third"); break;            case 28 : line.append("nodeid"); break;            case 29 : line.append("delta"); break;            case 30 : line.append("delay"); break;            case 31 : line.append("rate"); break;            case 32 : line.append("frequency"); break;            case 33 : line.append("coord"); break;            case 34 : line.append("coords"); break;            case 35 : line.append("angle"); break;            case 36 : line.append("temperature"); break;            case 37 : line.append("light"); break;            case 38 : line.append("next"); break;            case 39 : line.append("previous"); break;            case 40 : line.append("start"); break;            case 41 : line.append("end"); break;            case 42 : line.append("speed"); break;            case 43 : line.append("cpu"); break;            case 44 : line.append("beacon"); break;            case 45 : line.append("arrival"); break;            case 46 : line.append("senddone"); break;            case 47 : line.append("global"); break;            case 48 : line.append("clock"); break;                        default:                line.append("token:" + token);        }    }        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -