/Designs/dum/SW/2patra/1np/main.c
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);}
}
}