Example #1
0
    def __init__(self):
        super(Home, self).__init__()
        self.orientation = "vertical"

        self.setting = Config()
        self.nextUpdate = updateLabel()
        self.statusLabel = status()

        btn2 = Button(text="Force update", size_hint=(1, 0.15))
        btn2.bind(on_press=self.update)

        btn4 = Button(text="Settings", size_hint=(1, 0.15))
        btn4.bind(on_press=self.setting.open)

        btn3 = Button(text="Quit", size_hint=(1, 0.15))
        btn3.bind(on_press=close)

        with self.canvas:
            self.add_widget(self.statusLabel)
            self.add_widget(self.nextUpdate)
            self.add_widget(btn2)
            self.add_widget(btn4)
            self.add_widget(btn3)

        Clock.schedule_interval(self.autoUpdater, 1)
    def __init__(self, **kwargs):
        super(MyScreenManager, self).__init__(**kwargs)

        self.cols = 3

        #Main Screen
        self.mainScreen = Screen(name='main')
        #Configuration Screen
        self.config = Screen(name='new')

        self.add_widget(self.mainScreen)
        self.add_widget(self.config)

        mainScreen = MainScreen()

        #Change Screen -> Config
        mainScreen.button.bind(on_press=self.chConfig)

        self.mainScreen.add_widget(mainScreen)

        config = Config()

        #Change Screen -> Main Menu
        config.button.bind(on_press=self.chMainScreen)

        self.config.add_widget(config)
Example #3
0
 def config(cls):
     if not cls._config:
         cls._config = Config()
     return cls._config
    def build(self):
        # connect internal instances of form classes

        self.nao_info = [('192.168.0.102', 'left'),
                         ('192.168.0.106', 'center'),
                         ('192.168.0.101', 'right')]

        self.config = Config()
        self.calibration_screen = Calibration_screen()
        self.flow = Flow()
        self.stop_screen = Stop_screen()

        # defines the screen manager, moves between forms
        self.sm = ScreenManager()

        # connects each form to a screen
        screen = Screen(name='config')
        screen.add_widget(self.config)
        Window.clearcolor = (1, 1, 1, 1)
        self.sm.add_widget(screen)

        screen = Screen(name='calibration_screen')
        screen.add_widget(self.calibration_screen)
        Window.clearcolor = (1, 1, 1, 1)
        self.sm.add_widget(screen)

        screen = Screen(name='flow')
        screen.add_widget(self.flow)
        Window.clearcolor = (1, 1, 1, 1)
        self.sm.add_widget(screen)

        screen = Screen(name='stop_screen')
        screen.add_widget(self.stop_screen)
        Window.clearcolor = (1, 1, 1, 1)
        self.sm.add_widget(screen)

        self.next_step = 1

        self.number_of_steps = 6
        self.correct_answer_score = 0
        self.pupil_count = 0

        ##ros
        # roscore
        # t1 = threading.Thread(target=self.worker1)
        # t1.start()
        # threading._sleep(0.5)

        #ros_node
        rospy.init_node('ui')
        self.publisher = rospy.Publisher('the_flow', String, queue_size=10)
        self.publisher_alive = rospy.Publisher('alive', String, queue_size=10)
        self.publisher_next_step = rospy.Publisher('next_step',
                                                   String,
                                                   queue_size=10)
        self.publisher_stop = rospy.Publisher('stop', String, queue_size=10)
        self.publisher_log = rospy.Publisher('log', String, queue_size=10)

        #get config data from last run
        try:
            with open('cinfig_hist_data.json') as data_file:
                self.cinfig_hist_data = json.load(data_file)
        except:
            'IOError'
            self.cinfig_hist_data = {
                'nao_ip_experimenter': '192.168.0.',
                'nao_ip_left': '192.168.0.',
                'nao_ip_right': '192.168.0.',
                'nao_ip_center': '192.168.0.',
                'nao_name_left': 'Howie',
                'nao_name_right': 'Which',
                'nao_name_center': 'Where'
            }


#
        self.left_robot_name = self.cinfig_hist_data['nao_name_left']
        self.center_robot_name = self.cinfig_hist_data['nao_name_center']
        self.right_robot_name = self.cinfig_hist_data['nao_name_right']
        self.gender = 'None'

        self.config.ids['experimenter_ip'].text = self.cinfig_hist_data[
            'nao_ip_experimenter']
        self.config.ids['nao_ip_center'].text = self.cinfig_hist_data[
            'nao_ip_center']
        self.config.ids['nao_ip_right'].text = self.cinfig_hist_data[
            'nao_ip_right']
        self.config.ids['nao_ip_left'].text = self.cinfig_hist_data[
            'nao_ip_left']

        self.config.ids[
            'nao_ip_center_' +
            self.cinfig_hist_data['nao_name_center']].state = 'down'
        self.config.ids['nao_ip_right_' +
                        self.cinfig_hist_data['nao_name_right']].state = 'down'
        self.config.ids['nao_ip_left_' +
                        self.cinfig_hist_data['nao_name_left']].state = 'down'

        return self.sm
Example #5
0

# Function to verify if the objects folder is empty
def hasEmptyObjects():
    return not objectsExist()


# Function to go back to the main menu screen
def goBackToMenu():
    global sm
    sm.current = 'menu'
    sm.transition.direction = 'right'


# Initialize Apps
config_app = Config(goBackToMenu)
detect_app = DetectionApp(config_app, goBackToMenu)
crop_app = CropApp(goBackToMenu, config_app)

# Create the screen manager and add all the screens
sm = ScreenManager()
sm.add_widget(MenuScreen(name='menu'))
sm.add_widget(ConfigScreen(name='config'))
sm.add_widget(DetectObjScreen(name='detection'))
sm.add_widget(AddObjScreen(name='addobj'))


# MainApp class
class MainApp(App):
    title = 'Object Detection App'