I can’t help you much with your code, I did all that differently. Your code uses E-switch activated interrupts, I don’t. I run the watchdog interrupt at highest speed and do all E-switch checking in the main() routine. Besides the E-switch my light also has a mechanical switch with an off time capacitor, so I have a lot of functionality on that.
I think timing is why you are not getting FW responses. We have less than a handful of capable programmers right now and they all seem to be deep into developing their own FW's for the Attiny85. They all have normal jobs and limited hobby time to do that. Just seems to be a lot going on right now on that front.
Hang in there and keep plugging away. Sounds like an interesting project.
what is the goal for hardware. You say 2 LEDs, and momentary buttons, like plural - what does this mean? Do you want two separate PWM output channels and 2 electronic buttons?
I'm not sure what you mean by "locked" or "unlocked". Please explain. There's lots of ways that can be interpreted.
1st thing is you say it's for an 85 but you have the F_CPU set to 4.8 Mhz? I only got 8 Mhz working on a 85. 4.8 is the speed for a 13A, not an 85.
Also you are not providing fuse settings -- please provide what you are using. I have no clue what Proteus is - sounds like a simulator. I only have experience working directly with 85's. Not sure if I can help you out much if you are not using the real thing.
I'm looking at the code while typing this post....
I do see you have the 2 PWM's configured - good, and the 2 switch's configures on pin's 2 and 3 of the CPU - think that is good too. You setup the next/prev in duplicate, which indicates you want 1 button controlling 1 LED, and the other button controlling the other LED - I understand better what you are trying to do... Still look'n/reviewing....
Looks like there's some confusing things goin on:
indentation is confusing - difficult to follow. used a "beautify" tool to clean it up so I could review it
FULL_MODE ?? checked for but never set?
what is goin on with strobe mode? It's implying you think it's mode_idx set to 4, but in your 'modes' table, mode_idx of 4 is hi (255 value) ??
also, looks like you only check the 2nd button mode changes if the 1st button mode change occurred. Not sure if that's what you want? Doesn't sound right.
hope some of this helps.. Might be missing something, but run out of time - probably for rest of day.
k - when u say doesn't work, LED #1 stops working or just LED #2 doesn't work? By doesn't work, give me all the specific details...
It's always best to take baby steps first, small incremental changes, specially when we can't single step debug. Sounds like you did that to some extent.
Still dunno how you want the 2nd switch to work. Looks lts tied to the 1st switch the way you wrote the code. The code you wrote doesn't independently handle the 2nd switch. Check your braces in the main loop. You are only checking for a mode change for LED #2 when and only when a mode change occurs with LED #1.