Closed 3813127458 closed 4 months ago
Yes, it seems the parser cannot recognize the decimal delimiter for DE locale. I will look into this.
@3813127458 Could you tell your locale
settings? I have tried with LANG=de_DE
locale and the behavior is a bit different.
The locale
command gives the following listing:
LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC=de_DE.UTF-8 LC_TIME=de_DE.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=de_DE.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=de_DE.UTF-8 LC_NAME=de_DE.UTF-8 LC_ADDRESS=de_DE.UTF-8 LC_TELEPHONE=de_DE.UTF-8 LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=de_DE.UTF-8 LC_ALL=
On the actual development branch Qucs-S 24.1-9fc4db38 the problem still exists.
I use the following desktop:
Operating System: Manjaro Linux KDE Plasma Version: 5.27.10 KDE Frameworks Version: 5.113.0 Qt Version: 5.15.11 Kernel Version: 6.6.8-2-MANJARO (64-bit) Graphics Platform: X11
If you have a fix I will test it. The tuner slider is a key feature ... should work very solid in the next major release.
We should think also about two further issues (optional):
1) Tuner limits and step size saved optional in parameters VAL[[[:MIN]:MAX]:STEP]
.
This is useful in many cases, as it is not required to re-define the tuner slider parameters every time again.
Could be used also for optimizer parameter limits.
2) Simulation time: if a circuit becomes more complex (>1 sec simulation time), the tuner slider becomes more or less useless. There are several options how to handle this. a) let the tuner slider free moving and hand over the actual value if the simulator stops by b) start multiple simulator kernel threads
I have tried to use your locale settings, but I cannot reproduce this issue. The numbers use the syntax with dot on my machine and tuner dialog has no problems. I have tried Ubunutu-22.04 with Qt 5.15 and Qt 6.2.4. I suspect this may be Qt version dependent or platform dependent.
I have changed from Manjaro KDE/X11 to Manjaro GNOME/Wayland desktop and face same issue:
Screencast_from_2024_01_12_15_58_18.webm
locale: LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC=de_DE.UTF-8 LC_TIME=de_DE.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=de_DE.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=de_DE.UTF-8 LC_NAME=de_DE.UTF-8 LC_ADDRESS=de_DE.UTF-8 LC_TELEPHONE=de_DE.UTF-8 LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=de_DE.UTF-8 LC_ALL=
System:
What Qt version are you using? Is it Qt5 or Qt6 build?
Qucs-S About Qt
log: Qt 6.6.1
I always use these commands to build the current branch:
git clone https://github.com/ra3xdh/qucs_s.git
cd qucs_s
mkdir builddir
cd builddir
cmake ..
make
sudo make install
Also on openSUSE Tumbleweed the dot is not accepted in the tuner slider input fields:
Operating System: openSUSE Tumbleweed 20240119 KDE Plasma Version: 5.27.10 KDE Frameworks Version: 5.114.0 Qt Version: 5.15.12 Kernel Version: 6.6.11-1-default (64-bit) Graphics Platform: X11 Processors: 4 × Intel® Core™ i7-4600U CPU @ 2.10GHz Memory: 15,3 GiB of RAM Graphics Processor: Mesa Intel® HD Graphics 4400 Manufacturer: CompuLab Ltd. Product Name: Intense-PC2 (IPC2) System Version: 1.x
LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC=de_DE.UTF-8 LC_TIME=de_DE.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=de_DE.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
KDE keyboard numblock setting:
I still cannot reproduce it on Ubuntu. I have to install one of the mentioned distributions in the VM to make debugging. Don't expect a quick fix by this reason.
@3813127458 on the video from the original post you type in 1.0 which is then parsed as 10 (1,00E+01) because of the German locale. If I'm not mixing it all up German uses points to delimit thousands and in other places points mean nothing. 10 > 2.9095 → min value is invalid.
But had you used comma to delimit fractional part from integer one, it wouldn't have worked anyway, because text-to-float conversion is locale unaware
So I believe the actual bug is the text-to-float conversion in tuner dialog.
I can try to prepare a fix, but I can't say how long will it take, spare time has been scarce lately :(
It seems the bug has been fixed by someone (maybe Vadim?) a couple of weeks ago.
I am actually testing Windows version 24.1-afe87e7b and Linux version 24.2 on openSUSE Tumbleweed and can confirm that the tuner is working seamless without any issues with my locales de setting, both Windows and Linux.
Therefore, I think this issue could be closed for now.
Hm, that's strange. What's your locale settings on Tumbleweed?
werner@ipc2:~> locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC=de_DE.UTF-8 LC_TIME=de_DE.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=de_DE.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
Operating System: openSUSE Tumbleweed 20240227 KDE Plasma Version: 5.27.10 KDE Frameworks Version: 5.115.0 Qt Version: 5.15.12 Kernel Version: 6.7.6-1-default (64-bit) Graphics Platform: X11 Processors: 4 × Intel® Core™ i7-4600U CPU @ 2.10GHz Memory: 15,3 GiB of RAM Graphics Processor: Mesa Intel® HD Graphics 4400 Manufacturer: CompuLab Ltd. Product Name: Intense-PC2 (IPC2) System Version: 1.x
I've tried Qucs-S from the current
branch:
LC_NUMERIC=ru_RU.UTF-8
it's not possible to input points (that's OK), but values with fractional parts (i.e. with comma) raise error messageLC_NUMERIC=de_DE.UTF-8
I can input any values with point, but the slider seems to ignore them.@3813127458 could you please check whether the range of the slider actually changes when you input new values to "Min" or "Max" fields in tuner dialog?
Yes, you are right, the bug at the slider limits still exists:
Update: better video
https://github.com/ra3xdh/qucs_s/assets/75557552/d3731fc0-84e1-41ac-9049-2b50448175fe
I think in general the numbers should be point separated. Usually I do no take care about a locale setting and use always point "." as a separator in all scientific numeric applications.
@3813127458 I've made a fix based on your idea of using dot as the only possible separator in numbers, PR #636
Fixed via #636
Probably this little bug is related to system language (EN) and system locales (DE) combination(?):
Tuner_Slider_Bug.zip Screencast from 2023-12-28 07-06-47.webm