1,3 → 1,20 |
/* |
Ovladani domu rozvadec 1. n.p. pod schodama |
|
Syntaxe prikazu: |
|
<Roleta/Svetlo><#patro><#mistnost><Nord/Jih/Vychod/Zapad/A/B><Up/Down> |
R2aNU - roleta, 2. n.p., mistnost 10, sever, nahoru |
S12A - svetlo, 1. n.p., mistnost 2, prostredni |
|
Rozmisteni desek: |
|
[IN B] [IN D] |
[CPU] |
[IN A] [CAN] [IN E] [IN F] |
|
*/ |
|
#include "main.h" |
|
#case |
11,14 → 28,14 |
#define R104JZU input(PIN_A6) // Roleta laborator jih |
#define R104JZD input(PIN_A7) |
|
#define S103JZ input(PIN_B0) // Svetlo loznice jih vypinac u dveri |
#define S103JN input(PIN_B1) // -"- vypinac KAKL |
#define S103JV input(PIN_B2) // -"- vypinac mama |
#define R103VZU input(PIN_B3) // Roleta loznice vypinac u dveri |
#define R103VZD input(PIN_B4) |
#define S106AV input(PIN_B5) // Hlavni svetlo trucovna vypinac u dveri do kuchyne |
#define S107AN input(PIN_B6) // Svetlo satna vypinac do chodby |
#define S109AJ input(PIN_B7) // Svetlo tech. mistnost vypinac do chodby |
#define S103JZ input(PIN_B0) // A Svetlo loznice jih vypinac u dveri |
#define S103JN input(PIN_B1) // B -"- vypinac KAKL |
#define S103JV input(PIN_B2) // C -"- vypinac mama |
#define R103VZU input(PIN_B3) // D Roleta loznice vypinac u dveri |
#define R103VZD input(PIN_B4) // E |
//#define S input(PIN_B5) // F |
#define S107AN input(PIN_B6) // G Svetlo satna vypinac do chodby |
#define S109AJ input(PIN_B7) // H Svetlo tech. mistnost vypinac do chodby |
|
#define OS101A PIN_C0 // Spinac svetla v bunecce prizemi |
#define OS105V PIN_C1 // Svetlo nad chlebarnou |
40,25 → 57,26 |
#define S110AN input(PIN_D6) // Vypinac koupelna sever |
#define S108AV input(PIN_D7) // Dvere do spajzu |
|
/* |
#define PIN_E0 31776 |
#define PIN_E1 31777 |
#define PIN_E2 31778 |
#define PIN_E3 31779 |
#define PIN_E4 31780 |
#define PIN_E5 31781 |
#define PIN_E6 31782 |
#define PIN_E7 31783 |
//#define S input(PIN_E0) // A |
//#define S input(PIN_E1) // B |
//#define S input(PIN_E2) // C |
//#define S input(PIN_E3) // D |
//#define S input(PIN_E4) // E |
//#define S input(PIN_E5) // F |
//#define S input(PIN_E6) // G |
//#define S input(PIN_E7) // H |
|
#define PIN_F0 31784 |
#define PIN_F1 31785 |
#define PIN_F2 31786 |
#define PIN_F3 31787 |
#define PIN_F4 31788 |
#define PIN_F5 31789 |
#define PIN_F6 31790 |
#define PIN_F7 31791 |
#define S106AV input(PIN_F0) // A Hlavni svetlo trucovna vypinac u dveri do kuchyne |
#define R106JVD input(PIN_F1) // B Roleta trucovna jih vypinac u dveri do kuchyne |
#define R106JVU input(PIN_F2) // C |
#define R106ZVD input(PIN_F3) // D Roleta trucovna zapad vypinac u dveri do kuchyne |
#define R106ZVU input(PIN_F4) // E |
#define S107AJ input(PIN_F5) // F Svetlo satna vypinac u trucovny |
#define S109AN input(PIN_F6) // G Svetlo technologicka mistnost vypinac do prujezdu |
#define S106AN input(PIN_F7) // H Hlavni svetlo trucovna vypinac u dveri do satny |
|
|
/* |
#define PIN_G0 31792 |
#define PIN_G1 31793 |
#define PIN_G2 31794 |
104,7 → 122,6 |
int1 s103JV; |
int1 r103VZU; |
int1 r103VZD; |
int1 s106AV; |
int1 s107AN; |
int1 s109AJ; |
int1 s101AN; |
115,6 → 132,14 |
int1 s102AN; |
int1 s110AN; |
int1 s108AV; |
int1 r106JVU; |
int1 r106JVD; |
int1 r106ZVU; |
int1 r106ZVD; |
int1 s106AV; |
int1 s106AN; |
int1 s107AJ; |
int1 s109AN; |
|
#define send(s) \ |
{\ |
125,7 → 150,6 |
|
void main() |
{ |
|
setup_adc_ports(NO_ANALOGS|VSS_VDD); |
setup_adc(ADC_CLOCK_DIV_2); |
setup_psp(PSP_DISABLED); |
141,6 → 165,20 |
|
OFF(OS101A); |
|
{ |
int n; |
|
for(n=0;n<10;n++) |
{ |
output_low(LED1); // Indikace restartu (pockame na nabiti kondenzatoru ve vstupnich obvodech) |
delay_ms(100); |
output_high(LED1); |
delay_ms(100); |
restart_wdt(); |
} |
} |
|
|
s105AN=S105AN; // Poznamenej vychozi stav vypinacu |
r110NJU=R110NJU; |
r110NJD=R110NJD; |
154,7 → 192,6 |
s103JV=S103JV; |
r103VZU=R103VZU; |
r103VZD=R103VZD; |
s106AV=S106AV; |
s107AN=S107AN; |
s109AJ=S109AJ; |
s101AN=S101AN; |
165,6 → 202,14 |
s102AN=S102AN; |
s110AN=S110AN; |
s108AV=S108AV; |
r106JVU=R106JVU; |
r106JVD=R106JVD; |
r106ZVU=R106ZVU; |
r106ZVD=R106ZVD; |
s106AV=S106AV; |
s106AN=S106AN; |
s107AJ=S107AJ; |
s109AN=S109AN; |
|
while(TRUE) |
{ |
188,7 → 233,6 |
if(r103VZU!=R103VZU) {r103VZU=R103VZU; send(R13VU);} |
if(r103VZD!=R103VZD) {r103VZD=R103VZD; send(R13VD);} |
|
if(s106AV!=S106AV) {s106AV=S106AV; send(S16A);} |
if(s107AN!=S107AN) {s107AN=S107AN; send(S17A);} |
if(s109AJ!=S109AJ) {s109AJ=S109AJ; send(S19A);} |
|
199,6 → 243,15 |
if(s110AN!=S110AN) {s110AN=S110AN; send(S1aA);} |
if(s108AV!=S108AV) {s108AV=S108AV; send(S18A);} |
|
if(r106JVU!=R106JVU) {r106JVU=R106JVU; send(R16JU);} |
if(r106JVD!=R106JVD) {r106JVD=R106JVD; send(R16JD);} |
if(r106ZVU!=R106ZVU) {r106ZVU=R106ZVU; send(R16ZU);} |
if(r106ZVD!=R106ZVD) {r106ZVD=R106ZVD; send(R16ZD);} |
if(s106AV!=S106AV) {s106AV=S106AV; send(S16A);} |
if(s106AN!=S106AN) {s106AN=S106AN; send(S16A);} |
if(s107AJ!=S107AJ) {s107AJ=S107AJ; send(S17A);} |
if(s109AN!=S109AN) {s109AN=S109AN; send(S19A);} |
|
if(get_timer0()>65000) {output_toggle(LED2); set_timer0(0);} |
} |
} |