def value(self, value=None): if value is None: console("[Pin - {}] GET value: {}".format(self.pin, self.__value), end='\r') return self.__value self.__value = value console("[Pin - {}] SET value: {}".format(self.pin, self.__value), end='\r') return self.__value
def init(self, period, mode, callback, *args, **kwargs): console("[Timer - {}] init".format(self.timid)) console("period: {}, mode: {}, callback: {}".format(period, mode, callback)) self.period_sec = period / 1000 self.callback = callback self.thread = Thread(target=self.__thread, daemon=True) self.thread.start()
def __thread(self): while True: console("\t| thread --[{}s] {}".format(self.period_sec, self.callback)) output = self.callback(None) console("\t|--> {}\n".format(output), end='\r') micropython.mem_info() time.sleep(self.period_sec)
def mem_info(*args, **kwargs): if resource is None: max_mem = "n/a" else: usage = resource.getrusage(resource.RUSAGE_SELF) max_mem = usage.ru_maxrss / 1024 / 1024 # bytes by default if isinstance(max_mem, float): console("Max RAM usage: {:.2f} Mb".format(max_mem)) else: console("Max RAM usage: {} Mb".format(max_mem)) return max_mem
def __init(self, mode, *args, **kwargs): console("|- [WLAN] constructor mode: {} ".format(mode)) self.__mode = mode self.__isconnected = False self.__active = True self.__server_ip = None self.__config_dict = { 'essid': None, 'password': None, 'authmode': None, 'mac': (1, 2, 3, 4, 5) } self.__if_config_list = [self.__get_machine_ip()]
def __new__(cls, mode, *args, **kwargs): """ Singleton design pattern __new__ - Customize the instance creation cls - class """ if cls.__instance is None: console("[WLAN] singleton constructor mode: {} ".format(mode)) # SocketServer singleton properties cls.__instance = super().__new__(cls) cls.__instance.name = 'WLAN' cls.__instance.__init(mode, *args, **kwargs) return cls.__instance
def ifconfig(self, addr_tuple=None): console("Local server IP: {}".format(self.__get_machine_ip())) if addr_tuple is None: return self.__if_config_list self.__if_config_list = list(addr_tuple) return self.__if_config_list
def freq(self, value=None): if value is not None: self.__freq = value console("[PWM - {}] set freq: {}".format(self.dimmer_pin, self.__freq)) return self.__freq
def duty(self, value=None): if value is not None: self.__duty = value console("[PWM - {}] SET duty: {}".format(self.dimmer_pin, self.__duty)) return self.__duty
def alloc_emergency_exception_buf(*args, **kwargs): console('alloc_emergency_exception_buf dummy') return 'alloc_emergency_exception_buf dummy'
def __init__(self, *args, **kwargs): console("[RTC] constructor")
def deinit(self): console("[Pin - {}] Deinit obj".format(self.pin))
def machine(*args, **kwargs): console('machine dummy') return 'machine dummy'
def irq(self, pin=0, *args, **kwargs): self.pin = pin console("[Pin - {}] Set event IRQ".format(self.pin))
def __init__(self, *args, **kwargs): console("[Pin] object constructor") self.__value = False self.pin = None
from sim_console import console try: import resource except Exception as e: console("resource module import error: {}".format(e)) resource = None def alloc_emergency_exception_buf(*args, **kwargs): console('alloc_emergency_exception_buf dummy') return 'alloc_emergency_exception_buf dummy' def mem_info(*args, **kwargs): if resource is None: max_mem = "n/a" else: usage = resource.getrusage(resource.RUSAGE_SELF) max_mem = usage.ru_maxrss / 1024 / 1024 # bytes by default if isinstance(max_mem, float): console("Max RAM usage: {:.2f} Mb".format(max_mem)) else: console("Max RAM usage: {} Mb".format(max_mem)) return max_mem def const(*args): return args def schedule(callback, arg):
def datetime(self, *args, **kwargs): console("[RTC] datetime")
def __init__(self, dimmer_pin=None, freq=480): self.dimmer_pin = dimmer_pin self.__duty = 0 self.__freq = freq console("[PWM - {}] {} Hz constructor".format(self.dimmer_pin, self.__freq))
def settime(*args, **kwargs): console("Set dummy NTP") return True
def __init__(self, timid=0, *args, **kwargs): self.timid = timid self.thread = None self.period_sec = 1 self.callback = None console("[Timer - {}] constructor".format(self.timid))