Arduino GPS Time And Coordinates Values Update Issue

I'm new to arduino. There is an issue in the code I wrote in my project. The issue is when GPS sensor(Adafruit ultimate gps breakout v3) finds a satellite, GPS time and coordinates values not changing. Other values are working but only GPS isnt. (You can see the output and the code below.)

#include <Adafruit_GPS.h>
#include <SoftwareSerial.h>
#include "DFRobot_BNO055.h"
#include "Wire.h"
#include <SFE_BMP180.h>

SoftwareSerial mySerial(51, 50);
Adafruit_GPS GPS(&mySerial);
typedef DFRobot_BNO055_IIC BNO;
BNO bno(&Wire, 0x28);
SFE_BMP180 pressure;
double baseline; // baseline pressure

#define GPSECHO true
#define ALTITUDE 820 // Altitude of My Home, in meters

void printLastOperateStatus(BNO::eStatus_t eStatus);
double getPressure();

void setup()
{
    Serial.begin(115200);
    bno.reset();
    while (bno.begin() != BNO::eStatusOK)
    {
        Serial.println("bno begin faild");
        printLastOperateStatus(bno.lastOperateStatus);
        delay(500);
    }
    Serial.println("bno begin success");
    delay(500);

    GPS.begin(9600);
    GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);
    GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ);
    GPS.sendCommand(PGCMD_ANTENNA);

    if (pressure.begin())
        Serial.println("BMP180 init success");
    else
    {
        Serial.println("BMP180 init fail\n\n");
        while (1)
            ; // Pause forever.
    }

    delay(1000);
    pinMode(13, OUTPUT);
    pinMode(14, OUTPUT);
    pinMode(15, OUTPUT);



    baseline = getPressure();

    Serial.print("baseline pressure: ");
    Serial.print(baseline);
    Serial.println(" mb");
}

uint32_t timer = millis();
void loop()
{
    char status;
    double T, P, p0, a, Pv;
    char c = GPS.read();
    BNO::sEulAnalog_t sEul;
    sEul = bno.getEul();
    if ((c) && (GPSECHO))


    if (GPS.newNMEAreceived())
    {

        if (!GPS.parse(GPS.lastNMEA()))
            return;
    }
    if (millis() - timer > 2000)
    {
        timer = millis(); // reset the timer
        Serial.print("<");
        Serial.print("TeamID");
        Serial.print(">");
        //Saati if gpsfix in bi üstüne koy

        Serial.print("<");
        Serial.print(sEul.pitch, 3);
        Serial.print(">");
        Serial.print("<");
        Serial.print(sEul.roll, 3);
        Serial.print(">");
        Serial.print("<");
        Serial.print(sEul.head, 3);
        Serial.print(">");
        if (GPS.fix)
        {
        Serial.print("<");
        Serial.print(GPS.hour+3, DEC); 
        Serial.print(':');
        if (GPS.minute < 10) 
        {
            Serial.print('0');
        }
        Serial.print(GPS.minute, DEC);
        Serial.print(':');
        if (GPS.seconds < 10)
        {
            Serial.print('0');
        }
        Serial.print(GPS.seconds, DEC);
        Serial.print(">");
          //buraya
            Serial.print("<");
            Serial.print(GPS.latitudeDegrees, 6);
            Serial.print(">");
            Serial.print("<");
            Serial.print(GPS.longitudeDegrees, 6);
            Serial.print(">");
        }

    Pv = getPressure();

    a = pressure.altitude(Pv, baseline);


        //bmp180
        status = pressure.startTemperature();
        if (status != 0)
        {
   
            delay(status);



            status = pressure.getTemperature(T);
            if (status != 0)
            {

                Serial.print("<");
                Serial.print(T, 2);
                Serial.print(">");

                status = pressure.startPressure(3);
                if (status != 0)
                {

                    delay(status);

                    status = pressure.getPressure(P, T);
                    if (status != 0)
                    {
                        // Print out the measurement:
                        Serial.print("<");
                        Serial.print(P, 2);
                        Serial.print(">");

                        p0 = pressure.sealevel(P, ALTITUDE); // we're at 1655 meters (Boulder, CO)
                        Serial.print("<");
                        Serial.print(p0, 2);
                        Serial.print(">");


                    }
                    else
                        Serial.println("error retrieving pressure measurement\n");
                }
                else
                    Serial.println("error starting pressure measurement\n");
            }
            else
                Serial.println("error retrieving temperature measurement\n");
        }
        else
            Serial.println("error starting temperature measurement\n");


        Serial.print("<");
        Serial.print(a,1);
        Serial.print(">");

        Serial.println();
    }
}
void printLastOperateStatus(BNO::eStatus_t eStatus)
{
    switch (eStatus)
    {
    case BNO::eStatusOK:
        Serial.println("everything ok");
        break;
    case BNO::eStatusErr:
        Serial.println("unknow error");
        break;
    case BNO::eStatusErrDeviceNotDetect:
        Serial.println("device not detected");
        break;
    case BNO::eStatusErrDeviceReadyTimeOut:
        Serial.println("device ready time out");
        break;
    case BNO::eStatusErrDeviceStatus:
        Serial.println("device internal status error");
        break;
    default:
        Serial.println("unknow status");
        break;
    }
}

double getPressure()
{
  char status;
  double T,P,p0,a;


  status = pressure.startTemperature();
  if (status != 0)
  {

    delay(status);



    status = pressure.getTemperature(T);
    if (status != 0)
    {


      status = pressure.startPressure(3);
      if (status != 0)
      {

        delay(status);

        status = pressure.getPressure(P,T);
        if (status != 0)
        {
          return(P);
        }
        else Serial.println("error retrieving pressure measurement\n");
      }
      else Serial.println("error starting pressure measurement\n");
    }
    else Serial.println("error retrieving temperature measurement\n");
  }
  else Serial.println("error starting temperature measurement\n");
}

did you connect GPS TX to Arduino RX, and vice versa?

if you did, run this:

void setup()
                                 
{
  Serial.begin(9600); Serial.println("GPS Serial Test" );
  Serial3.begin(9600);                                   // GPS TX to Arduino Mega Pin 3
  while (Serial3.available())                           // look for data from GPS module
  {
     char c = Serial3.read();                           // read in all available chars   
     Serial.print(c);                                         // print what you get                            
  }
}

void loop() 
{
  // put your main code here, to run repeatedly:
}

and report the results

Output: GPS Serial Test

Thats all

I should add, for newbies: GPS TX to Arduino Mega pin 3 for this program. I assumed you are using a Mega because you used pins 50 & 51.

if if you are using something else you are back to software serial. software serial does not work on all pins.

Yes U use Mega. I tried only GPS and I connected 2-3 pins and still same :confused: I think i should use HardwareSerial but i dont know how?

Update: I tried only GPS again and I use HardwareSerial its fine. I will write again.