def conduct(self): if self.verbose: print("RTC...", file=sys.stderr) try: I2C.open(Host.I2C_SENSORS) # resources... now = LocalizedDatetime.now() DS1338.init() # test... rtc_datetime = RTCDatetime.construct_from_localized_datetime(now) DS1338.set_time(rtc_datetime) time.sleep(2) rtc_datetime = DS1338.get_time() localized_datetime = rtc_datetime.as_localized_datetime( tzlocal.get_localzone()) self.datum = localized_datetime - now if self.verbose: print(self.datum, file=sys.stderr) # test criterion... return 1 <= self.datum.seconds <= 2 finally: I2C.close()
def conduct(self): if self.verbose: print("OPC...", file=sys.stderr) opc = None try: I2C.open(Host.I2C_SENSORS) # resources... opc = OPCN2(Host.opc_spi_bus(), Host.opc_spi_device()) opc.power_on() opc.operations_on() # test... self.datum = opc.firmware() if self.verbose: print(self.datum, file=sys.stderr) # test criterion... return len(self.datum) > 0 and self.datum.startswith('OPC') finally: if opc: opc.operations_off() opc.power_off() I2C.close()
def conduct(self): if self.verbose: print("GPS...", file=sys.stderr) gps = None try: I2C.open(Host.I2C_SENSORS) # GPS... gps = PAM7Q(Host.gps_device()) gps.power_on() gps.open() # test... self.datum = gps.report(GPRMC) if self.verbose: print(self.datum, file=sys.stderr) # criterion... return self.datum is not None finally: if gps: gps.close() gps.power_off() I2C.close()
def conduct(self): if self.verbose: print("EEPROM...", file=sys.stderr) # validate... if not path.isfile(Host.eep_image()): print("error: eeprom image not found", file=sys.stderr) exit(1) try: # resources... Host.enable_eeprom_access() I2C.open(Host.I2C_EEPROM) eeprom = CAT24C32() # test... file_image = EEPROMImage.construct_from_file( Host.eep_image(), CAT24C32.SIZE) eeprom.write(file_image) # test criterion... return eeprom.image == file_image finally: I2C.close()
def conduct(self): if self.verbose: print("AFE...", file=sys.stderr) try: I2C.open(Host.I2C_SENSORS) # AFE... dfe_conf = DFEConf.load(Host) afe = dfe_conf.afe(Host) # test... self.datum = afe.sample() if self.verbose: print(self.datum, file=sys.stderr) ok = True # test criterion... for gas, sensor in self.datum.sns.items(): sensor_ok = 0.9 < sensor.we_v < 1.1 and 0.9 < sensor.ae_v < 1.1 if not sensor_ok: ok = False return ok finally: I2C.close()
def conduct(self, ): if self.verbose: print("%s (0x%02x)..." % (self.__name, self.__sht.addr), file=sys.stderr) try: I2C.open(Host.I2C_SENSORS) # test... self.__sht.reset() self.datum = self.__sht.sample() if self.verbose: print(self.datum, file=sys.stderr) # criterion... return 10 < self.datum.humid < 90 and 10 < self.datum.temp < 50 finally: I2C.close()
def conduct(self): if self.verbose: print("Pt1000...", file=sys.stderr) try: I2C.open(Host.I2C_SENSORS) # AFE... afe_conf = AFEConf.load(Host) afe = afe_conf.afe(Host) # test... self.datum = afe.sample_temp() if self.verbose: print(self.datum, file=sys.stderr) # test criterion... return 0.4 < self.datum.v < 0.6 finally: I2C.close()
def conduct(self): if self.verbose: print("Board temp...", file=sys.stderr) try: I2C.open(Host.I2C_SENSORS) # resources... sensor = MCP9808(True) # test... self.datum = sensor.sample() if self.verbose: print(self.datum, file=sys.stderr) temp = self.datum.temp # test criterion... return 10 < temp < 50 finally: I2C.close()
from scs_dfe.board.pca8574 import PCA8574State from scs_host.bus.i2c import I2C from scs_host.sys.host import Host # -------------------------------------------------------------------------------------------------------------------- I2C.open(Host.I2C_SENSORS) try: io = IO() print(io) state = PCA8574State.load_from_file(IO.filename()) print(state) print("led RED was:%s" % io.led_red) print("led GREEN was:%s" % io.led_green) io.led_red = not io.led_red io.led_green = not io.led_green print("led RED is:%s" % io.led_red) print("led GREEN is:%s" % io.led_green) state = PCA8574State.load_from_file(IO.filename()) print(state) finally: I2C.close()