Esempio n. 1
0
    def _wifi_callback(self, *args):
        if self.wifi_list != []:
            self.wifi_grid.clear_widgets()
            buttons = []
            for w in self.wifi_list:
                ssid = w['ssid']
                encrypted = w['encrypted']
                quality = w['quality']
                b = WifiButton(ssid=ssid, encrypted=encrypted, quality=quality)
                config_screen = partial(self.generate_configuration_screen,
                                        b.ssid, b.encrypted)
                b.bind(on_press=config_screen)
                buttons.append([b, w['quality']])

                buttons.sort(key=lambda quality: quality[1], reverse=True)

                sorted_buttons = []

                for button in buttons:
                    sorted_buttons.append(button[0])

            layout = Scroll_Box_Even(sorted_buttons)
            self.wifi_grid.add_widget(layout)
            Logger.info('Wifi_Callback Is now Uncheduling itself')
            return False
Esempio n. 2
0
    def make_folder_screen(self, files):
        buttons = []
        folders = []

        for entry in files:

            if files[entry]['type'] == self.file_type:
                path = files[entry]['path']
                if path.find('USB/') != -1:
                    buttons.append(
                        self.create_file_button(entry,
                                                files[entry],
                                                is_usb=True))
                else:
                    buttons.append(self.create_file_button(
                        entry, files[entry]))
            elif files[entry]['type'] == 'folder':
                folders.append(
                    self.create_folder_button(entry, files[entry]['path']))

        sorted_buttons = self.order_buttons_by_date(buttons)

        #merge buttons with folders
        folders += sorted_buttons

        return Scroll_Box_Even(folders)
Esempio n. 3
0
    def __init__(self, robosm, back_destination):
        super(Firmware_Wizard, self).__init__()
        self.sm = robosm
        files = self._find_hex_in_usb()
        if files:
            #continue to the hex select screen
            back_destination = self.sm.current
            name = roboprinter.lang.pack['Firmware_Wizard']['Select_Firmware']
            buttons = []
            for file in files:
                temp_button = Hex_Button(file, files[file],
                                         self.generate_confirmation)
                buttons.append(temp_button)
            layout = Scroll_Box_Even(buttons)

            self.sm._generate_backbutton_screen(
                name=name,
                title=name,
                back_destination=back_destination,
                content=layout)

        else:
            #show warning saying that we cannot detect a hex file on the USB
            ep = Error_Popup(
                roboprinter.lang.pack['Firmware_Wizard']['Hex_Error_Title'],
                roboprinter.lang.pack['Firmware_Wizard']['Hex_Error_Body'],
                callback=partial(roboprinter.robosm.go_back_to_main,
                                 tab='printer_status_tab'))
            ep.open()
Esempio n. 4
0
        def generate_eeprom(self, **kwargs):
            _name = kwargs['name']
            eeprom = EEPROM(self)
            layout = Scroll_Box_Even(eeprom.buttons)

            self._generate_backbutton_screen(
                name=_name,
                title=kwargs['title'],
                back_destination=kwargs['back_destination'],
                content=layout)
Esempio n. 5
0
    def make_folder_screen(self, files):
        buttons = []
        folders = []

        for entry in files:

            if files[entry]['type'] == 'folder':
                #if the USB isn't mounted don't show it as an option
                if entry == "USB":
                    if 'usb_mounted' in session_saver.saved:
                        if session_saver.saved['usb_mounted']:
                            folders.append(
                                self.create_folder_button(
                                    entry, files[entry]['path']))
                else:
                    folders.append(
                        self.create_folder_button(entry, files[entry]['path']))

        return Scroll_Box_Even(folders)
Esempio n. 6
0
    def load_values(self, catagory):
        back_destination = self.sm.current
        acceptable_catagories = {'HOME_OFFSETS': 'home offset',
                                 'Z_OFFSET_EEPROM': 'z offset',
                                 'FILAMENT_SETTINGS': 'filament settings',
                                 'FEED_RATES' : 'max feed rate',
                                 'PID': 'PID',
                                 'BPID': "BPID",
                                 'STEPS_PER_UNIT': 'steps per unit',
                                 'ACCELERATIONS': 'accelerations',
                                 'MAX_ACCELERATIONS':'max acceleration',
                                 'ADVANCED_VARIABLES': 'advanced variables'}

        buttons = []
        if catagory[0] in acceptable_catagories:
            for value in pconsole.eeprom[acceptable_catagories[catagory[0]]]:
                button_value = value + ": " + str(pconsole.eeprom[acceptable_catagories[catagory[0]]][value])
                temp = Scroll_Box_Even_Button(button_value, self.change_value, [catagory[0], value])
                buttons.append(temp)

        layout = Scroll_Box_Even(buttons)

        self.sm._generate_backbutton_screen(name=catagory[0], title=catagory[1], back_destination=back_destination, content=layout)