ECS from LP - RG


derived from leaf photosynthesis only PMF calculations
// CALCULATIONS FOR PROTON MOTIVE FORCE VIA ECS PORTION OF THE TRACE
//----------------------------

var output = {};

var data = json.data_raw;
var vhplus;
var tau;
var ECSt;
var quality_flag = 0;
var i = 0;
var j = 0;
var h = 0;
var k = 0;
var smooth1 = data.slice(300,600);
var smooth0 = data.slice(300,600);

///*

var pulsedistance = 1; // pulse distance for the ECS portion of the trace in seconds
var ecsPulses = 300; // pulses during each light cycle duing ECS portion of trace (300 light on, 300 light off, 300 light on)
var fit_cutoff = .01; // valueless number indicating what portion of the decay curve to pass to the decay fitting subroutine
var hit_cutoff_times = 1;  // this is a counter to ensure we don't just hit a weird portion of the curve and cutoff too soon.   

// we need an array representing the time (in us) and data for each pulse in the ECS trace.  Subtract first and less point so it's 898 points total

var timeArray = [];
for (var i = 1; i < ecsPulses*3+1; i++) {
  timeArray[i-1] = pulsedistance*i;
}
var ecsArray = data.slice(0,ecsPulses*3);

// the very first pulse is often low.  Just set it to the 2nd pulse by default
ecsArray[0] = ecsArray[1];
// now check for big spikes
for (var i = 1; i < ecsArray.length; i++) {
// this line should be flat, or slightly sloped.  So if there are any big spikes (> 10% of the previous value) then set it equal to the previous value
  if (ecsArray[i] > 1.10*ecsArray[i-1]) {
    ecsArray[i] = ecsArray[i-1];
  }
}



// first lets make the ECS trace flat, in case for some reason it's tilted up or down. Skip first and last point in case there were blips

var flattenData = ecsArray.slice(0,ecsPulses);
var flattenTime = timeArray.slice(0,ecsPulses);

// make some error catching things - standard deviation of the first portion of the trace... etc.
var flattenData_std = MathSTDEV(flattenData);
var endOfTrace_std =  MathSTDEV(ecsArray.slice(ecsPulses*2,ecsPulses*3));


// now let's run a regression to determine the slope
  
var flattenReg = MathLINREG(flattenTime,flattenData);

//output["flatten slope"] = MathROUND(flattenReg.m,4);

// now we assume this slope applies to the whole ECS trace, and subtract off the slope at each point

var ecsArray_flat = ecsArray.slice(0,ecsPulses*3);
for (var i = 0; i < timeArray.length; i++) {
  var adjustment = flattenReg.m*timeArray[i]; 
  ecsArray_flat[i] = ecsArray_flat[i]-adjustment;
}
// now we can calculate the initial and max ecs values to calculate ECSt
// calculated as the median value within 25 pulses of the light-on phase (minimum) and within 50 pulses of the light off phase (maximum)
ecs_initial = MathROUND(MathMEDIAN(ecsArray_flat.slice(ecsPulses-25,ecsPulses)),2);
ecs_max = MathROUND(MathMEDIAN(ecsArray_flat.slice(ecsPulses*2-100,ecsPulses*2)),2);
ecst_estimate = ecs_max - ecs_initial;
//output["ecs_initial"] = MathROUND(MathMEDIAN(ecsArray_flat.slice(ecsPulses-25,ecsPulses)),2);
//output["ecs_max"] = MathROUND(MathMEDIAN(ecsArray_flat.slice(ecsPulses*2-100,ecsPulses*2)),2);

//output["ecsArray flattened"] = ecsArray_flat;
// sanity check - ok these two numbers should be much closer to each other (slope has moved towards 0), and make sure our flattening worked
//output["ecsArray post 0"] = ecsArray_flat[0];
//output["ecsArray post 300"] = ecsArray_flat[300];

// Then convert these values into absorbance in the form abs = -log(Io/I), where we set Io to ecs_initial.  
// For the decay fitting subroutine, we also try to set the estimated asymptote (ecs_max) to zero - this helps the fitting subroutine reduce iterations to converge to the correct value
ecsArray_flat_log = [];
for (var i = 0; i < timeArray.length; i++) {
  var abs = MathLOG(ecs_initial/(ecsArray_flat[i])); 
  ecsArray_flat_log[i] = abs - MathLOG(ecs_initial/ecs_max);
}

//output["ECS full"] = ecsArray_flat_log;

  //output["ecs_r_squared"] = flattenReg.r;

if (ecs_initial <= 8000) {
  warning("There was a technical error with your measurement, please retake the measurement", output);
}

else if (ecs_initial >= 58000) {
  warning("There was a technical error with your measurement, please retake the measurement", output);
}

if (ecst_estimate < 2) {
  output["ECSt"] = 0;
  output["vH+"] = 0;
  output["gH+"] = 0;
  warning("proton motive force signal too low.  May be due to low ambient light, or normal biological variation.  ECSt, vH+, and gH+ have been set to zero", output);
}
if (flattenData_std > 25 || endOfTrace_std > 25) {
  output["ECSt"] = "NA";
  output["vH+"] = "NA";
  output["gH+"] = "NA";
  warning("Proton Motive Force too noisy", output);
}
if (!(flattenData_std > 25 || endOfTrace_std > 25 || ecst_estimate < 2 )) {
  // Now we fit a best fit line to the curve.  We need to put our data in the format [[x,y],[x,y]...] first though
  var expData = ecsArray_flat_log.slice(ecsPulses,ecsPulses+100);
  var expTime = [];
  // normalize time to zero for the fit
  for (var i = 0; i < timeArray.slice(ecsPulses, ecsPulses*2).length; i++) {
    expTime.push(i);
  }
  //output["time array"] = expTime;
  //output["ECS decay"] = expData;

  var expFitArray = [];
  for (var i = 0; i < 100; i++) {
    expFitArray[i] = [expTime[i], expData[i]];
  }
  
  expReg = MathEXPINVREG(expFitArray);

  // questions for kevin - ECSt would be y int + outputted asymptote, correct?

  //output["asymptote"] = expReg.asymptote;
  output["ECSt"] = MathROUND(expReg.results[0],4);
  //output["expFit slope"] = expReg.slope;
  output["vH+"] = MathROUND(expReg.slope,8);
  //output["expFit lifetime"] = expReg.lifetime;
  output["gH+"] = MathROUND(expReg.lifetime,4);
}




/****************OUTPUT VALUES FROM MACRO *******************/


// Finally, use the "order" object to define the order of the outputs (focus on the top 6 most important for the user to see)
//----------------------------
output["Light Intensity (PAR)"] = json.light_intensity;
//output["Leaf Temp Differential"] = json.contactless_temp - json.temperature;


output["Ambient Temperature"] = json.temperature;
output["Ambient Humidity"] = json.humidity;
//output["Leaf Angle"] = json.angle;



var maxvalue = MathMAX([json.r,json.g,json.b]);
//output["R"] = Number(json.r);
//output["G"] = Number(json.g);
//output["B"] = Number(json.b);

return output;
{
  "time_offset": 240,
  "time": 1471466929426,
  "device_version": "1",
  "device_id": "d4:f5:10:14:06:65",
  "device_battery": 90,
  "device_firmware": "1.06",
  "firmware_version": "1.06",
  "device_time": 1471450983,
  "sample": [
    {
      "time": 1471466929451,
      "protocol_id": 1,
      "detector_read1": 2319,
      "detector_read2": 3051,
      "light_intensity": 11,
      "r": 30,
      "g": 15,
      "b": 9,
      "light_intensity_raw": 49,
      "temperature": 27.43,
      "humidity": 65.174805,
      "pressure": 984.203064,
      "temperature2": 27.51,
      "humidity2": 62.969727,
      "pressure2": 985.48407,
      "contactless_temp": 26.53,
      "thickness": 1.07,
      "compass_direction": "NW",
      "compass": "315.06",
      "angle": 1.09,
      "angle_direction": "N",
      "pitch": 0.88,
      "roll": 0.65,
      "recall": {
        "time": 1471466933605,
        "colorcal_blank1[1]": 7839.5,
        "colorcal_blank1[2]": 12927,
        "colorcal_blank1[3]": 12024.5,
        "colorcal_blank1[4]": 36130,
        "colorcal_blank1[6]": 26263.5,
        "colorcal_blank1[8]": 24891.5,
        "colorcal_blank1[9]": 20946.5,
        "colorcal_blank1[10]": 27715,
        "colorcal_blank2[1]": 17226.5,
        "colorcal_blank2[2]": 15096,
        "colorcal_blank2[3]": 12841,
        "colorcal_blank2[4]": 13510.5,
        "colorcal_blank2[6]": 35288,
        "colorcal_blank2[8]": 38212.5,
        "colorcal_blank2[9]": 36138,
        "colorcal_blank2[10]": 32846,
        "colorcal_blank3[1]": 16779,
        "colorcal_blank3[2]": 10041,
        "colorcal_blank3[3]": 15482,
        "colorcal_blank3[4]": 16311,
        "colorcal_blank3[6]": 30774,
        "colorcal_blank3[8]": 30418,
        "colorcal_blank3[9]": 20022.5,
        "colorcal_blank3[10]": 20597.5,
        "colorcal_intensity1_slope[2]": 2.464,
        "colorcal_intensity1_yint[2]": 7.4,
        "colorcal_intensity2_slope[2]": 2.208,
        "colorcal_intensity2_yint[2]": 10.4,
        "colorcal_intensity3_slope[2]": 1.49,
        "colorcal_intensity3_yint[2]": 10.6,
        "ir_baseline_slope[5]": 9459.5,
        "ir_baseline_yint[5]": 13594.5,
        "ir_baseline_slope[3]": 251.5,
        "ir_baseline_yint[3]": 482
      },
      "data_raw": [
        25190,
        26768,
        26778,
        26783,
        26787,
        26789,
        26777,
        26787,
        26785,
        26784,
        26771,
        26782,
        26782,
        26780,
        26779,
        26777,
        26779,
        26782,
        26777,
        26777,
        26780,
        26779,
        26777,
        26778,
        26777,
        26775,
        26776,
        26775,
        26779,
        26773,
        26773,
        26772,
        26779,
        26771,
        26773,
        26776,
        26777,
        26766,
        26773,
        26772,
        26775,
        26760,
        26775,
        26773,
        26776,
        26765,
        26774,
        26773,
        26777,
        26761,
        26774,
        26774,
        26775,
        26763,
        26776,
        26775,
        26773,
        26767,
        26773,
        26774,
        26767,
        26766,
        26772,
        26770,
        26762,
        26770,
        26770,
        26771,
        26759,
        26774,
        26770,
        26771,
        26763,
        26768,
        26768,
        26774,
        26765,
        26772,
        26769,
        26775,
        26771,
        26770,
        26772,
        26762,
        26773,
        26766,
        26771,
        26769,
        26770,
        26767,
        26768,
        26763,
        26772,
        26763,
        26772,
        26759,
        26767,
        26770,
        26772,
        26765,
        26766,
        26769,
        26771,
        26765,
        26769,
        26769,
        26766,
        26765,
        26769,
        26770,
        26759,
        26769,
        26767,
        26766,
        26765,
        26767,
        26766,
        26771,
        26762,
        26767,
        26760,
        26770,
        26759,
        26763,
        26771,
        26772,
        26763,
        26761,
        26775,
        26763,
        26769,
        26766,
        26771,
        26763,
        26764,
        26769,
        26769,
        26761,
        26762,
        26763,
        26767,
        26755,
        26767,
        26765,
        26769,
        26759,
        26767,
        26766,
        26762,
        26757,
        26764,
        26770,
        26758,
        26767,
        26765,
        26771,
        26757,
        26765,
        26761,
        26763,
        26764,
        26762,
        26765,
        26773,
        26763,
        26764,
        26761,
        26773,
        26768,
        26762,
        26766,
        26763,
        26763,
        26759,
        26770,
        26757,
        26759,
        26766,
        26767,
        26758,
        26762,
        26769,
        26767,
        26759,
        26769,
        26766,
        26765,
        26764,
        26765,
        26766,
        26757,
        26767,
        26759,
        26767,
        26760,
        26766,
        26762,
        26761,
        26765,
        26763,
        26763,
        26762,
        26765,
        26763,
        26765,
        26758,
        26762,
        26762,
        26768,
        26758,
        26761,
        26765,
        26766,
        26756,
        26766,
        26765,
        26760,
        26763,
        26763,
        26762,
        26760,
        26765,
        26759,
        26770,
        26759,
        26763,
        26759,
        26767,
        26758,
        26759,
        26766,
        26766,
        26761,
        26758,
        26768,
        26757,
        26758,
        26764,
        26761,
        26756,
        26761,
        26759,
        26763,
        26758,
        26762,
        26761,
        26763,
        26761,
        26761,
        26763,
        26762,
        26764,
        26763,
        26758,
        26759,
        26758,
        26760,
        26765,
        26756,
        26757,
        26757,
        26769,
        26760,
        26761,
        26767,
        26763,
        26761,
        26758,
        26765,
        26758,
        26761,
        26757,
        26768,
        26757,
        26758,
        26767,
        26765,
        26758,
        26759,
        26764,
        26764,
        26762,
        26764,
        26765,
        26757,
        26758,
        26763,
        26766,
        26755,
        26759,
        26769,
        26763,
        26760,
        26759,
        26768,
        26758,
        26759,
        26764,
        26761,
        26754,
        26756,
        26764,
        26758,
        26754,
        26760,
        26767,
        26762,
        26759,
        26764,
        26767,
        26757,
        26757,
        26765,
        26764,
        26756,
        26766,
        26766,
        26763,
        26762,
        26762,
        26765,
        26757,
        26767,
        26763,
        26762,
        26761,
        26763,
        26761,
        26770,
        26763,
        26764,
        26761,
        26761,
        26764,
        26759,
        26772,
        26760,
        26761,
        26767,
        26762,
        26760,
        26759,
        26767,
        26760,
        26759,
        26763,
        26768,
        26757,
        26759,
        26763,
        26768,
        26758,
        26767,
        26767,
        26763,
        26760,
        26761,
        26767,
        26757,
        26763,
        26765,
        26767,
        26758,
        26766,
        26767,
        26759,
        26759,
        26767,
        26764,
        26758,
        26766,
        26764,
        26766,
        26755,
        26763,
        26765,
        26762,
        26763,
        26768,
        26767,
        26757,
        26766,
        26761,
        26764,
        26758,
        26767,
        26769,
        26759,
        26769,
        26761,
        26765,
        26759,
        26763,
        26765,
        26761,
        26765,
        26764,
        26762,
        26761,
        26763,
        26763,
        26760,
        26759,
        26761,
        26765,
        26761,
        26767,
        26764,
        26766,
        26757,
        26763,
        26761,
        26762,
        26763,
        26762,
        26765,
        26760,
        26766,
        26764,
        26761,
        26761,
        26766,
        26758,
        26763,
        26760,
        26759,
        26763,
        26767,
        26766,
        26762,
        26767,
        26760,
        26763,
        26760,
        26768,
        26761,
        26761,
        26765,
        26759,
        26761,
        26763,
        26767,
        26755,
        26766,
        26766,
        26764,
        26758,
        26763,
        26767,
        26759,
        26765,
        26761,
        26760,
        26760,
        26763,
        26760,
        26770,
        26761,
        26759,
        26768,
        26767,
        26765,
        26758,
        26767,
        26758,
        26762,
        26769,
        26764,
        26768,
        26761,
        26769,
        26760,
        26761,
        26758,
        26767,
        26763,
        26762,
        26766,
        26763,
        26765,
        26759,
        26771,
        26757,
        26759,
        26769,
        26767,
        26762,
        26767,
        26769,
        26760,
        26759,
        26762,
        26771,
        26757,
        26764,
        26769,
        26765,
        26762,
        26768,
        26766,
        26761,
        26767,
        26765,
        26766,
        26761,
        26765,
        26767,
        26758,
        26766,
        26762,
        26767,
        26756,
        26764,
        26766,
        26763,
        26768,
        26764,
        26768,
        26759,
        26768,
        26761,
        26766,
        26765,
        26766,
        26764,
        26762,
        26766,
        26764,
        26763,
        26764,
        26765,
        26767,
        26767,
        26767,
        26759,
        26765,
        26763,
        26765,
        26762,
        26765,
        26761,
        26767,
        26770,
        26763,
        26769,
        26764,
        26766,
        26758,
        26763,
        26763,
        26764,
        26759,
        26765,
        26768,
        26757,
        26765,
        26766,
        26767,
        26757,
        26764,
        26767,
        26761,
        26766,
        26764,
        26767,
        26757,
        26766,
        26766,
        26769,
        26759,
        26769,
        26767,
        26758,
        26766,
        26763,
        26764,
        26757,
        26765,
        26765,
        26759,
        26768,
        26763,
        26769,
        26756,
        26766,
        26765,
        26761,
        26765,
        26764,
        26767,
        26757,
        26763,
        26763,
        26766,
        26764,
        26765,
        26766,
        26761,
        26768,
        26761,
        26769,
        26759,
        26767,
        26763,
        26760,
        26768,
        26765,
        26768,
        26755,
        26765,
        26765,
        26764,
        26763,
        26761,
        26761,
        26756,
        26764,
        26762,
        26758,
        26762,
        26761,
        26763,
        26755,
        26761,
        26761,
        26758,
        26763,
        26759,
        26758,
        26755,
        26764,
        26761,
        26759,
        26756,
        26763,
        26763,
        26761,
        26762,
        26759,
        26759,
        26757,
        26757,
        26759,
        26767,
        26760,
        26759,
        26765,
        26758,
        26761,
        26755,
        26763,
        26759,
        26758,
        26763,
        26760,
        26762,
        26759,
        26762,
        26758,
        26759,
        26760,
        26758,
        26760,
        26759,
        26764,
        26754,
        26760,
        26763,
        26757,
        26759,
        26760,
        26767,
        26756,
        26757,
        26763,
        26764,
        26759,
        26761,
        26764,
        26755,
        26761,
        26763,
        26760,
        26755,
        26766,
        26765,
        26756,
        26759,
        26762,
        26763,
        26755,
        26761,
        26765,
        26758,
        26758,
        26760,
        26764,
        26757,
        26759,
        26766,
        26759,
        26763,
        26759,
        26767,
        26753,
        26757,
        26762,
        26759,
        26759,
        26756,
        26765,
        26753,
        26759,
        26760,
        26761,
        26760,
        26754,
        26767,
        26757,
        26759,
        26758,
        26763,
        26761,
        26761,
        26761,
        26758,
        26757,
        26756,
        26765,
        26761,
        26759,
        26759,
        26757,
        26757,
        26762,
        26761,
        26763,
        26758,
        26758,
        26758,
        26759,
        26759,
        26766,
        26762,
        26759,
        26763,
        26757,
        26758,
        26759,
        26765,
        26765,
        26759,
        26763,
        26757,
        26757,
        26757,
        26763,
        26758,
        26756,
        26764,
        26758,
        26759,
        26761,
        26764,
        26763,
        26759,
        26765,
        26757,
        26761,
        26756,
        26766,
        26761,
        26759,
        26763,
        26757,
        26760,
        26758,
        26767,
        26759,
        26758,
        26766,
        26751,
        26759,
        26757,
        26764,
        26760,
        26757,
        26767,
        26757,
        26759,
        26763,
        26763,
        26759,
        26755,
        26765,
        26754,
        26761,
        26758,
        26764,
        26759,
        26762,
        26767,
        26755,
        26758,
        26759,
        26762,
        26762,
        26757,
        26768,
        26756,
        26758,
        26761,
        26763,
        26762,
        26757,
        26767,
        26757,
        26756,
        26767,
        26759,
        26757,
        26761,
        26765,
        26756,
        26759,
        26761,
        26759,
        26762,
        26762,
        26764,
        26757,
        26759,
        26766,
        26762,
        26758,
        26763,
        26763,
        26753,
        26758,
        26767,
        26758,
        26758,
        26764,
        26761,
        26756,
        26763,
        26762,
        26757,
        26759,
        26760,
        26763,
        26753,
        26763,
        26764,
        26755,
        26761,
        26762,
        26763,
        26756,
        26762,
        26763,
        26759,
        26765,
        26758,
        26764,
        26757,
        26759,
        26765,
        26751,
        26765,
        26758,
        26760,
        26761,
        26759,
        26762,
        26758,
        26759,
        26761,
        26757,
        26763,
        26759,
        26762,
        26758,
        26761,
        26763,
        26755,
        26763,
        26756,
        26758,
        26757,
        26760,
        26763,
        26755,
        26764,
        26763,
        26763,
        26757,
        26762,
        26766,
        26754,
        4600,
        4602,
        4599,
        4593,
        4594,
        4592,
        4590,
        4588,
        4587,
        4590,
        4589,
        4590,
        4588,
        4589,
        4587,
        4588,
        4589,
        4589,
        4590,
        4589,
        10547,
        11367,
        11919,
        12590,
        13286,
        13853,
        14241,
        14500,
        14686,
        14810,
        14910,
        14987,
        15048,
        15083,
        15126,
        15154,
        15177,
        15206,
        15211,
        15233,
        15239,
        15246,
        15255,
        15252,
        15258,
        15255,
        15262,
        15259,
        15246,
        15245,
        15139,
        15128,
        15108,
        15104,
        15090,
        15086,
        15074,
        15069,
        15062,
        15056,
        14914,
        14894,
        14875,
        14865,
        14859,
        14837,
        14831,
        14823,
        14812,
        14798,
        14623,
        14605,
        14581,
        14563,
        14549,
        14542,
        14532,
        14523,
        14512,
        14507,
        14937,
        14969,
        14981,
        14990,
        14984,
        14981,
        14979,
        14968,
        14961,
        14951,
        14945,
        14935,
        14924,
        14923,
        14909,
        14898,
        14890,
        14879,
        14873,
        14870,
        14851,
        14846,
        14841,
        14823,
        14819,
        14818,
        14800,
        14794,
        14795,
        14780,
        8343,
        7363,
        7017,
        6834,
        6704,
        6594,
        6518,
        6454,
        6404,
        6351,
        6314,
        6287,
        6257,
        6228,
        6199,
        6182,
        6157,
        6138,
        6117,
        6107,
        5471,
        5318,
        5285,
        5270,
        5248,
        5239,
        5237,
        5219,
        5216,
        5215,
        5199,
        5201,
        5201,
        5191,
        5189,
        5193,
        5183,
        5185,
        5182,
        5185,
        5177,
        5174,
        5177,
        5167,
        5169,
        5173,
        5162,
        5167,
        5166,
        5161,
        5161,
        5163,
        5157,
        5158,
        5161,
        5155,
        5154,
        5159,
        5147,
        5150,
        5154,
        5146,
        5149,
        5154,
        5142,
        5143,
        5150,
        5142,
        5142,
        5147,
        5138,
        5137,
        5142,
        5137,
        5137,
        5143,
        5137,
        5134,
        5133,
        5131,
        5135,
        5125,
        5127,
        5134,
        5125,
        5126,
        5127,
        5125,
        5124,
        5118,
        5117,
        5123,
        5110,
        5113,
        5119,
        5113,
        5111,
        5112,
        5109,
        5113,
        5104,
        5107,
        5107,
        5106,
        5105,
        5105,
        5104,
        5108,
        5097,
        5102,
        5102,
        5098,
        5104,
        5094,
        5098,
        5098,
        5095,
        5097,
        5093,
        5094,
        5090,
        5092,
        5100,
        5093,
        5091,
        5083,
        5091,
        5093,
        5090,
        5087,
        5082,
        5085,
        5090,
        5082,
        5088,
        5078,
        5083,
        5087,
        5084,
        5087,
        5082,
        5080,
        5074,
        5080,
        5080,
        5077,
        5082,
        5079,
        5081,
        5072,
        5075,
        5071,
        5073,
        5078,
        5075,
        5077,
        5073,
        5073,
        5071,
        5071,
        5071,
        5070,
        5077,
        5069,
        5074,
        5071,
        5073,
        5066,
        5070,
        5064,
        1860,
        620,
        592,
        586,
        581,
        582,
        581,
        577,
        579,
        577,
        274,
        299,
        297,
        300,
        300,
        297,
        300,
        298,
        297,
        300,
        5983,
        683,
        625,
        613,
        613,
        614,
        611,
        612,
        612,
        612,
        160,
        238,
        235,
        236,
        236,
        235,
        236,
        236,
        235,
        240,
        22734,
        9248,
        9035,
        9010,
        9003,
        9002,
        8985,
        8987,
        8989,
        8978,
        30310,
        8485,
        8144,
        8111,
        8098,
        8083,
        8080,
        8073,
        8075,
        8076,
        12507,
        9285,
        9239,
        9234,
        9229,
        9229,
        9230,
        9229,
        9228,
        9228,
        13264,
        10133,
        10076,
        10067,
        10069,
        10065,
        10063,
        10066,
        10060,
        10060,
        7819,
        8654,
        8672,
        8675,
        8671,
        8671,
        8674,
        8667,
        8671,
        8675,
        2128,
        2425,
        2431,
        2430,
        2431,
        2429,
        2434,
        2429,
        2432,
        2432,
        4155,
        4800,
        4805,
        4806,
        4806,
        4805,
        4806,
        4804,
        4805,
        4805,
        591,
        657,
        660,
        658,
        658,
        662,
        658,
        659,
        660,
        657,
        62432,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        57158,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        56081,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        33582,
        37122,
        37159,
        37164,
        37165,
        37163,
        37171,
        37163,
        37161,
        37170,
        5647,
        6462,
        6474,
        6467,
        6472,
        6475,
        6471,
        6471,
        6476,
        6469,
        24218,
        29798,
        29849,
        29851,
        29847,
        29831,
        29832,
        29831,
        29815,
        29815,
        4040,
        4980,
        4996,
        5001,
        4994,
        4998,
        5001,
        4999,
        4999,
        5004,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535,
        65535
      ]
    }
  ],
  "app_os": "linux",
  "app_name": "PhotosynQ",
  "app_version": "0.3.4",
  "app_device": "x86-64",
  "location": [
    "42.7225897",
    "-84.4747067"
  ],
  "ConsoleMacro": "207"
}
Default avatar
Created by

Rodrigo Gomez


Protocol connections:
2
Latest Update:
Feb 2018