diff --git a/qml/pages/FirstPage.qml b/qml/pages/FirstPage.qml index dc2fc79..bffff12 100644 --- a/qml/pages/FirstPage.qml +++ b/qml/pages/FirstPage.qml @@ -1,61 +1,60 @@ -import QtQuick 2.0 import Sailfish.Silica 1.0 import harbour.i2ctool.I2cif 1.0 import melexis.driver 1.0 +import QtQuick 2.0 Page { - id: probePage - property string deviceName: "/dev/i2c-1" - - allowedOrientations: Orientation.All - SilicaFlickable - { - Grid - { - Button - { - id: probeBTN - text: "check camera present" - onClicked: {probeBTN.text="probing..."; i2cif.tohVddSet("on"); i2cif.i2cProbe(deviceName)} - } - Label - { + id: mainPage + property bool isInitialized: false - id: resultLabel - text: "0" - } - - } + MLX90640 { + id: thermal } - I2cif - { - id: i2cif - - onI2cProbingChanged: - { - var results = i2cif.i2cProbingStatus; - for (var i=0 ; iktaScale); - kvScale = POW2(params->kvScale); - -//------------------------- Gain calculation ----------------------------------- - - gain = (float)params->gainEE / (int16_t)frameData[778]; - -//------------------------- Image calculation ------------------------------------- - - mode = (frameData[832] & mlx90640_CTRL_MEAS_MODE_MASK) >> 5; - - irDataCP[0] = (int16_t)frameData[776] * gain; - irDataCP[1] = (int16_t)frameData[808] * gain; - - irDataCP[0] = irDataCP[0] - params->cpOffset[0] * (1 + params->cpKta * (ta - 25)) * (1 + params->cpKv * (vdd - 3.3)); - if( mode == params->calibrationModeEE) - { - irDataCP[1] = irDataCP[1] - params->cpOffset[1] * (1 + params->cpKta * (ta - 25)) * (1 + params->cpKv * (vdd - 3.3)); - } - else - { - irDataCP[1] = irDataCP[1] - (params->cpOffset[1] + params->ilChessC[0]) * (1 + params->cpKta * (ta - 25)) * (1 + params->cpKv * (vdd - 3.3)); - } - - for( int pixelNumber = 0; pixelNumber < 768; pixelNumber++) - { - ilPattern = pixelNumber / 32 - (pixelNumber / 64) * 2; - chessPattern = ilPattern ^ (pixelNumber - (pixelNumber/2)*2); - conversionPattern = ((pixelNumber + 2) / 4 - (pixelNumber + 3) / 4 + (pixelNumber + 1) / 4 - pixelNumber / 4) * (1 - 2 * ilPattern); - - if(mode == 0) + float ta; + float gain; + float irDataCP[2]; + float irData; + float alphaCompensated; + uint8_t mode; + int8_t ilPattern; + int8_t chessPattern; + int8_t pattern; + int8_t conversionPattern; + float image; + uint16_t subPage; + float ktaScale; + float kvScale; + float kta; + float kv; + + subPage = frameData[833]; + vdd = mlx90640_GetVdd(frameData, params); + ta = mlx90640_GetTa(frameData, params); + + ktaScale = POW2(params->ktaScale); + kvScale = POW2(params->kvScale); + + //------------------------- Gain calculation ----------------------------------- + + gain = (float)params->gainEE / (int16_t)frameData[778]; + + //------------------------- Image calculation ------------------------------------- + + mode = (frameData[832] & mlx90640_CTRL_MEAS_MODE_MASK) >> 5; + + irDataCP[0] = (int16_t)frameData[776] * gain; + irDataCP[1] = (int16_t)frameData[808] * gain; + + irDataCP[0] = irDataCP[0] - params->cpOffset[0] * (1 + params->cpKta * (ta - 25)) * (1 + params->cpKv * (vdd - 3.3)); + if( mode == params->calibrationModeEE) { - pattern = ilPattern; + irDataCP[1] = irDataCP[1] - params->cpOffset[1] * (1 + params->cpKta * (ta - 25)) * (1 + params->cpKv * (vdd - 3.3)); } else { - pattern = chessPattern; + irDataCP[1] = irDataCP[1] - (params->cpOffset[1] + params->ilChessC[0]) * (1 + params->cpKta * (ta - 25)) * (1 + params->cpKv * (vdd - 3.3)); } - if(pattern == frameData[833]) + for( int pixelNumber = 0; pixelNumber < 768; pixelNumber++) { - irData = (int16_t)frameData[pixelNumber] * gain; + ilPattern = pixelNumber / 32 - (pixelNumber / 64) * 2; + chessPattern = ilPattern ^ (pixelNumber - (pixelNumber/2)*2); + conversionPattern = ((pixelNumber + 2) / 4 - (pixelNumber + 3) / 4 + (pixelNumber + 1) / 4 - pixelNumber / 4) * (1 - 2 * ilPattern); - kta = params->kta[pixelNumber]/ktaScale; - kv = params->kv[pixelNumber]/kvScale; - irData = irData - params->offset[pixelNumber]*(1 + kta*(ta - 25))*(1 + kv*(vdd - 3.3)); - - if(mode != params->calibrationModeEE) + if(mode == 0) { - irData = irData + params->ilChessC[2] * (2 * ilPattern - 1) - params->ilChessC[1] * conversionPattern; + pattern = ilPattern; + } + else + { + pattern = chessPattern; } - irData = irData - params->tgc * irDataCP[subPage]; + if(pattern == frameData[833]) + { + irData = (int16_t)frameData[pixelNumber] * gain; + + kta = params->kta[pixelNumber]/ktaScale; + kv = params->kv[pixelNumber]/kvScale; + irData = irData - params->offset[pixelNumber]*(1 + kta*(ta - 25))*(1 + kv*(vdd - 3.3)); - alphaCompensated = params->alpha[pixelNumber]; + if(mode != params->calibrationModeEE) + { + irData = irData + params->ilChessC[2] * (2 * ilPattern - 1) - params->ilChessC[1] * conversionPattern; + } - image = irData*alphaCompensated; + irData = irData - params->tgc * irDataCP[subPage]; - imageVect[pixelNumber] = image; + alphaCompensated = params->alpha[pixelNumber]; + + image = irData*alphaCompensated; + + result[pixelNumber] = image; + } } - } - emit dataReady(); } //------------------------------------------------------------------------------ diff --git a/src/MLX90640_API.h b/src/MLX90640_API.h index 3977114..a17d2cc 100644 --- a/src/MLX90640_API.h +++ b/src/MLX90640_API.h @@ -91,6 +91,26 @@ class MLX90640 : public QObject Q_OBJECT public: + Q_PROPERTY(bool initialized READ getInitialized WRITE setInitialized NOTIFY initializedChanged) + Q_PROPERTY(QVector imageVect READ getImageVect NOTIFY dataReady) + + QVector getImageVect() const { + return this->imageVect; + } + + bool initialized = false; + + bool getInitialized() { + return this->initialized; + } + + void setInitialized(bool val) { + if (this->initialized != val) { + this->initialized = val; + emit initializedChanged(); + } + } + typedef struct { int16_t kVdd; @@ -122,6 +142,9 @@ public: uint16_t outlierPixels[5]; } paramsMLX90640; + unsigned char slaveAddress = 0x33; + paramsMLX90640 mlx90640; + int mlx90640_DumpEE(uint8_t slaveAddr, uint16_t *eeData); int mlx90640_SynchFrame(uint8_t slaveAddr); int mlx90640_TriggerMeasurement(uint8_t slaveAddr); @@ -129,7 +152,7 @@ public: int mlx90640_ExtractParameters(uint16_t *eeData, paramsMLX90640 *MLX90640); Q_INVOKABLE float mlx90640_GetVdd(uint16_t *frameData, const paramsMLX90640 *params); Q_INVOKABLE float mlx90640_GetTa(uint16_t *frameData, const paramsMLX90640 *params); - Q_INVOKABLE void mlx90640_GetImage(uint16_t *frameData, const paramsMLX90640 *params); + Q_INVOKABLE void mlx90640_GetImage(uint16_t *frameData, const paramsMLX90640 *params, float *result); void mlx90640_CalculateTo(uint16_t *frameData, const paramsMLX90640 *params, float emissivity, float tr, float *result); Q_INVOKABLE int mlx90640_SetResolution(uint8_t slaveAddr, uint8_t resolution); int mlx90640_GetCurResolution(uint8_t slaveAddr); @@ -142,22 +165,39 @@ public: void mlx90640_BadPixelsCorrection(uint16_t *pixels, float *to, int mode, paramsMLX90640 *params); Q_INVOKABLE void fuzzyInit(){ - unsigned char slaveAddress = 0x33; - static uint16_t eeMLX90640[832]; - static uint16_t mlx90640Frame[834]; - paramsMLX90640 mlx90640; + int status; + status = mlx90640_SetRefreshRate (0x33,0x05); //16hz + status = mlx90640_SetResolution(0x33,0x00); //16 bit res + status = mlx90640_SetChessMode (0x33); //chess interlacing mode + getData(); //test read(initial) + + // Print out the array + for (int i = 0; i < imageVect.size(); ++i) { + fprintf(stderr, "ImageVect[%d]: %f\n", i, imageVect[i]); + } + + emit initializedChanged(); + } + Q_INVOKABLE void getData(){ + uint16_t eeMLX90640[832]; + uint16_t mlx90640Frame[834]; + float mlx90640Image[768]; int status; + status = mlx90640_DumpEE (slaveAddress, eeMLX90640); status = mlx90640_ExtractParameters(eeMLX90640, &mlx90640); status = mlx90640_GetFrameData (0x33, mlx90640Frame); - mlx90640_GetImage(mlx90640Frame, &mlx90640); - for (int i = 0; i < 834; ++i) { - imageVect[i] = mlx90640Frame[i]; + mlx90640_GetImage(mlx90640Frame, &mlx90640, mlx90640Image); + + for (int i = 0; i < 767; ++i) { + imageVect[i] = mlx90640Image[i]; } + + emit dataReady(); } - MLX90640() : imageVect(834){} + MLX90640() : imageVect(768){} QVector imageVect; protected: @@ -182,5 +222,6 @@ protected: int ValidateAuxData(uint16_t *auxData); signals: void dataReady(); + void initializedChanged(); }; #endif diff --git a/src/i2cif.cpp b/src/i2cif.cpp index b383d6e..c41c662 100644 --- a/src/i2cif.cpp +++ b/src/i2cif.cpp @@ -107,10 +107,9 @@ bool I2cif::tohVddGet() Q_INVOKABLE void I2cif::i2cWrite(const uint8_t &slaveAddr, const uint16_t &writeAddress, const uint16_t &data){ int file; - char buf[3]; + __u8 buf[4]; - QByteArray tmpBa = DEFAULT_I2C_DEV.toUtf8(); - const char* devNameChar = tmpBa.constData(); + const char* devNameChar = "/dev/i2c-1"; fprintf(stderr, "writing to address %02x: ", slaveAddr); @@ -129,13 +128,19 @@ Q_INVOKABLE void I2cif::i2cWrite(const uint8_t &slaveAddr, const uint16_t &write return; } - // prepare buffer to write - buf[0] = (writeAddress >> 8) & 0xFF; // writeAddress high byte - buf[1] = writeAddress & 0xFF; // writeAddress low byte - buf[2] = data & 0xFF; // data + buf[0] = (writeAddress >> 8) & 0xFF; // High byte + buf[1] = writeAddress & 0xFF; // Low byte + buf[2] = (data >> 8) & 0xFF; // High byte + buf[3] = data & 0xFF; // Low byte + + fprintf(stderr, "Data to be written: "); + for (int i = 0; i < 4; i++) { + fprintf(stderr, "%02x ", buf[i]); + } + fprintf(stderr, "\n"); /* write the data */ - if (write(file, buf, sizeof(buf)) != sizeof(buf)) + if (write(file, buf, 4) != 4) { close(file); fprintf(stderr,"write error\n"); @@ -148,7 +153,6 @@ Q_INVOKABLE void I2cif::i2cWrite(const uint8_t &slaveAddr, const uint16_t &write fprintf(stderr,"write ok\n"); emit i2cWriteOk(); - } void I2cif::i2cRead(const uint8_t &slaveAddr, const uint16_t &startAddress, const uint16_t &nMemAddressRead, uint16_t *data) diff --git a/thermi2c.pro.user b/thermi2c.pro.user index 4f18fa8..25e5e16 100644 --- a/thermi2c.pro.user +++ b/thermi2c.pro.user @@ -1,10 +1,10 @@ - + EnvironmentId - {1c177fcb-1c84-4ca7-bd41-3049d12e47bf} + {c60ee680-29c0-4f4f-bc71-809cccb10b9b} ProjectExplorer.Project.ActiveTarget @@ -79,7 +79,7 @@ true true Builtin.DefaultTidyAndClazy - 3 + 6 @@ -104,8 +104,8 @@ - C:\Users\Onyxa\Documents\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Debug - C:/Users/Onyxa/Documents/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Debug + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Debug + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Debug true @@ -161,8 +161,8 @@ - C:\Users\Onyxa\Documents\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Release - C:/Users/Onyxa/Documents/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Release + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Release + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Release true @@ -219,8 +219,8 @@ - C:\Users\Onyxa\Documents\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Profile - C:/Users/Onyxa/Documents/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Profile + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Profile + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Profile true @@ -275,7 +275,7 @@ - false + true QmakeProjectManager.MerPrepareTargetStep @@ -406,16 +406,16 @@ true - C:/Users/Onyxa/Documents/thermi2c + C:/Users/Onyxa/thermi2c false -1 3 1 - thermi2c - QmakeProjectManager.MerRunConfiguration:C:/Users/Onyxa/Documents/thermi2c/thermi2c.pro - C:/Users/Onyxa/Documents/thermi2c/thermi2c.pro + thermi2c (on %{Device:Name}) + QmakeProjectManager.MerRunConfiguration:C:/Users/Onyxa/thermi2c/thermi2c.pro + C:/Users/Onyxa/thermi2c/thermi2c.pro 1 false true @@ -425,9 +425,1168 @@ 1 + + ProjectExplorer.Project.Target.1 + + Mer.Device.Type + SailfishOS-3.4.0.24-aarch64 (in Sailfish SDK Build Engine) + SailfishOS-3.4.0.24-aarch64 (in Sailfish SDK Build Engine) + SailfishOS-3.4.0.24-aarch64.default + 0 + 0 + 0 + + 0 + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_aarch64_in_Sailfish_SDK_Build_Engine-Debug + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_aarch64_in_Sailfish_SDK_Build_Engine-Debug + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 1 + + + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_aarch64_in_Sailfish_SDK_Build_Engine-Release + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_aarch64_in_Sailfish_SDK_Build_Engine-Release + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 1 + + + 0 + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_aarch64_in_Sailfish_SDK_Build_Engine-Profile + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_aarch64_in_Sailfish_SDK_Build_Engine-Profile + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 1 + 0 + + 3 + + + + false + QmakeProjectManager.MerPrepareTargetStep + + + true + QmakeProjectManager.MerRpmBuildStep + + + --sdk + true + QmakeProjectManager.MerRpmDeployStep + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerRpmDeployConfiguration + + + + + true + QmakeProjectManager.MerRpmBuildStep + + + true + QmakeProjectManager.MerRpmValidationStep + + 2 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerMb2RpmBuildConfiguration + + + + + true + QmakeProjectManager.MerPrepareTargetStep + + + true + QmakeProjectManager.MerMakeInstallBuildStep + + + --rsync + true + QmakeProjectManager.MerRsyncDeployStep + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerRSyncDeployConfiguration + + 3 + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + + 25 + + 1 + true + false + true + + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + true + C:/Users/Onyxa/thermi2c + false + -1 + 3 + + 1 + + thermi2c + QmakeProjectManager.MerRunConfiguration:C:/Users/Onyxa/thermi2c/thermi2c.pro + C:/Users/Onyxa/thermi2c/thermi2c.pro + 1 + false + true + false + true + + 1 + + + + ProjectExplorer.Project.Target.2 + + Mer.Device.Type + SailfishOS-3.4.0.24-i486 (in Sailfish SDK Build Engine) + SailfishOS-3.4.0.24-i486 (in Sailfish SDK Build Engine) + SailfishOS-3.4.0.24-i486.default + 0 + 0 + 0 + + 0 + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_i486_in_Sailfish_SDK_Build_Engine-Debug + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_i486_in_Sailfish_SDK_Build_Engine-Debug + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 1 + + + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_i486_in_Sailfish_SDK_Build_Engine-Release + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_i486_in_Sailfish_SDK_Build_Engine-Release + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 1 + + + 0 + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_3_4_0_24_i486_in_Sailfish_SDK_Build_Engine-Profile + C:/Users/Onyxa/build-thermi2c-SailfishOS_3_4_0_24_i486_in_Sailfish_SDK_Build_Engine-Profile + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 1 + 0 + + 3 + + + + true + QmakeProjectManager.MerPrepareTargetStep + + + true + QmakeProjectManager.MerRpmBuildStep + + + --sdk + true + QmakeProjectManager.MerRpmDeployStep + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerRpmDeployConfiguration + + + + + true + QmakeProjectManager.MerRpmBuildStep + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerMb2RpmBuildConfiguration + + + + + true + QmakeProjectManager.MerPrepareTargetStep + + + true + QmakeProjectManager.MerMakeInstallBuildStep + + + --rsync + true + QmakeProjectManager.MerRsyncDeployStep + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerRSyncDeployConfiguration + + 3 + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + + 25 + + 1 + true + false + true + + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + true + C:/Users/Onyxa/thermi2c + false + -1 + 3 + + 2 + + ProjectExplorer.CustomExecutableRunConfiguration + + false + true + false + true + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + + 25 + + 1 + true + false + true + + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + true + C:/Users/Onyxa/thermi2c + false + -1 + 3 + + 1 + + QmakeProjectManager.MerCustomRunConfiguration: + + 1 + false + true + false + true + + 2 + + + + ProjectExplorer.Project.Target.3 + + Mer.Device.Type + SailfishOS-4.5.0.18-aarch64 (in Sailfish SDK Build Engine) + SailfishOS-4.5.0.18-aarch64 (in Sailfish SDK Build Engine) + SailfishOS-4.5.0.18-aarch64.default + 0 + 0 + 0 + + 0 + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_4_5_0_18_aarch64_in_Sailfish_SDK_Build_Engine-Debug + C:/Users/Onyxa/build-thermi2c-SailfishOS_4_5_0_18_aarch64_in_Sailfish_SDK_Build_Engine-Debug + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 1 + + + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_4_5_0_18_aarch64_in_Sailfish_SDK_Build_Engine-Release + C:/Users/Onyxa/build-thermi2c-SailfishOS_4_5_0_18_aarch64_in_Sailfish_SDK_Build_Engine-Release + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 1 + + + 0 + false + + + + + C:\Users\Onyxa\build-thermi2c-SailfishOS_4_5_0_18_aarch64_in_Sailfish_SDK_Build_Engine-Profile + C:/Users/Onyxa/build-thermi2c-SailfishOS_4_5_0_18_aarch64_in_Sailfish_SDK_Build_Engine-Profile + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 1 + 0 + + 3 + + + + true + QmakeProjectManager.MerPrepareTargetStep + + + true + QmakeProjectManager.MerRpmBuildStep + + + --sdk + true + QmakeProjectManager.MerRpmDeployStep + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerRpmDeployConfiguration + + + + + true + QmakeProjectManager.MerRpmBuildStep + + 1 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerMb2RpmBuildConfiguration + + + + + true + QmakeProjectManager.MerPrepareTargetStep + + + true + QmakeProjectManager.MerMakeInstallBuildStep + + + --rsync + true + QmakeProjectManager.MerRsyncDeployStep + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerRSyncDeployConfiguration + + 3 + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + + 25 + + 1 + true + false + true + + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + true + C:/Users/Onyxa/thermi2c + false + -1 + 3 + + 2 + + ProjectExplorer.CustomExecutableRunConfiguration + + false + true + false + true + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + + 25 + + 1 + true + false + true + + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + true + C:/Users/Onyxa/thermi2c + false + -1 + 3 + + 1 + + Custom Executable2 + QmakeProjectManager.MerCustomRunConfiguration: + + 1 + false + true + false + true + + 2 + + ProjectExplorer.Project.TargetCount - 1 + 4 ProjectExplorer.Project.Updater.FileVersion diff --git a/thermi2c.pro.user.1c177fc b/thermi2c.pro.user.1c177fc new file mode 100644 index 0000000..4f18fa8 --- /dev/null +++ b/thermi2c.pro.user.1c177fc @@ -0,0 +1,440 @@ + + + + + + EnvironmentId + {1c177fcb-1c84-4ca7-bd41-3049d12e47bf} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + false + true + false + 0 + true + true + 0 + 8 + true + false + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + false + true + true + true + true + + + 0 + true + + -fno-delayed-template-parsing + + true + Builtin.BuildSystem + + true + true + Builtin.DefaultTidyAndClazy + 3 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Mer.Device.Type + SailfishOS-3.4.0.24-armv7hl (in Sailfish SDK Build Engine) + SailfishOS-3.4.0.24-armv7hl (in Sailfish SDK Build Engine) + SailfishOS-3.4.0.24-armv7hl.default + 0 + 0 + 0 + + 0 + false + + + + + C:\Users\Onyxa\Documents\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Debug + C:/Users/Onyxa/Documents/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Debug + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 1 + + + false + + + + + C:\Users\Onyxa\Documents\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Release + C:/Users/Onyxa/Documents/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Release + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 1 + + + 0 + false + + + + + C:\Users\Onyxa\Documents\build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Profile + C:/Users/Onyxa/Documents/build-thermi2c-SailfishOS_3_4_0_24_armv7hl_in_Sailfish_SDK_Build_Engine-Profile + + + true + Mer.MerSdkStartStep + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 3 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Mer.MerSdkStartStep + + + reset + true + Mer.MerClearBuildEnvironmentStep + + + true + Qt4ProjectManager.MakeStep + clean + + 3 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 1 + 0 + + 3 + + + + false + QmakeProjectManager.MerPrepareTargetStep + + + true + QmakeProjectManager.MerRpmBuildStep + + + --sdk + true + QmakeProjectManager.MerRpmDeployStep + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerRpmDeployConfiguration + + + + + true + QmakeProjectManager.MerRpmBuildStep + + + true + QmakeProjectManager.MerRpmValidationStep + + 2 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerMb2RpmBuildConfiguration + + + + + true + QmakeProjectManager.MerPrepareTargetStep + + + true + QmakeProjectManager.MerMakeInstallBuildStep + + + --rsync + true + QmakeProjectManager.MerRsyncDeployStep + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + QmakeProjectManager.MerRSyncDeployConfiguration + + 3 + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + + 25 + + 1 + true + false + true + + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + true + C:/Users/Onyxa/Documents/thermi2c + false + -1 + 3 + + 1 + + thermi2c + QmakeProjectManager.MerRunConfiguration:C:/Users/Onyxa/Documents/thermi2c/thermi2c.pro + C:/Users/Onyxa/Documents/thermi2c/thermi2c.pro + 1 + false + true + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + +