moved the powersaving code into its own function and then distributed this through out the main loop
in gps_PSM function return early if < 30 counts to avoid reset loops