зачем перегружать?
анализируйте флаг питания и по переднему фронту стартуйте программу с начала