diff --git a/src/CsvRideFile.cpp b/src/CsvRideFile.cpp index acea23461..9c8950abe 100644 --- a/src/CsvRideFile.cpp +++ b/src/CsvRideFile.cpp @@ -144,6 +144,7 @@ RideFile *CsvFileReader::openRideFile(QFile &file, QStringList &errors, QListsetDeviceType("BSX Insight"); + rideFile->setFileFormat("BSX Insight CSV (csv)"); + unitsHeader = 6; + recInterval = 1; + ++lineno; + continue; + } else if(gcCSV.indexIn(line) != -1) { csvType = gc; rideFile->setDeviceType("GoldenCheetah"); @@ -341,9 +354,12 @@ RideFile *CsvFileReader::openRideFile(QFile &file, QStringList &errors, QList unitsHeader) { + } + else if (lineno > unitsHeader) { double minutes=0,nm=0,kph=0,watts=0,km=0,cad=0,alt=0,hr=0,dfpm=0, seconds=0.0; double temp=RideFile::NoTemp; double slope=0.0; @@ -580,6 +614,28 @@ RideFile *CsvFileReader::openRideFile(QFile &file, QStringList &errors, QList -1) { + seconds = line.section(',', secsIndex, secsIndex).toDouble(); + QDateTime time = QDateTime::fromTime_t(seconds); + if (startTime == QDateTime()) { + startTime = time; + seconds = 1; + } + else + seconds = startTime.secsTo(time)+1; + minutes = seconds / 60.0f; + } + if (wattsIndex > -1) { + watts = line.section(',', wattsIndex, wattsIndex).toDouble(); + } + if (hrIndex > -1) { + hr = line.section(',', hrIndex, hrIndex).toDouble(); + } + if (smo2Index > -1) { + smo2 = line.section(',', smo2Index, smo2Index).toDouble(); + } + } else if(csvType == motoactv) { /* MotoActv saves it all as kind of SI (m, ms, m/s, NM etc) * "double","double",.. so we need to filter out " diff --git a/src/CsvRideFile.h b/src/CsvRideFile.h index 1abefaee3..37c257d1b 100644 --- a/src/CsvRideFile.h +++ b/src/CsvRideFile.h @@ -23,7 +23,7 @@ #include "RideFile.h" struct CsvFileReader : public RideFileReader { - enum csvtypes { generic, gc, powertap, joule, ergomo, motoactv, ibike, moxy, freemotion, peripedal, cpexport }; + enum csvtypes { generic, gc, powertap, joule, ergomo, motoactv, ibike, moxy, freemotion, peripedal, cpexport, bsx }; typedef enum csvtypes CsvType; virtual RideFile *openRideFile(QFile &file, QStringList &errors, QList* = 0) const;