Serial Menu Issues

You need more than one main menu state. You need the submenus to go to the "display main menu" state. That state only runs once before going to the "main menu is waiting for the user" state.