Exemplo n.º 1
0
        /* MagCal or Tuning Variable Storage Response */
        public static int decodeDataSetResponse(byte[] buffer,
                                                int offset,
                                                int length,
                                                DataSetResponse d)
        {
            if (length < DATA_SET_RESPONSE_MESSAGE_LENGTH)
            {
                return(0);
            }
            if ((buffer[0] == PACKET_START_CHAR) &&
                (buffer[1] == BINARY_PACKET_INDICATOR_CHAR) &&
                (buffer[2] == DATA_SET_RESPONSE_MESSAGE_LENGTH - 2) &&
                (buffer[3] == MSGID_DATA_SET_RESPONSE))
            {
                if (!verifyChecksum(buffer, offset, DATA_SET_RESPONSE_MESSAGE_CHECKSUM_INDEX))
                {
                    return(0);
                }

                d.data_type = buffer[DATA_SET_RESPONSE_DATATYPE_VALUE_INDEX];
                d.var_id    = buffer[DATA_SET_RESPONSE_VARID_VALUE_INDEX];
                d.status    = buffer[DATA_SET_RESPONSE_STATUS_VALUE_INDEX];
                return(DATA_SET_RESPONSE_MESSAGE_LENGTH);
            }
            return(0);
        }
Exemplo n.º 2
0
        public DataSetResponse <TagDataPoint> GetByTag(string tag)
        {
            var items = dataPoints.Where(m => m.TagName == tag)
                        .OrderBy(m => m.DateAsked)
                        .ToList();

            var response = new DataSetResponse <TagDataPoint>()
            {
                Min     = items.Min(t => t.Rate), // we could do this in javaScript with d3.min
                Max     = items.Max(t => t.Rate), // we could do this in javaScript with d3.max
                MinDate = items.Min(t => t.DateAsked),
                MaxDate = items.Max(t => t.DateAsked).AddMonths(1),
                Length  = items.Count(),
                Items   = items
            };

            return(response);
        }
        public DataSetResponse<TagDataPoint> GetByTag(string tag)
        {
            var items = dataPoints.Where(m=>m.TagName == tag)
                                  .OrderBy(m => m.DateAsked)
                                  .ToList();

            var response = new DataSetResponse<TagDataPoint>()
            {
                Min = items.Min(t => t.Rate), // we could do this in javaScript with d3.min
                Max = items.Max(t => t.Rate), // we could do this in javaScript with d3.max
                MinDate = items.Min(t => t.DateAsked),
                MaxDate = items.Max(t => t.DateAsked).AddMonths(1),
                Length = items.Count(),
                Items = items
            };

            return response;
        }
Exemplo n.º 4
0
        /* MagCal or Tuning Variable Storage Response */
        public static int decodeDataSetResponse(byte[] buffer,
                                                    int offset,
                                                    int length,
                                                    DataSetResponse d)
        {
            if (length < DATA_SET_RESPONSE_MESSAGE_LENGTH) return 0;
            if ((buffer[0] == PACKET_START_CHAR) &&
                 (buffer[1] == BINARY_PACKET_INDICATOR_CHAR) &&
                 (buffer[2] == DATA_SET_RESPONSE_MESSAGE_LENGTH - 2) &&
                 (buffer[3] == MSGID_DATA_SET_RESPONSE))
            {
                if (!verifyChecksum(buffer, offset, DATA_SET_RESPONSE_MESSAGE_CHECKSUM_INDEX)) return 0;

                d.data_type = buffer[DATA_SET_RESPONSE_DATATYPE_VALUE_INDEX];
                d.var_id = buffer[DATA_SET_RESPONSE_VARID_VALUE_INDEX];
                d.status = buffer[DATA_SET_RESPONSE_STATUS_VALUE_INDEX];
                return DATA_SET_RESPONSE_MESSAGE_LENGTH;
            }
            return 0;
        }