Gremlin Hunting - OS 7.5

OK, I’m not sure if I’ve done this wrong, but I started at the middle of the spreadsheet and did several around there before I noticed the dates column. So I worked my way up to the most recent date shown (2nd April 2023) and tried that, but it worked fine. And the only fault I found on earlier versions was the full white lockup, not the flickering.

So thinking now that it must be some kind of wiring issue unique to this install, I went back to the 7.5 I downloaded and tried earlier today - and there it was - the flickering was back.

The spreadsheet is here along with my edits, but are there newer versions of ProffieOS not shown on it? Or have I got the wrong end of the stick regarding which lines I needed to test?

https://www.dropbox.com/s/dbw53xnla9o349u/ProffieOS%206.x%20-%207.0%20problem%20finder%20helper.xlsx?dl=0

Could be me that did something wrong, I’m not entirely sure that the commits are listed in the right order actually…

Anyways, I created a new spreadsheet, should have everything up to 7.5:

Btw, I recommend deleting the downloads and unzipped directories after you test them to prevent weird situations where arduino opens multiple windows and it’s not always easy to see which is which.

1 Like

Oh and to be clear; the line at the TOP should be the same as 7.5
Not sure if the line at the bottom is 6.9 or 6.0 though.

1 Like

Thanks Prof. Yes, that second spreadsheet seems to have more versions and is sequential. Will take another look. :+1: :slight_smile: And yes, been binning everything after each upload once I’ve logged the result. Easy to tie oneself in a knot doing stuff like this! LOL!

For this reason alone I always suggest doing the following. After you’ve downloaded and opened a specific version of the Proffie OS ino and it shows in Arduino goto the first line and after /* ProffieOS put down the version and download date.

For example
/* ProffieOS6.8_02012023

Or
/*ProffieOS7.4_04022023

That way you immediately can scroll back up if you just changed what config you’re selecting and know for sure what version is up. :+1:

1 Like

OK Prof, I think (hope!) I may have narrowed the search down! :smiley: :crossed_fingers:

It looks like the problem arose on row 15 of the spreadsheet, 13th March - the same time you fixed the clock problem that was freezing the LEDs full white after 30 seconds. According to my observations, the flickering problem starts at the same time as the freezing problem gets fixed.

The link to the updated spreadsheet is below.
Hope it helps nail down the gremlin.
:slight_smile: :crossed_fingers:

Score one for bisection! (sort of)
Because I don’t see how that change could actually cause the problem. All it does is to prevent the clock speed from going low while LEDs are still in use.

So maybe the problem was already there beforehand, but somehow hidden by making the clock speed go low.

Either way, even if I can’t reproduce the problem, I can take a look at the output signal before and after that change and see if I can spot a difference.

Understood Prof.

Just been fiddling some more and I’m still finding that with USB plugged in but running off battery power, the problem goes away. Unplug the USB and it’s back.

I also tried replacing the cylon effect with a simple blinking effect, but I still got the flashes.

However one thing occurs: there is no ‘CylonL’ layer effect in the style editor, only a ‘Cylon’ effect in the old nested selections which is what I’ve used. Likewise when I tried the blinking effect, I used the basic ‘Blinking’ rather than ‘BlinkingL’. When I tried BlinkingL, it seemed to blink between full colour and a flickering colour which wasn’t what I expected, although it may be correct. (Video link below).

Could this issue be somehow related to mixing a nested parameter with a layered parameter within the same blade style, particularly given that I’ve specified the DISABLE_BASIC_PARSER_STYLES define (though I do then hit ‘Layerize’ in style editor before using the style)?

Or am I barking up a random, unrelated tree again?

I’m happy to test some more dates on your spreadsheet if it helps. Likewise if there’s anything else I can do within the limits of my knowledge, just let me know. :slight_smile:

Yep.

I found the bug.
It’s a race condition in clock_control.h, and the change I made on March 13th makes it more likely to occur. I will have a fix later today.

2 Likes

:rofl: :ok_hand:

Great to hear that you’ve tracked it down! :smiley: :+1: Sincere thanks as always!
:slight_smile:

1 Like

Just an FYI, DISABLE_BASIC_PARSER_STYLES doesn’t require you to “Layerize”, it just removes the original “named” styles from your OS that were referenced in Workbench and loaded into Flash whether you used them or not.

You can use the old “nested” styles if you want with or without the define although, if you’re mixing older syntax and newer syntax you will waste a little memory compared to doing all styles in the same syntax.

1 Like

Ahh! Thanks Fernando. Yeh that’s slightly different to what I thought it was doing. Good to know. Thanks for clarifying. :+1:

Ok, I have a potential fix uploaded to github.
Please try the latest github master and let me know if it fixes the problem.
Then I can make a 7.6 zip.

1 Like

Many thanks Prof. Will test it when I get home from work today and report back. :slight_smile:

Looks like you’ve cracked it Prof! :smiley:
Been watching for several minutes now and haven’t seen a single flicker! :smiley: :ok_hand: :+1:

Sincere thanks as always.
:slight_smile:

Glad to hear it.
7.6 zip created. :slight_smile:

2 Likes