示例#1
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self):
     self.wifi = False
     super(wifi, self).__init__('WIFI', [
         select_wifi_ap_toggle('AP'),
         select_wifi_defaults(_('defaults')),
         wifi_remote(_('remote'))
     ])
示例#2
0
    def display(self, refresh):
        if not self.wifi_settings:
            self.fill(black)
            self.fittext(rectangle(0, 0, 1, 1), _('Wifi not managed'), True)
            return

        super(wifi, self).display(refresh)
        self.have_wifi = test_wifi()
        if not self.have_wifi:
            info = _('No Connetion')
            self.fittext(rectangle(0, 0, 1, .20), info)

        if self.wifi_settings['mode'] == 'Master':
            info = 'mode: AP\n'
            ssid = 'ssid'
            key = 'key'
        else:
            info = 'mode: Client\n'
            ssid = 'client_ssid'
            key = 'client_key'
        self.fittext(rectangle(0, .6, 1, .13), info)

        info = self.wifi_settings[ssid]
        self.fittext(rectangle(0, .73, 1, .14), info)

        if self.wifi_settings[key]:
            info = self.wifi_settings[key]
            self.fittext(rectangle(0, .87, 1, .13), info)
示例#3
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self):
     super(display, self).__init__(_('display'), [
         ConfigEdit(_('contrast'), '', 'contrast', 0, 120, 1),
         invert(_('invert')),
         ConfigEdit(_('backlight'), '', 'backlight', 0, 20, 1),
         flip(_('flip'))
     ])
示例#4
0
 def __init__(self):
     items = [calibrate_rudder_state('reset'),
              calibrate_rudder_state('centered'),
              calibrate_rudder_state('starboard range'),
              calibrate_rudder_state('port range'),
              ValueEdit(_('range'), _('degrees'), 'rudder.range')]
     super(calibrate_rudder_feedback, self).__init__(_('rudder'), items)
示例#5
0
文件: menu.py 项目: Skeen/pypilot
    def display(self, refresh):
        values = self.lcd.get_values()
        if not values:
            if not self.loadtime:
                if self.lcd.client.connection:
                    self.loadtime = time.time()
                    self.lcd.client.list_values()
                else:
                    self.loadtime = 0
            else:
                dt = time.time() - self.loadtime
                self.lcd.surface.fill(black)
                if dt > .2:
                    self.fittext(rectangle(0, 0, 1, .4), _('Loading'))
        else:
            if self.loadtime:
                refresh = True
            self.loadtime = 0

        if self.loadtime:
            dt = time.time() - self.loadtime
            if dt > 5:
                self.fittext(rectangle(0, .4, 1, .2), _('timeout'))
            elif dt > 6:
                self.loadtime = 0
            elif dt > .6:
                self.fittext(rectangle(0, .4, 1, .2), '.' * int(dt * 2 + .5))
        else:
            super(mainmenu, self).display(refresh)
示例#6
0
 def __init__(self):
     super(calibrate, self).__init__(_('calibrate'),
                                     [level(_('level')),
                                      ValueEdit(_('heading'), self.getheading, 'imu.heading_offset'),
                                      ValueCheck(_('lock'), 'imu.compass.calibration.locked'),
                                      calibrate_rudder_feedback(),
                                      calibrate_info()])
     self.lastcounter = 0
示例#7
0
 def __init__(self):
     if no_translation == translate:
         lang = []
     else:
         lang = [language()]
     super(settings, self).__init__(_('settings'),
                         [ValueEnum(_('mode'), 'ap.mode'),
                          ValueEnum(_('pilot'), 'ap.pilot'),
                          motor(), control_menu(), display()] + lang)
示例#8
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self):
     super(settings, self).__init__(_('settings'), [
         ValueEnum(_('mode'), 'ap.mode'),
         ValueEnum(_('pilot'), 'ap.pilot'),
         motor(),
         control_menu(),
         display(),
         language()
     ])
示例#9
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self):
     super(motor, self).__init__(_('motor'), [
         ValueEdit(_('min speed'), _('relative'), 'servo.speed.min'),
         ValueEdit(_('max speed'), _('relative'), 'servo.speed.max'),
         ValueEdit(_('max current'), _('amps'), 'servo.max_current'),
         ValueEdit(_('period'), _('seconds'), 'servo.period')
     ])
示例#10
0
文件: menu.py 项目: Skeen/pypilot
    def display(self, refresh):
        if not test_wifi():
            self.fill(black)
            self.fittext(rectangle(0, 0, 1, 1), _('No Wifi detected'), True)
            return

        networking = '/home/tc/.pypilot/networking.txt'
        default = {
            'mode': 'Master',
            'ssid': 'pypilot',
            'key': '',
            'client_ssid': 'pypilot',
            'client_key': ''
        }  # defaults
        self.wifi_settings = default
        try:
            f = open(networking, 'r')
            while True:
                l = f.readline()
                if not l:
                    break
                for setting in self.wifi_settings:
                    if l.startswith(setting + '='):
                        self.wifi_settings[setting] = l[len(setting) +
                                                        1:].strip()
            f.close()
        except:
            pass
示例#11
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self, lcd):
     super(mainmenu, self).__init__(
         _('Menu'), [gain(), calibrate(),
                     settings(), info()])
     self.lcd = lcd
     self.find_parents()
     self.loadtime = 0
示例#12
0
 def __init__(self):
     if micropython:
         bl = [ConfigEdit(_('hue'), '', 'hue', 0, 255)]
     else:
         bl = [BacklightEdit(),
               ConfigEdit(_('buzzer'), _('buzzer'), 'buzzer', 0, 2)]
     super(display, self).__init__(_('display'),
                                   [ConfigEdit(_('contrast'), '', 'contrast', 0, 120),
                                    invert(_('invert')), flip(_('flip'))] + bl)
示例#13
0
 def __init__(self):
     self.wifi_settings = False
     self.have_wifi = False
     self.mtime = False
     self.wifi_updatetime = gettime()
     if self.read_networking():
         items = [select_wifi_ap_toggle('AP/Client', self.wifi_settings),
                  select_wifi_defaults(_('defaults'), self.wifi_settings)]
     else:
         items = []
     super(wifi, self).__init__('WIFI', items)
示例#14
0
 def __init__(self):
     if micropython:
         bl = ConfigEdit(_('hue'), '', 'hue', 0, 255, 1)
     else:
         bl = ConfigEdit(_('backlight'), '', 'backlight', 0, 40, 1)
     super(display, self).__init__(_('display'), [
         ConfigEdit(_('contrast'), '', 'contrast', 0, 120, 1),
         invert(_('invert')),
         flip(_('flip')), bl
     ])
示例#15
0
 def __init__(self):
     self.wifi_settings = None
     self.have_wifi = False
     try:
         wifi_settings = default_network.copy()
         f = open(networking, 'r')
         while True:
             l = f.readline()
             if not l:
                 break
             parsed = l.rstrip().split('=', 1)
             if len(parsed) == 2:
                 setting, value = parsed
                 wifi_settings[setting] = value
         f.close()
         items = [
             select_wifi_ap_toggle('AP/Client', wifi_settings),
             select_wifi_defaults(_('defaults'), wifi_settings)
         ]
         self.wifi_settings = wifi_settings
     except Exception as e:
         print('failed to read', networking, e)
         items = []
     super(wifi, self).__init__('WIFI', items)
示例#16
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self):
     super(language,
           self).__init__(_('language'),
                          list(map(select_language, self.languages)))
     self.selection = -1
示例#17
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self):
     super(control_menu, self).__init__(_('control'), [
         wifi(),
         ConfigEdit(_('small step'), _('degrees'), 'smallstep', 1, 5, 1),
         ConfigEdit(_('big step'), _('degrees'), 'bigstep', 5, 20, 5)
     ])
示例#18
0
 def __init__(self):
     super(BacklightEdit, self).__init__(_('backlight'), '', 'backlight', False, 0, 40)
示例#19
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self):
     super(calibrate_rudder_feedback,
           self).__init__(_('rudder'), 'rudder.calibration_state', ['idle'])
示例#20
0
 def process(self):
     self.set(_('rudder.calibration_state'), self.value)
     return self.lcd.menu
示例#21
0
文件: menu.py 项目: Skeen/pypilot
 def __init__(self):
     self.last_pilot = False
     super(gain, self).__init__(_('gain'), [])
示例#22
0
 def __init__(self, name):
     self.value = name
     super(calibrate_rudder_state, self).__init__(_(name))