From: dxy15521469561 <1731678236@qq.com> Date: Mon, 18 Sep 2023 07:24:50 +0000 (+0800) Subject: 提交led文件 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=c5189cf96656c81313f2193db6b56b19a671dc75;p=mirrors%2FASR1603_G5.git 提交led文件 --- diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led.py new file mode 100644 index 00000000..829658be --- /dev/null +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led.py @@ -0,0 +1,777 @@ +from common import Abstract +import osTimer +import EventMesh +from machine import Pin +import utime + +from queue import Queue +import _thread +import usys + +led_red = Pin(Pin.GPIO36, Pin.OUT, Pin.PULL_PD, 0) + +led_green = Pin(Pin.GPIO44, Pin.OUT, Pin.PULL_PD, 0) + +led_white = Pin(Pin.GPIO21, Pin.OUT, Pin.PULL_PD, 0) + + + +def green_light_fast(num,freq):#快闪 num 循环闪烁次数 freq 交替闪烁的频率ms单位 + for i in range(num): + led_green.write(1) + utime.sleep_ms(freq) + led_green.write(0) + utime.sleep_ms(freq) + +def red_light_fast(num,freq):#快闪 #快闪 num 循环闪烁次数 freq 交替闪烁的频率ms单位 + for i in range(num): + led_red.write(1) + utime.sleep_ms(freq) + led_red.write(0) + utime.sleep_ms(freq) +def red_light_slow(num,freq):#慢闪 #快闪 num 循环闪烁次数 freq 交替闪烁的频率ms单位 + for i in range(10): + led_red.write(1) + utime.sleep_ms(500) + led_red.write(0) + utime.sleep_ms(500) + +def red_green_light(num,freq):#红绿灯交替闪烁 + for i in range(num): + led_red.write(1) + utime.sleep_ms(freq) + led_red.write(0) + utime.sleep_ms(freq) + led_green.write(1) + utime.sleep_ms(freq) + led_green.write(0) + utime.sleep_ms(freq) + +def open_led_red(): + led_red.write(1) + +def close_led_red(): + led_red.write(0) + +def open_led_white(): + led_white.write(1) + +def close_led_white(): + led_white.write(0) + +def open_led_green(): + led_green.write(1) + +def close_led_green(): + led_green.write(0) + + + +LED_TIMER_OUT = 100 +class led_mode: + LONG_LIGHT_RED = 1 + LONG_LIGHT_GREEN = 2 + LONG_LIGHT_WHITE = 3 + FLASH_LIGHT_RED = 4 + FLASH_LIGHT_GREEN = 5 + FLASH_LIGHT_WHITE = 6 + FLASH_LIGHT_RED_GREEN = 7 + FLASH_LIGHT_RED_WHITE = 8 + FLASH_LIGHT_GREEN_WHITE = 9 + LIGHT_NONE = FLASH_LIGHT_GREEN_WHITE+1 + + DEFAULT_LONG_LIGHT_MODE = 0+LIGHT_NONE #默认是关闭 + OPEN_LONG_LIGHT_MODE = 1+LIGHT_NONE#开启 + CLOSE_LONG_LIGHT_MODE = 2+LIGHT_NONE#需要关闭 + INTERVAL_LIGHT_RED = 3+LIGHT_NONE + INTERVAL_LIGHT_GREEN = 4+LIGHT_NONE + INTERVAL_LIGHT_WHITE = 5+LIGHT_NONE + + OTHER_MEASURE_MODE = 200 + + HEALTH_LED_MODE = 201 #健康测试模式 + WECHAT_LED_MODE = 202 #微聊模式 + CHARGE_IN_MODE = 203 #充电模式 + CHARGE_OUT_MODE = 204 #充电已移出 + CHARGE_FULL_MODE = 205 #充电已满 + + + + + +class ledEventManager(Abstract):#灯事件 + def __init__(self): + self.timer = osTimer() + self.freq_time = 0#交替闪烁时间 最小100ms + self.freq_num = 0#交替闪烁的次数 + self.flash_light = 0 + self.total_time = 0 + self.long_count = 0 + self.timer_state = 0 + self.total_count = 0 + self.freq = 0 + self.led_state = 0 + self.long_light_mode = 0 + self.hr_state = 0 + self.wechat_btn = 1 + self.need_hr_btn = 0 + self.led_open_time = 0 + self.led_close_time = 0 + self.led_total_time = 0#闪的总时间 + self.led_enable = 0 + self.led_mode = 0 + self.working_led_mode = None + self.ledInfo_queue = Queue() + _thread.start_new_thread(self.ledInfo_queue_thread, ()) + EventMesh.subscribe("publish_message_event_ledInfo",self.publish_message_event_ledInfo) + pass + + + def post_processor_after_instantiation(self): + EventMesh.subscribe("set_led_time_arg", self.set_led_time_arg)#设置参数 + EventMesh.subscribe("get_led_state", self.get_led_state)#设置参数 + + EventMesh.subscribe("set_hr_blood_led", self.set_hr_blood_led)#设置参数 + + EventMesh.subscribe("set_find_watch_led", self.set_find_watch_led)#设置参数 + + EventMesh.subscribe("close_all_led", self.close_all_led)#设置参数 + + EventMesh.subscribe("stop_led_timer", self.stop_led_timer)#设置参数 + + EventMesh.subscribe("read_red_led_level", self.read_red_led_level)#读取红灯的电平状态 + + EventMesh.subscribe("read_green_led_level", self.read_green_led_level)#读取绿灯的电平状态 + + EventMesh.subscribe("read_white_led_level", self.read_white_led_level)#读取白灯的电平状态 + + EventMesh.subscribe("close_led_pin", self.close_led_pin)#读取白灯的电平状态def close_led_pin(self, event, msg): + + + def ledInfo_queue_thread(self): + while True: + data = self.ledInfo_queue.get() + #print("ledInfo_queue:data = {}".format(data)) + if data != None: + try: + data["func"](data["data"]) + except Exception as e: + print("ledInfo_queue:ERROR:{}".format(e)) + usys.print_exception(e) + def publish_message_event_ledInfo(self,event,msg): + self.ledInfo_queue.put(msg) + + def publish_led_event_cb(self, *args, **kwargs): + EventMesh.publish("publish_message_event_ledInfo",{"func":self.led_fun_cb,"data":0}) + + def read_red_led_level(self, event, msg): # + red_level = led_red.read() + return red_level + + def read_green_led_level(self, event, msg): # + green_level = led_green.read() + return green_level + + def read_white_led_level(self, event, msg): # + white_level = led_green.read() + return white_level + + def set_hr_blood_led(self, event, msg): # + print("set_hr_blood_led :{}".format(msg)) + if msg != None: + if msg == 1: + EventMesh.publish("set_led_time_arg",[1,2,10*70,led_mode.FLASH_LIGHT_RED_GREEN,10,5,led_mode.HEALTH_LED_MODE])#測量成功 + # EventMesh.publish("set_led_time_arg",[1000,200,300,led_mode.FLASH_LIGHT_RED_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.HEALTH_LED_MODE])#開始測量 + elif msg == 2: + EventMesh.publish("set_led_time_arg",[1,1,300,led_mode.FLASH_LIGHT_GREEN,31,10*3,led_mode.OTHER_MEASURE_MODE])#測量成功 + # EventMesh.publish("set_led_time_arg",[3000,1000,1,led_mode.LONG_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#測量成功 + elif msg == 3: + EventMesh.publish("set_led_time_arg",[1,1,300,led_mode.FLASH_LIGHT_RED,31,10*3,led_mode.OTHER_MEASURE_MODE])#測量成功 + # EventMesh.publish("set_led_time_arg",[3000,1000,1,led_mode.LONG_LIGHT_RED,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#測量失敗 + #加音频文件 + + def set_find_watch_led(self, event, msg): #查找设备 + EventMesh.publish("OPEN_FIND_WATCH")# + + # EventMesh.publish("set_led_time_arg",[37000,1000,1,led_mode.LONG_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#查找设备绿灯长亮37s + + def get_led_state(self, event, msg): # + return self.timer_state + def open_timer(self,msg): #msg 0 使能 1总的时间 2 灯模式 3 开启时间 4 关闭时间 + if msg != None: + if len(msg) != 0: + self.led_total_time = msg[2]# + print("open_timer:{}".format(msg)) + if self.led_total_time != None: + + if self.led_total_time > 0: + self.led_enable=msg[0] + if self.led_enable != 0: + self.led_mode = msg[1] + self.long_light_mode = msg[3] + self.led_open_time = msg[4] + self.led_close_time = msg[5] + self.working_led_mode = msg[6] + self.long_count = 0 + + if self.timer_state == 0: + self.timer_state = 1 + self.timer.stop() + + EventMesh.publish("close_led_pin") + self.timer.start(LED_TIMER_OUT,1,self.publish_led_event_cb) + + + + + def set_led_time_arg(self, event, msg): #msg + + open_power = EventMesh.publish("get_power_on_state")#获取开机标识 + power_off = EventMesh.publish("get_power_off_state")#获取开机标识 + print("set_led_time_arg",msg,open_power,power_off) + if open_power != None: + if open_power == 0: + return + if power_off != None: + if power_off == 1: + return + usb_in = EventMesh.publish("get_usb")# + # print("usb_in",usb_in) + if usb_in != None: + if usb_in == 1 or usb_in == 3:#正在充电或者充电已满都不要被打断 + if self.timer_state == 1: + self.timer_state = 0 + self.timer.stop() + if usb_in == 1: + if self.working_led_mode != led_mode.CHARGE_IN_MODE: + str_buf = [1,1,10,led_mode.LONG_LIGHT_RED,4,2,led_mode.CHARGE_IN_MODE] + self.open_timer(str_buf) + self.working_led_mode = led_mode.CHARGE_IN_MODE + + elif usb_in == 3: + if self.working_led_mode != led_mode.CHARGE_FULL_MODE: + str_buf = [1,1,10,led_mode.LONG_LIGHT_GREEN,4,2,led_mode.CHARGE_FULL_MODE] + self.open_timer(str_buf) + self.working_led_mode = led_mode.CHARGE_FULL_MODE + + return + else: + if msg[5] != led_mode.HEALTH_LED_MODE: + self.working_led_mode = led_mode.OTHER_MEASURE_MODE + + get_hr_state = EventMesh.publish("get_hr_state") + get_spo2_state = EventMesh.publish("get_spo2_state") + + wechat_state = EventMesh.publish("get_wechat_state") + print("get_hr_state",get_hr_state,get_spo2_state,wechat_state,self.working_led_mode) + if wechat_state != None: #获取微聊状态 + if wechat_state == 1: + if self.working_led_mode != led_mode.WECHAT_LED_MODE:#如果不在亮微聊模式需要亮微聊模式 + self.timer_state = 0 + self.timer.stop() + str_buf = [1,1,1,led_mode.LONG_LIGHT_GREEN,4,2,led_mode.WECHAT_LED_MODE] + self.open_timer(str_buf) + self.working_led_mode = led_mode.WECHAT_LED_MODE + return + else: + return + + else: + self.wechat_btn = 0 + if get_hr_state != 0 or get_spo2_state != 0 :#心率血氧优先级高 + if self.working_led_mode != led_mode.HEALTH_LED_MODE:#如果不在亮微聊模式需要亮微聊模式 + print("set_hr_blood_led!!!!!!!!!!") + str_buf = [1,2,10*70,led_mode.FLASH_LIGHT_RED_GREEN,10,5,led_mode.HEALTH_LED_MODE]#測量成功 + self.timer_state = 0 + self.timer.stop() + self.open_timer(str_buf) + self.working_led_mode = led_mode.HEALTH_LED_MODE + return + else: + print("set_hr_blood_led stop!!!!!!!!!!") + return + if get_hr_state == 0 and get_spo2_state == 0: + self.working_led_mode = led_mode.OTHER_MEASURE_MODE + + self.open_timer(msg) + + + def stop_led_timer(self, event, msg): + open_power = EventMesh.publish("get_power_on_state")#获取开机标识 + if open_power != None: + if open_power == 0: + return + EventMesh.publish("close_all_led")#关闭所有的灯 + # EventMesh.publish("set_led_time_arg",[1,2,2*300,led_mode.FLASH_LIGHT_RED_GREEN,2,1,led_mode.HEALTH_LED_MODE])#測量成功 + def led_fun_cb(self, data):# + if self.led_enable ==0 and self.led_total_time == 0: + return + # print("self.long_count",self.long_count) + if self.led_total_time != 0: + #红灯闪烁 + if self.long_light_mode == led_mode.FLASH_LIGHT_RED :# + if self.led_mode == 1: + if self.led_total_time > 0: + self.led_total_time-=1 + if self.led_total_time > 0: + close_led_green() + close_led_white() + open_led_red() + else: + EventMesh.publish("stop_led_timer")#关闭所有的灯 + elif self.led_mode == 2: + self.long_count+=1 + if self.long_count % (self.led_open_time) < self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms + close_led_green() + close_led_white() + open_led_red() + pass + else: + close_led_green() + close_led_white() + close_led_red() + pass + if self.long_count >= self.led_total_time:#大于总的时间 4 + EventMesh.publish("stop_led_timer")#设置参数 + pass + #绿灯闪烁 + elif self.long_light_mode == led_mode.FLASH_LIGHT_GREEN:# + if self.led_mode == 1:#长亮时间限制 + + if self.led_total_time > 0: + self.led_total_time-=1 + if self.led_total_time > 0: + close_led_red() + close_led_white() + open_led_green() + else: + EventMesh.publish("stop_led_timer")#关闭所有的灯 + + + elif self.led_mode == 2: + self.long_count+=1 + if self.long_count % (self.led_open_time) < self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms + close_led_red() + close_led_white() + open_led_green() + pass + else: + close_led_green() + close_led_white() + close_led_red() + pass + if self.long_count >= self.led_total_time:#大于总的时间 4 + EventMesh.publish("stop_led_timer")#设置参数 + pass + #蓝灯闪烁 暂时是白色灯 + elif self.long_light_mode == led_mode.FLASH_LIGHT_WHITE:# + if self.led_mode == 1:#长亮时间限制 + if self.led_total_time > 0: + self.led_total_time-=1 + if self.led_total_time > 0: + close_led_red() + close_led_green() + open_led_white() + else: + EventMesh.publish("stop_led_timer")#关闭所有的灯 + elif self.led_mode == 2: + self.long_count+=1 + if self.long_count % (self.led_open_time) < self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms + close_led_red() + close_led_green() + open_led_white() + pass + else: + close_led_green() + close_led_white() + close_led_red() + pass + if self.long_count >= self.led_total_time:#大于总的时间 4 + EventMesh.publish("stop_led_timer")#设置参数 + pass + #红绿灯闪烁 + elif self.long_light_mode == led_mode.FLASH_LIGHT_RED_GREEN:# + self.long_count+=1 + + if self.long_count % (self.led_open_time) < self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms + close_led_white()#白色灯 + close_led_green() + open_led_red() + pass + else: + close_led_white() + close_led_red() + open_led_green() + pass + if self.long_count >= self.led_total_time:#大于总的时间 4 + EventMesh.publish("stop_led_timer")#设置参数 + pass + #红蓝灯闪烁 蓝变成白色灯 + elif self.long_light_mode == led_mode.FLASH_LIGHT_RED_WHITE:# + self.long_count+=1 + if self.long_count % (self.led_open_time) < self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms + close_led_white()#白色灯 + close_led_green() + open_led_red() + pass + else: + close_led_green() + close_led_red() + open_led_white() + pass + if self.long_count >= self.led_total_time:#大于总的时间 4 + EventMesh.publish("stop_led_timer")#设置参数 + pass + #蓝绿灯闪烁 + elif self.long_light_mode == led_mode.FLASH_LIGHT_GREEN_WHITE:# + + self.long_count+=1 + if self.long_count % (self.led_open_time) < self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms + close_led_white()#白色灯 + close_led_red() + open_led_green() + pass + else: + close_led_green() + close_led_red() + open_led_white() + pass + if self.long_count >= self.led_total_time:#大于总的时间 4 + EventMesh.publish("stop_led_timer")#设置参数 + pass + #红灯长亮 + elif self.long_light_mode == led_mode.LONG_LIGHT_RED:# + close_led_white()#白色灯 + close_led_green() + open_led_red() + #绿灯长亮 + elif self.long_light_mode == led_mode.LONG_LIGHT_GREEN:# + close_led_white()#白色灯 + close_led_red() + open_led_green() + #蓝灯长亮 + elif self.long_light_mode == led_mode.LONG_LIGHT_WHITE:# + close_led_green()#白色灯 + close_led_red() + open_led_white() + + def close_led_pin(self, event, msg): + close_led_red() + close_led_green() + close_led_white() + + def close_all_led(self, event, msg): + print("close_all_led!!!!") + usb_in = EventMesh.publish("get_usb")# + if usb_in != None: + if usb_in == 1 or usb_in == 3:#正在充电或者充电已满都不要被打断 + self.timer_state = 0 + self.timer.stop() + return + else: + get_hr_state = EventMesh.publish("get_hr_state") + get_spo2_state = EventMesh.publish("get_spo2_state") + + wechat_state = EventMesh.publish("get_wechat_state") + print("get_hr_state",get_hr_state,get_spo2_state,wechat_state,self.working_led_mode) + if wechat_state != None: #获取微聊状态 + if wechat_state == 1 or get_spo2_state != 0 or get_hr_state != 0: + return + self.timer_state = 0 + self.timer.stop() + self.led_total_time = 0 + self.led_enable = 0 + self.led_mode = 0 + self.long_light_mode = 0 + self.led_open_time = 0 + self.led_close_time = 0 + self.working_led_mode = 0 + self.long_count = 0 + close_led_red() + close_led_green() + close_led_white() + print("close led!!!") + + def led_test_fun_cb(self, data): + return + if 0: + # print("self.freq_time :{} self.freq_num:{} self.flash_light:{}".format(self.freq_time,self.freq_num,self.flash_light)) + if self.freq_time != 0 and self.freq_num != 0 and self.flash_light != 0: + if self.flash_light == led_mode.LONG_LIGHT_RED: + if self.total_time != 0: + if self.long_light_mode == led_mode.DEFAULT_LONG_LIGHT_MODE:#不是长亮模式 只需要长亮3 5 7 s这样就关闭长亮 + count = self.total_time//LED_TIMER_OUT#100ms单位 + self.long_count+=1 + if self.long_count == 1: + close_led_green() + close_led_white() + open_led_red()#亮红灯 高电平 + + elif self.long_count >= count :#不开长亮 只亮3 5 s这样就直接关闭 + close_led_red()#亮红灯 低电平 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.long_light_mode == led_mode.OPEN_LONG_LIGHT_MODE:#开启长亮,需要手动发指令关闭长亮模式 + EventMesh.publish("stop_led_timer")#设置参数 + close_led_green() + close_led_white() + open_led_red()#亮红灯 高电平 + + + elif self.long_light_mode == led_mode.CLOSE_LONG_LIGHT_MODE:#关闭长亮模式 + close_led_red()#亮红灯 低电平 + EventMesh.publish("stop_led_timer")#设置参数 + else: + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.flash_light == led_mode.LONG_LIGHT_GREEN: + if self.total_time != 0: + if self.long_light_mode == led_mode.DEFAULT_LONG_LIGHT_MODE:#不是长亮模式 只需要长亮3 5 7 s这样就关闭长亮 + count = self.total_time//LED_TIMER_OUT#100ms单位 + self.long_count+=1 + if self.long_count == 1: + close_led_red() + close_led_white() + open_led_green()#亮绿灯 高电平 + + elif self.long_count >= count :#不开长亮 只亮3 5 s这样就直接关闭 + close_led_green()#亮绿灯 低电平 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.long_light_mode == led_mode.OPEN_LONG_LIGHT_MODE:#开启长亮,需要手动发指令关闭长亮模式 + EventMesh.publish("stop_led_timer")#设置参数 + close_led_red() + close_led_white() + open_led_green()#亮绿灯 高电平 + + + elif self.long_light_mode == led_mode.CLOSE_LONG_LIGHT_MODE:#关闭长亮模式 + close_led_green()#亮绿灯 低电平 + EventMesh.publish("stop_led_timer")#设置参数 + + else: + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.flash_light == led_mode.LONG_LIGHT_WHITE: + if self.total_time != 0: + if self.long_light_mode == led_mode.DEFAULT_LONG_LIGHT_MODE:#不是长亮模式 只需要长亮3 5 7 s这样就关闭长亮 + count = self.total_time//LED_TIMER_OUT#100ms单位 + self.long_count+=1 + if self.long_count == 1: + close_led_green() + close_led_red() + open_led_white()#亮绿灯 高电平 + elif self.long_count >= count: + close_led_white()#亮绿灯 低电平 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.long_light_mode == led_mode.OPEN_LONG_LIGHT_MODE:#开启长亮,需要手动发指令关闭长亮模式 + EventMesh.publish("stop_led_timer")#设置参数 + close_led_green() + close_led_red() + open_led_white()#亮绿灯 高电平 + + elif self.long_light_mode == led_mode.CLOSE_LONG_LIGHT_MODE:#开启长亮,需要手动发指令关闭长亮模式 + close_led_white()#亮绿灯 低电平 + EventMesh.publish("stop_led_timer")#设置参数 + + else:#防止长亮时未设置长亮总时长 未设置不开灯 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.flash_light == led_mode.FLASH_LIGHT_RED:#红灯快速闪烁 灭灯时间和闪烁时间一致 + if self.total_time != 0: + count = self.freq_num + self.freq = self.freq_time // LED_TIMER_OUT# + self.long_count+=1 + # print("self.freq : {} FLASH_LIGHT_RED count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count)) + if self.long_count == 1:#间隔多久闪一次 100ms单位 + close_led_green() + close_led_white() + open_led_red()#亮白灯 高电平 + elif self.long_count == self.freq+1: + self.total_count+=1 + close_led_red()#亮白灯 低电平 + if self.long_count >= self.freq*2: + self.long_count = 0 + + # print("self.total_count:{}".format(self.total_count)) + if self.total_count >= count: + close_led_red()#亮白灯 低电平 + self.total_count = 0 + self.long_count = 0 + EventMesh.publish("stop_led_timer")#设置参数 + + + else:#防止长亮时未设置长亮总时长 未设置不开灯 + EventMesh.publish("stop_led_timer")#设置参数 + elif self.flash_light == led_mode.FLASH_LIGHT_GREEN:#绿灯快速闪烁 + if self.total_time != 0: + count = self.freq_num + self.freq = self.freq_time // LED_TIMER_OUT# + self.long_count+=1 + # print("self.freq : {} FLASH_LIGHT_GREEN count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count)) + if self.long_count == 1:#间隔多久闪一次 100ms单位 + close_led_red() + close_led_white() + open_led_green()#亮白灯 高电平 + elif self.long_count == self.freq+1: + self.total_count+=1 + close_led_green()#亮白灯 低电平 + if self.long_count >= self.freq*2: + self.long_count = 0 + + # print("self.total_count:{}".format(self.total_count)) + if self.total_count >= count: + close_led_green()#亮白灯 低电平 + self.total_count = 0 + self.long_count = 0 + EventMesh.publish("stop_led_timer")#设置参数 + + else:#防止长亮时未设置长亮总时长 未设置不开灯 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.flash_light == led_mode.FLASH_LIGHT_WHITE:#白灯灯快速闪烁 + if self.total_time != 0: + count = self.freq_num + self.freq = self.freq_time // LED_TIMER_OUT# + self.long_count+=1 + # print("self.freq : {} FLASH_LIGHT_WHITE count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count)) + if self.long_count == 1:#间隔多久闪一次 100ms单位 + close_led_green() + close_led_red() + open_led_white()#亮白灯 高电平 + elif self.long_count == self.freq+1: + self.total_count+=1 + close_led_white()#亮白灯 低电平 + if self.long_count >= self.freq*2: + self.long_count = 0 + + # print("self.total_count:{}".format(self.total_count)) + if self.total_count >= count: + close_led_white()#亮白灯 低电平 + self.total_count = 0 + self.long_count = 0 + EventMesh.publish("stop_led_timer")#设置参数 + + else:#防止长亮时未设置长亮总时长 未设置不开灯 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.flash_light == led_mode.INTERVAL_LIGHT_RED:#间隔闪烁 + if self.total_time != 0: + count = self.freq_num + self.freq = self.freq_time // LED_TIMER_OUT# + self.long_count+=1 + # print("self.freq : {} FLASH_LIGHT_RED count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count)) + if self.long_count == 1:#间隔多久闪一次 100ms单位 + close_led_green() + close_led_white() + open_led_red()#亮白灯 高电平 + elif self.long_count == self.freq+1: + self.total_count+=1 + close_led_red()#亮白灯 低电平 + if self.long_count >= self.freq*2: + self.long_count = 0 + + # print("self.total_count:{}".format(self.total_count)) + if self.total_count >= count: + close_led_red()#亮白灯 低电平 + self.total_count = 0 + self.long_count = 0 + EventMesh.publish("stop_led_timer")#设置参数 + + + else:#防止长亮时未设置长亮总时长 未设置不开灯 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.flash_light == led_mode.INTERVAL_LIGHT_GREEN:#绿灯快速闪烁 + if self.total_time != 0: + count = self.freq_num + self.freq = self.freq_time // LED_TIMER_OUT# + self.long_count+=1 + # print("self.freq : {} FLASH_LIGHT_GREEN count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count)) + if self.long_count == 1:#间隔多久闪一次 100ms单位 + close_led_red() + close_led_white() + open_led_green()#亮白灯 高电平 + elif self.long_count == self.freq+1: + self.total_count+=1 + close_led_green()#亮白灯 低电平 + if self.long_count >= self.freq*2: + self.long_count = 0 + + # print("self.total_count:{}".format(self.total_count)) + if self.total_count >= count: + close_led_green()#亮白灯 低电平 + self.total_count = 0 + self.long_count = 0 + EventMesh.publish("stop_led_timer")#设置参数 + + else:#防止长亮时未设置长亮总时长 未设置不开灯 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.flash_light == led_mode.INTERVAL_LIGHT_WHITE:#白灯灯快速闪烁 + if self.total_time != 0: + count = self.freq_num + self.freq = self.freq_time // LED_TIMER_OUT# + self.long_count+=1 + # print("self.freq : {} FLASH_LIGHT_WHITE count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count)) + if self.long_count == 1:#间隔多久闪一次 100ms单位 + close_led_green() + close_led_red() + open_led_white()#亮白灯 高电平 + elif self.long_count == self.freq+1: + self.total_count+=1 + close_led_white()#亮白灯 低电平 + if self.long_count >= self.freq*2: + self.long_count = 0 + + # print("self.total_count:{}".format(self.total_count)) + if self.total_count >= count: + close_led_white()#亮白灯 低电平 + self.total_count = 0 + self.long_count = 0 + EventMesh.publish("stop_led_timer")#设置参数 + + else:#防止长亮时未设置长亮总时长 未设置不开灯 + EventMesh.publish("stop_led_timer")#设置参数 + + elif self.flash_light == led_mode.FLASH_LIGHT_RED_GREEN:#红绿灯灯快速闪烁 + if self.total_time != 0: + count = self.freq_num + self.freq = self.freq_time // LED_TIMER_OUT# + self.long_count+=1 + if self.long_count == 1:#间隔多久闪一次 100ms单位 + close_led_white() + close_led_green()#亮白灯 低电平 + open_led_red()#紅 + elif self.long_count == 1*self.freq+1:#5 6 7 8 + close_led_red()#亮白灯 低电平 + close_led_green()#亮白灯 低电平 + + elif self.long_count == 2*self.freq+1:#5 6 7 8 + open_led_green()#ç¶  + + elif self.long_count == 3*self.freq+1:#5 6 7 8 + close_led_red()#亮白灯 低电平 + close_led_green()#亮白灯 低电平 + self.total_count += 1 + + if self.long_count >= 4*self.freq: + self.long_count = 0 + # print("self.total_count:{}".format(self.total_count)) + if self.total_count >= count: + close_led_green()#亮白灯 低电平 + close_led_red()#亮白灯 低电平 + self.long_count = 0 + EventMesh.publish("stop_led_timer")#设置参数 + + else:#防止长亮时未设置长亮总时长 未设置不开灯 + EventMesh.publish("stop_led_timer")#设置参数 + elif self.flash_light >= led_mode.LIGHT_NONE:#未知 + EventMesh.publish("stop_led_timer")#设置参数 + + else: + EventMesh.publish("stop_led_timer")#关闭定时器和关闭所有的led灯 + + + diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/versions.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/versions.py deleted file mode 100644 index 944abd9f..00000000 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/versions.py +++ /dev/null @@ -1,2 +0,0 @@ -Version="810M_D10_V1.0" -Build_Time="2023-07-21 9:46:53"