void ble_write_string(byte *bytes, uint8_t len)
{
    int j;
    if (buf_len + len > 20)
    {
        for (j = 0; j < 15000; j++)
            ble_do_events();

        buf_len = 0;
    }

    for (j = 0; j < len; j++)
    {
        ble_write(bytes[j]);
        buf_len++;
    }

    if (buf_len == 20)
    {
        for (j = 0; j < 15000; j++)
            ble_do_events();

        buf_len = 0;
    }
}
void rs_ble_process(void)
{
    while (ble_available())
    {
        byte cmd;
        cmd = ble_read();
        Serial.write(cmd);

        // Parse data here
        switch (cmd)
        {
        case 'V': // query protocol version
        {
            byte buf[] = {'V', PROTOCOL_MAJOR, PROTOCOL_MINOR, PROTOCOL_BUGFIX};
            ble_write_string(buf, 4);
        }
        break;

            // send out any outstanding data
        ble_do_events();
        buf_len = 0;

        return; // only do this task in this loop
        }

        // process text data
        if (Serial.available())
        {
            byte d = 'Z';
            ble_write(d);

            delay(5);
            while (Serial.available())
            {
                d = Serial.read();
                ble_write(d);
            }

            ble_do_events();
            buf_len = 0;

            return;
        }

        ble_do_events();
        buf_len = 0;
    }
}
String BLE::readIncoming(){ 
  int i=0;
  char stringBase[CHARS_TO_READ];
	for (int i=0; i<CHARS_TO_READ; i++){
    stringBase[i] = 1;
  }
  String finalString="";
  if (ble_available()){
    while (ble_available()){
      int carrier = ble_read();
      Serial.write (carrier);
      if (i<CHARS_TO_READ){
        stringBase [i] = carrier;
      }
      i++;
    }
    for (i=0;i<CHARS_TO_READ;i++){
      finalString = finalString + stringBase[i];
    }
    Serial.println("");
    Serial.println (finalString);
    return finalString;
  }
  ble_do_events();
}
void beaconSendData(){ 
  int carrier;
  char sendCharArray[14];
  if (Serial.available()){
    delay(5);
    while (Serial.available()){
      carrier = Serial.read();
      ble_write ( carrier );  
    }
  }
  ble_do_events();
}