Added NULL initialization for buttonReloadHardware, added a guard, and now also reselects the same hardware after the reload action (if the number of items in the combo remains the same).
Now keeps the port when the target boards changes (if the port still is valid)