sorry for the late response - thing have been a little crazy here the past few days ... (still looking for a rich sponsor who wants to pay me to do this website as a day time job hahah )
First off, since it confuses me... what do you mean with DAC?
In my world that would be a Digital Analog Converter, but I'm sure that not what you mean .
I've looked at your code, and theoretically they look fine. I did like the first approach, using the switch statement, the best.
But one thing that might interfere and that would be the time it takes to run an effect.
What I usually do when I get stuck like this: start over and eliminate everything - just stick with the basic structure.
So we have 4 phases:
1: Start with Effect1 (fade in/out) when Arduino starts
2: Use Effect2 (twinkle) when RPI starts
3: Use Effect3 (slightly different fade in/out) when RPi successfully connected to NAS
4: Effect4 (fade in/out) after 1, 2, and 3 have completed
Did I get that right? Sorry if I'm not quite getting it - I need more coffee hahah
So basically we'd like the effects to match the status of your RPI.
I know I might be misunderstanding what you're trying to do .... in my head, early in the morning ... it looks like this:
1) RPI (connected to Arduino) is powered on but still booting - Effect 1
2) RPI is ON and getting ready to connect to your NAS - Effect 2
3) RPI is connected to the NAS - Effect 3
4) RPI is 100% up and running - Effect 4
Are you using a switch in the Arduino to power on the RPI? Or do you rely on the same power supply?