   
   // Connect to CSS website, do a PUT with weather values. Should be called once for every minute of weather data.
   logSome(F("  uploadWeather called, building string. Bytes free: "));
-  logOneLine(freeRam());
+  logSome(freeRam());
+  logSome(". ina219a readings this minute: ");
+  logOneLine(ina219a_MMAloops);
   byte uploadStatus = 90; //90 = haven't tried stopping the client yet.
 
   // Preemptively close any open connections, to keep sockets available.

// NOTE if this is disabled, everything runs on battery power, even in daytime.
void enableSolar() {
  Serial.println("Solar panel ENABLED via enableSolar();");
  pinMode(PIN_SOLAR_DISABLE, OUTPUT);                 // prepares Solar Panel control pin
  digitalWrite(PIN_SOLAR_DISABLE, SOLAR_ENABLED);     // turns Solar Panel on

}

float sla_30sec = 11.8;    // 10 second rolling average of SLA battery voltage (~12v)
int   sla_10secRaw = 1180; // 10 second average of AnalogPort reading (0-1023).
float light_lvl = 455;     // [analog value from 0 to 1023]

//INA 219 volt & current sensor. MMA means Modified Moving Average. PWM charging requires some smoothing.
float ina219a_volts;
float ina219a_current;
float ina219b_volts;
float ina219b_current;
float ina219a_MMAtemp;
float ina219a_MMAcurrentSum;
float ina219a_MMAcurrentAvg;
float ina219a_MMAvoltSum;
float ina219a_MMAvoltAvg;
const byte ina219a_MMAcount = 128;
float shuntvoltage = 0;
float busvoltage = 0;
float current_mA = 0;
float loadvoltage = 0;
unsigned int ina219a_MMAmillis = 0;
unsigned int ina219a_MMAloops = 0;



// volatiles are subject to modification by IRQs
volatile unsigned long raintime, rainlast, raininterval, rain;
