void addData(byte[] data, int pos, int val)
        {
        // The spec is wrong: it's LSB, then MSB
        data[pos] = (byte)((val >> 0) & 0x0F);
        data[pos + 1] = (byte)((val >> 4) & 0x0F);
        //data[pos + 1] = (byte)((val >> 0) & 0x0F);
        //data[pos] = (byte)((val >> 4) & 0x0F);
        }
void addData(byte[] data, int pos, int val)
        {
       
        data[pos] = (byte)((val >> 0) & 0x0F);
        data[pos + 1] = (byte)((val >> 4) & 0x0F);
       
       
        }
void adddata(byte[] data, int pos, int val) { data[pos] = (byte)((val >> 0) & 0x0f); data[pos + 1] = (byte)((val >> 4) & 0x0f); }