def periodic_tasks():
 if mpstate.status.setup_mode:
  return
 if ((mpstate.settings.compdebug & 2) != 0):
  return
 if (mpstate.settings.heartbeat != 0):
  heartbeat_period.frequency = mpstate.settings.heartbeat
 if (heartbeat_period.trigger() and (mpstate.settings.heartbeat != 0)):
  mpstate.status.counters['MasterOut'] += 1
  for master in mpstate.mav_master:
   send_heartbeat(master)
 if heartbeat_check_period.trigger():
  check_link_status()
 set_stream_rates()
 for (m, pm) in mpstate.modules:
  if hasattr(m, 'idle_task'):
   try:
    m.idle_task()
   except Exception as msg:
    if (mpstate.settings.moddebug == 1):
     print msg
    elif (mpstate.settings.moddebug > 1):
     (exc_type, exc_value, exc_traceback) = sys.exc_info()
     traceback.print_exception(exc_type, exc_value, exc_traceback, limit=2, file=sys.stdout)
  if m.needs_unloading:
   unload_module(m.name)

def periodic_tasks ( ) : if mpstate . status . setup_mode : return if ( ( mpstate . settings . compdebug & 2 ) != 0 ) : return if ( mpstate . settings . heartbeat != 0 ) : heartbeat_period . frequency = mpstate . settings . heartbeat if ( heartbeat_period . trigger ( ) and ( mpstate . settings . heartbeat != 0 ) ) : mpstate . status . counters [ 'MasterOut' ] += 1 for master in mpstate . mav_master : send_heartbeat ( master ) if heartbeat_check_period . trigger ( ) : check_link_status ( ) set_stream_rates ( ) for ( m , pm ) in mpstate . modules : if hasattr ( m , 'idle_task' ) : try : m . idle_task ( ) except Exception as msg : if ( mpstate . settings . moddebug == 1 ) : print msg elif ( mpstate . settings . moddebug > 1 ) : ( exc_type , exc_value , exc_traceback ) = sys . exc_info ( ) traceback . print_exception ( exc_type , exc_value , exc_traceback , limit = 2 , file = sys . stdout ) if m . needs_unloading : unload_module ( m . name )
run periodic checks .