Wed, 29 Jun 2022 21:28:13 +0200
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
316
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | /*************************************************************************** |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | * Copyright (C) 2006-2008 by Tomasz Ziobrowski * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
3 | * http://www.3electrons.com * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | * e-mail: t.ziobrowski@3electrons.com * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | * * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | * * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | * This program is free software; you can redistribute it and/or modify * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
8 | * it under the terms of the GNU General Public License as published by * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | * the Free Software Foundation; either version 2 of the License, or * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | * (at your option) any later version. * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
11 | * * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
12 | * This program is distributed in the hope that it will be useful, * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
15 | * GNU General Public License for more details. * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
16 | * * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
17 | * You should have received a copy of the GNU General Public License * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
18 | * along with this program; if not, write to the * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
19 | * Free Software Foundation, Inc., * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
20 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
21 | ***************************************************************************/ |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
22 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
23 | #ifndef _FUNCTIONS_H_ |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
24 | #define _FUNCTIONS_H_ |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
25 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
26 | #include <assert.h> |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
27 | #include <cmath> |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
28 | //#include <iostream> // dla testów |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
29 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
30 | using namespace std; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
31 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
32 | /** |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
33 | * Znajduje największą wartość mniejszą od scaleSize/steps i |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
34 | * jednocześnie będącą całkowicie podzielną przez wartość |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
35 | * 10^N gdzie n jest dowolną liczbą całkowitą. |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
36 | * dla 5,2,1 jest to odpowiedniio {...,500,50,5,0.5,...}, |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
37 | * {...200,20,2,0.2,0.02,...} etc. |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
38 | */ |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
39 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
40 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
41 | double minimalStep(double scaleSize, int steps); |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
42 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
43 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
44 | /** |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
45 | * Szablonowa funkcja do wyznaczania skali w zadanym przedziale o wyznaczonej ilości punktów skali. |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
46 | * Na podstawie wartości minimalnej oraz maksymalnej, jaką chcemy osiągnać ustawia |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
47 | * wartości m_min oraz m_max w taki sposób cały przedział skali (m_max-m_min) był podzielny |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
48 | * przez ilość punktów skali a odległość pomiędzy punktami skali była wartoscią która jest |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
49 | * wieloktornością liczby 5. Dodatkowo isnieje możliwość przesunięcia skali w lewo lub prawo by |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
50 | * rozpoczynała się jak najbliżej wartości minimalnej lub kończyła jak najbliżej wartości |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
51 | * maksymalnej. |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
52 | * |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
53 | * @param m_minimum - wartość minilana na skali jaka ma być widoczna |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
54 | * @param m_maximum - wartość maksymalna na skali jaka ma być widoczna |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
55 | * @param m_min - wyliczona wartość początkowa skali |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
56 | * @param m_max - wyliczona wartość końcowa skali |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
57 | * @param stesp - ilość węzłów jaką ma mieć skala |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
58 | * @param left - czy skala ma być wyrównana do lewej czy do prawej (domyślnie do prawej). |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
59 | * @return Funkcja zwraca wartość true jeżeli wartości m_min oraz m_max w wyniku zmiany zakresu |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
60 | * zmieniły swoją wartość. Na podstawie tej wartości wiadomo czy należy np. przerysować skalę |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
61 | * - podając wcześniej poprzednie wartości zakresu skali. |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
62 | */ |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
63 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
64 | template <typename T> |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
65 | bool range(T m_minimum,T m_maximum, T & m_min, T & m_max,unsigned int steps, bool left = false,double inc = 5.0) |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
66 | { |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
67 | //cout<<"("<<m_minimum<<","<<m_maximum<<") ("<<m_min<<","<<m_max<<")"<<endl; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
68 | T max_tmp = m_max, min_tmp = m_min; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
69 | m_max=m_maximum; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
70 | m_min=m_minimum; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
71 | assert( m_max > m_min ); |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
72 | // assert( (m_max - m_min) > 0 ); |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
73 | // if (m_max<0) left!=left; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
74 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
75 | T diff = abs(m_max - m_min); |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
76 | T scale = 0, factor = 0 ; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
77 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
78 | while (inc * steps > (m_maximum-m_minimum)) |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
79 | if (inc/10 > 0 ) inc/=10; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
80 | else break; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
81 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
82 | bool done = false; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
83 | while ( diff > scale ) |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
84 | { factor+=static_cast<T>(inc); scale = factor * steps; } |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
85 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
86 | while (!done) |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
87 | { |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
88 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
89 | // dirty hack to have zero equal exactly zero |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
90 | if (m_max<0) m_max=m_min - fmodf(m_min,steps); |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
91 | else m_max = 0.0; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
92 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
93 | while ( m_max < m_maximum ) m_max +=factor; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
94 | m_min = m_max - scale; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
95 | if (m_min <= m_minimum ) done = true; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
96 | else { factor+=static_cast<T>(inc); scale = factor * steps; } |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
97 | } |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
98 | // Wprowadzenie koretkty by skala nie przesuwała się w lewo na osi X |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
99 | if (left) |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
100 | while (m_min + factor <= m_minimum) |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
101 | { |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
102 | m_min+=factor; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
103 | m_max+=factor; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
104 | } |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
105 | // cout<<"Min:"<<m_min<<" Max:"<<m_max<<endl; |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
106 | return (m_max != max_tmp) | (m_min != min_tmp); |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
107 | } |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
108 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
109 | |
dcd472be9ae8
Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
110 | #endif // _FUNCTIONS_H_ |