-
-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Smoothing broken after PR #1043 ? #1081
Comments
@Lord-Grey Still the same i'm afraid. I've set Output Rate to 25 in the GUI, saved and restarted the Hyperion Service to verify that it's actually saved. Still shows 25 in GUI but logs says 0.
|
@orecus Sorry, did you load a pre-build artifact from git or built one by your own? For testing, I loaded the Window Build, did updates to all fields (with values easily recognisable) and those values perfectly made it to the log output.
Even after restart, I get the same value again:
Maybe you start with a fresh configuration DB? |
Seems "Build: Test (LordGrey-722eb79b/228c6c4f-1604732075)" incorporate that fix. |
@Lord-Grey The basic steps I did when I found this issue and my test today;
I never wiped my configuration after the clean install in step 1 for the test today either, I also had other errors in the GUI that was solved by removing sessionStorage and localStorage when I first tested 36c0514 which is also why I started fully fresh with it and wiped my configuration for step 1. |
@orecus I will have another look. @awawa-dev/ @orecus I tested with old config records in the DB and then started Hyperion and it worked at my end. In case you are running multiple installations, have you updated the Webserver path to ensure that the lastest JavaScript files are used? A mismatch of Js with backend code is sometimes the reason for misbehavior... |
@Lord-Grey I'm only running one installation (but with three WLED devices configured) on my end, attached is my configuration. Hyperion-2.0.0-alpha.8-Backup (Ambilight Config) 2020.11.07.json.txt |
Please find below the test-scenario moving from Alpha-8" to "new". Have the smoothing configuration as in Alpha-8 (I put some odd numbers for traceability). Start hyperion
Update Output_Rate = 20, Save
Database is fully in line with the saved values. |
@orecus I guess I now know what might confuse you.... You see different selectConfig log-lines. Some with e.g. decay and some even with linear and different value sets, correct. Similar to those:
The reason for the different logs is that one could configure a different smoothing configuration set per effect. Hoping that explains the background.... |
Compiled PR myself and it doesnt work, jumps from one settings to other after start
As you can see it's only linear...which settings are applied and what is the difference between 'Update freqency' and 'Output rate'? I think that it's important because now I'm lost how to setup linear smoothing. |
see previous post for the explanation. seems feedback cross... |
nope, there is no 'decay' in my log |
You will only see "decay", if you configured decay. You configured "linear". I just refereed in the explanation to my sample provided. I just pushed a small change that you see the config# before the type of configuration. cfg [0] matchs the values on the UI Sample:
|
OK, I've completely disabled effects. Now I have double initialization but at least the settings are correct:
But still I dont know how to setup linear smoothing. Which settings holds frequency for LEDs. |
When you use linear mode, the only settings that matter are Time and Update Frequency. They should work exactly like they used before. e.g.: Type: Should update the LEDs every 40ms = 25 times a second, and target a linear interpolation time of 190ms between frames. This just behaves like it used to before introduction of decay. The values of interpolationRate and outputRate are not taken into account, these are only used for Type = Decay. Edit: You could achieve a similar behaviour for decay-mode when you select: Type: This will calculate a new frame that consists of the last 190ms average colors per LED every 40ms = 25 times a second and output it every time to the LEDs. |
@Lord-Grey That explains the values in the logs, good that you added I still see outputRate = 0 for both the configurations in the log, even when I've set it to 25 in the GUI, I would expect one of them to show 25 since that is set in the UI. |
Bug report
It seems that Smoothing is completely broken after the #1043 PR. Tested first on commit 36c0514 and going back to commit 8345544 works fine.
If smoothing is enabled on 36c0514 the LEDS never update, regardless of the configuration set for Smoothing, the "outputRate" is always 0hz regardless of what is set in the UI. If I disable Smoothing, they start working directly. The logs show nothing else or indicate that something is wrong, seems that whichever I configure under Smoothing, isn't saved or used. For example, setting and saving an Output Rate, does not do a difference.
While compiling from source, the following is shown, perhaps this is relevant?
/home/osmc/hyperion-vero4k/source/libsrc/hyperion/LinearColorSmoothing.cpp: In static member function ‘static void LinearColorSmoothing::aggregateComponents(const std::vector<ColorRgb>&, std::vector<long long unsigned int>&, float)’: /home/osmc/hyperion-vero4k/source/libsrc/hyperion/LinearColorSmoothing.cpp:273:30: warning: left shift count >= width of type [-Wshift-count-overflow] const uint64_t scale = (1l<<FPShift) * static_cast<double>(weight);
Logs Snippet
2020-11-06T23:13:45.026Z [hyperiond AMLOGICGRABBER] (INFO) VPU mode 2020-11-06T23:13:45.059Z [hyperiond AMLOGICGRABBER] (ERROR) Read of device failed: 61 - No data available 2020-11-06T23:13:55.620Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:81:handleInstanceSwitch()) Client '::ffff:10.20.2.131' switch to Hyperion instance 0 2020-11-06T23:14:15.399Z [hyperiond SMOOTHING] (INFO) linear - Time: -215872984 ms, outputRate 0.000000 Hz, interpolationRate: 25.000000 Hz, timer: 0 ms, Dithering: 1077477376, Decay: 0.000000 -> HalfTime: 702891342714873743676605278412475747484677469503940366047042437365526423213063914723389076187464736254242391118276049603142819263232952367246846459904.000000 ms 2020-11-06T23:14:15.399Z [hyperiond SMOOTHING] (INFO) linear - Time: -206108368 ms, outputRate 0.000000 Hz, interpolationRate: 25.000000 Hz, timer: 0 ms, Dithering: 1077477376, Decay: 0.000000 -> HalfTime: 0.000000 ms 2020-11-06T23:14:26.669Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: disabled 2020-11-06T23:14:26.670Z [hyperiond SMOOTHING] (INFO) linear - Time: -687192832 ms, outputRate 0.000000 Hz, interpolationRate: 25.000000 Hz, timer: 0 ms, Dithering: 1077477376, Decay: 0.000000 -> HalfTime: 0.000000 ms 2020-11-06T23:14:26.671Z [hyperiond SMOOTHING] (INFO) linear - Time: 7 ms, outputRate 0.000000 Hz, interpolationRate: 25.000000 Hz, timer: 0 ms, Dithering: 1077477376, Decay: 0.000000 -> HalfTime: 0.000000 ms 2020-11-06T23:14:34.400Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: enabled 2020-11-06T23:14:34.400Z [hyperiond SMOOTHING] (INFO) linear - Time: -687192832 ms, outputRate 0.000000 Hz, interpolationRate: 25.000000 Hz, timer: 0 ms, Dithering: 1077477376, Decay: 0.000000 -> HalfTime: 0.000000 ms 2020-11-06T23:14:34.401Z [hyperiond SMOOTHING] (INFO) linear - Time: 7 ms, outputRate 0.000000 Hz, interpolationRate: 25.000000 Hz, timer: 0 ms, Dithering: 1077477376, Decay: 0.000000 -> HalfTime: 0.000000 ms
Steps to reproduce
Activate Smoothing, Linear or Decay does not matter.
What is expected?
That it works :)
What is actually happening?
No updates are sent to the LED devices
System
Hyperion Server:
Hyperion Server OS:
The text was updated successfully, but these errors were encountered: