mirror of
https://github.com/eddyem/IR-controller.git
synced 2025-12-06 10:45:15 +03:00
Shutter module tested
This commit is contained in:
parent
f600aa9e8e
commit
37b7d5cb16
@ -1,4 +1,4 @@
|
|||||||
Cmp-Mod V01 Created by CvPcb (2013-feb-26)-stable date = Вс 30 ноя 2014 15:38:41
|
Cmp-Mod V01 Created by CvPcb (2013-feb-26)-stable date = Ср 04 фев 2015 15:00:52
|
||||||
|
|
||||||
BeginCmp
|
BeginCmp
|
||||||
TimeStamp = /53A910B8/50AF1E60;
|
TimeStamp = /53A910B8/50AF1E60;
|
||||||
@ -115,14 +115,14 @@ EndCmp
|
|||||||
BeginCmp
|
BeginCmp
|
||||||
TimeStamp = /53973803/53997111;
|
TimeStamp = /53973803/53997111;
|
||||||
Reference = C5;
|
Reference = C5;
|
||||||
ValeurCmp = 10u;
|
ValeurCmp = 100u;
|
||||||
IdModule = CP_5x11mm;
|
IdModule = CP_5x11mm;
|
||||||
EndCmp
|
EndCmp
|
||||||
|
|
||||||
BeginCmp
|
BeginCmp
|
||||||
TimeStamp = /53973803/53997130;
|
TimeStamp = /53973803/53997130;
|
||||||
Reference = C6;
|
Reference = C6;
|
||||||
ValeurCmp = 100u;
|
ValeurCmp = 470u;
|
||||||
IdModule = CP_5x11mm;
|
IdModule = CP_5x11mm;
|
||||||
EndCmp
|
EndCmp
|
||||||
|
|
||||||
@ -217,6 +217,13 @@ ValeurCmp = 1u;
|
|||||||
IdModule = SM0805;
|
IdModule = SM0805;
|
||||||
EndCmp
|
EndCmp
|
||||||
|
|
||||||
|
BeginCmp
|
||||||
|
TimeStamp = /54D32A5B;
|
||||||
|
Reference = C20;
|
||||||
|
ValeurCmp = 2200u, 40V;
|
||||||
|
IdModule = CP_16x25mm;
|
||||||
|
EndCmp
|
||||||
|
|
||||||
BeginCmp
|
BeginCmp
|
||||||
TimeStamp = /53973803/53976CAB/53BE6988;
|
TimeStamp = /53973803/53976CAB/53BE6988;
|
||||||
Reference = CON1;
|
Reference = CON1;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
(export (version D)
|
(export (version D)
|
||||||
(design
|
(design
|
||||||
(source /home/eddy/Docs/SAO/ELECTRONICS/STM32/kicad/alltogether/ALL.sch)
|
(source /home/eddy/Docs/SAO/ELECTRONICS/STM32/kicad/alltogether/ALL.sch)
|
||||||
(date "Вс 30 ноя 2014 15:38:48")
|
(date "Ср 04 фев 2015 15:06:52")
|
||||||
(tool "eeschema (2013-feb-26)-stable"))
|
(tool "eeschema (2013-feb-26)-stable"))
|
||||||
(components
|
(components
|
||||||
(comp (ref XP2)
|
(comp (ref XP2)
|
||||||
@ -219,13 +219,13 @@
|
|||||||
(sheetpath (names "/STM32F103 module/") (tstamps /53973803/))
|
(sheetpath (names "/STM32F103 module/") (tstamps /53973803/))
|
||||||
(tstamp 53996A85))
|
(tstamp 53996A85))
|
||||||
(comp (ref C5)
|
(comp (ref C5)
|
||||||
(value 10u)
|
(value 100u)
|
||||||
(footprint C2)
|
(footprint C2)
|
||||||
(libsource (lib device) (part C))
|
(libsource (lib device) (part C))
|
||||||
(sheetpath (names "/STM32F103 module/") (tstamps /53973803/))
|
(sheetpath (names "/STM32F103 module/") (tstamps /53973803/))
|
||||||
(tstamp 53997111))
|
(tstamp 53997111))
|
||||||
(comp (ref C6)
|
(comp (ref C6)
|
||||||
(value 100u)
|
(value 470u)
|
||||||
(footprint C2)
|
(footprint C2)
|
||||||
(libsource (lib device) (part C))
|
(libsource (lib device) (part C))
|
||||||
(sheetpath (names "/STM32F103 module/") (tstamps /53973803/))
|
(sheetpath (names "/STM32F103 module/") (tstamps /53973803/))
|
||||||
@ -1445,10 +1445,10 @@
|
|||||||
(uri /usr/share/kicad/library/conn.lib))
|
(uri /usr/share/kicad/library/conn.lib))
|
||||||
(library (logical regul)
|
(library (logical regul)
|
||||||
(uri /usr/share/kicad/library/regul.lib))
|
(uri /usr/share/kicad/library/regul.lib))
|
||||||
(library (logical STM32f103)
|
|
||||||
(uri /home/eddy/kicad/STM32f103.lib))
|
|
||||||
(library (logical my_elements)
|
(library (logical my_elements)
|
||||||
(uri my_elements.lib)))
|
(uri my_elements.lib))
|
||||||
|
(library (logical STM32f103)
|
||||||
|
(uri /home/eddy/kicad/STM32f103.lib)))
|
||||||
(nets
|
(nets
|
||||||
(net (code 1) (name "/Power MOSFET module 2/GND_OUT")
|
(net (code 1) (name "/Power MOSFET module 2/GND_OUT")
|
||||||
(node (ref XP7) (pin 19))
|
(node (ref XP7) (pin 19))
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
EESchema Schematic File Version 2 date Ср 28 янв 2015 08:47:22
|
EESchema Schematic File Version 2 date Ср 04 фев 2015 15:06:53
|
||||||
LIBS:power
|
LIBS:power
|
||||||
LIBS:device
|
LIBS:device
|
||||||
LIBS:transistors
|
LIBS:transistors
|
||||||
@ -41,7 +41,7 @@ $Descr A3 16535 11693
|
|||||||
encoding utf-8
|
encoding utf-8
|
||||||
Sheet 1 12
|
Sheet 1 12
|
||||||
Title "IR-spectrometer Control System"
|
Title "IR-spectrometer Control System"
|
||||||
Date "28 jan 2015"
|
Date "4 feb 2015"
|
||||||
Rev ""
|
Rev ""
|
||||||
Comp "SAO RAS"
|
Comp "SAO RAS"
|
||||||
Comment1 ""
|
Comment1 ""
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
EESchema Schematic File Version 2 date Ср 28 янв 2015 08:47:22
|
EESchema Schematic File Version 2 date Ср 04 фев 2015 15:06:53
|
||||||
LIBS:power
|
LIBS:power
|
||||||
LIBS:device
|
LIBS:device
|
||||||
LIBS:transistors
|
LIBS:transistors
|
||||||
@ -41,7 +41,7 @@ $Descr A3 16535 11693
|
|||||||
encoding utf-8
|
encoding utf-8
|
||||||
Sheet 3 12
|
Sheet 3 12
|
||||||
Title "MCU module on STM32F103"
|
Title "MCU module on STM32F103"
|
||||||
Date "28 jan 2015"
|
Date "4 feb 2015"
|
||||||
Rev ""
|
Rev ""
|
||||||
Comp "SAO RAS"
|
Comp "SAO RAS"
|
||||||
Comment1 ""
|
Comment1 ""
|
||||||
@ -296,7 +296,7 @@ L C C5
|
|||||||
U 1 1 53997111
|
U 1 1 53997111
|
||||||
P 4400 1100
|
P 4400 1100
|
||||||
F 0 "C5" H 4400 1200 40 0000 L CNN
|
F 0 "C5" H 4400 1200 40 0000 L CNN
|
||||||
F 1 "10u" H 4406 1015 40 0000 L CNN
|
F 1 "100u" H 4406 1015 40 0000 L CNN
|
||||||
F 2 "C2" H 4438 950 30 0001 C CNN
|
F 2 "C2" H 4438 950 30 0001 C CNN
|
||||||
F 3 "~" H 4400 1100 60 0000 C CNN
|
F 3 "~" H 4400 1100 60 0000 C CNN
|
||||||
1 4400 1100
|
1 4400 1100
|
||||||
@ -307,7 +307,7 @@ L C C6
|
|||||||
U 1 1 53997130
|
U 1 1 53997130
|
||||||
P 5350 1100
|
P 5350 1100
|
||||||
F 0 "C6" H 5350 1200 40 0000 L CNN
|
F 0 "C6" H 5350 1200 40 0000 L CNN
|
||||||
F 1 "100u" H 5356 1015 40 0000 L CNN
|
F 1 "470u" H 5356 1015 40 0000 L CNN
|
||||||
F 2 "C2" H 5388 950 30 0001 C CNN
|
F 2 "C2" H 5388 950 30 0001 C CNN
|
||||||
F 3 "~" H 5350 1100 60 0000 C CNN
|
F 3 "~" H 5350 1100 60 0000 C CNN
|
||||||
1 5350 1100
|
1 5350 1100
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
EESchema Schematic File Version 2 date Ср 28 янв 2015 08:47:22
|
EESchema Schematic File Version 2 date Ср 04 фев 2015 15:06:53
|
||||||
LIBS:power
|
LIBS:power
|
||||||
LIBS:device
|
LIBS:device
|
||||||
LIBS:transistors
|
LIBS:transistors
|
||||||
@ -41,7 +41,7 @@ $Descr A4 11693 8268
|
|||||||
encoding utf-8
|
encoding utf-8
|
||||||
Sheet 5 12
|
Sheet 5 12
|
||||||
Title "RS-232 level converter"
|
Title "RS-232 level converter"
|
||||||
Date "28 jan 2015"
|
Date "4 feb 2015"
|
||||||
Rev ""
|
Rev ""
|
||||||
Comp "SAO RAS"
|
Comp "SAO RAS"
|
||||||
Comment1 ""
|
Comment1 ""
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
EESchema Schematic File Version 2 date Ср 28 янв 2015 08:47:22
|
EESchema Schematic File Version 2 date Ср 04 фев 2015 15:06:53
|
||||||
LIBS:power
|
LIBS:power
|
||||||
LIBS:device
|
LIBS:device
|
||||||
LIBS:transistors
|
LIBS:transistors
|
||||||
@ -41,7 +41,7 @@ $Descr A4 11693 8268
|
|||||||
encoding utf-8
|
encoding utf-8
|
||||||
Sheet 12 12
|
Sheet 12 12
|
||||||
Title "Power load module"
|
Title "Power load module"
|
||||||
Date "28 jan 2015"
|
Date "4 feb 2015"
|
||||||
Rev ""
|
Rev ""
|
||||||
Comp "SAO RAS"
|
Comp "SAO RAS"
|
||||||
Comment1 ""
|
Comment1 ""
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
EESchema Schematic File Version 2 date Ср 28 янв 2015 08:47:22
|
EESchema Schematic File Version 2 date Ср 04 фев 2015 15:06:53
|
||||||
LIBS:power
|
LIBS:power
|
||||||
LIBS:device
|
LIBS:device
|
||||||
LIBS:transistors
|
LIBS:transistors
|
||||||
@ -41,7 +41,7 @@ $Descr A4 11693 8268
|
|||||||
encoding utf-8
|
encoding utf-8
|
||||||
Sheet 4 12
|
Sheet 4 12
|
||||||
Title "USB input circuit"
|
Title "USB input circuit"
|
||||||
Date "28 jan 2015"
|
Date "4 feb 2015"
|
||||||
Rev ""
|
Rev ""
|
||||||
Comp "SAO RAS"
|
Comp "SAO RAS"
|
||||||
Comment1 ""
|
Comment1 ""
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
EESchema Schematic File Version 2 date Ср 28 янв 2015 08:47:22
|
EESchema Schematic File Version 2 date Ср 04 фев 2015 15:06:53
|
||||||
LIBS:power
|
LIBS:power
|
||||||
LIBS:device
|
LIBS:device
|
||||||
LIBS:transistors
|
LIBS:transistors
|
||||||
@ -41,7 +41,7 @@ $Descr A4 11693 8268
|
|||||||
encoding utf-8
|
encoding utf-8
|
||||||
Sheet 8 12
|
Sheet 8 12
|
||||||
Title "Stepper motor module"
|
Title "Stepper motor module"
|
||||||
Date "28 jan 2015"
|
Date "4 feb 2015"
|
||||||
Rev ""
|
Rev ""
|
||||||
Comp "SAO RAS"
|
Comp "SAO RAS"
|
||||||
Comment1 ""
|
Comment1 ""
|
||||||
@ -152,7 +152,7 @@ AR Path="/53A910B7/50CECA5D" Ref="C3.2" Part="1"
|
|||||||
AR Path="/5391724D/50CECA5D" Ref="C3.3" Part="1"
|
AR Path="/5391724D/50CECA5D" Ref="C3.3" Part="1"
|
||||||
AR Path="/53A910BA/50CECA5D" Ref="C3.4" Part="1"
|
AR Path="/53A910BA/50CECA5D" Ref="C3.4" Part="1"
|
||||||
AR Path="/53A910B9/50CECA5D" Ref="C3.5" Part="1"
|
AR Path="/53A910B9/50CECA5D" Ref="C3.5" Part="1"
|
||||||
F 0 "C3.5" H 5550 3350 50 0000 L CNN
|
F 0 "C3.1" H 5550 3350 50 0000 L CNN
|
||||||
F 1 "1n" H 5550 3150 50 0000 L CNN
|
F 1 "1n" H 5550 3150 50 0000 L CNN
|
||||||
F 2 "SM0805" H 5500 3250 60 0001 C CNN
|
F 2 "SM0805" H 5500 3250 60 0001 C CNN
|
||||||
F 3 "" H 5500 3250 60 0001 C CNN
|
F 3 "" H 5500 3250 60 0001 C CNN
|
||||||
@ -168,7 +168,7 @@ AR Path="/53A910B7/50CECA5C" Ref="R6.2" Part="1"
|
|||||||
AR Path="/5391724D/50CECA5C" Ref="R6.3" Part="1"
|
AR Path="/5391724D/50CECA5C" Ref="R6.3" Part="1"
|
||||||
AR Path="/53A910BA/50CECA5C" Ref="R6.4" Part="1"
|
AR Path="/53A910BA/50CECA5C" Ref="R6.4" Part="1"
|
||||||
AR Path="/53A910B9/50CECA5C" Ref="R6.5" Part="1"
|
AR Path="/53A910B9/50CECA5C" Ref="R6.5" Part="1"
|
||||||
F 0 "R6.5" V 5580 3000 50 0000 C CNN
|
F 0 "R6.1" V 5580 3000 50 0000 C CNN
|
||||||
F 1 "51k" V 5500 3000 50 0000 C CNN
|
F 1 "51k" V 5500 3000 50 0000 C CNN
|
||||||
F 2 "SM0603" H 5500 3000 60 0001 C CNN
|
F 2 "SM0603" H 5500 3000 60 0001 C CNN
|
||||||
F 3 "" H 5500 3000 60 0001 C CNN
|
F 3 "" H 5500 3000 60 0001 C CNN
|
||||||
@ -232,7 +232,7 @@ AR Path="/53A910B7/50CEC791" Ref="R5.2" Part="1"
|
|||||||
AR Path="/5391724D/50CEC791" Ref="R5.3" Part="1"
|
AR Path="/5391724D/50CEC791" Ref="R5.3" Part="1"
|
||||||
AR Path="/53A910BA/50CEC791" Ref="R5.4" Part="1"
|
AR Path="/53A910BA/50CEC791" Ref="R5.4" Part="1"
|
||||||
AR Path="/53A910B9/50CEC791" Ref="R5.5" Part="1"
|
AR Path="/53A910B9/50CEC791" Ref="R5.5" Part="1"
|
||||||
F 0 "R5.5" V 5580 2500 50 0000 C CNN
|
F 0 "R5.1" V 5580 2500 50 0000 C CNN
|
||||||
F 1 "51k" V 5500 2500 50 0000 C CNN
|
F 1 "51k" V 5500 2500 50 0000 C CNN
|
||||||
F 2 "SM0603" H 5500 2500 60 0001 C CNN
|
F 2 "SM0603" H 5500 2500 60 0001 C CNN
|
||||||
F 3 "" H 5500 2500 60 0001 C CNN
|
F 3 "" H 5500 2500 60 0001 C CNN
|
||||||
@ -248,7 +248,7 @@ AR Path="/53A910B7/50CEC790" Ref="C2.2" Part="1"
|
|||||||
AR Path="/5391724D/50CEC790" Ref="C2.3" Part="1"
|
AR Path="/5391724D/50CEC790" Ref="C2.3" Part="1"
|
||||||
AR Path="/53A910BA/50CEC790" Ref="C2.4" Part="1"
|
AR Path="/53A910BA/50CEC790" Ref="C2.4" Part="1"
|
||||||
AR Path="/53A910B9/50CEC790" Ref="C2.5" Part="1"
|
AR Path="/53A910B9/50CEC790" Ref="C2.5" Part="1"
|
||||||
F 0 "C2.5" H 5550 2850 50 0000 L CNN
|
F 0 "C2.1" H 5550 2850 50 0000 L CNN
|
||||||
F 1 "1n" H 5550 2650 50 0000 L CNN
|
F 1 "1n" H 5550 2650 50 0000 L CNN
|
||||||
F 2 "SM0805" H 5500 2750 60 0001 C CNN
|
F 2 "SM0805" H 5500 2750 60 0001 C CNN
|
||||||
F 3 "" H 5500 2750 60 0001 C CNN
|
F 3 "" H 5500 2750 60 0001 C CNN
|
||||||
@ -264,7 +264,7 @@ AR Path="/53A910B7/50CEB99A" Ref="R2.2" Part="1"
|
|||||||
AR Path="/5391724D/50CEB99A" Ref="R2.3" Part="1"
|
AR Path="/5391724D/50CEB99A" Ref="R2.3" Part="1"
|
||||||
AR Path="/53A910BA/50CEB99A" Ref="R2.4" Part="1"
|
AR Path="/53A910BA/50CEB99A" Ref="R2.4" Part="1"
|
||||||
AR Path="/53A910B9/50CEB99A" Ref="R2.5" Part="1"
|
AR Path="/53A910B9/50CEB99A" Ref="R2.5" Part="1"
|
||||||
F 0 "R2.5" V 4280 2650 50 0000 C CNN
|
F 0 "R2.1" V 4280 2650 50 0000 C CNN
|
||||||
F 1 "0.33" V 4200 2650 50 0000 C CNN
|
F 1 "0.33" V 4200 2650 50 0000 C CNN
|
||||||
F 2 "SM2010" H 4200 2650 60 0001 C CNN
|
F 2 "SM2010" H 4200 2650 60 0001 C CNN
|
||||||
F 3 "" H 4200 2650 60 0001 C CNN
|
F 3 "" H 4200 2650 60 0001 C CNN
|
||||||
@ -280,7 +280,7 @@ AR Path="/53A910B7/50CEB97A" Ref="R1.2" Part="1"
|
|||||||
AR Path="/5391724D/50CEB97A" Ref="R1.3" Part="1"
|
AR Path="/5391724D/50CEB97A" Ref="R1.3" Part="1"
|
||||||
AR Path="/53A910BA/50CEB97A" Ref="R1.4" Part="1"
|
AR Path="/53A910BA/50CEB97A" Ref="R1.4" Part="1"
|
||||||
AR Path="/53A910B9/50CEB97A" Ref="R1.5" Part="1"
|
AR Path="/53A910B9/50CEB97A" Ref="R1.5" Part="1"
|
||||||
F 0 "R1.5" V 4280 2450 50 0000 C CNN
|
F 0 "R1.1" V 4280 2450 50 0000 C CNN
|
||||||
F 1 "0.33" V 4200 2450 50 0000 C CNN
|
F 1 "0.33" V 4200 2450 50 0000 C CNN
|
||||||
F 2 "SM2010" H 4200 2450 60 0001 C CNN
|
F 2 "SM2010" H 4200 2450 60 0001 C CNN
|
||||||
F 3 "" H 4200 2450 60 0001 C CNN
|
F 3 "" H 4200 2450 60 0001 C CNN
|
||||||
@ -328,7 +328,7 @@ AR Path="/53A910B7/50AF1E60" Ref="C1.2" Part="1"
|
|||||||
AR Path="/5391724D/50AF1E60" Ref="C1.3" Part="1"
|
AR Path="/5391724D/50AF1E60" Ref="C1.3" Part="1"
|
||||||
AR Path="/53A910BA/50AF1E60" Ref="C1.4" Part="1"
|
AR Path="/53A910BA/50AF1E60" Ref="C1.4" Part="1"
|
||||||
AR Path="/53A910B9/50AF1E60" Ref="C1.5" Part="1"
|
AR Path="/53A910B9/50AF1E60" Ref="C1.5" Part="1"
|
||||||
F 0 "C1.5" H 5100 5100 50 0000 L CNN
|
F 0 "C1.1" H 5100 5100 50 0000 L CNN
|
||||||
F 1 "68n" H 5100 4900 50 0000 L CNN
|
F 1 "68n" H 5100 4900 50 0000 L CNN
|
||||||
F 2 "SM0805" H 5050 5000 60 0001 C CNN
|
F 2 "SM0805" H 5050 5000 60 0001 C CNN
|
||||||
F 3 "" H 5050 5000 60 0001 C CNN
|
F 3 "" H 5050 5000 60 0001 C CNN
|
||||||
@ -376,7 +376,7 @@ AR Path="/53A910B7/50AF1C25" Ref="R3.2" Part="1"
|
|||||||
AR Path="/5391724D/50AF1C25" Ref="R3.3" Part="1"
|
AR Path="/5391724D/50AF1C25" Ref="R3.3" Part="1"
|
||||||
AR Path="/53A910BA/50AF1C25" Ref="R3.4" Part="1"
|
AR Path="/53A910BA/50AF1C25" Ref="R3.4" Part="1"
|
||||||
AR Path="/53A910B9/50AF1C25" Ref="R3.5" Part="1"
|
AR Path="/53A910B9/50AF1C25" Ref="R3.5" Part="1"
|
||||||
F 0 "R3.5" V 4480 5050 50 0000 C CNN
|
F 0 "R3.1" V 4480 5050 50 0000 C CNN
|
||||||
F 1 "22k" V 4400 5050 50 0000 C CNN
|
F 1 "22k" V 4400 5050 50 0000 C CNN
|
||||||
F 2 "SM0603" H 4400 5050 60 0001 C CNN
|
F 2 "SM0603" H 4400 5050 60 0001 C CNN
|
||||||
F 3 "" H 4400 5050 60 0001 C CNN
|
F 3 "" H 4400 5050 60 0001 C CNN
|
||||||
@ -392,7 +392,7 @@ AR Path="/53A910B7/50AE2A4D" Ref="DD2.2" Part="1"
|
|||||||
AR Path="/5391724D/50AE2A4D" Ref="DD2.3" Part="1"
|
AR Path="/5391724D/50AE2A4D" Ref="DD2.3" Part="1"
|
||||||
AR Path="/53A910BA/50AE2A4D" Ref="DD2.4" Part="1"
|
AR Path="/53A910BA/50AE2A4D" Ref="DD2.4" Part="1"
|
||||||
AR Path="/53A910B9/50AE2A4D" Ref="DD2.5" Part="1"
|
AR Path="/53A910B9/50AE2A4D" Ref="DD2.5" Part="1"
|
||||||
F 0 "DD2.5" H 3800 4600 50 0000 L BNN
|
F 0 "DD2.1" H 3800 4600 50 0000 L BNN
|
||||||
F 1 "L6208N" H 4300 2850 50 0000 L BNN
|
F 1 "L6208N" H 4300 2850 50 0000 L BNN
|
||||||
F 2 "DIP-24__300_ELL" H 4300 3900 50 0001 C CNN
|
F 2 "DIP-24__300_ELL" H 4300 3900 50 0001 C CNN
|
||||||
F 3 "" H 4300 3750 60 0001 C CNN
|
F 3 "" H 4300 3750 60 0001 C CNN
|
||||||
@ -436,7 +436,7 @@ AR Path="/53A910B7/534BB108" Ref="R4.2" Part="1"
|
|||||||
AR Path="/5391724D/534BB108" Ref="R4.3" Part="1"
|
AR Path="/5391724D/534BB108" Ref="R4.3" Part="1"
|
||||||
AR Path="/53A910BA/534BB108" Ref="R4.4" Part="1"
|
AR Path="/53A910BA/534BB108" Ref="R4.4" Part="1"
|
||||||
AR Path="/53A910B9/534BB108" Ref="R4.5" Part="1"
|
AR Path="/53A910B9/534BB108" Ref="R4.5" Part="1"
|
||||||
F 0 "R4.5" V 4780 5050 40 0000 C CNN
|
F 0 "R4.1" V 4780 5050 40 0000 C CNN
|
||||||
F 1 "1.8k" V 4707 5051 40 0000 C CNN
|
F 1 "1.8k" V 4707 5051 40 0000 C CNN
|
||||||
F 2 "SM0603" V 4630 5050 30 0001 C CNN
|
F 2 "SM0603" V 4630 5050 30 0001 C CNN
|
||||||
F 3 "~" H 4700 5050 30 0000 C CNN
|
F 3 "~" H 4700 5050 30 0000 C CNN
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
EESchema Schematic File Version 2 date Ср 28 янв 2015 08:47:22
|
EESchema Schematic File Version 2 date Ср 04 фев 2015 15:06:53
|
||||||
LIBS:power
|
LIBS:power
|
||||||
LIBS:device
|
LIBS:device
|
||||||
LIBS:transistors
|
LIBS:transistors
|
||||||
@ -41,7 +41,7 @@ $Descr A4 11693 8268
|
|||||||
encoding utf-8
|
encoding utf-8
|
||||||
Sheet 11 12
|
Sheet 11 12
|
||||||
Title "Power load module"
|
Title "Power load module"
|
||||||
Date "28 jan 2015"
|
Date "4 feb 2015"
|
||||||
Rev ""
|
Rev ""
|
||||||
Comp "SAO RAS"
|
Comp "SAO RAS"
|
||||||
Comment1 ""
|
Comment1 ""
|
||||||
|
|||||||
@ -118,11 +118,14 @@ void ADC_calibrate_and_start();
|
|||||||
#define SHUTTER_ON_PIN (GPIO2)
|
#define SHUTTER_ON_PIN (GPIO2)
|
||||||
#define SHUTTER_POLARITY_PIN (GPIO0)
|
#define SHUTTER_POLARITY_PIN (GPIO0)
|
||||||
#define SHUTTER_FB_PIN (GPIO1)
|
#define SHUTTER_FB_PIN (GPIO1)
|
||||||
// voltage (*100) threshold to run shutter
|
// voltage (*100) threshold to run shutter - 20V
|
||||||
#define SHUTTER_VOLTAGE_THRES (1000)
|
#define SHUTTER_VOLTAGE_THRES (2000)
|
||||||
#define SHUTTER_UNDERVOLTAGE_THRES (500)
|
// minimum voltage that should be on capasitor if power source is on
|
||||||
// delay in operations in us
|
#define SHUTTER_UNDERVOLTAGE_THRES (700)
|
||||||
#define SHUTTER_DELAY (10000)
|
// delay in operations (open/close) in us (according to shutter's datasheet it's about 12ms)
|
||||||
|
#define SHUTTER_DELAY (12500)
|
||||||
|
// delay for error test
|
||||||
|
#define SHUTTER_OP_DELAY (200)
|
||||||
|
|
||||||
// ADC_value[8] is U36, ADC_value[9] is U10
|
// ADC_value[8] is U36, ADC_value[9] is U10
|
||||||
#define SHUTTER_SENSE_VALUE (ADC_value[8])
|
#define SHUTTER_SENSE_VALUE (ADC_value[8])
|
||||||
|
|||||||
@ -200,6 +200,8 @@ int main(){
|
|||||||
|
|
||||||
if(Timer - Old_timer > 999){ // one-second cycle
|
if(Timer - Old_timer > 999){ // one-second cycle
|
||||||
Old_timer += 1000;
|
Old_timer += 1000;
|
||||||
|
if(Shutter_State == SHUTTER_NOTREADY)
|
||||||
|
shutter_init();
|
||||||
//OW_fill_ID(0);
|
//OW_fill_ID(0);
|
||||||
//gpio_toggle(GPIOC, GPIO12); // toggle LED
|
//gpio_toggle(GPIOC, GPIO12); // toggle LED
|
||||||
//gpio_toggle(GPIO_BANK_SPI2_MOSI, GPIO_SPI2_MOSI);
|
//gpio_toggle(GPIO_BANK_SPI2_MOSI, GPIO_SPI2_MOSI);
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
// state of shutter - global variable to omit interface functions
|
// state of shutter - global variable to omit interface functions
|
||||||
shutter_state Shutter_State = SHUTTER_NOTREADY;
|
shutter_state Shutter_State = SHUTTER_NOTREADY;
|
||||||
|
uint16_t Shutter_delay = SHUTTER_DELAY;
|
||||||
|
|
||||||
// function to be runned from timer irq
|
// function to be runned from timer irq
|
||||||
void (*shutter_timer_fn)() = NULL;
|
void (*shutter_timer_fn)() = NULL;
|
||||||
@ -33,13 +34,16 @@ void (*shutter_timer_fn)() = NULL;
|
|||||||
*/
|
*/
|
||||||
void shutter_wait(int us, void(*fn_ready)()){
|
void shutter_wait(int us, void(*fn_ready)()){
|
||||||
if(!fn_ready) return;
|
if(!fn_ready) return;
|
||||||
|
//DBG("wait for previous .. ");
|
||||||
while(shutter_timer_fn); // wait for ending of previous operation
|
while(shutter_timer_fn); // wait for ending of previous operation
|
||||||
|
//DBG("ok\n");
|
||||||
shutter_timer_fn = fn_ready;
|
shutter_timer_fn = fn_ready;
|
||||||
timer_set_period(SHUTTER_TIM, us);
|
timer_set_period(SHUTTER_TIM, us);
|
||||||
timer_enable_counter(SHUTTER_TIM);
|
timer_enable_counter(SHUTTER_TIM);
|
||||||
}
|
}
|
||||||
|
|
||||||
// macro to open/close/set default state
|
// macro to open/close/set default state
|
||||||
|
// open shutter is 0:0 -> when MCU power is off, shutter "automatically" opens
|
||||||
#define shutter_open() do{gpio_clear(SHUTTER_PORT, SHUTTER_ON_PIN | SHUTTER_POLARITY_PIN);}while(0)
|
#define shutter_open() do{gpio_clear(SHUTTER_PORT, SHUTTER_ON_PIN | SHUTTER_POLARITY_PIN);}while(0)
|
||||||
#define shutter_close() do{gpio_clear(SHUTTER_PORT, SHUTTER_ON_PIN); \
|
#define shutter_close() do{gpio_clear(SHUTTER_PORT, SHUTTER_ON_PIN); \
|
||||||
gpio_set(SHUTTER_PORT, SHUTTER_POLARITY_PIN);}while(0)
|
gpio_set(SHUTTER_PORT, SHUTTER_POLARITY_PIN);}while(0)
|
||||||
@ -48,16 +52,62 @@ void shutter_wait(int us, void(*fn_ready)()){
|
|||||||
gpio_clear(SHUTTER_PORT, SHUTTER_POLARITY_PIN);}while(0)
|
gpio_clear(SHUTTER_PORT, SHUTTER_POLARITY_PIN);}while(0)
|
||||||
#define shutter_error() ((gpio_get(SHUTTER_PORT, SHUTTER_FB_PIN) == 0))
|
#define shutter_error() ((gpio_get(SHUTTER_PORT, SHUTTER_FB_PIN) == 0))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make tests for undervoltage & wire breakage
|
||||||
|
* this function calls in 2 stages:
|
||||||
|
* 1) check undervoltage & set hiZ
|
||||||
|
* 2) repeat checking undervoltage & check wire breakage
|
||||||
|
* if shutter was uninitialized we open it
|
||||||
|
*/
|
||||||
|
void shutter_test(){
|
||||||
|
static shutter_state old_State = SHUTTER_NOTREADY;
|
||||||
|
// test for undervoltage
|
||||||
|
if(shutter_voltage() < SHUTTER_UNDERVOLTAGE_THRES){
|
||||||
|
ERR("shutter undervoltage\n");
|
||||||
|
Shutter_State = SHUTTER_NOTREADY;
|
||||||
|
shutter_off();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(Shutter_State != SHUTTER_INITIALIZED){ // first call of this function
|
||||||
|
old_State = Shutter_State;
|
||||||
|
Shutter_State = SHUTTER_INITIALIZED;
|
||||||
|
// test for wire breakage
|
||||||
|
DBG("breakage test\n");
|
||||||
|
shutter_hiZ(); // 1,1: breakage test
|
||||||
|
shutter_wait(SHUTTER_OP_DELAY, shutter_test);
|
||||||
|
}else{ // check breakage
|
||||||
|
if(shutter_error()){ // ERR==0 -> wire breakage
|
||||||
|
ERR("shutter wire breakage\n");
|
||||||
|
Shutter_State = SHUTTER_NOTREADY;
|
||||||
|
}else{
|
||||||
|
if(old_State == SHUTTER_NOTREADY){
|
||||||
|
Shutter_State = SHUTTER_OPENING;
|
||||||
|
DBG("ready!\n");
|
||||||
|
}else{
|
||||||
|
Shutter_State = old_State;
|
||||||
|
DBG("no errors\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shutter_off();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* after open/close pulse we should return bridge to default state
|
* after open/close pulse we should return bridge to default state
|
||||||
|
* 3 stages:
|
||||||
|
* 1) check for short-circuit & turn off power of the shutter
|
||||||
|
* 2) check for overtemperature or undervoltage
|
||||||
|
* 3) common test for undervoltage/breakage
|
||||||
*/
|
*/
|
||||||
void shutter_ready(){
|
void shutter_ready(){
|
||||||
uint8_t test_err = 0;
|
uint8_t test_err = 0;
|
||||||
|
//DBG("shtr ready\n");
|
||||||
switch (Shutter_State){
|
switch (Shutter_State){
|
||||||
case SHUTTER_CLOSED: // repeated pulse to check errors
|
case SHUTTER_CLOSED: // repeated pulse to check errors
|
||||||
case SHUTTER_OPENED:
|
case SHUTTER_OPENED:
|
||||||
if(shutter_error()){
|
if(shutter_error()){
|
||||||
ERR("shutter vertemperature or undervoltage\n");
|
ERR("shutter overtemperature or undervoltage\n");
|
||||||
Shutter_State = SHUTTER_NOTREADY;
|
Shutter_State = SHUTTER_NOTREADY;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -66,7 +116,6 @@ void shutter_ready(){
|
|||||||
if(shutter_error()){
|
if(shutter_error()){
|
||||||
ERR("shutter short-circuit\n");
|
ERR("shutter short-circuit\n");
|
||||||
Shutter_State = SHUTTER_NOTREADY;
|
Shutter_State = SHUTTER_NOTREADY;
|
||||||
shutter_off();
|
|
||||||
}else{
|
}else{
|
||||||
test_err = 1;
|
test_err = 1;
|
||||||
if(Shutter_State == SHUTTER_PROC_CLOSING)
|
if(Shutter_State == SHUTTER_PROC_CLOSING)
|
||||||
@ -77,9 +126,17 @@ void shutter_ready(){
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ERR("wrong shutter state\n");
|
ERR("wrong shutter state\n");
|
||||||
|
print_shutter_state(lastsendfun);
|
||||||
}
|
}
|
||||||
shutter_off();
|
shutter_off();
|
||||||
if(test_err) shutter_wait(SHUTTER_DELAY, shutter_ready); // test for overtemp or undervoltage
|
if(Shutter_State == SHUTTER_NOTREADY) return;
|
||||||
|
if(test_err){
|
||||||
|
//DBG("now test for err\n");
|
||||||
|
shutter_wait(SHUTTER_OP_DELAY, shutter_ready); // test for overtemp or undervoltage
|
||||||
|
}else{
|
||||||
|
// wait a lot of time to prevent false detections
|
||||||
|
shutter_wait(SHUTTER_DELAY, shutter_test);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -98,7 +155,8 @@ shutter_state shutter_init(){
|
|||||||
// 72MHz div 72 = 1MHz
|
// 72MHz div 72 = 1MHz
|
||||||
timer_set_prescaler(SHUTTER_TIM, 71);
|
timer_set_prescaler(SHUTTER_TIM, 71);
|
||||||
timer_one_shot_mode(SHUTTER_TIM); // single pulse mode
|
timer_one_shot_mode(SHUTTER_TIM); // single pulse mode
|
||||||
timer_enable_preload(SHUTTER_TIM); // force changing period
|
timer_disable_preload(SHUTTER_TIM); // force changing period
|
||||||
|
timer_update_on_overflow(SHUTTER_TIM); // generate UEV only on overflow
|
||||||
timer_enable_update_event(SHUTTER_TIM);
|
timer_enable_update_event(SHUTTER_TIM);
|
||||||
timer_enable_irq(SHUTTER_TIM, TIM_DIER_UIE); // update IRQ enable
|
timer_enable_irq(SHUTTER_TIM, TIM_DIER_UIE); // update IRQ enable
|
||||||
//DBG("shutter timer ready\n");
|
//DBG("shutter timer ready\n");
|
||||||
@ -109,20 +167,9 @@ shutter_state shutter_init(){
|
|||||||
// feedback: floating input
|
// feedback: floating input
|
||||||
gpio_set_mode(SHUTTER_PORT, GPIO_MODE_INPUT,
|
gpio_set_mode(SHUTTER_PORT, GPIO_MODE_INPUT,
|
||||||
GPIO_CNF_INPUT_FLOAT, SHUTTER_FB_PIN);
|
GPIO_CNF_INPUT_FLOAT, SHUTTER_FB_PIN);
|
||||||
// test for wire breakage
|
|
||||||
shutter_hiZ(); // 1,1: breakage test
|
|
||||||
Delay(1); // wait for 1ms
|
|
||||||
if(shutter_error()){ // ERR==0 -> wire breakage
|
|
||||||
if(shutter_voltage() < SHUTTER_UNDERVOLTAGE_THRES)
|
|
||||||
ERR("shutter undervoltage\n");
|
|
||||||
else
|
|
||||||
ERR("shutter wire breakage\n");
|
|
||||||
}else{
|
|
||||||
// Shutter_State = SHUTTER_CLOSING; // now try to close shutter
|
|
||||||
Shutter_State = SHUTTER_READY;
|
|
||||||
}
|
|
||||||
shutter_off();
|
shutter_off();
|
||||||
return Shutter_State;
|
shutter_wait(SHUTTER_OP_DELAY, shutter_test);
|
||||||
|
return SHUTTER_INITIALIZED; // we return this state in spite of the shutter isn't really initialized yet
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -131,14 +178,21 @@ shutter_state shutter_init(){
|
|||||||
*/
|
*/
|
||||||
void process_shutter(){
|
void process_shutter(){
|
||||||
if(Shutter_State == SHUTTER_NOTREADY) return;
|
if(Shutter_State == SHUTTER_NOTREADY) return;
|
||||||
if(shutter_error()){
|
|
||||||
ERR("shutter some error\n");
|
if(Shutter_State != SHUTTER_OPENING && Shutter_State != SHUTTER_CLOSING)
|
||||||
|
return;
|
||||||
|
if(shutter_voltage() < SHUTTER_UNDERVOLTAGE_THRES){
|
||||||
|
ERR("no shutter power source\n");
|
||||||
Shutter_State = SHUTTER_NOTREADY;
|
Shutter_State = SHUTTER_NOTREADY;
|
||||||
shutter_off();
|
shutter_off();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(Shutter_State != SHUTTER_OPENING && Shutter_State != SHUTTER_CLOSING)
|
if(shutter_error()){
|
||||||
|
ERR("some shutter error\n");
|
||||||
|
Shutter_State = SHUTTER_NOTREADY;
|
||||||
|
shutter_off();
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
if(shutter_voltage() < SHUTTER_VOLTAGE_THRES) return; // capasitor isn't charged
|
if(shutter_voltage() < SHUTTER_VOLTAGE_THRES) return; // capasitor isn't charged
|
||||||
switch (Shutter_State){
|
switch (Shutter_State){
|
||||||
case SHUTTER_OPENING:
|
case SHUTTER_OPENING:
|
||||||
@ -152,30 +206,32 @@ void process_shutter(){
|
|||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
shutter_wait(SHUTTER_DELAY, shutter_ready);
|
shutter_wait(Shutter_delay, shutter_ready);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Shutter_tim_isr(){
|
void Shutter_tim_isr(){
|
||||||
|
//DBG("shutter timer\n");
|
||||||
|
void (*fn)() = shutter_timer_fn;
|
||||||
if(timer_get_flag(SHUTTER_TIM, TIM_SR_UIF)){
|
if(timer_get_flag(SHUTTER_TIM, TIM_SR_UIF)){
|
||||||
// Clear compare interrupt flag
|
// Clear compare interrupt flag
|
||||||
timer_clear_flag(SHUTTER_TIM, TIM_SR_UIF);
|
timer_clear_flag(SHUTTER_TIM, TIM_SR_UIF);
|
||||||
|
shutter_timer_fn = NULL;
|
||||||
// and run needed function
|
// and run needed function
|
||||||
if(shutter_timer_fn){
|
if(fn){
|
||||||
shutter_timer_fn();
|
fn();
|
||||||
shutter_timer_fn = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* printout shutter state
|
* printout shutter state
|
||||||
*/
|
*/
|
||||||
void print_shutter_state(sendfun s){
|
void print_shutter_state(sendfun s){
|
||||||
P("shutter ", s);
|
P("shutter ", s);
|
||||||
if(shutter_error()){ // ERR==0 -> wire breakage
|
|
||||||
P("(error) ", s);
|
|
||||||
}
|
|
||||||
switch (Shutter_State){
|
switch (Shutter_State){
|
||||||
|
case SHUTTER_INITIALIZED:
|
||||||
|
P("testing", s);
|
||||||
|
break;
|
||||||
case SHUTTER_READY:
|
case SHUTTER_READY:
|
||||||
P("ready", s);
|
P("ready", s);
|
||||||
break;
|
break;
|
||||||
@ -196,26 +252,40 @@ if(shutter_error()){ // ERR==0 -> wire breakage
|
|||||||
P("in process", s);
|
P("in process", s);
|
||||||
break;
|
break;
|
||||||
default: // not ready or error
|
default: // not ready or error
|
||||||
P("not initialised or broken", s);
|
if(shutter_error()){ // ERR==0 -> wire breakage or something else
|
||||||
|
P("error", s);
|
||||||
|
}else
|
||||||
|
P("not initialised or broken", s);
|
||||||
}
|
}
|
||||||
newline(s);
|
newline(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
/*
|
* Try to open/close shutter depending on argument:
|
||||||
switch (Shutter_State){
|
* state == SHUTTER_CLOSING - try to close
|
||||||
|
* state == SHUTTER_OPENING - try to open
|
||||||
|
*/
|
||||||
|
void shutter_try(shutter_state state){
|
||||||
|
switch (Shutter_State){ // right states are only OPENED, CLOSED & READY
|
||||||
case SHUTTER_OPENED:
|
case SHUTTER_OPENED:
|
||||||
|
if(state == SHUTTER_OPENING){ // try to open opened shutter?
|
||||||
|
P("alerady opened\n", lastsendfun);
|
||||||
|
return;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SHUTTER_CLOSED:
|
case SHUTTER_CLOSED:
|
||||||
|
if(state == SHUTTER_CLOSING){ // try to close closed?
|
||||||
|
P("alerady closed\n", lastsendfun);
|
||||||
|
return;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SHUTTER_OPENING:
|
case SHUTTER_READY:
|
||||||
break;
|
; // All OK
|
||||||
case SHUTTER_CLOSING:
|
|
||||||
break;
|
|
||||||
case SHUTTER_PROC_OPENING:
|
|
||||||
break;
|
|
||||||
case SHUTTER_PROC_CLOSING:
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
print_shutter_state(lastsendfun);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
*/
|
Shutter_State = state; // all OK, now we can change current state of shutter
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@ -27,8 +27,9 @@
|
|||||||
|
|
||||||
// Shutter finite-state machine states
|
// Shutter finite-state machine states
|
||||||
typedef enum{
|
typedef enum{
|
||||||
SHUTTER_NOTREADY = 0, // initialisation - not ready, or error in work
|
SHUTTER_NOTREADY = 0, // not ready, or error in work
|
||||||
SHUTTER_READY,
|
SHUTTER_INITIALIZED, // initialisation in process
|
||||||
|
SHUTTER_READY, // ready for operation
|
||||||
SHUTTER_OPENED, // shutter is in opened state
|
SHUTTER_OPENED, // shutter is in opened state
|
||||||
SHUTTER_CLOSED, // shutter is in closed state
|
SHUTTER_CLOSED, // shutter is in closed state
|
||||||
SHUTTER_OPENING, // user is waiting for opening
|
SHUTTER_OPENING, // user is waiting for opening
|
||||||
@ -38,9 +39,15 @@ typedef enum{
|
|||||||
} shutter_state;
|
} shutter_state;
|
||||||
|
|
||||||
extern shutter_state Shutter_State;
|
extern shutter_state Shutter_State;
|
||||||
|
extern uint16_t Shutter_delay;
|
||||||
|
|
||||||
shutter_state shutter_init();
|
shutter_state shutter_init();
|
||||||
void process_shutter();
|
void process_shutter();
|
||||||
void print_shutter_state(sendfun s);
|
void print_shutter_state(sendfun s);
|
||||||
|
|
||||||
|
void shutter_try(shutter_state state);
|
||||||
|
|
||||||
|
#define try_to_close_shutter() shutter_try(SHUTTER_CLOSING)
|
||||||
|
#define try_to_open_shutter() shutter_try(SHUTTER_OPENING)
|
||||||
|
|
||||||
#endif // __POWERHW_H__
|
#endif // __POWERHW_H__
|
||||||
|
|||||||
@ -64,6 +64,13 @@ void print_ad_vals(sendfun s){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void set_shtr_delay(int32_t v, sendfun s){
|
||||||
|
uint16_t d = (uint16_t) v;
|
||||||
|
Shutter_delay = d;
|
||||||
|
P("Change delay to ", s);
|
||||||
|
print_int(d, s);
|
||||||
|
}
|
||||||
|
|
||||||
void parce_incoming_buf(char *buf, int len, sendfun s){
|
void parce_incoming_buf(char *buf, int len, sendfun s){
|
||||||
uint8_t command;
|
uint8_t command;
|
||||||
int i = 0, j, m;
|
int i = 0, j, m;
|
||||||
@ -185,14 +192,14 @@ void parce_incoming_buf(char *buf, int len, sendfun s){
|
|||||||
print_shutter_state(s);
|
print_shutter_state(s);
|
||||||
break;
|
break;
|
||||||
case 'c': // close shutter
|
case 'c': // close shutter
|
||||||
if(Shutter_State != SHUTTER_CLOSED)
|
try_to_close_shutter();
|
||||||
Shutter_State = SHUTTER_CLOSING;
|
|
||||||
else P("alerady closed\n", s);
|
|
||||||
break;
|
break;
|
||||||
case 'o': // open shutter
|
case 'o': // open shutter
|
||||||
if(Shutter_State != SHUTTER_OPENED)
|
try_to_open_shutter();
|
||||||
Shutter_State = SHUTTER_OPENING;
|
break;
|
||||||
else P("alerady opened\n", s);
|
case 'z': // temporary: change delay
|
||||||
|
I = set_shtr_delay;
|
||||||
|
READINT();
|
||||||
break;
|
break;
|
||||||
case '\n': // show newline as is
|
case '\n': // show newline as is
|
||||||
break;
|
break;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user