def init(self, target): PM.log('Initializing CU for target: ' + str(target), self._log_id) if target == 1 or target == 3: response = [ 0x80, 0xF0, 0x10, 0x69, 0xFF, 0xA2, 0x10, 0x02, 0x4D, 0x12, 0x04, 0x40, 0x06, 0xF3, 0xFA, 0xC9, 0x8E, 0x22, 0x04, 0x02, 0xAC, 0x00, 0x00, 0x00, 0x60, 0xCE, 0x54, 0xF8, 0xB9, 0x84, 0x00, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x45, 0x1F, 0x30, 0x80, 0xF0, 0x20, 0x1F, 0x02, 0x43, 0xFB, 0x00, 0xF1, 0xC1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26 ] if target == 2: response = [ 0x80, 0xF0, 0x18, 0x39, 0xFF, 0xA2, 0x10, 0x21, 0xD0, 0xF3, 0x70, 0x31, 0x00, 0x01, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0xBD, 0xC3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x3E, 0x00, 0x0B, 0x21, 0xC0, 0x00, 0x00, 0x01, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51 ] return PMPacket.from_array(response)
def open(self): message = 'Opening serial connection...' self._log_id = PM.log(message) time.sleep(0.2) PM.log(message + " [DONE]", self._log_id) return True
def init(self, target): PM.log('Initializing CU for target: ' + str(target), self._log_id) if target == 1 or target == 3: response = [0x80, 0xF0, 0x10, 0x69, 0xFF, 0xA2, 0x10, 0x02, 0x4D, 0x12, 0x04, 0x40, 0x06, 0xF3, 0xFA, 0xC9, 0x8E, 0x22, 0x04, 0x02, 0xAC, 0x00, 0x00, 0x00, 0x60, 0xCE, 0x54, 0xF8, 0xB9, 0x84, 0x00, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x45, 0x1F, 0x30, 0x80, 0xF0, 0x20, 0x1F, 0x02, 0x43, 0xFB, 0x00, 0xF1, 0xC1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26] if target == 2: response = [0x80, 0xF0, 0x18, 0x39, 0xFF, 0xA2, 0x10, 0x21, 0xD0, 0xF3, 0x70, 0x31, 0x00, 0x01, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0xBD, 0xC3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x3E, 0x00, 0x0B, 0x21, 0xC0, 0x00, 0x00, 0x01, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51] return PMPacket.from_array(response)
def parse(self, file_name): self._message = 'Parsing XML data' self._log_id = PM.log(self._message) file_path = os.path.join("data", file_name) source = open(file_path) xml.sax.parse(source, self) self.log_progress() PM.log(self._message + " [DONE]") return self._parameters
def parse(self, file_name): self._parameters = set() self._parameter = None self._element_no = 0 self._message = "Parsing XML data" self._log_id = PM.log(self._message) source = open(os.path.join("data", file_name)) xml.sax.parse(source, self) PM.log(self._message + " [DONE]", self._log_id) return self._parameters
def render(self): self._clock.tick() for event in pygame.event.get(): if event.type == PMScreen.LOG_FPS_EVENT: self._frame_no += 1 self._fps_log_id = PM.log("FPS %.2f" % self._clock.get_fps(), self._fps_log_id) elif event.type == PMScreen.LOG_STATS_EVENT: #if platform.system() == "Linux": # PMUtils.log_os_stats() pass elif event.type == pygame.QUIT: self.close() sys.exit() elif event.type == pygame.MOUSEBUTTONUP: self._mouse_down_mark_timeout = 0 self._mouse_down_pos = pygame.mouse.get_pos() self._pos_log_id = PM.log( 'Mouse up at: %s/%s' % pygame.mouse.get_pos(), self._pos_log_id) if self._mouse_down_pos[0] < self._width / 2: self.prev_window() else: self.next_window() elif event.type == pygame.K_LEFT: self.prev_window() elif event.type == pygame.K_RIGHT: self.next_window() elif event.type == PMScreen.ONE_SEC_EVENT: self._mouse_down_mark_timeout += 1 self.clear() if self._window is None: self.render_bg() if self._window is not None: self._window.render() self.render_log() if self._mouse_down_mark_timeout < 2: pygame.draw.circle(self._surface, self._dim_color, self._mouse_down_pos, 16) pygame.display.update()
def render(self): self._clock.tick() for event in pygame.event.get(): if event.type == PMScreen.LOG_FPS_EVENT: self._frame_no += 1 self._fps_log_id = PM.log("FPS %.2f" % self._clock.get_fps(), self._fps_log_id) elif event.type == PMScreen.LOG_STATS_EVENT: #if platform.system() == "Linux": # PMUtils.log_os_stats() pass elif event.type == pygame.QUIT: self.close() sys.exit() elif event.type == pygame.MOUSEBUTTONUP: self._mouse_down_mark_timeout = 0 self._mouse_down_pos = pygame.mouse.get_pos() self._pos_log_id = PM.log('Mouse up at: %s/%s' % pygame.mouse.get_pos(), self._pos_log_id) if self._mouse_down_pos[0] < self._width / 2: self.prev_window() else: self.next_window() elif event.type == pygame.K_LEFT: self.prev_window() elif event.type == pygame.K_RIGHT: self.next_window() elif event.type == PMScreen.ONE_SEC_EVENT: self._mouse_down_mark_timeout += 1 self.clear() if self._window is None: self.render_bg() if self._window is not None: self._window.render() self.render_log() if self._mouse_down_mark_timeout < 2: pygame.draw.circle(self._surface, self._dim_color, self._mouse_down_pos, 16) pygame.display.update()
def endElement(self, name): if name == "parameter": self._parameters.add(self._parameter) self._parameter = None self._addrlen = None if name == "address": self._addrlen = 0 if name == "depends": pass self._name = "" self._element_no += 1 if self._element_no % 1000 == 0: PM.log(self._message + " " + str(self._element_no) + " elements", self._log_id)
def log_os_stats(cls): try: cpu_temp = PMUtils.get_cpu_temperature() if len(cpu_temp) > 0: PM.log("CPU temp: " + cpu_temp) ram_stats = PMUtils.get_ram_info() if len(ram_stats) == 3: ram_free = round(int(ram_stats[2]) / 1000, 1) PM.log("RAM free: " + str(ram_free)) cpu_usage = PMUtils.get_cpu_use() if len(cpu_usage) > 0: PM.log("CPU usage: " + str(cpu_usage)) except IOError: pass
def close(self): PM.log("Closing serial connection", self._log_id) pass
if __name__ == '__main__': from evdev import InputDevice, list_devices devices = map(InputDevice, list_devices()) eventX = "" for dev in devices: if dev.name == "ADS7846 Touchscreen": eventX = dev.fn os.environ["SDL_FBDEV"] = "/dev/fb1" os.environ["SDL_MOUSEDRV"] = "TSLIB" os.environ["SDL_MOUSEDEV"] = eventX screen = PMScreen() log_id = PM.log('Application started') screen.render() parser = PMXmlParser() supported_parameters = [] if os.path.isfile("data/data.pkl"): input = open("data/data.pkl", "rb") defined_parameters = pickle.load(input) input.close() else: defined_parameters = parser.parse("logger_METRIC_EN_v131.xml") output = open("data/data.pkl", "wb") pickle.dump(defined_parameters, output, -1)
if __name__ == '__main__': from evdev import InputDevice, list_devices devices = map(InputDevice, list_devices()) eventX = "" for dev in devices: if dev.name == "ADS7846 Touchscreen": eventX = dev.fn os.environ["SDL_FBDEV"] = "/dev/fb1" os.environ["SDL_MOUSEDRV"] = "TSLIB" os.environ["SDL_MOUSEDEV"] = eventX screen = PMScreen() log_id = PM.log('Application started') screen.render() parser = PMXmlParser(); supported_parameters = [] if os.path.isfile("data/data.pkl"): input = open("data/data.pkl", "rb") defined_parameters = pickle.load(input) input.close() else: defined_parameters = parser.parse("logger_METRIC_EN_v290.xml") output = open("data/data.pkl", "wb") pickle.dump(defined_parameters, output, -1)
if platform.system() == "Linux": from evdev import InputDevice, list_devices devices = map(InputDevice, list_devices()) eventX = "" for dev in devices: if dev.name == "ADS7846 Touchscreen": eventX = dev.fn os.environ["SDL_FBDEV"] = "/dev/fb1" os.environ["SDL_MOUSEDRV"] = "TSLIB" os.environ["SDL_MOUSEDEV"] = eventX screen = PMScreen() log_id = PM.log('Application started') screen.render() parser = PMXmlParser() supported_parameters = [] if os.path.isfile("data/data.pkl"): serializedDataFile = open("data/data.pkl", "rb") defined_parameters = pickle.load(serializedDataFile) serializedDataFile.close() else: defined_parameters = parser.parse("logger_METRIC_EN_v263.xml") defined_parameters = sorted(defined_parameters, key=lambda x: x.get_id(),
def log_window(self, index): if self._window != None: PM.log(str(index + 1) + '/' + str(len(self._windows)) + ': ' + self._window.get_parameter().get_id(), 0)
if platform.system() == "Linux": from evdev import InputDevice, list_devices devices = map(InputDevice, list_devices()) eventX = "" for dev in devices: if dev.name == "ADS7846 Touchscreen": eventX = dev.fn os.environ["SDL_FBDEV"] = "/dev/fb1" os.environ["SDL_MOUSEDRV"] = "TSLIB" os.environ["SDL_MOUSEDEV"] = eventX screen = PMScreen() log_id = PM.log('Application started') screen.render() parser = PMXmlParser() supported_parameters = [] if os.path.isfile("data/data.pkl"): serializedDataFile = open("data/data.pkl", "rb") defined_parameters = pickle.load(serializedDataFile) serializedDataFile.close() else: defined_parameters = parser.parse("logger_METRIC_EN_v263.xml") defined_parameters = sorted(defined_parameters, key=lambda x: x.get_id(), reverse=True) output = open("data/data.pkl", "wb")
def log_window(self, index): if self._window is not None: PM.log( str(index + 1) + '/' + str(len(self._windows)) + ': ' + self._window.get_parameters()[0].get_id(), 0)
def log_window(self, index): if self._window is not None: PM.log(str(index + 1) + '/' + str(len(self._windows)) + ': ' + self._window.get_parameters()[0].get_id(), 0)
def log_progress(self): PM.log( self._message + " " + str(self._element_no) + " elements, " + str(len(self._parameters)) + " parameters", self._log_id)
def log_progress(self): PM.log(self._message + " " + str(self._element_no) + " elements, " + str(len(self._parameters)) + " parameters", self._log_id)