   Tsunami.setFrequency(1000.0);
   delay(100);
   assert_nearly_equal("input_freq_1k", (int32_t)Tsunami.measureFrequency(), 1000l, 2l);
-  assert_nearly_equal("input_phase_1k", (int16_t)(1000 * Tsunami.measurePhase()), 1000, 1);
+  assert_nearly_equal("input_phase_1k", (int16_t)(1000 * Tsunami.measurePhase()), 0, 50);
 
   Tsunami.setFrequency(100000.0);
   delay(100);
   assert_nearly_equal("input_freq_100k", (int32_t)Tsunami.measureFrequency(), 100000l, 2l);
-  assert_nearly_equal("input_phase_100k", (int16_t)(1000 * Tsunami.measurePhase()), 1000, 1);
+  assert_nearly_equal("input_phase_100k", (int16_t)(1000 * Tsunami.measurePhase()), 0, 50);
 
   Tsunami.setFrequency(1000000.0);
   // Reset phase counter for sensitive measurement

  Tsunami.setFrequency(32768);
  Tsunami.setAmplitude(6000);
  delay(500);
  // Temporary values until we get production boards
  assert_nearly_equal("input_amp_6", Tsunami.measurePeakVoltage(), 3300, 100);

  // TODO: Figure out why we don't get consistent values for this reading
  Tsunami.setAmplitude(1000);

bool test_zero_offset() {
  Tsunami.measureCurrentVoltage();
  delay(200);
  assert_nearly_equal("input_offset", Tsunami.measureCurrentVoltage(), 0, 75);
  return true;
}

