From fd51f61c821e49cb2a302db07fcf0cdab3a01b1d Mon Sep 17 00:00:00 2001 From: eddyem Date: Sun, 17 Jun 2018 19:45:04 +0300 Subject: [PATCH] src of 220 socket almost ready (not veryfied!) --- 220controlled_socket/src/220socket.bin | Bin 2941 -> 4221 bytes 220controlled_socket/src/220socket.geany | 14 +- 220controlled_socket/src/220socket.ihx | 172 ++++++++++++++--------- 220controlled_socket/src/Makefile | 2 +- 220controlled_socket/src/hardware.c | 2 + 220controlled_socket/src/hardware.h | 25 ++++ 220controlled_socket/src/main.c | 152 ++++++++++++++++++-- 7 files changed, 280 insertions(+), 87 deletions(-) diff --git a/220controlled_socket/src/220socket.bin b/220controlled_socket/src/220socket.bin index a25153d17892ce14d9aeb317dea779e6c41d4c02..50d1965f0e4b45a12ea593a24a1ad25aa00dbdcf 100644 GIT binary patch delta 1971 zcmZ`(O-vhC5Pn``Y;Q=QOUjP|-VHXph|=uZrI)Cr7(^9n=(>Q^5GS>4N))t^q=r-> zmb!5T3T}#Vvo0gd(Zx65Rc?csDzvr|1n6t97%H#DgyR(q2T#3(#uJvvs%oc^p)eYS9seuTS8fuI3RXl6#?eWei?~U?Y zl($EDTYfH^pPTqNahCAXs|Gp9AC7L4s^wFOhljHTV%vk4fqSHC#Vz_0QBvixok7m; zyd&vLKf}x?y=l%i?_+q~TkC|)2|@geZ;#jt#FzN1if`N`UhaU_ut{1tR;xG2z1l{V zYf!m*pASO#ssd@@**aT2*5dI>&N^@6Z)ZIe=cT0ROdNOpgQdu zk2*(HPEa|X%5-dzb}CZ?GDDV(f-=V}8HKN*GP0&uQ=MblA=If+xoVX=M0J!catwdx z>O;^uW9f9FPQcRX3pTr4wjr1u$)aS#$-# zauvZ(^lKLK*I%9kWGr4XzZkHG8{r*B=G{^Y93dv17gFCu>_#SST0M5Op$Seu@-sJc z*IXeT8UzU|))bgHzmd6BK0%p}OfC&!jWF3+cNLL~r~(mqhX0TJX^A{6Qu1oiBEyfT zC47;!Mawg%D*ZpPd>?-L>3%$fwJIiY~!@kWJZZK z^@ydL$)@&cE{j&QXmCt#S4dDlogNSh#qbZnO#su{k~L?mG?RGZ3}OQ-Or3}?z=u{n z3dgfwAc|NGGXrhWF<60M7zn6VFB+L2%sMHV-MQVppS%WJ7K%Tf94E3g$fe{Rpx3_7 zU+*qUjuTTLotQiT$sxB+Iw9B`qdy_}Mk#ruEj2RKAM7Pc7x8zIp}v9OsM6(UP2@*J z{YsazkNk+(@Q^y99%o~6P$E>eW>y$kBlr@n1%-#6P zv^)%+*x1a(JF%H@;o{{P%rPsEg0;NR#Q0=vR$;Hor~k{5``+C;NDJs9G^4o%N-csW y&}Pwgc-(c)c6&Y>NoUjLIG=eCaV724mD_b+;h&CJn#YI+lb*Z9{!v4oc>V>_^vLx9 delta 665 zcmeyX@Kcy203;1B7X*kD7ByK7}(W0uXUGhoW7lrsq^3D046!6uBnp?m|~ea zZ%#hXB+Jy5H~AgYY^JXFo4c8188@$InaHFs7B9~(&${mae|hG3d7gNA(Rg{Tvn>j_gcrmD=!>>jDcr*MA2{I$$}iB^;|I^HFxD1t9d&GnOduPI)xZpRhZ;? zgqeXPb5T5lylG(w<2eSEq7Ury0>>DXh1jzBk1;3-v1aqFV>m7>;4j4QFT|&!08}E+ zevUy&o)u`V9FID?7*EkBW^te+c)(7YCd0tldA6}4n#os<`AmCAHD|U^b-mC+XZ4zD zp@kmmmO#=|-5y8=0p&Y+fs9}vqvH&ak*pp8Bs0`Sfn*U(wiql6G-+LDAkg55XeJaTn1c4HJ}J+ zz>@D!eM^1=8A>3dqQx4y0)qTQ{H?f>^_>-T6_PVjld}~v^9=M2xjZND=amsH)(-}X zCnlF 100){ + Relay1 = 0; + SET_RELAY1(); + uart_write("RELAY1=1\n"); + } + } + if(Triac0){ + if(Global_time - Triac0 > 100){ + Triac0 = 0; + RESET_TRIAC0(); + uart_write("TRIAC0=0\n"); + } + } + if(Triac1){ + if(Global_time - Triac1 > 100){ + Triac1 = 0; + RESET_TRIAC1(); + uart_write("TRIAC1=0\n"); + } + } if(uart_read_byte(&rb)){ // buffer isn't empty switch(rb){ + case 'a': // turn ON triac0 + case 'A': // turn OFF triac0 + case 'b': // turn ON triac1 + case 'B': // turn OFF triac1 + triac_ONOFF(rb); + break; case 'h': // help case 'H': uart_write( "\nPROTO:\n" + "a/A - turn on/off triac0\n" + "b/B - turn on/off triac1\n" "c/C - check in0/1\n" - "I - show current ampl. (ADU)\n" - "s/S - activate out0/1\n" + "I - show current ampl. (ADU)\n" + "k/K - set/reset PKEY1\n" + "l/L - set/reset NKEY1\n" + "m/M - set/reset NKEY2\n" "r/R - deactivate out0/1\n" + "s/S - activate out0/1\n" + "y/Y - turn on/off relay0\n" + "z/Z - turn on/off relay1\n" ); break; case 'I': // current amplitude in ADU @@ -106,8 +173,8 @@ int main() { uart_send_byte(ch); newline(); break; - case 's': - case 'S': + case 's': // activate OUT0 + case 'r': // activate OUT1 ch = (rb == 's') ? '0' : '1'; uart_write("Out"); uart_send_byte(ch); @@ -115,15 +182,72 @@ int main() { if(rb == 's') SET_OUT0(); else SET_OUT1(); break; - case 'r': - case 'R': - ch = (rb == 'r') ? '0' : '1'; + case 'S': // deactivate OUT0 + case 'R': // deactivate OUT1 + ch = (rb == 'S') ? '0' : '1'; uart_write("Out"); uart_send_byte(ch); uart_write("=0\n"); - if(rb == 'r') RESET_OUT0(); + if(rb == 'S') RESET_OUT0(); else RESET_OUT1(); break; + case 'k': // activate PKEY1 + case 'K': // deactivate PKEY1 + uart_write("PKEY1="); + ch = (rb == 'k') ? '1' : '0'; + uart_send_byte(ch); + if(rb == 'k') SET_PKEY1(); + else RESET_PKEY1(); + newline(); + break; + case 'l': // activate NKEY1 + case 'L': // deactivate NKEY1 + uart_write("NKEY1="); + ch = (rb == 'l') ? '1' : '0'; + uart_send_byte(ch); + if(rb == 'l') SET_NKEY1(); + else RESET_NKEY1(); + newline(); + break; + case 'm': // activate NKEY2 + case 'M': // deactivate NKEY2 + uart_write("NKEY2="); + ch = (rb == 'm') ? '1' : '0'; + uart_send_byte(ch); + if(rb == 'm') SET_NKEY2(); + else RESET_NKEY2(); + newline(); + break; + case 'y': // relay 0 ON + if(CHK_TRIAC0()) SET_RELAY0(); + else{ + triac_ONOFF('a'); + Relay0 = Global_time; + if(!Relay0) Relay0 = 1; + } + break; + case 'Y': // relay 0 OFF + SET_TRIAC0(); + Triac0 = Global_time; + if(!Triac0) Triac0 = 1; + RESET_RELAY0(); + uart_write("RELAY0=0\n"); + break; + case 'z': // relay 1 ON + if(CHK_TRIAC1()) SET_RELAY1(); + else{ + triac_ONOFF('b'); + Relay1 = Global_time; + if(!Relay1) Relay1 = 1; + } + break; + case 'Z': // relay 1 OFF + SET_TRIAC1(); + Triac1 = Global_time; + if(!Triac1) Triac1 = 1; + RESET_RELAY1(); + uart_write("RELAY1=0\n"); + break; } } }while(1);