Timing Issues

I am having trouble getting the timing to work in the attached. The SendTankData function needs to be called 15ms after the GetTankData function so it can take a reading. I also have a third function called SendAxcelData that gets data from an accelerometer and sends it Blynk. If I comment out the call to Get AxcelData the tank level functions work fine form a timing standpoint but as soon as I allow it to call the GetAxcelData function the timeouts no longer seem to have an effect and it just keeps executing as fast as it can.

#define BLYNK_USE_DIRECT_CONNECT
#define BLYNK_PRINT Serial


// You could use a spare Hardware Serial on boards that have it (like Mega)
#include <BlynkSimpleSerialBLE.h>

//includes and defines for Axcel
#include <math.h>  //Included for accellerometer calculations
const int x_out = A1; /* connect x_out of module to A1 of Mega board */
const int y_out = A2; /* connect y_out of module to A2 of Mega board */
const int z_out = A3; /* connect z_out of module to A3 of Mega board */
double roll, pitch;
double rollzero=0, pitchzero=0;

//includes and defines for Tank Level
#include <Wire.h>
#include <Protocentral_FDC1004.h>

#define UPPER_BOUND  0X4000                 // max readout capacitance
#define LOWER_BOUND  (-1 * UPPER_BOUND)
#define CHANNEL 3                          // channel to be read
#define MEASURMENT 0                       // measurment channel

int capdac = 0;
char result[100];

FDC1004 FDC;


// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "2V7UYEb-Azh0kaSXX27sDuVvDdAKsm-f";

BlynkTimer timer;

//This function calculates the Accellerometer Values to send to Blynk
void SendAxcelData()
{

  int x_adc_value, y_adc_value, z_adc_value; 
  double x_g_value, y_g_value, z_g_value;
  
  x_adc_value = analogRead(x_out); /* Digital value of voltage on x_out pin */ 
  y_adc_value = analogRead(y_out); /* Digital value of voltage on y_out pin */ 
  z_adc_value = analogRead(z_out); /* Digital value of voltage on z_out pin */ 
  
  x_g_value = ( ( ( (double)(x_adc_value * 5)/1024) - 1.65 ) / 0.330 ); /* Acceleration in x-direction in g units */ 
  y_g_value = ( ( ( (double)(y_adc_value * 5)/1024) - 1.65 ) / 0.330 ); /* Acceleration in y-direction in g units */ 
  z_g_value = ( ( ( (double)(z_adc_value * 5)/1024) - 1.80 ) / 0.330 ); /* Acceleration in z-direction in g units */ 

  roll = ( ( (atan2(y_g_value,z_g_value) * 180) / 3.14 ) + 180 ); /* Formula for roll */
  pitch = ( ( (atan2(z_g_value,x_g_value) * 180) / 3.14 ) + 180 ); /* Formula for pitch */
  Serial.print(millis());
  Serial.println("-SendAxcel"); 
  Blynk.virtualWrite(V0, pitch - pitchzero);
  Blynk.virtualWrite(V1, roll - rollzero);
  int callGetTankData = timer.setTimeout(15L, SendTankData);
}

void GetTankData()
{
  Serial.print(millis());
  Serial.println("-GetLevel"); 
  FDC.configureMeasurementSingle(MEASURMENT, CHANNEL, capdac);
  FDC.triggerSingleMeasurement(MEASURMENT, FDC1004_100HZ);
  int callSendTankData = timer.setTimeout(15L, SendTankData);
}

void SendTankData ()
{
  uint16_t value[2];
  if (! FDC.readMeasurement(MEASURMENT, value))
  {
    int16_t msb = (int16_t) value[0];
    int32_t capacitance = ((int32_t)457) * ((int32_t)msb); //in attofarads
    capacitance /= 1000;   //in femtofarads
    capacitance += ((int32_t)3028) * ((int32_t)capdac);

    Serial.print(millis());
    Serial.println("-SendLevel"); 
    Serial.print((((float)capacitance/1000)),4);
    Serial.println("  pf, ");

    if (msb > UPPER_BOUND)               // adjust capdac accordingly
  {
      if (capdac < FDC1004_CAPDAC_MAX)
    capdac++;
    }
  else if (msb < LOWER_BOUND)
  {
      if (capdac > 0)
    capdac--;
    }

  }
  int callSendAxcelData = timer.setTimeout(100L, SendAxcelData);
}

BLYNK_WRITE(V2)
{
  //Anytime the button associated with V2 is pressed the roll
  //and pitch are zeroed.
  rollzero = roll;
  pitchzero = pitch;
}

void setup()
{
  // Blynk will work through Serial
  // 9600 is for HC-06. For HC-05 default speed is 38400
  // Do not read or write this serial manually in your sketch
  Wire.begin();        //i2c begin
  Serial.begin(9600);
  Serial1.begin(9600);
  Serial.println("Setting up");
  Blynk.begin(Serial1, auth);

  // It never gets here
  Serial.println("Connected");

  // Setup a function to be called every second
  timer.setInterval(1000L, GetTankData);
}

void loop()
{
  Blynk.run();
  timer.run(); // Initiates Timer
}

After taking a break and looking at it with a cold set of eyes I found the error. I need to delete the call at the end of SendAxcelData.