/Designs/dum/SW/2patra/2np/main.c
25,25 → 25,23
#define GO_ZALUZIE 6 // cca 1,5 s
#define RECEIVE 10 // cca 2,6 s
 
#define OR110NU PIN_A0 //* t1 Zaluzie koupelna dole
#define OR110ND PIN_A1 //* t2
#define OR110NU PIN_A0 // t1 Zaluzie koupelna dole
#define OR110ND PIN_A1 // t2
#define OR207VU PIN_A2 // t3 Roleta klubovna
#define OR207VD PIN_A3 // t4
#define OR103VU PIN_A4 // t5 Roleta loznice
#define OR103VD PIN_A5 // t6
//#define OR104VU PIN_A4 // Roleta laborator vychod
//#define OR104VD PIN_A5
#define OR104JU PIN_A6 // t7 Roleta laborator jih
#define OR104JD PIN_A7 // t8
 
#define OS103J PIN_B0 // t1 Svetla loznice
#define OS105Z PIN_B1 // t2 Svetlo kuchyn nad lavici
#define OS110N PIN_B2 // t3 Svetlo koupelna dole zachod
#define OS110N PIN_B2 // t3 Svetlo koupelna dole zachod a sprhca
#define OS106A PIN_B3 // t4 Svetlo trucovna stred
#define OS107A PIN_B4 // t5 Svetlo satna
#define OS109A PIN_B5 // t6 Svetlo technologicka mistnost
//#define OS110J PIN_B6 // t7 Svetlo koupelna dole sprcha
//#define O... PIN_B7 // t8
#define OS205A PIN_B6 // t7 Svetlo puda
#define OS204A PIN_B7 // t8 Svetlo radiomistnost
 
//#define OS105C PIN_C2
//#define PIN_C3 31763
54,31 → 52,40
 
#define OR104VU PIN_F0 // t1 Roleta laborator vychod
#define OR104VD PIN_F1 // t2
//#define O... PIN_F2 // t3
//#define O... PIN_F3 // t4
//#define O... PIN_F4 // t5
//#define O... PIN_F5 // t6
#define OR202JU PIN_F2 // t3 Roleta Kaklik
#define OR202JD PIN_F3 // t4
#define OR204ZU PIN_F4 // t5 Roleta radiomistnost
#define OR204ZD PIN_F5 // t6
//#define O... PIN_F6 // t7
//#define O... PIN_F7 // t8
 
//#define I.... input(PIN_D0) // A
#define IS201AZ input(PIN_D1) // B Vypinac chodba 2.n.p. zapad u Kaklika
#define IS207AJ input(PIN_D2) // C Vypinac klubovna
#define IR207VD input(PIN_D3) // D Vypinac roleta klubovna dolu
#define IR207VU input(PIN_D4) // E Vypinac roleta klubovna nahoru
#define IS201AV input(PIN_D5) // F Vypinac chodba 2.n.p. vychod
#define IS209AJ input(PIN_D6) // G Vypinac koupelna Zizala
#define IS203AJ input(PIN_D7) // H Vypinac koupelna Kaklik
 
#define OS102A PIN_E0 // t1 Svetlo chodba
#define OS105A PIN_E1 //* t2 Svetlo kuchyne stred
#define OS105A PIN_E1 // t2 Svetlo kuchyne stred
#define OS207A PIN_E2 // t3 Svetlo klubovna
#define OS104A PIN_E3 //* t4 Svetlo laborator
//#define O... PIN_E4 // t5
#define OS104A PIN_E3 // t4 Svetlo laborator
#define OS202A PIN_E4 // t5 Svetlo Kaklik stred
#define OS209A PIN_E5 // t6 Svetlo Zizala koupelna
#define OS203A PIN_E6 // t7 Svetlo Kaklik koupelna
//#define O... PIN_E7 // t8
 
//#define I.... input(PIN_D0) // A
#define IS201AZ input(PIN_D1) // B Vypinac chodba 2.n.p. zapad u Kaklika
#define IS207AJ input(PIN_D2) // C Vypinac klubovna
#define IR207VD input(PIN_D3) // D Vypinac roleta klubovna dolu
#define IR207VU input(PIN_D4) // E Vypinac roleta klubovna nahoru
#define IS201AV input(PIN_D5) // F Vypinac chodba 2.n.p. vychod
#define IS209AJ input(PIN_D6) // G Vypinac koupelna Zizala
#define IS203AJ input(PIN_D7) // H Vypinac koupelna Kaklik
 
#define IS202AN input(PIN_J0) // A Vypinac svetlo Kaklik stred u dveri na chodbu
#define IR202ND input(PIN_J1) // B Vypinac roleta Kaklik dolu u dveri
#define IR202NU input(PIN_J2) // C Vypinac roleta Kaklik nahoru u dveri
#define IS205A input(PIN_J3) // D Vypinac svetlo puda
#define IS204AJ input(PIN_J4) // E Vypinac svetlo radiomistnost u dveri na chodbu
#define IR204ZD input(PIN_J5) // F Vypinac roleta radiomistnost dolu
#define IR204ZU input(PIN_J6) // G Vypinac roleta radiomistnost nahoru
//#define I.... input(PIN_J7) // H
 
int1 s201AV;
int1 s201AZ;
int1 s207AJ;
86,6 → 93,13
int1 s209AJ;
int1 r207VU;
int1 r207VD;
int1 s202AN;
int1 r202ND;
int1 r202NU;
int1 s205A;
int1 s204AJ;
int1 r204ZD;
int1 r204ZU;
 
#bit CREN = 0xFAB.4 // USART enable register
 
97,8 → 111,8
 
typedef enum {GO_UP, GO_DOWN, REVERS_UP, REVERS_DOWN, STOP} state;
 
state r103V, r110N, r104V, r104J, r207V; // Stavy rolet
int8 tr103V, tr110N, tr104V, tr104J, tr207V; // Casovace rolet
state r103V, r110N, r104V, r104J, r207V, r202J, r204Z; // Stavy rolet
int8 tr103V, tr110N, tr104V, tr104J, tr207V, tr202J, tr204Z; // Casovace rolet
int8 timer; // Casovac komunikace
 
#int_TIMER0
109,6 → 123,8
if(tr104V>0) tr104V--;
if(tr104J>0) tr104J--;
if(tr207V>0) tr207V--;
if(tr202J>0) tr202J--;
if(tr204Z>0) tr204Z--;
if(timer>0) timer--;
output_toggle(LED2);
}
204,11 → 220,15
r104V=STOP;
r104J=STOP;
r207V=STOP;
r202J=STOP;
r204Z=STOP;
tr103V=0;
tr110N=0;
tr104V=0;
tr104J=0;
tr207V=0;
tr202J=0;
tr204Z=0;
{
int n;
230,6 → 250,13
s209AJ=IS209AJ;
r207VU=IR207VU;
r207VD=IR207VD;
s202AN=IS202AN;
r202ND=IR202ND;
r202NU=IR202NU;
s205A=IS205A;
s204AJ=IS204AJ;
r204ZD=IR204ZD;
r204ZU=IR204ZU;
CREN=0; CREN=1; // Reinitialise USART
330,6 → 357,8
// run(104V);
run(104J);
run(207V);
run(202J);
run(204Z);
 
switch(r110N) // Zaluzie ma specielni rizeni
{
365,9 → 394,16
if(s207AJ!=IS207AJ) {s207AJ=IS207AJ; output_toggle(OS207A); delay_ms(100); continue;}
if(s203AJ!=IS203AJ) {s203AJ=IS203AJ; output_toggle(OS203A); delay_ms(100); continue;}
if(s209AJ!=IS209AJ) {s209AJ=IS209AJ; output_toggle(OS209A); delay_ms(100); continue;}
if(s205A!=IS205A) {s205A=IS205A; output_toggle(OS205A); delay_ms(100); continue;}
if(s204AJ!=IS204AJ) {s204AJ=IS204AJ; output_toggle(OS204A); delay_ms(100); continue;}
if(s202AN!=IS202AN) {s202AN=IS202AN; output_toggle(OS202A); delay_ms(100); continue;}
if(r207VU!=IR207VU) {r207VU=IR207VU; up(&r207V,&tr207V); delay_ms(100); continue;}
if(r207VD!=IR207VD) {r207VD=IR207VD; down(&r207V,&tr207V); delay_ms(100); continue;}
if(r202NU!=IR202NU) {r202NU=IR202NU; up(&r202J,&tr202J); delay_ms(100); continue;}
if(r202ND!=IR202ND) {r202ND=IR202ND; down(&r202J,&tr202J); delay_ms(100); continue;}
if(r204ZU!=IR204ZU) {r204ZU=IR204ZU; up(&r204Z,&tr204Z); delay_ms(100); continue;}
if(r204ZD!=IR204ZD) {r204ZD=IR204ZD; down(&r204Z,&tr204Z); delay_ms(100); continue;}
 
restart_wdt();
}