Пример #1
0
 public static string GetNameFromStatus(DymoScaleStatus status)
 {
     switch (status)
     {
         case DymoScaleStatus.Fault: return "Fault";
         case DymoScaleStatus.StableAtZero: return "Stable at Zero";
         case DymoScaleStatus.InMotion: return "In Motion";
         case DymoScaleStatus.Stable: return "Stable";
         case DymoScaleStatus.StableUnderZero: return "Stable under Zero";
         case DymoScaleStatus.OverWeight: return "Over Weight";
         case DymoScaleStatus.RequiresCalibration: return "Requires Calibration";
         case DymoScaleStatus.RequiresRezeroing: return "Requires Re-zeroing";
         default: return "Unknown Error";
     }
 }
Пример #2
0
        public static string GetNameFromStatus(DymoScaleStatus status)
        {
            switch (status)
            {
            case DymoScaleStatus.Fault: return("Fault");

            case DymoScaleStatus.StableAtZero: return("Stable at Zero");

            case DymoScaleStatus.InMotion: return("In Motion");

            case DymoScaleStatus.Stable: return("Stable");

            case DymoScaleStatus.StableUnderZero: return("Stable under Zero");

            case DymoScaleStatus.OverWeight: return("Over Weight");

            case DymoScaleStatus.RequiresCalibration: return("Requires Calibration");

            case DymoScaleStatus.RequiresRezeroing: return("Requires Re-zeroing");

            default: return("Unknown Error");
            }
        }
Пример #3
0
        public void ReadSample(out int value, out int exponent, out DymoScaleUnit unit, out DymoScaleStatus status,
                               out bool buffered)
        {
            if (Stream == null)
            {
                throw new InvalidOperationException("Stream not set.");
            }
            buffered = true;

            while (_offset < ReportLength)
            {
                buffered = false;
                int count = Stream.Read(_buffer, _offset, _buffer.Length - _offset);
                _offset += count;
            }

            ParseSample(_buffer, 0, out value, out exponent, out unit, out status);
            Array.Copy(_buffer, ReportLength, _buffer, 0, _offset - ReportLength); _offset -= ReportLength;
        }
Пример #4
0
        public void ParseSample(byte[] buffer, int offset,
                                out int value, out int exponent, out DymoScaleUnit unit, out DymoScaleStatus status)
        {
            value = 0; exponent = 0; unit = 0; status = 0;
            if (buffer == null)
            {
                throw new ArgumentNullException("buffer");
            }
            if (offset < 0 || buffer.Length - offset < ReportLength)
            {
                throw new ArgumentException("Not enough bytes.", "offset");
            }
            if (buffer[offset + 0] != ReportID)
            {
                throw new IOException("Unexpected report ID.");
            }

            value = (int)(buffer[offset + 4] | buffer[offset + 5] << 8);

            status = (DymoScaleStatus)buffer[offset + 1]; if (status == DymoScaleStatus.StableUnderZero)
            {
                value = -value;
            }
            unit     = (DymoScaleUnit)buffer[offset + 2];
            exponent = (sbyte)buffer[offset + 3];
        }
Пример #5
0
        public void ReadSample(out int value, out int exponent, out DymoScaleUnit unit, out DymoScaleStatus status,
            out bool buffered)
        {
            if (Stream == null) { throw new InvalidOperationException("Stream not set."); }
            buffered = true;

            while (_offset < ReportLength)
            {
                buffered = false;
                int count = Stream.Read(_buffer, _offset, _buffer.Length - _offset);
                _offset += count;
            }

            ParseSample(_buffer, 0, out value, out exponent, out unit, out status);
            Array.Copy(_buffer, ReportLength, _buffer, 0, _offset - ReportLength); _offset -= ReportLength;
        }
Пример #6
0
        public void ParseSample(byte[] buffer, int offset,
            out int value, out int exponent, out DymoScaleUnit unit, out DymoScaleStatus status)
        {
            value = 0; exponent = 0; unit = 0; status = 0;
            if (buffer == null) { throw new ArgumentNullException("buffer"); }
            if (offset < 0 || buffer.Length - offset < ReportLength) { throw new ArgumentException("Not enough bytes.", "offset"); }
            if (buffer[offset + 0] != ReportID) { throw new IOException("Unexpected report ID."); }

            value = (int)(buffer[offset + 4] | buffer[offset + 5] << 8);

            status = (DymoScaleStatus)buffer[offset + 1]; if (status == DymoScaleStatus.StableUnderZero) { value = -value; }
            unit = (DymoScaleUnit)buffer[offset + 2];
            exponent = (sbyte)buffer[offset + 3];
        }