code: def update_vehicle_menu(self):
          '''update menu for new vehicles'''
          self.vehicle_menu.items = []
          for s in sorted(self.vehicle_list):
              clist = self.module('param').get_component_id_list(s)
              if len(clist) == 1:
                  name = 'SysID %u: %s' % (s, self.vehicle_name_by_sysid[s])
                  self.vehicle_menu.items.append(MPMenuItem(name, name, '# vehicle %u' % s))
              else:
                  for c in sorted(clist):
                      try:
                          name = 'SysID %u[%u]: %s' % (s, c, self.component_name[s][c])
                      except KeyError as e:
                          name = 'SysID %u[%u]: ?' % (s,c)
                      self.vehicle_menu.items.append(MPMenuItem(name, name, '# vehicle %u:%u' % (s,c)))
          self.mpstate.console.set_menu(self.menu, self.menu_callbackf update_vehicle_menu(self):
          '''update menu for new vehicles'''
          self.vehicle_menu.items = []
          for s in sorted(self.vehicle_list):
              clist = self.module('param').get_component_id_list(s)
              if len(clist) == 1:
                  name = 'SysID %u: %s' % (s, self.vehicle_name_by_sysid[s])
                  self.vehicle_menu.items.append(MPMenuItem(name, name, '# vehicle %u' % s))
              else:
                  for c in sorted(clist):
                      try:
                          name = 'SysID %u[%u]: %s' % (s, c, self.component_name[s][c])
                      except KeyError as e:
                          name = 'SysID %u[%u]: ?' % (s,c)
                      self.vehicle_menu.items.append(MPMenuItem(name, name, '# vehicle %u:%u' % (s,c)))
          self.mpstate.console.set_menu(self.menu, self.menu_callback)
docs: update menu for new vehicles