From 04f7369cfcfa4dcc9e509e89048370f738c2ef80 Mon Sep 17 00:00:00 2001 From: Christian Zufferey Date: Sun, 16 Sep 2018 17:11:13 +0200 Subject: [PATCH] - fait de l'ordre dans les scripts ir_send* - fait le script ir_send qui permet d'envoyer un code IR de 4 bits en zproto - fait un tableau de calculs pour le protocole zproto --- .gitignore | 2 +- IR/IR_zproto.gsheet | 1 + IR/ir_receive2.lua | 28 ++++++---- IR/ir_send.lua | 51 +++++++++++++++++++ IR/{ => oldies}/ir_send1.lua | 0 IR/{ => oldies}/ir_send2.lua | 0 IR/{ => oldies}/ir_send3.lua | 0 IR/{ => oldies}/ir_send4.lua | 2 +- .../hauteur_eau/station_mesure/init.lua | 6 +-- 9 files changed, 74 insertions(+), 16 deletions(-) create mode 100644 IR/IR_zproto.gsheet create mode 100644 IR/ir_send.lua rename IR/{ => oldies}/ir_send1.lua (100%) rename IR/{ => oldies}/ir_send2.lua (100%) rename IR/{ => oldies}/ir_send3.lua (100%) rename IR/{ => oldies}/ir_send4.lua (91%) diff --git a/.gitignore b/.gitignore index 52db8f8..a62f05b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ Icon? Tools* .DS_Store -ESPlorer.Log* +ESPlorer*Log* # Compiled Lua sources luac.out diff --git a/IR/IR_zproto.gsheet b/IR/IR_zproto.gsheet new file mode 100644 index 0000000..5f1e8b9 --- /dev/null +++ b/IR/IR_zproto.gsheet @@ -0,0 +1 @@ +{"url": "https://docs.google.com/open?id=1RlgDPMh1dUCrIPxytMd2KCYdcttVdvh2LTuZecwriN4", "doc_id": "1RlgDPMh1dUCrIPxytMd2KCYdcttVdvh2LTuZecwriN4", "email": "christian.zufferey@gmail.com"} \ No newline at end of file diff --git a/IR/ir_receive2.lua b/IR/ir_receive2.lua index 89e8f42..c4ceb1c 100644 --- a/IR/ir_receive2.lua +++ b/IR/ir_receive2.lua @@ -1,6 +1,6 @@ --- Petit script pour recevoir la LED IR +-- Petit script pour recevoir la LED IR -print("\n ir_receive2.lua zf180909.1936 \n") +print("\n ir_receive2.lua zf180915.1321 \n") pin_hp = 8 @@ -10,17 +10,23 @@ gpio.write(pin_hp,gpio.LOW) pin_ir_receive = 7 gpio.mode(pin_ir_receive, gpio.INT, gpio.PULLUP) +i=1 j=i + function pulse_detected() - gpio.write(pin_hp,gpio.HIGH) - tmr.delay(500) - --print("pulse") - gpio.write(pin_hp,gpio.LOW) +-- gpio.write(pin_hp,gpio.HIGH) + --tmr.delay(500) + i=i+1 +-- gpio.write(pin_hp,gpio.LOW) end gpio.trig(pin_ir_receive,"down",pulse_detected) - ---adctimer1=tmr.create() ---tmr.alarm(adctimer1, 50, tmr.ALARM_AUTO, function() --- print(adc.read(0)) ---end) +ir_receive_tmr1=tmr.create() +tmr.alarm(ir_receive_tmr1, 500, tmr.ALARM_AUTO, function() + if i~=j then + gpio.write(pin_hp,gpio.HIGH) + print(i) + j=i + gpio.write(pin_hp,gpio.LOW) + end +end) diff --git a/IR/ir_send.lua b/IR/ir_send.lua new file mode 100644 index 0000000..852b4c8 --- /dev/null +++ b/IR/ir_send.lua @@ -0,0 +1,51 @@ +-- Script pour la gestion de l'émetteur IR à 38kHz (LED, infrared, infrarouge) +-- permet l'envoi d'un code avec le protocole zIR, protocole de mon invention ;-) +-- exprès pas standard afin de ne pas être parasité par les autres sources IR ! +-- ATTENTION, on utilise ici l'astuce du gpio.serout pour faire la pulse de 26uS (38kHz), +-- car on n'arrive pas avec le gpio.write à faire une pulse plus courte que 400uS + +print("\n ir_send.lua zf180916.1706 \n") + +pin_ir_send = 7 +gpio.mode(pin_ir_send,gpio.OUTPUT) +gpio.write(pin_ir_send,gpio.HIGH) + +Mark_Coeff = 0.5 +-- en mS/uS +Mark_Start = 3 *Mark_Coeff *1000 +Mark_Bit1 = 1 *Mark_Coeff *1000 +Mark_Bit0 = 2 *Mark_Coeff *1000 +Mark_Space = 1 *Mark_Coeff *1000 + +-- envoi une série de pulses à 38kHz de durée zduration en uS +function pulse_ir(zduration) +-- print("pulse: "..zduration) + gpio.serout(pin_ir_send,gpio.LOW,{1,25},zduration/26) +end + +-- attention, 4 bits seulement +function send_code_ir(zcode) + pulse_ir(Mark_Start) + print("Mark_Space:"..Mark_Space) + tmr.delay(Mark_Space) + for i=0, 3 do + if bit.isset(zcode,i) then +-- print("bit: "..i..",1") + pulse_ir(Mark_Bit1) + else +-- print("bit: "..i..",0") + pulse_ir(Mark_Bit0) + end +-- print("Mark_Space:"..Mark_Space) + tmr.delay(Mark_Space) + end +end + + +sendir_tmr1=tmr.create() +tmr.alarm(sendir_tmr1, 1000, tmr.ALARM_AUTO, function() + send_code_ir(0x05) +end) + + + diff --git a/IR/ir_send1.lua b/IR/oldies/ir_send1.lua similarity index 100% rename from IR/ir_send1.lua rename to IR/oldies/ir_send1.lua diff --git a/IR/ir_send2.lua b/IR/oldies/ir_send2.lua similarity index 100% rename from IR/ir_send2.lua rename to IR/oldies/ir_send2.lua diff --git a/IR/ir_send3.lua b/IR/oldies/ir_send3.lua similarity index 100% rename from IR/ir_send3.lua rename to IR/oldies/ir_send3.lua diff --git a/IR/ir_send4.lua b/IR/oldies/ir_send4.lua similarity index 91% rename from IR/ir_send4.lua rename to IR/oldies/ir_send4.lua index cc7d84a..30cc78a 100644 --- a/IR/ir_send4.lua +++ b/IR/oldies/ir_send4.lua @@ -2,7 +2,7 @@ -- ATTENTION, on utilise ici l'astuce du gpio.serout pour faire la pulse, -- car on n'arrive pas avec le gpio.write à faire une pulse plus courte que 400uS -print("\n ir_send4.lua zf180909.2308 \n") +print("\n ir_send4.lua zf180915.1330 \n") pin_ir_send = 7 gpio.mode(pin_ir_send,gpio.OUTPUT) diff --git a/Minid1 OLED/hauteur_eau/station_mesure/init.lua b/Minid1 OLED/hauteur_eau/station_mesure/init.lua index bd82b76..e7cacc8 100644 --- a/Minid1 OLED/hauteur_eau/station_mesure/init.lua +++ b/Minid1 OLED/hauteur_eau/station_mesure/init.lua @@ -1,7 +1,7 @@ -- super mini bootstrap -print("\n init_minizf1.lua zf180909.1921 \n") +print("\n init_minizf1.lua zf180915.1341 \n") -tmr.alarm(0, 5000, tmr.ALARM_SINGLE, function() +tmr.alarm(0, 7000, tmr.ALARM_SINGLE, function() dofile("disp_oled.lua") oled_line1="RESET" @@ -14,6 +14,6 @@ disp_oled() --dofile("wifi_ap_start.lua") --dofile("telnet_srv.lua") dofile("start_demo.lua") -dofile("ir_send4.lua") +dofile("ir_send.lua") end)