I'm receiving UART in an interrupt vector. If a special string comes in, I want to stop everything I'm doing in my main program, and start it from the start, while not losing any of my current data (boolean values, current UART buffer contents, etc).
So, when I get this string in my uart interrupt vector, I'm calling main() and sei() again.
Is this safe? Is there a better way around this?