repo time

Dependencies:   mbed MAX14720 MAX30205 USBDevice

Committer:
darienf
Date:
Tue Apr 06 06:41:40 2021 +0000
Revision:
20:6d2af70c92ab
another repo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
darienf 20:6d2af70c92ab 1 using System;
darienf 20:6d2af70c92ab 2 using System.Collections.Generic;
darienf 20:6d2af70c92ab 3 using System.Linq;
darienf 20:6d2af70c92ab 4 using System.Text;
darienf 20:6d2af70c92ab 5
darienf 20:6d2af70c92ab 6 namespace RPCSupport.Streaming
darienf 20:6d2af70c92ab 7 {
darienf 20:6d2af70c92ab 8 public class PartialArrayIntAvailableEventArgs : EventArgs
darienf 20:6d2af70c92ab 9 {
darienf 20:6d2af70c92ab 10 /* const int PACKET_MAX30101 = 0x10;
darienf 20:6d2af70c92ab 11 const int PACKET_LIS2DH = 0x20;
darienf 20:6d2af70c92ab 12 const int PACKET_MAX30001_ECG = 0x30;
darienf 20:6d2af70c92ab 13 const int PACKET_MAX30001_PACE = 0x31;
darienf 20:6d2af70c92ab 14 const int PACKET_MAX30001_RTOR = 0x32;
darienf 20:6d2af70c92ab 15 const int PACKET_MAX30001_BIOZ = 0x33;
darienf 20:6d2af70c92ab 16 const int PACKET_MAX30001_LEADOFF_DC = 0x34;
darienf 20:6d2af70c92ab 17 //#define PACKET_MAX30001_LEADOFF_DC_BIOZ 0x36
darienf 20:6d2af70c92ab 18 const int PACKET_MAX30001_LEADOFF_AC = 0x35;
darienf 20:6d2af70c92ab 19 const int PACKET_MAX30001_BCGMON = 0x36;
darienf 20:6d2af70c92ab 20 const int PACKET_MAX31725_TEMP1 = 0x40;
darienf 20:6d2af70c92ab 21 const int PACKET_MAX31725_TEMP2 = 0x50;
darienf 20:6d2af70c92ab 22 const int PACKET_BMP280_PRESSURE = 0x60;
darienf 20:6d2af70c92ab 23 const int PACKET_LSM6DS3_ACCEL = 0x70;
darienf 20:6d2af70c92ab 24 const int PACKET_MAX30205_TEMP = 0x80;
darienf 20:6d2af70c92ab 25
darienf 20:6d2af70c92ab 26 */
darienf 20:6d2af70c92ab 27 public const int PACKET_MAX30101 = 0x10;
darienf 20:6d2af70c92ab 28
darienf 20:6d2af70c92ab 29 public const int PACKET_LIS2DH = 0x20;
darienf 20:6d2af70c92ab 30
darienf 20:6d2af70c92ab 31 public const int PACKET_MAX30001_ECG = 0x30;
darienf 20:6d2af70c92ab 32 public const int PACKET_MAX30001_PACE = 0x31;
darienf 20:6d2af70c92ab 33 public const int PACKET_MAX30001_RTOR = 0x32;
darienf 20:6d2af70c92ab 34 public const int PACKET_MAX30001_BIOZ = 0x33;
darienf 20:6d2af70c92ab 35 public const int PACKET_MAX30001_LEADOFF_DC = 0x34;
darienf 20:6d2af70c92ab 36 //#define PACKET_MAX30001_LEADOFF_DC_BIOZ 0x36
darienf 20:6d2af70c92ab 37 public const int PACKET_MAX30001_LEADOFF_AC = 0x35;
darienf 20:6d2af70c92ab 38 public const int PACKET_MAX30001_BCGMON = 0x36;
darienf 20:6d2af70c92ab 39
darienf 20:6d2af70c92ab 40 public const int PACKET_MAX31725_TEMP1 = 0x40;
darienf 20:6d2af70c92ab 41 public const int PACKET_MAX31725_TEMP2 = 0x50;
darienf 20:6d2af70c92ab 42 public const int PACKET_BMP280_PRESSURE = 0x60;
darienf 20:6d2af70c92ab 43 public const int PACKET_LSM6DS3_ACCEL = 0x70;
darienf 20:6d2af70c92ab 44
darienf 20:6d2af70c92ab 45 public const int PACKET_DATALOGGING_PARAMETERS = 0xF0;
darienf 20:6d2af70c92ab 46 public const int PACKET_DATALOGGING_RESUME_TABLE = 0xF1;
darienf 20:6d2af70c92ab 47 public const int PACKET_END_OF_STREAM = 0xF2;
darienf 20:6d2af70c92ab 48
darienf 20:6d2af70c92ab 49 /// <summary>
darienf 20:6d2af70c92ab 50 /// Sequential index of the first sample.
darienf 20:6d2af70c92ab 51 /// </summary>
darienf 20:6d2af70c92ab 52 public int reportID { get; set; }
darienf 20:6d2af70c92ab 53 public int sampleNumberOffset { get; set; }
darienf 20:6d2af70c92ab 54
darienf 20:6d2af70c92ab 55 public int timestamp { get; set; }
darienf 20:6d2af70c92ab 56 public int[] array1 { get; set; }
darienf 20:6d2af70c92ab 57 public int[] array2 { get; set; }
darienf 20:6d2af70c92ab 58 public int[] array3 { get; set; }
darienf 20:6d2af70c92ab 59
darienf 20:6d2af70c92ab 60 public static bool ValidatePacketID(int id)
darienf 20:6d2af70c92ab 61 {
darienf 20:6d2af70c92ab 62 bool valid = false;
darienf 20:6d2af70c92ab 63
darienf 20:6d2af70c92ab 64 uint idMasked = (uint)(id & 0xFF);
darienf 20:6d2af70c92ab 65 uint magicValue55 = (uint)(id & 0xFF000000) >> 24;
darienf 20:6d2af70c92ab 66 uint magicValueAA = (uint)(id & 0xFF0000) >> 16;
darienf 20:6d2af70c92ab 67 uint incomingChecksum = (uint)(id & 0xFF00) >> 8;
darienf 20:6d2af70c92ab 68 uint sum;
darienf 20:6d2af70c92ab 69 sum = 0x55;
darienf 20:6d2af70c92ab 70 sum += 0xAA;
darienf 20:6d2af70c92ab 71 sum += idMasked;
darienf 20:6d2af70c92ab 72 sum &= 0xFF;
darienf 20:6d2af70c92ab 73 if (sum == incomingChecksum && magicValue55 == 0x55 && magicValueAA == 0xAA) valid = true;
darienf 20:6d2af70c92ab 74
darienf 20:6d2af70c92ab 75 /* switch (id)
darienf 20:6d2af70c92ab 76 {
darienf 20:6d2af70c92ab 77 case PartialArrayIntAvailableEventArgs.PACKET_MAX30101: valid = true; break;
darienf 20:6d2af70c92ab 78 case PartialArrayIntAvailableEventArgs.PACKET_LIS2DH: valid = true; break;
darienf 20:6d2af70c92ab 79 case PartialArrayIntAvailableEventArgs.PACKET_MAX30001_ECG: valid = true; break;
darienf 20:6d2af70c92ab 80 case PartialArrayIntAvailableEventArgs.PACKET_MAX30001_PACE: valid = true; break;
darienf 20:6d2af70c92ab 81 case PartialArrayIntAvailableEventArgs.PACKET_MAX30001_RTOR: valid = true; break;
darienf 20:6d2af70c92ab 82 case PartialArrayIntAvailableEventArgs.PACKET_MAX30001_BIOZ: valid = true; break;
darienf 20:6d2af70c92ab 83 case PartialArrayIntAvailableEventArgs.PACKET_MAX30001_LEADOFF_DC: valid = true; break;
darienf 20:6d2af70c92ab 84 case PartialArrayIntAvailableEventArgs.PACKET_MAX30001_LEADOFF_AC: valid = true; break;
darienf 20:6d2af70c92ab 85 case PartialArrayIntAvailableEventArgs.PACKET_MAX30001_BCGMON: valid = true; break;
darienf 20:6d2af70c92ab 86 case PartialArrayIntAvailableEventArgs.PACKET_MAX31725_TEMP1: valid = true; break;
darienf 20:6d2af70c92ab 87 case PartialArrayIntAvailableEventArgs.PACKET_MAX31725_TEMP2: valid = true; break;
darienf 20:6d2af70c92ab 88 case PartialArrayIntAvailableEventArgs.PACKET_BMP280_PRESSURE: valid = true; break;
darienf 20:6d2af70c92ab 89 case PartialArrayIntAvailableEventArgs.PACKET_LSM6DS3_ACCEL: valid = true; break;
darienf 20:6d2af70c92ab 90 }*/
darienf 20:6d2af70c92ab 91 return valid;
darienf 20:6d2af70c92ab 92 }
darienf 20:6d2af70c92ab 93 }
darienf 20:6d2af70c92ab 94
darienf 20:6d2af70c92ab 95 }