diff --git a/about_dialog.cpp b/about_dialog.cpp index 35ebf84..5239f23 100644 --- a/about_dialog.cpp +++ b/about_dialog.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/about_dialog.h b/about_dialog.h index 1a5fa5c..f8d2324 100644 --- a/about_dialog.h +++ b/about_dialog.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/connection.cpp b/connection.cpp index e442970..c248482 100644 --- a/connection.cpp +++ b/connection.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/connection.h b/connection.h index 58dbea4..c21ed08 100644 --- a/connection.h +++ b/connection.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/global.h b/global.h index 40d297e..b38a53c 100644 --- a/global.h +++ b/global.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * @@ -33,7 +33,7 @@ #define PROGRAM_NAME "DSRemote" -#define PROGRAM_VERSION "0.31_1512291404" +#define PROGRAM_VERSION "0.31_1601021654" #define MAX_PATHLEN 4096 diff --git a/interface.cpp b/interface.cpp index f6e9453..6fb68db 100644 --- a/interface.cpp +++ b/interface.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/mainwindow.cpp b/mainwindow.cpp index 9a8dec5..1974803 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/mainwindow.h b/mainwindow.h index c2b20e7..4a02b42 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/mainwindow_constr.cpp b/mainwindow_constr.cpp index 14286da..30a00c2 100644 --- a/mainwindow_constr.cpp +++ b/mainwindow_constr.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/save_data.cpp b/save_data.cpp index 4f2992e..840525a 100644 --- a/save_data.cpp +++ b/save_data.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * @@ -401,7 +401,7 @@ void UI_Mainwindow::save_memory_waveform() break; } - wavbuf[chn][bytes_rcvd + k] = (int)(((unsigned char *)device->buf)[k]) - yref[chn] - yor[chn]; + wavbuf[chn][bytes_rcvd + k] = ((int)(((unsigned char *)device->buf)[k]) - yref[chn] - yor[chn]) << 5; } bytes_rcvd += n; @@ -514,14 +514,14 @@ void UI_Mainwindow::save_memory_waveform() edf_set_digital_minimum(hdl, j, -32768); if(devparms.chanscale[chn] > 2) { - edf_set_physical_maximum(hdl, j, yinc[chn] * 32767); - edf_set_physical_minimum(hdl, j, yinc[chn] * -32768); + edf_set_physical_maximum(hdl, j, yinc[chn] * 32767.0 / 32.0); + edf_set_physical_minimum(hdl, j, yinc[chn] * -32768.0 / 32.0); edf_set_physical_dimension(hdl, j, "V"); } else { - edf_set_physical_maximum(hdl, j, 1000 * yinc[chn] * 32767); - edf_set_physical_minimum(hdl, j, 1000 * yinc[chn] * -32768); + edf_set_physical_maximum(hdl, j, 1000.0 * yinc[chn] * 32767.0 / 32.0); + edf_set_physical_minimum(hdl, j, 1000.0 * yinc[chn] * -32768.0 / 32.0); edf_set_physical_dimension(hdl, j, "mV"); } sprintf(str, "CHAN%i", chn + 1); @@ -831,7 +831,7 @@ void UI_Mainwindow::save_screen_waveform() for(i=0; ibuf)[i]) - yref[chn] - yor[chn]; + wavbuf[chn][i] = ((int)(((unsigned char *)device->buf)[i]) - yref[chn] - yor[chn]) << 5; } } @@ -879,14 +879,14 @@ void UI_Mainwindow::save_screen_waveform() edf_set_digital_minimum(hdl, j, -32768); if(devparms.chanscale[chn] > 2) { - edf_set_physical_maximum(hdl, j, yinc[chn] * 32767); - edf_set_physical_minimum(hdl, j, yinc[chn] * -32768); + edf_set_physical_maximum(hdl, j, yinc[chn] * 32767.0 / 32.0); + edf_set_physical_minimum(hdl, j, yinc[chn] * -32768.0 / 32.0); edf_set_physical_dimension(hdl, j, "V"); } else { - edf_set_physical_maximum(hdl, j, 1000 * yinc[chn] * 32767); - edf_set_physical_minimum(hdl, j, 1000 * yinc[chn] * -32768); + edf_set_physical_maximum(hdl, j, 1000.0 * yinc[chn] * 32767.0 / 32.0); + edf_set_physical_minimum(hdl, j, 1000.0 * yinc[chn] * -32768.0 / 32.0); edf_set_physical_dimension(hdl, j, "mV"); } sprintf(str, "CHAN%i", chn + 1); diff --git a/screen_thread.cpp b/screen_thread.cpp index dcf688d..0f1198b 100644 --- a/screen_thread.cpp +++ b/screen_thread.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/screen_thread.h b/screen_thread.h index 84d9f94..07ba619 100644 --- a/screen_thread.h +++ b/screen_thread.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/settings_dialog.cpp b/settings_dialog.cpp index 1315b75..3711d7b 100644 --- a/settings_dialog.cpp +++ b/settings_dialog.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/settings_dialog.h b/settings_dialog.h index 98cd229..9ebaf92 100644 --- a/settings_dialog.h +++ b/settings_dialog.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/signalcurve.cpp b/signalcurve.cpp index 9411510..59ff3bd 100644 --- a/signalcurve.cpp +++ b/signalcurve.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015 Teunis van Beelen +* Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/signalcurve.h b/signalcurve.h index 5b24183..beab88e 100644 --- a/signalcurve.h +++ b/signalcurve.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/timer_handlers.cpp b/timer_handlers.cpp index 0b75925..27d0cca 100644 --- a/timer_handlers.cpp +++ b/timer_handlers.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/tled.cpp b/tled.cpp index 2fbffd0..f9588a1 100644 --- a/tled.cpp +++ b/tled.cpp @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2014, 2015 Teunis van Beelen +* Copyright (C) 2014, 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/tled.h b/tled.h index fb9e20f..a1f6a96 100644 --- a/tled.h +++ b/tled.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2014, 2015 Teunis van Beelen +* Copyright (C) 2014, 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/tmc_dev.c b/tmc_dev.c index 85cce87..4c74c45 100644 --- a/tmc_dev.c +++ b/tmc_dev.c @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/tmc_dev.h b/tmc_dev.h index 57c2f34..9cf508a 100644 --- a/tmc_dev.h +++ b/tmc_dev.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/tmc_lan.c b/tmc_lan.c index 9d4d0aa..ae8eacb 100644 --- a/tmc_lan.c +++ b/tmc_lan.c @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/tmc_lan.h b/tmc_lan.h index 6219df5..8a1da9f 100644 --- a/tmc_lan.h +++ b/tmc_lan.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2015 Teunis van Beelen +* Copyright (C) 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * diff --git a/utils.c b/utils.c index b138ff6..904e77a 100644 --- a/utils.c +++ b/utils.c @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Teunis van Beelen +* Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * @@ -1599,114 +1599,6 @@ void hextobin(char *dest, const char *str) } -int convert_to_metric_suffix(char *buf, double value, int decimals) -{ - double ltmp; - - char suffix=' '; - - if(value < 0) - { - ltmp = value * -1; - } - else - { - ltmp = value; - } - - if(ltmp >= 1e12 && ltmp < 1e15) - { - ltmp = ltmp / 1e12; - - suffix = 'T'; - } - else if(ltmp >= 1e9 && ltmp < 1e12) - { - ltmp = ltmp / 1e9; - - suffix = 'G'; - } - else if(ltmp >= 1e6 && ltmp < 1e9) - { - ltmp = ltmp / 1e6; - - suffix = 'M'; - } - else if(ltmp >= 1e3 && ltmp < 1e6) - { - ltmp /= 1e3; - - suffix = 'K'; - } - else if(ltmp >= 1e-3 && ltmp < 1) - { - ltmp *= 1e3; - - suffix = 'm'; - } - else if( ltmp >= 1e-6 && ltmp < 1e-3) - { - ltmp *= 1e6; - - suffix = 'u'; - } - else if(ltmp >= 1e-9 && ltmp < 1e-6) - { - ltmp *= 1e9; - - suffix = 'n'; - } - else if(ltmp >= 1e-12 && ltmp < 1e-9) - { - ltmp *= 1e12; - - suffix = 'p'; - } - - if(value >= 0) - { - switch(decimals) - { - case 0: return sprintf(buf, "%.0f%c", ltmp, suffix); - break; - case 1: return sprintf(buf, "%.1f%c", ltmp, suffix); - break; - case 2: return sprintf(buf, "%.2f%c", ltmp, suffix); - break; - case 3: return sprintf(buf, "%.3f%c", ltmp, suffix); - break; - case 4: return sprintf(buf, "%.4f%c", ltmp, suffix); - break; - case 5: return sprintf(buf, "%.5f%c", ltmp, suffix); - break; - case 6: return sprintf(buf, "%.6f%c", ltmp, suffix); - break; - default: return sprintf(buf, "%.3f%c", ltmp, suffix); - break; - } - } - - if(value < 0) - { - switch(decimals) - { - case 0: return sprintf(buf, "%.0f%c", ltmp * -1, suffix); - break; - case 1: return sprintf(buf, "%.1f%c", ltmp * -1, suffix); - break; - case 2: return sprintf(buf, "%.2f%c", ltmp * -1, suffix); - break; - default: return sprintf(buf, "%.3f%c", ltmp * -1, suffix); - break; - } - } - - strcpy(buf, "0"); - - return 1; -} - - double round_up_step125(double val) { int i, exp=0; @@ -1819,6 +1711,114 @@ double round_down_step125(double val) } +int convert_to_metric_suffix(char *buf, double value, int decimals) +{ + double ltmp; + + char suffix=' '; + + if(value < 0) + { + ltmp = value * -1; + } + else + { + ltmp = value; + } + + if(ltmp >= 1e12 && ltmp < 1e15) + { + ltmp = ltmp / 1e12; + + suffix = 'T'; + } + else if(ltmp >= 1e9 && ltmp < 1e12) + { + ltmp = ltmp / 1e9; + + suffix = 'G'; + } + else if(ltmp >= 1e6 && ltmp < 1e9) + { + ltmp = ltmp / 1e6; + + suffix = 'M'; + } + else if(ltmp >= 1e3 && ltmp < 1e6) + { + ltmp /= 1e3; + + suffix = 'K'; + } + else if(ltmp >= 1e-3 && ltmp < 1) + { + ltmp *= 1e3; + + suffix = 'm'; + } + else if( ltmp >= 1e-6 && ltmp < 1e-3) + { + ltmp *= 1e6; + + suffix = 'u'; + } + else if(ltmp >= 1e-9 && ltmp < 1e-6) + { + ltmp *= 1e9; + + suffix = 'n'; + } + else if(ltmp >= 1e-12 && ltmp < 1e-9) + { + ltmp *= 1e12; + + suffix = 'p'; + } + + if(value >= 0) + { + switch(decimals) + { + case 0: return sprintf(buf, "%.0f%c", ltmp, suffix); + break; + case 1: return sprintf(buf, "%.1f%c", ltmp, suffix); + break; + case 2: return sprintf(buf, "%.2f%c", ltmp, suffix); + break; + case 3: return sprintf(buf, "%.3f%c", ltmp, suffix); + break; + case 4: return sprintf(buf, "%.4f%c", ltmp, suffix); + break; + case 5: return sprintf(buf, "%.5f%c", ltmp, suffix); + break; + case 6: return sprintf(buf, "%.6f%c", ltmp, suffix); + break; + default: return sprintf(buf, "%.3f%c", ltmp, suffix); + break; + } + } + + if(value < 0) + { + switch(decimals) + { + case 0: return sprintf(buf, "%.0f%c", ltmp * -1, suffix); + break; + case 1: return sprintf(buf, "%.1f%c", ltmp * -1, suffix); + break; + case 2: return sprintf(buf, "%.2f%c", ltmp * -1, suffix); + break; + default: return sprintf(buf, "%.3f%c", ltmp * -1, suffix); + break; + } + } + + strcpy(buf, "0"); + + return 1; +} + + int strtoipaddr(unsigned int *dest, const char *src) { int i, err=1; @@ -1873,3 +1873,10 @@ int strtoipaddr(unsigned int *dest, const char *src) + + + + + + + diff --git a/utils.h b/utils.h index 023b0db..f45905c 100644 --- a/utils.h +++ b/utils.h @@ -3,7 +3,7 @@ * * Author: Teunis van Beelen * -* Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Teunis van Beelen +* Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Teunis van Beelen * * Email: teuniz@gmail.com * @@ -86,7 +86,10 @@ void asciitohex(char *, const char *); /* destination must have double the size void asciitobin(char *, const char *); /* destination must have eight times the size of source! */ void hextobin(char *, const char *); /* destination must have four times the size of source! */ +/* Converts a double to Giga/Mega/Kilo/milli/micro/etc. */ +/* int is number of decimals. Result is written into the string argument */ int convert_to_metric_suffix(char *, double, int); + double round_up_step125(double); /* Rounds the value up to 1-2-5 steps */ double round_down_step125(double); /* Rounds the value down to 1-2-5 steps */