initial checkin of Olympus trigger tools
Stefan Schuermans

Stefan Schuermans commited on 2013-10-26 20:14:19
Showing 12 changed files, with 3950 additions and 0 deletions.

... ...
@@ -0,0 +1,17 @@
1
+IR trigger for Olympus camera
2
+Copyright (C) 2013 Stefan Schuermans <stefan@blinkenarea.org>
3
+Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
4
+a BlinkenArea project - http://www.blinkenarea.org/
5
+
6
+This project is an IR trigger for an Olympus camera. It is able to generate
7
+the infrared (IR) signal to make an Olympus camera focus and take a picture.
8
+The code is written for an ATtiny2313 microcontroller running with an 8MHz
9
+external crystal. It will output the signal on port pin RB0. The IR LED has
10
+to be connected between this pin and ground.
11
+
12
+The code in the current configuration will output a "take picture" command
13
+every second. However, this can be changed easily by modifying the main loop.
14
+there is also code to send the "key held" command, but it is currently
15
+commented out. You should treat this code as a building block for your
16
+project or as a proof-of-concept. It is not intended to be market-ready.
17
+
... ...
@@ -0,0 +1,4 @@
1
+*.cof
2
+*.hex
3
+*.lst
4
+*.obj
... ...
@@ -0,0 +1,43 @@
1
+NAME = ir_trigger
2
+INC = tn2313def
3
+
4
+LFUSE = 0x9F
5
+HFUSE = 0xDF
6
+EFUSE = 0xFF
7
+LOCK = 0xFC
8
+
9
+#PROGRAMMER = stk200
10
+#CONNECTION = /dev/parport0
11
+PROGRAMMER = avrisp2
12
+CONNECTION = usb
13
+DEVICE = t2313
14
+
15
+AVRA = avra
16
+AVRDUDE = avrdude
17
+
18
+AVRDUDE_CALL = $(AVRDUDE) -c $(PROGRAMMER) -P $(CONNECTION) -p $(DEVICE)
19
+
20
+.PHONY: all prog prog_fuses prog_auto clean
21
+.SUFFIXES:
22
+
23
+all: $(NAME).hex
24
+
25
+$(NAME).hex: $(NAME).asm $(INC).inc Makefile
26
+	$(AVRA) -l $(NAME).lst $(NAME).asm
27
+
28
+prog_fuses: Makefile
29
+	$(AVRDUDE_CALL) -u -e
30
+	$(AVRDUDE_CALL) -u -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m \
31
+	                   -U efuse:w:$(EFUSE):m
32
+
33
+prog: $(NAME).hex Makefile
34
+	$(AVRDUDE_CALL) -u -e
35
+	$(AVRDUDE_CALL) -u -U flash:w:$(NAME).hex
36
+	$(AVRDUDE_CALL) -u -V -U lock:w:$(LOCK):m
37
+
38
+prog_auto: $(NAME).hex Makefile
39
+	while ! $(MAKE) prog_fuses || ! $(MAKE) prog; do echo -n; done
40
+
41
+clean:
42
+	rm -f $(addprefix $(NAME)., lst obj cof hex eep.hex)
43
+
... ...
@@ -0,0 +1,224 @@
1
+; IR trigger for Olympus camera
2
+; Copyright (C) 2013 Stefan Schuermans <stefan@blinkenarea.org>
3
+; Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
4
+; a BlinkenArea project - http://www.blinkenarea.org/
5
+
6
+; code for 8 MHz crystal osciallator
7
+
8
+.INCLUDE        "tn2313def.inc"
9
+
10
+
11
+.def    TMP                     =       r16
12
+.def    CNT                     =       r17
13
+.def    CNT2                    =       r18
14
+.def    DATA                    =       r19
15
+
16
+
17
+.equ    IR_PORT                 =       PORTB
18
+.equ    IR_BIT                  =       0
19
+
20
+
21
+
22
+.DSEG
23
+.ORG    0x060
24
+
25
+
26
+
27
+.CSEG
28
+.ORG    0x000
29
+        rjmp    ENTRY                   ; RESET
30
+        reti                            ; INT0
31
+        reti                            ; INT1
32
+        reti                            ; TIMER1_CAPT
33
+        reti                            ; TIMER1_COMPA
34
+        reti                            ; TIMER1_OVF
35
+        reti                            ; TIMER0_OVF
36
+        reti                            ; USART0_RX
37
+        reti                            ; USART0_UDRE
38
+        reti                            ; USART0_TX
39
+        reti                            ; ANALOG_COMP
40
+        reti                            ; PC_INT0
41
+        reti                            ; TIMER1_COMPB
42
+        reti                            ; TIMER0_COMPA
43
+        reti                            ; TIMER0_COMPB
44
+        reti                            ; USI_START
45
+        reti                            ; USI_OVERFLOW
46
+        reti                            ; EE_READY
47
+        reti                            ; WDT
48
+        reti                            ; PC_INT1
49
+        reti                            ; PC_INT2
50
+
51
+
52
+
53
+; code entry point
54
+ENTRY:
55
+; set system clock prescaler to 1:1, i.e. run at 8 MHz
56
+        ldi     TMP,1<<CLKPCE
57
+        out     CLKPR,TMP
58
+        ldi     TMP,0
59
+        out     CLKPR,TMP
60
+; initialize output ports
61
+        ldi     TMP,0x00                ; PA[01] to output, low
62
+        out     PORTA,TMP
63
+        ldi     TMP,0x03
64
+        out     DDRA,TMP
65
+        ldi     TMP,0xA0                ; PB[0-46] to output, low - PB[57] to input, pull-up enabled
66
+        out     PORTB,TMP
67
+        ldi     TMP,0x5F
68
+        out     DDRB,TMP
69
+        ldi     TMP,0x00                ; PD[0-6] to output, low
70
+        out     PORTD,TMP
71
+        ldi     TMP,0x7F
72
+        out     DDRD,TMP
73
+; initialize stack pointer
74
+        ldi     TMP,RAMEND
75
+        out     SPL,TMP
76
+; enable watchdog (64ms)
77
+        wdr
78
+        ldi     TMP,1<<WDCE|1<<WDE
79
+        out     WDTCR,TMP
80
+        ldi     TMP,1<<WDE|1<<WDP1
81
+        out     WDTCR,TMP
82
+        wdr
83
+; disable analog comparator
84
+        ldi     TMP,1<<ACD
85
+        out     ACSR,TMP
86
+; jump to main program
87
+        rjmp    MAIN
88
+
89
+
90
+
91
+; output CNT pulses with 38kHz, 1/4 duty-cycle
92
+IR_PULSE:
93
+        sbi     IR_PORT,IR_BIT          ; IR = 1, 2 cyc
94
+        ldi     TMP,13                  ; 51 cyc
95
+IR_PULSE_WAIT_1:
96
+        wdr
97
+        dec     TMP
98
+        brne    IR_PULSE_WAIT_1
99
+        cbi     IR_PORT,IR_BIT          ; IR = 0, 2 cyc
100
+        ldi     TMP,38                  ; 155 cyc
101
+IR_PULSE_WAIT_0:
102
+        wdr
103
+        dec     TMP
104
+        brne    IR_PULSE_WAIT_0
105
+        dec     CNT                     ; next pulse
106
+        brne    IR_PULSE
107
+        ret                             ; done
108
+
109
+
110
+
111
+; wait 10us
112
+WAIT_10US:
113
+        ldi     TMP,18
114
+WAIT_10US_LOOP:
115
+        wdr
116
+        dec     TMP
117
+        brne    WAIT_10US_LOOP
118
+        nop
119
+        ret
120
+
121
+
122
+
123
+; output a bit (DATA,0) over IR
124
+IR_OUT_BIT:
125
+        ldi     CNT,21                  ; ouput 560us pulses
126
+        rcall   IR_PULSE
127
+        ldi     CNT,56                  ; bit 0 -> wait 560us
128
+        sbrc    DATA,0
129
+        ldi     CNT,169                 ; bit 1 -> wait 1690us
130
+IR_OUT_BIT_WAIT:
131
+        rcall   WAIT_10US
132
+        dec     CNT
133
+        brne    IR_OUT_BIT_WAIT
134
+        ret                             ; done
135
+
136
+
137
+
138
+; output a byte (DATA)
139
+IR_BYTE:
140
+        push    DATA                    ; save data
141
+        ldi     CNT2,8                  ; iterate 8 bit
142
+IR_BYTE_LOOP:
143
+        rcall   IR_OUT_BIT              ; output bit
144
+        lsr     DATA                    ; next bit
145
+        dec     CNT2
146
+        brne    IR_BYTE_LOOP
147
+        pop     DATA                    ; restore data
148
+        ret                             ; done
149
+
150
+
151
+
152
+; output IR start burst
153
+IR_START:
154
+        ldi     CNT,171                 ; ouput 9ms pulses
155
+        rcall   IR_PULSE
156
+        ldi     CNT,171
157
+        rcall   IR_PULSE
158
+        ldi     CNT,225                 ; wait 4.5ms
159
+IR_START_LOOP:
160
+        rcall   WAIT_10US
161
+        rcall   WAIT_10US
162
+        dec     CNT
163
+        brne    IR_START_LOOP
164
+        ret                             ; done
165
+
166
+
167
+
168
+; output IR key hold burst
169
+IR_HOLD:
170
+        ldi     CNT,171                 ; ouput 9ms pulses
171
+        rcall   IR_PULSE
172
+        ldi     CNT,171
173
+        rcall   IR_PULSE
174
+        ldi     CNT,225                 ; wait 2.25ms
175
+IR_HOLD_LOOP:
176
+        rcall   WAIT_10US
177
+        dec     CNT
178
+        brne    IR_HOLD_LOOP
179
+        ldi     CNT,1                   ; ouput 1 pulse
180
+        rcall   IR_PULSE
181
+        ret                             ; done
182
+
183
+
184
+
185
+; main program
186
+MAIN:
187
+        wdr
188
+
189
+; main loop
190
+MAIN_LOOP:
191
+        wdr
192
+
193
+; shutter E-330 and E-620 reverse engineered
194
+        rcall   IR_START
195
+        ldi     DATA,0x86
196
+        rcall   IR_BYTE
197
+        ldi     DATA,0x3B
198
+        rcall   IR_BYTE
199
+        ldi     DATA,0x01
200
+        rcall   IR_BYTE
201
+        ldi     DATA,0xFE
202
+        rcall   IR_BYTE
203
+        clr     DATA
204
+        rcall   IR_OUT_BIT
205
+
206
+; key hold impulse
207
+;        rcall   IR_START
208
+;        clr     DATA
209
+;        rcall   IR_OUT_BIT
210
+
211
+; wait 1s
212
+        clr     CNT2
213
+        clr     CNT
214
+MAIN_WAIT:
215
+        rcall   WAIT_10US
216
+        rcall   WAIT_10US
217
+        dec     CNT
218
+        brne    MAIN_WAIT
219
+        dec     CNT2
220
+        brne    MAIN_WAIT
221
+
222
+; bottom of main loop
223
+        rjmp     MAIN_LOOP
224
+
... ...
@@ -0,0 +1,482 @@
1
+;***************************************************************************
2
+;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
3
+;* 
4
+;* Number           :AVR000
5
+;* File Name        :"tn2313def.inc"
6
+;* Title            :Register/Bit Definitions for the ATtiny2313
7
+;* Date             :03.06.17
8
+;* Version          :1.00
9
+;* Support E-mail   :avr@atmel.com
10
+;* Target MCU       :ATtiny2313
11
+;*
12
+;* DESCRIPTION
13
+;* When including this file in the assembly program file, all I/O register  
14
+;* names and I/O register bit names appearing in the data book can be used.
15
+;* In addition, the two registers forming the data pointer Z have been 
16
+;* assigned names ZL - ZH. 
17
+;*
18
+;* The Register names are represented by their hexadecimal address.
19
+;* 
20
+;* The Register Bit names are represented by their bit number (0-7).
21
+;* 
22
+;* Please observe the difference in using the bit names with instructions
23
+;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" 
24
+;* (skip if bit in register set/cleared). The following example illustrates
25
+;* this:
26
+;* 
27
+;* in   r16,PORTB       ;read PORTB latch
28
+;* sbr  r16,(1<<PB6)+(1<<PB5)   ;set PB6 and PB5 (use masks, not bit#)
29
+;* out  PORTB,r16       ;output to PORTB
30
+;*
31
+;* in   r16,TIFR        ;read the Timer Interrupt Flag Register
32
+;* sbrc r16,TOV0        ;test the overflow flag (use bit#)
33
+;* rjmp TOV0_is_set     ;jump if set
34
+;* ...                  ;otherwise do something else
35
+;*  
36
+;***************************************************************************
37
+
38
+;***** Specify Device
39
+.device ATtiny2313
40
+
41
+    
42
+;*****************************************************************************
43
+; I/O Register Definitions
44
+;*****************************************************************************
45
+
46
+.equ    SREG    = 0x3F
47
+.equ    SPL     = 0x3D
48
+.equ    OCR0B   = 0x3C
49
+.equ    GIMSK   = 0x3B
50
+.equ    EIFR    = 0x3A
51
+.equ    GIFR    = 0x3A      ; for compatibility purpose
52
+.equ    TIMSK   = 0x39       
53
+.equ    TIFR    = 0x38
54
+.equ    SPMCSR  = 0x37
55
+.equ    OCR0A   = 0x36
56
+.equ    MCUCR   = 0x35
57
+.equ    MCUSR   = 0x34
58
+.equ    TCCR0B  = 0x33
59
+.equ    TCCR0   = 0x33      ; for compatibility purpose
60
+.equ    TCNT0   = 0x32
61
+.equ    OSCCAL  = 0x31
62
+.equ    TCCR0A  = 0x30
63
+.equ    TCCR1A  = 0x2F
64
+.equ    TCCR1B  = 0x2E
65
+.equ    TCNT1H  = 0x2D
66
+.equ    TCNT1L  = 0x2C
67
+.equ    OCR1AH  = 0x2B
68
+.equ    OCR1AL  = 0x2A
69
+.equ    OCR1BH  = 0x29
70
+.equ    OCR1BL  = 0x28
71
+.equ    CLKPR   = 0x26
72
+.equ    ICR1H   = 0x25
73
+.equ    ICR1L   = 0x24
74
+.equ    SFIOR   = 0x23
75
+.equ    TCCR1C  = 0x22
76
+.equ    WDTCR   = 0x21
77
+.equ    PCMSK   = 0x20
78
+.equ    EEAR    = 0x1E      ; for compatibility purpose
79
+.equ    EEARL   = 0x1E  
80
+.equ    EEDR    = 0x1D
81
+.equ    EECR    = 0x1C
82
+.equ    PORTA   = 0x1B
83
+.equ    DDRA    = 0x1A
84
+.equ    PINA    = 0x19
85
+.equ    PORTB   = 0x18
86
+.equ    DDRB    = 0x17
87
+.equ    PINB    = 0x16
88
+.equ    GPIOR2  = 0x15
89
+.equ    GPIOR1  = 0x14
90
+.equ    GPIOR0  = 0x13
91
+.equ    PORTD   = 0x12
92
+.equ    DDRD    = 0x11
93
+.equ    PIND    = 0x10  
94
+.equ    USIDR   = 0x0F
95
+.equ    USISR   = 0x0E
96
+.equ    USICR   = 0x0D
97
+.equ    UDR     = 0x0C
98
+.equ    UCSRA   = 0x0B
99
+.equ    USR     = 0x0B      ; for compatibility purpose
100
+.equ    UCSRB   = 0x0A
101
+.equ    UCR     = 0x0A      ; for compatibility purpose
102
+.equ    UBRRL   = 0x09
103
+.equ    UBRR    = 0x09      ; for compatibility purpose
104
+.equ    ACSR    = 0x08
105
+.equ    UCSRC   = 0x03
106
+.equ    UBRRH   = 0x02
107
+.equ    DIDR    = 0x01
108
+
109
+    
110
+;*****************************************************************************
111
+; Bit Definitions
112
+;*****************************************************************************
113
+
114
+;***** SREG *******
115
+.equ I          = 7 
116
+.equ T          = 6
117
+.equ H          = 5
118
+.equ S          = 4
119
+.equ V          = 3
120
+.equ N          = 2
121
+;.equ Z          = 1
122
+.equ C          = 0
123
+
124
+;***** SPL ********
125
+.equ SP7        = 7 
126
+.equ SP6        = 6
127
+.equ SP5        = 5
128
+.equ SP4        = 4
129
+.equ SP3        = 3
130
+.equ SP2        = 2
131
+.equ SP1        = 1
132
+.equ SP0        = 0
133
+
134
+;***** GIMSK ******
135
+.equ INT1       = 7 
136
+.equ INT0       = 6  
137
+.equ PCIE       = 5
138
+
139
+;***** EIFR *******
140
+.equ INTF1      = 7
141
+.equ INTF0      = 6  
142
+.equ PCIF       = 5
143
+
144
+;***** TIMSK ******
145
+.equ TOIE1      = 7
146
+.equ OCIE1A     = 6
147
+.equ OCIE1B     = 5
148
+.equ ICIE1      = 3  
149
+.equ OCIE0B     = 2  
150
+.equ TOIE0      = 1
151
+.equ OCIE0A     = 0
152
+.equ TICIE      = 3     ; for compatibility purpose
153
+
154
+;***** TIFR *******
155
+.equ TOV1       = 7
156
+.equ OCF1A      = 6
157
+.equ OCF1B      = 5
158
+.equ ICF1       = 3  
159
+.equ OCF0B      = 2  
160
+.equ TOV0       = 1
161
+.equ OCF0A      = 0
162
+
163
+;***** SPMCSR *****
164
+.equ CTPB       = 4
165
+.equ RFLB       = 3
166
+.equ PGWRT      = 2
167
+.equ PGERS      = 1
168
+.equ SPMEN      = 0
169
+
170
+;***** MCUCR ******
171
+.equ PUD        = 7
172
+.equ SM1        = 6
173
+.equ SE         = 5
174
+.equ SM0        = 4
175
+.equ ISC11      = 3
176
+.equ ISC10      = 2
177
+.equ ISC01      = 1
178
+.equ ISC00      = 0
179
+.equ SM         = 4     ; for compatibility purpose
180
+
181
+;***** MCUSR ******
182
+.equ WDRF       = 3
183
+.equ BORF       = 2
184
+.equ EXTRF      = 1
185
+.equ PORF       = 0
186
+
187
+;***** TCCR0B *****
188
+.equ FOC0A      = 7
189
+.equ FOC0B      = 6
190
+.equ WGM02      = 3
191
+.equ CS02       = 2
192
+.equ CS01       = 1
193
+.equ CS00       = 0
194
+
195
+;***** OSCCAL *****
196
+.equ CAL6       = 6
197
+.equ CAL5       = 5
198
+.equ CAL4       = 4
199
+.equ CAL3       = 3
200
+.equ CAL2       = 2
201
+.equ CAL1       = 1
202
+.equ CAL0       = 0
203
+
204
+;***** TCCR0A *****
205
+.equ COM0A1     = 7
206
+.equ COM0A0     = 6
207
+.equ COM0B1     = 5
208
+.equ COM0B0     = 4
209
+.equ WGM01      = 1
210
+.equ WGM00      = 0
211
+
212
+;***** TCCR1A *****
213
+.equ COM1A1     = 7
214
+.equ COM1A0     = 6
215
+.equ COM1B1     = 5
216
+.equ COM1B0     = 4
217
+.equ WGM11      = 1
218
+.equ WGM10      = 0
219
+.equ PWM11      = 1     ; for compatibility purpose
220
+.equ PWM10      = 0     ; for compatibility purpose
221
+
222
+;***** TCCR1B *****
223
+.equ ICNC1      = 7
224
+.equ ICES1      = 6
225
+.equ WGM13      = 4
226
+.equ WGM12      = 3
227
+.equ CS12       = 2
228
+.equ CS11       = 1
229
+.equ CS10       = 0
230
+.equ CTC1       = 3     ; for compatibility purpose
231
+
232
+;***** CLKPR ******
233
+.equ CLKPCE     = 7 
234
+.equ CLKPS3     = 3
235
+.equ CLKPS2     = 2
236
+.equ CLKPS1     = 1
237
+.equ CLKPS0     = 0
238
+
239
+;***** SFIOR ******
240
+.equ PSR10      = 0 
241
+
242
+;***** TCCR1C *****
243
+.equ FOC1A      = 7
244
+.equ FOC1B      = 6
245
+
246
+;***** WDTCSR *****
247
+.equ WDIF       = 7
248
+.equ WDIE       = 6
249
+.equ WDP3       = 5
250
+.equ WDCE       = 4
251
+.equ WDE        = 3
252
+.equ WDP2       = 2
253
+.equ WDP1       = 1
254
+.equ WDP0       = 0
255
+.equ WDTOE      = 4     
256
+
257
+;***** PCMSK ******
258
+.equ PCINT7     = 7
259
+.equ PCINT6     = 6
260
+.equ PCINT5     = 5  
261
+.equ PCINT4     = 4
262
+.equ PCINT3     = 3
263
+.equ PCINT2     = 2
264
+.equ PCINT1     = 1
265
+.equ PCINT0     = 0
266
+
267
+;***** EECR *******
268
+.equ EEPM1      = 5
269
+.equ EEPM0      = 4
270
+.equ EERIE      = 3
271
+.equ EEMPE      = 2
272
+.equ EEPE       = 1
273
+.equ EERE       = 0
274
+; Kept for backward compatibility
275
+.equ EEMWE      = 2
276
+.equ EEWE       = 1
277
+
278
+
279
+;***** PORTA ******
280
+.equ PORTA2     = 2
281
+.equ PORTA1     = 1
282
+.equ PORTA0     = 0
283
+
284
+;***** DDRA *******
285
+.equ DDA2       = 2
286
+.equ DDA1       = 1
287
+.equ DDA0       = 0
288
+    
289
+;***** PINA *******
290
+.equ PINA2      = 2
291
+.equ PINA1      = 1
292
+.equ PINA0      = 0
293
+    
294
+;***** PORTB ******
295
+.equ PORTB7     = 7
296
+.equ PORTB6     = 6
297
+.equ PORTB5     = 5
298
+.equ PORTB4     = 4
299
+.equ PORTB3     = 3
300
+.equ PORTB2     = 2
301
+.equ PORTB1     = 1
302
+.equ PORTB0     = 0
303
+
304
+;***** DDRB *******
305
+.equ DDB7       = 7
306
+.equ DDB6       = 6
307
+.equ DDB5       = 5 
308
+.equ DDB4       = 4
309
+.equ DDB3       = 3
310
+.equ DDB2       = 2
311
+.equ DDB1       = 1
312
+.equ DDB0       = 0
313
+    
314
+;***** PINB *******
315
+.equ PINB7      = 7
316
+.equ PINB6      = 6
317
+.equ PINB5      = 5 
318
+.equ PINB4      = 4
319
+.equ PINB3      = 3
320
+.equ PINB2      = 2
321
+.equ PINB1      = 1
322
+.equ PINB0      = 0
323
+
324
+;***** PORTD ******
325
+.equ PORTD6     = 6
326
+.equ PORTD5     = 5
327
+.equ PORTD4     = 4
328
+.equ PORTD3     = 3
329
+.equ PORTD2     = 2
330
+.equ PORTD1     = 1
331
+.equ PORTD0     = 0
332
+
333
+;***** DDRD *******
334
+.equ DDD6       = 6
335
+.equ DDD5       = 5 
336
+.equ DDD4       = 4
337
+.equ DDD3       = 3
338
+.equ DDD2       = 2
339
+.equ DDD1       = 1
340
+.equ DDD0       = 0
341
+
342
+;***** PIND *******
343
+.equ PIND6      = 6
344
+.equ PIND5      = 5 
345
+.equ PIND4      = 4
346
+.equ PIND3      = 3
347
+.equ PIND2      = 2
348
+.equ PIND1      = 1
349
+.equ PIND0      = 0 
350
+
351
+;***** USISR ******
352
+.equ USISIF     = 7
353
+.equ USIOIF     = 6
354
+.equ USIPF      = 5
355
+.equ USIDC      = 4
356
+.equ USICNT3    = 3
357
+.equ USICNT2    = 2
358
+.equ USICNT1    = 1
359
+.equ USICNT0    = 0
360
+
361
+;***** USICR ******
362
+.equ USISIE     = 7
363
+.equ USIOIE     = 6
364
+.equ USIWM1     = 5
365
+.equ USIWM0     = 4
366
+.equ USICS1     = 3
367
+.equ USICS0     = 2
368
+.equ USICLK     = 1
369
+.equ USITC      = 0
370
+
371
+;***** UCSRA ******
372
+.equ RXC        = 7
373
+.equ TXC        = 6
374
+.equ UDRE       = 5
375
+.equ FE         = 4
376
+.equ DOR        = 3
377
+.equ UPE	= 2
378
+.equ PE         = 2	; for compatibility purpose
379
+.equ U2X        = 1
380
+.equ MPCM       = 0
381
+;.equ OR         = 3     ; for compatibility purpose
382
+
383
+;***** UCSRB ******
384
+.equ RXCIE      = 7 
385
+.equ TXCIE      = 6
386
+.equ UDRIE      = 5
387
+.equ RXEN       = 4
388
+.equ TXEN       = 3
389
+.equ UCSZ2      = 2
390
+.equ RXB8       = 1
391
+.equ TXB8       = 0
392
+.equ CHR9       = 2     ; for compatibility purpose
393
+    
394
+;***** ACSR *******
395
+.equ ACD        = 7  
396
+.equ ACBG       = 6
397
+.equ ACO        = 5
398
+.equ ACI        = 4
399
+.equ ACIE       = 3
400
+.equ ACIC       = 2
401
+.equ ACIS1      = 1
402
+.equ ACIS0      = 0
403
+
404
+;***** UCSRC ******
405
+.equ UMSEL      = 6 
406
+.equ UPM1       = 5
407
+.equ UPM0       = 4
408
+.equ USBS       = 3
409
+.equ UCSZ1      = 2
410
+.equ UCSZ0      = 1
411
+.equ UCPOL      = 0
412
+
413
+;***** DIDR ******
414
+.equ AIN1D      = 1
415
+.equ AIN0D      = 0
416
+
417
+;*****************************************************************************
418
+; CPU Register Declarations
419
+;*****************************************************************************
420
+
421
+.def    XL      = r26       ; X pointer low
422
+.def    XH      = r27       ; X pointer high
423
+.def    YL      = r28       ; Y pointer low
424
+.def    YH      = r29       ; Y pointer high
425
+.def    ZL      = r30       ; Z pointer low
426
+.def    ZH      = r31       ; Z pointer high
427
+
428
+
429
+;*****************************************************************************
430
+; Data Memory Declarations
431
+;*****************************************************************************
432
+
433
+.equ    RAMEND      = 0xDF  ; Highest internal data memory (SRAM) address.
434
+                            ;(128 Bytes RAM + IO + REG)
435
+.equ    EEPROMEND   = 0x7F  ; Highest EEPROM address.
436
+                            ;(128 Bytes)
437
+.equ    EEADRBITS   =   7   ; no. of bits in EEPROM address register
438
+
439
+.equ    RAM_SIZE    = 128
440
+
441
+
442
+;*****************************************************************************
443
+; Program Memory Declarations
444
+;*****************************************************************************
445
+
446
+.equ    FLASHEND    = 0x3FF ;  Highest program memory (flash) address
447
+                            ; (When addressed as 16 bit words)
448
+                            ; ( 1024 words , 2K byte ) 
449
+
450
+;**** Page Size ****
451
+.equ    PAGESIZE    = 16    ;number of WORDS in a Flash page
452
+.equ    EEPAGESIZE  =  2    ;number of WORDS in an EEPROM page
453
+
454
+;*****************************************************************************
455
+;**** Interrupt Vectors ****        
456
+;*****************************************************************************
457
+
458
+.equ    INT0addr        = 0x001     ;External Interrupt0
459
+.equ    INT1addr        = 0x002     ;External Interrupt1
460
+.equ    ICP1addr        = 0x003     ;Input capture interrupt 1
461
+.equ    OC1Aaddr        = 0x004     ;Timer/Counter1 Compare Match A     
462
+.equ    OVF1addr        = 0x005     ;Overflow1 Interrupt 
463
+.equ    OVF0addr        = 0x006     ;Overflow0 Interrupt
464
+.equ    URXC0addr       = 0x007     ;USART0 RX Complete Interrupt
465
+.equ    UDRE0addr       = 0x008     ;USART0 Data Register Empty Interrupt
466
+.equ    UTXC0addr       = 0x009     ;USART0 TX Complete Interrupt 
467
+.equ    ACIaddr         = 0x00A     ;Analog Comparator Interrupt 
468
+.equ    PCINTaddr       = 0x00B     ;Pin Change Interrupt
469
+.equ    OC1Baddr        = 0x00C     ;Timer/Counter1 Compare Match B
470
+.equ    OC0Aaddr        = 0x00D     ;Timer/Counter0 Compare Match A     
471
+.equ    OC0Baddr        = 0x00E     ;Timer/Counter0 Compare Match B     
472
+.equ    USI_STARTaddr   = 0x00F     ;USI start interrupt
473
+.equ    USI_OVFaddr     = 0x010     ;USI overflow interrupt
474
+.equ    ERDYaddr        = 0x011     ;EEPROM write complete
475
+.equ    WDTaddr         = 0x012     ;Watchdog Timer Interrupt
476
+		; for compatibility purpose
477
+.equ	URXCaddr		= 0x007		
478
+.equ	UDREaddr		= 0x008		
479
+.equ	UTXCaddr		= 0x009		
480
+
481
+;*****************************************************************************
482
+;*****************************************************************************
... ...
@@ -0,0 +1,23 @@
1
+time trigger for Olympus camera
2
+Copyright (C) 2013 Stefan Schuermans <stefan@blinkenarea.org>
3
+Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
4
+a BlinkenArea project - http://www.blinkenarea.org/
5
+
6
+This project is an external trigger circuit for an Olympus camera. It is able
7
+to detect an object passing a light barrier and will trigger the camera after
8
+a configurable amount of time via a cable, mimicking an wire-bound external
9
+trigger button.
10
+
11
+Two potentiometers are used to configure the delay between the detection of
12
+the object by the light barrier and the output of the trigger impulse to
13
+the camera. One potentiometer is for coarse grained time setting and the
14
+other one for fine-tuning.
15
+To configure the time, set the fine-grain potentiometer to middle position,
16
+then try to set the time using the coarse-grain potentiometer as precise as
17
+you can. Afterwards, modify the fine-grain potentiometer to get the time
18
+exactly right.
19
+The delay can be configured from a few milliseconds to about one second.
20
+
21
+The schematic in the electrics directory is drawn using gEDA gschem:
22
+http://wiki.geda-project.org/geda:gaf
23
+
... ...
@@ -0,0 +1,3 @@
1
+*~
2
+*.pdf
3
+*.ps
... ...
@@ -0,0 +1,2377 @@
1
+v 20110115 2
2
+C 35000 38000 1 0 0 EMBEDDEDATMEGA8.sym
3
+[
4
+T 35300 42700 8 10 0 1 0 0 1
5
+value=ATMEGA8
6
+T 35400 45050 5 10 0 0 0 0 1
7
+numslots=0
8
+T 35400 44050 5 10 0 0 0 0 1
9
+device=ATMEGA8
10
+T 38500 42700 8 10 0 1 0 6 1
11
+refdes=IC?
12
+P 38800 42400 38500 42400 1 0 0
13
+{
14
+T 38600 42450 5 8 1 1 0 0 1
15
+pinnumber=19
16
+T 38600 42350 5 8 0 1 0 2 1
17
+pinseq=19
18
+T 38450 42400 9 8 1 1 0 6 1
19
+pinlabel=PB5 (SCK)
20
+T 38450 42400 5 8 0 1 0 8 1
21
+pintype=io
22
+}
23
+P 38800 42200 38500 42200 1 0 0
24
+{
25
+T 38600 42250 5 8 1 1 0 0 1
26
+pinnumber=18
27
+T 38600 42150 5 8 0 1 0 2 1
28
+pinseq=18
29
+T 38450 42200 9 8 1 1 0 6 1
30
+pinlabel=PB4 (MISO)
31
+T 38450 42200 5 8 0 1 0 8 1
32
+pintype=io
33
+}
34
+P 38800 42000 38500 42000 1 0 0
35
+{
36
+T 38600 42050 5 8 1 1 0 0 1
37
+pinnumber=17
38
+T 38600 41950 5 8 0 1 0 2 1
39
+pinseq=17
40
+T 38450 42000 9 8 1 1 0 6 1
41
+pinlabel=PB3 (MOSI/OC2)
42
+T 38450 42000 5 8 0 1 0 8 1
43
+pintype=io
44
+}
45
+P 38800 41800 38500 41800 1 0 0
46
+{
47
+T 38600 41850 5 8 1 1 0 0 1
48
+pinnumber=16
49
+T 38600 41750 5 8 0 1 0 2 1
50
+pinseq=16
51
+T 38450 41800 9 8 1 1 0 6 1
52
+pinlabel=PB2 (nSS/OC1B)
53
+T 38450 41800 5 8 0 1 0 8 1
54
+pintype=io
55
+}
56
+P 38800 41600 38500 41600 1 0 0
57
+{
58
+T 38600 41650 5 8 1 1 0 0 1
59
+pinnumber=15
60
+T 38600 41550 5 8 0 1 0 2 1
61
+pinseq=15
62
+T 38450 41600 9 8 1 1 0 6 1
63
+pinlabel=PB1 (OC1A)
64
+T 38450 41600 5 8 0 1 0 8 1
65
+pintype=io
66
+}
67
+P 38800 41400 38500 41400 1 0 0
68
+{
69
+T 38600 41450 5 8 1 1 0 0 1
70
+pinnumber=14
71
+T 38600 41350 5 8 0 1 0 2 1
72
+pinseq=14
73
+T 38450 41400 9 8 1 1 0 6 1
74
+pinlabel=PB0 (ICP1)
75
+T 38450 41400 5 8 0 1 0 8 1
76
+pintype=io
77
+}
78
+P 38800 41000 38500 41000 1 0 0
79
+{
80
+T 38600 41050 5 8 1 1 0 0 1
81
+pinnumber=28
82
+T 38600 40950 5 8 0 1 0 2 1
83
+pinseq=28
84
+T 38450 41000 9 8 1 1 0 6 1
85
+pinlabel=PC5 (ADC5/SCL)
86
+T 38450 41000 5 8 0 1 0 8 1
87
+pintype=io
88
+}
89
+P 38800 40800 38500 40800 1 0 0
90
+{
91
+T 38600 40850 5 8 1 1 0 0 1
92
+pinnumber=27
93
+T 38600 40750 5 8 0 1 0 2 1
94
+pinseq=27
95
+T 38450 40800 9 8 1 1 0 6 1
96
+pinlabel=PC4 (ADC4/SDA)
97
+T 38450 40800 5 8 0 1 0 8 1
98
+pintype=io
99
+}
100
+P 38800 40600 38500 40600 1 0 0
101
+{
102
+T 38600 40650 5 8 1 1 0 0 1
103
+pinnumber=26
104
+T 38600 40550 5 8 0 1 0 2 1
105
+pinseq=26
106
+T 38450 40600 9 8 1 1 0 6 1
107
+pinlabel=PC3 (ADC3)
108
+T 38450 40600 5 8 0 1 0 8 1
109
+pintype=io
110
+}
111
+P 38800 40400 38500 40400 1 0 0
112
+{
113
+T 38600 40450 5 8 1 1 0 0 1
114
+pinnumber=25
115
+T 38600 40350 5 8 0 1 0 2 1
116
+pinseq=25
117
+T 38450 40400 9 8 1 1 0 6 1
118
+pinlabel=PC2 (ADC2)
119
+T 38450 40400 5 8 0 1 0 8 1
120
+pintype=io
121
+}
122
+P 38800 40200 38500 40200 1 0 0
123
+{
124
+T 38600 40250 5 8 1 1 0 0 1
125
+pinnumber=24
126
+T 38600 40150 5 8 0 1 0 2 1
127
+pinseq=24
128
+T 38450 40200 9 8 1 1 0 6 1
129
+pinlabel=PC1 (ADC1)
130
+T 38450 40200 5 8 0 1 0 8 1
131
+pintype=io
132
+}
133
+P 38800 40000 38500 40000 1 0 0
134
+{
135
+T 38600 40050 5 8 1 1 0 0 1
136
+pinnumber=23
137
+T 38600 39950 5 8 0 1 0 2 1
138
+pinseq=23
139
+T 38450 40000 9 8 1 1 0 6 1
140
+pinlabel=PC0 (ADC0)
141
+T 38450 40000 5 8 0 1 0 8 1
142
+pintype=io
143
+}
144
+P 38800 39600 38500 39600 1 0 0
145
+{
146
+T 38600 39650 5 8 1 1 0 0 1
147
+pinnumber=13
148
+T 38600 39550 5 8 0 1 0 2 1
149
+pinseq=13
150
+T 38450 39600 9 8 1 1 0 6 1
151
+pinlabel=PD7 (AIN1)
152
+T 38450 39600 5 8 0 1 0 8 1
153
+pintype=io
154
+}
155
+P 38800 39400 38500 39400 1 0 0
156
+{
157
+T 38600 39450 5 8 1 1 0 0 1
158
+pinnumber=12
159
+T 38600 39350 5 8 0 1 0 2 1
160
+pinseq=12
161
+T 38450 39400 9 8 1 1 0 6 1
162
+pinlabel=PD6 (AIN0)
163
+T 38450 39400 5 8 0 1 0 8 1
164
+pintype=io
165
+}
166
+P 38800 39200 38500 39200 1 0 0
167
+{
168
+T 38600 39250 5 8 1 1 0 0 1
169
+pinnumber=11
170
+T 38600 39150 5 8 0 1 0 2 1
171
+pinseq=11
172
+T 38450 39200 9 8 1 1 0 6 1
173
+pinlabel=PD5 (T1)
174
+T 38450 39200 5 8 0 1 0 8 1
175
+pintype=io
176
+}
177
+P 38800 39000 38500 39000 1 0 0
178
+{
179
+T 38600 39050 5 8 1 1 0 0 1
180
+pinnumber=6
181
+T 38600 38950 5 8 0 1 0 2 1
182
+pinseq=6
183
+T 38450 39000 9 8 1 1 0 6 1
184
+pinlabel=PD4 (XCK/T0)
185
+T 38450 39000 5 8 0 1 0 8 1
186
+pintype=io
187
+}
188
+P 38800 38800 38500 38800 1 0 0
189
+{
190
+T 38600 38850 5 8 1 1 0 0 1
191
+pinnumber=5
192
+T 38600 38750 5 8 0 1 0 2 1
193
+pinseq=5
194
+T 38450 38800 9 8 1 1 0 6 1
195
+pinlabel=PD3 (INT1)
196
+T 38450 38800 5 8 0 1 0 8 1
197
+pintype=io
198
+}
199
+P 38800 38600 38500 38600 1 0 0
200
+{
201
+T 38600 38650 5 8 1 1 0 0 1
202
+pinnumber=4
203
+T 38600 38550 5 8 0 1 0 2 1
204
+pinseq=4
205
+T 38450 38600 9 8 1 1 0 6 1
206
+pinlabel=PD2 (INT0)
207
+T 38450 38600 5 8 0 1 0 8 1
208
+pintype=io
209
+}
210
+P 38800 38400 38500 38400 1 0 0
211
+{
212
+T 38600 38450 5 8 1 1 0 0 1
213
+pinnumber=3
214
+T 38600 38350 5 8 0 1 0 2 1
215
+pinseq=3
216
+T 38450 38400 9 8 1 1 0 6 1
217
+pinlabel=PD1 (TXD)
218
+T 38450 38400 5 8 0 1 0 8 1
219
+pintype=io
220
+}
221
+P 38800 38200 38500 38200 1 0 0
222
+{
223
+T 38600 38250 5 8 1 1 0 0 1
224
+pinnumber=2
225
+T 38600 38150 5 8 0 1 0 2 1
226
+pinseq=2
227
+T 38450 38200 9 8 1 1 0 6 1
228
+pinlabel=PD0 (RXD)
229
+T 38450 38200 5 8 0 1 0 8 1
230
+pintype=io
231
+}
232
+P 35000 38200 35300 38200 1 0 0
233
+{
234
+T 35200 38250 5 8 1 1 0 6 1
235
+pinnumber=22
236
+T 35200 38150 5 8 0 1 0 8 1
237
+pinseq=22
238
+T 35350 38200 9 8 1 1 0 0 1
239
+pinlabel=GND2
240
+T 35350 38200 5 8 0 1 0 2 1
241
+pintype=pwr
242
+}
243
+P 35000 38400 35300 38400 1 0 0
244
+{
245
+T 35200 38450 5 8 1 1 0 6 1
246
+pinnumber=8
247
+T 35200 38350 5 8 0 1 0 8 1
248
+pinseq=8
249
+T 35350 38400 9 8 1 1 0 0 1
250
+pinlabel=GND1
251
+T 35350 38400 5 8 0 1 0 2 1
252
+pintype=pwr
253
+}
254
+P 35000 42000 35300 42000 1 0 0
255
+{
256
+T 35200 42050 5 8 1 1 0 6 1
257
+pinnumber=7
258
+T 35200 41950 5 8 0 1 0 8 1
259
+pinseq=7
260
+T 35350 42000 9 8 1 1 0 0 1
261
+pinlabel=VCC
262
+T 35350 42000 5 8 0 1 0 2 1
263
+pintype=pwr
264
+}
265
+P 35000 42400 35300 42400 1 0 0
266
+{
267
+T 35200 42450 5 8 1 1 0 6 1
268
+pinnumber=20
269
+T 35200 42350 5 8 0 1 0 8 1
270
+pinseq=20
271
+T 35350 42400 9 8 1 1 0 0 1
272
+pinlabel=AVCC
273
+T 35350 42400 5 8 0 1 0 2 1
274
+pintype=pwr
275
+}
276
+P 35000 39200 35300 39200 1 0 0
277
+{
278
+T 35200 39250 5 8 1 1 0 6 1
279
+pinnumber=21
280
+T 35200 39150 5 8 0 1 0 8 1
281
+pinseq=21
282
+T 35350 39200 9 8 1 1 0 0 1
283
+pinlabel=AREF
284
+T 35350 39200 5 8 0 1 0 2 1
285
+pintype=in
286
+}
287
+P 35000 40000 35300 40000 1 0 0
288
+{
289
+T 35200 40050 5 8 1 1 0 6 1
290
+pinnumber=10
291
+T 35200 39950 5 8 0 1 0 8 1
292
+pinseq=10
293
+T 35350 40000 9 8 1 1 0 0 1
294
+pinlabel=PB7 (XTAL2/TOSC2)
295
+T 35350 40000 5 8 0 1 0 2 1
296
+pintype=io
297
+}
298
+P 35000 40600 35300 40600 1 0 0
299
+{
300
+T 35200 40650 5 8 1 1 0 6 1
301
+pinnumber=9
302
+T 35200 40550 5 8 0 1 0 8 1
303
+pinseq=9
304
+T 35350 40600 9 8 1 1 0 0 1
305
+pinlabel=PB6 (XTAL1/TOSC1)
306
+T 35350 40600 5 8 0 1 0 2 1
307
+pintype=io
308
+}
309
+B 35300 38000 3200 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
310
+P 35000 41400 35300 41400 1 0 0
311
+{
312
+T 35200 41450 5 8 1 1 0 6 1
313
+pinnumber=1
314
+T 35200 41350 5 8 0 1 0 8 1
315
+pinseq=1
316
+T 35350 41400 9 8 1 1 0 0 1
317
+pinlabel=PC6 (nRESET)
318
+T 35350 41400 5 8 0 1 0 2 1
319
+pintype=in
320
+}
321
+]
322
+{
323
+T 38500 42700 5 10 1 1 0 6 1
324
+refdes=IC3
325
+T 35400 44050 5 10 0 0 0 0 1
326
+device=ATMEGA8
327
+T 35300 42700 5 10 1 1 0 0 1
328
+value=ATMEGA8
329
+}
330
+C 29300 38100 1 0 0 EMBEDDED7800.sym
331
+[
332
+T 29500 39100 9 10 0 1 0 0 1
333
+value=7800
334
+T 29700 45150 5 10 0 0 0 0 1
335
+numslots=0
336
+T 29700 44150 5 10 0 0 0 0 1
337
+device=7800
338
+T 30500 39100 8 10 0 1 0 6 1
339
+refdes=IC?
340
+P 30000 38100 30000 38400 1 0 0
341
+{
342
+T 30050 38250 5 8 1 1 180 7 1
343
+pinnumber=2
344
+T 30050 38300 5 8 0 1 90 8 1
345
+pinseq=2
346
+T 30000 38475 9 8 1 1 180 5 1
347
+pinlabel=GND
348
+T 30000 38450 5 8 0 1 90 2 1
349
+pintype=pwr
350
+}
351
+B 29600 38400 800 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
352
+P 30700 38800 30400 38800 1 0 0
353
+{
354
+T 30500 38850 5 8 1 1 0 0 1
355
+pinnumber=3
356
+T 30500 38750 5 8 0 1 0 2 1
357
+pinseq=3
358
+T 30350 38800 9 8 1 1 0 6 1
359
+pinlabel=OUT
360
+T 30350 38800 5 8 0 1 0 8 1
361
+pintype=out
362
+}
363
+P 29300 38800 29600 38800 1 0 0
364
+{
365
+T 29500 38850 5 8 1 1 0 6 1
366
+pinnumber=1
367
+T 29500 38750 5 8 0 1 0 8 1
368
+pinseq=3
369
+T 29650 38800 9 8 1 1 0 0 1
370
+pinlabel=IN
371
+T 29650 38800 5 8 0 1 0 2 1
372
+pintype=pwr
373
+}
374
+]
375
+{
376
+T 30500 39100 5 10 1 1 0 6 1
377
+refdes=IC1
378
+T 29700 44150 5 10 0 0 0 0 1
379
+device=7805
380
+T 29500 39100 5 10 1 1 0 0 1
381
+value=7805
382
+}
383
+C 30900 33700 1 0 0 EMBEDDEDLM358.sym
384
+[
385
+T 32800 34200 9 10 1 0 0 7 1
386
+ +
387
+T 32800 34400 9 10 1 0 0 7 1
388
+ -
389
+T 31500 34600 9 10 1 0 0 1 1
390
+ +
391
+T 31500 34800 9 10 1 0 0 1 1
392
+ -
393
+T 31200 35800 8 10 0 1 0 0 1
394
+value=LM358
395
+T 31300 40750 5 10 0 0 0 0 1
396
+numslots=0
397
+T 31300 39750 5 10 0 0 0 0 1
398
+device=LM358
399
+T 33100 35800 8 10 0 1 0 6 1
400
+refdes=IC?
401
+L 33100 34900 32300 34900 3 0 0 0 -1 -1
402
+L 32300 34900 32300 34300 3 0 0 0 -1 -1
403
+L 33000 34500 33100 34500 3 0 0 0 -1 -1
404
+L 33000 34500 33000 34400 3 0 0 0 -1 -1
405
+L 32800 34400 33000 34400 3 0 0 0 -1 -1
406
+L 33000 34200 32800 34200 3 0 0 0 -1 -1
407
+L 33000 34100 33000 34200 3 0 0 0 -1 -1
408
+L 33100 34100 33000 34100 3 0 0 0 -1 -1
409
+L 32800 34100 32400 34300 3 0 0 0 -1 -1
410
+L 32800 34500 32800 34100 3 0 0 0 -1 -1
411
+L 32400 34300 32800 34500 3 0 0 0 -1 -1
412
+L 32300 34300 32400 34300 3 0 0 0 -1 -1
413
+L 31300 34900 31200 34900 3 0 0 0 -1 -1
414
+L 31300 34900 31300 34800 3 0 0 0 -1 -1
415
+L 31500 34800 31300 34800 3 0 0 0 -1 -1
416
+L 31300 34600 31500 34600 3 0 0 0 -1 -1
417
+L 31300 34500 31300 34600 3 0 0 0 -1 -1
418
+L 31200 34500 31300 34500 3 0 0 0 -1 -1
419
+L 31500 34500 31900 34700 3 0 0 0 -1 -1
420
+L 31500 34900 31500 34500 3 0 0 0 -1 -1
421
+L 31900 34700 31500 34900 3 0 0 0 -1 -1
422
+L 32000 34700 31900 34700 3 0 0 0 -1 -1
423
+L 32000 35300 32000 34700 3 0 0 0 -1 -1
424
+L 31200 35300 32000 35300 3 0 0 0 -1 -1
425
+P 33400 34100 33100 34100 1 0 0
426
+{
427
+T 33200 34150 5 8 1 1 0 0 1
428
+pinnumber=5
429
+T 33200 34050 5 8 0 1 0 2 1
430
+pinseq=5
431
+T 33050 34050 9 8 1 1 0 8 1
432
+pinlabel=IN+ B
433
+T 33050 34100 5 8 0 1 0 8 1
434
+pintype=in
435
+}
436
+P 30900 34100 31200 34100 1 0 0
437
+{
438
+T 31100 34150 5 8 1 1 0 6 1
439
+pinnumber=4
440
+T 31100 34050 5 8 0 1 0 8 1
441
+pinseq=4
442
+T 31250 34050 9 8 1 1 0 2 1
443
+pinlabel=GND
444
+T 31250 34100 5 8 0 1 0 2 1
445
+pintype=pwr
446
+}
447
+P 33400 34500 33100 34500 1 0 0
448
+{
449
+T 33200 34550 5 8 1 1 0 0 1
450
+pinnumber=6
451
+T 33200 34450 5 8 0 1 0 2 1
452
+pinseq=6
453
+T 33050 34550 9 8 1 1 0 6 1
454
+pinlabel=IN- B
455
+T 33050 34500 5 8 0 1 0 8 1
456
+pintype=in
457
+}
458
+P 30900 34500 31200 34500 1 0 0
459
+{
460
+T 31100 34550 5 8 1 1 0 6 1
461
+pinnumber=3
462
+T 31100 34450 5 8 0 1 0 8 1
463
+pinseq=3
464
+T 31250 34450 9 8 1 1 0 2 1
465
+pinlabel=IN+ A
466
+T 31250 34500 5 8 0 1 0 2 1
467
+pintype=in
468
+}
469
+P 33400 34900 33100 34900 1 0 0
470
+{
471
+T 33200 34950 5 8 1 1 0 0 1
472
+pinnumber=7
473
+T 33200 34850 5 8 0 1 0 2 1
474
+pinseq=7
475
+T 33050 34950 9 8 1 1 0 6 1
476
+pinlabel=OUT B
477
+T 33050 34900 5 8 0 1 0 8 1
478
+pintype=out
479
+}
480
+P 30900 34900 31200 34900 1 0 0
481
+{
482
+T 31100 34950 5 8 1 1 0 6 1
483
+pinnumber=2
484
+T 31100 34850 5 8 0 1 0 8 1
485
+pinseq=2
486
+T 31250 34950 9 8 1 1 0 0 1
487
+pinlabel=IN- A
488
+T 31250 34900 5 8 0 1 0 2 1
489
+pintype=in
490
+}
491
+B 31200 33700 1900 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
492
+P 33400 35300 33100 35300 1 0 0
493
+{
494
+T 33200 35350 5 8 1 1 0 0 1
495
+pinnumber=8
496
+T 33200 35250 5 8 0 1 0 2 1
497
+pinseq=8
498
+T 33050 35350 9 8 1 1 0 6 1
499
+pinlabel=VCC
500
+T 33050 35300 5 8 0 1 0 8 1
501
+pintype=pwr
502
+}
503
+P 30900 35300 31200 35300 1 0 0
504
+{
505
+T 31100 35350 5 8 1 1 0 6 1
506
+pinnumber=1
507
+T 31100 35250 5 8 0 1 0 8 1
508
+pinseq=1
509
+T 31250 35350 9 8 1 1 0 0 1
510
+pinlabel=OUT A
511
+T 31250 35300 5 8 0 1 0 2 1
512
+pintype=out
513
+}
514
+]
515
+{
516
+T 33100 35800 5 10 1 1 0 6 1
517
+refdes=IC2
518
+T 31300 39750 5 10 0 0 0 0 1
519
+device=LM358
520
+T 31200 35800 5 10 1 1 0 0 1
521
+value=LM358
522
+}
523
+C 28700 38700 1 270 0 EMBEDDEDcap.sym
524
+[
525
+T 29000 38100 8 10 0 1 270 2 1
526
+value=?F
527
+T 29000 38400 8 10 0 1 270 8 1
528
+refdes=C?
529
+T 29300 38400 5 10 0 0 270 0 1
530
+device=capacitor
531
+L 29100 38300 29100 38400 3 0 0 0 -1 -1
532
+L 29100 38100 29100 38200 3 0 0 0 -1 -1
533
+L 29300 38200 28900 38200 3 0 0 0 -1 -1
534
+L 29300 38300 28900 38300 3 0 0 0 -1 -1
535
+P 29100 37900 29100 38100 1 0 0
536
+{
537
+T 29150 38100 5 8 0 1 270 0 1
538
+pinnumber=2
539
+T 29150 38100 5 8 0 0 270 0 1
540
+pinseq=2
541
+T 29100 37900 5 10 0 0 270 0 1
542
+pintype=pas
543
+}
544
+P 29100 38600 29100 38400 1 0 0
545
+{
546
+T 29150 38500 5 8 0 1 270 0 1
547
+pinnumber=1
548
+T 29150 38500 5 8 0 0 270 0 1
549
+pinseq=1
550
+T 29100 38600 5 10 0 0 270 0 1
551
+pintype=pas
552
+}
553
+]
554
+{
555
+T 29300 38400 5 10 0 0 270 0 1
556
+device=capacitor
557
+T 29200 38400 5 10 1 1 0 0 1
558
+refdes=C2
559
+T 29200 38100 5 10 1 1 0 2 1
560
+value=100nF
561
+}
562
+C 27900 38700 1 270 0 EMBEDDEDcap_pol.sym
563
+[
564
+T 28200 38100 8 10 0 1 270 2 1
565
+value=?F
566
+T 28200 38400 8 10 0 1 270 8 1
567
+refdes=C?
568
+T 28500 38300 5 10 0 0 270 0 1
569
+device=polarized capacitor
570
+L 28500 38200 28100 38200 3 0 0 0 -1 -1
571
+L 28449 38360 28449 38460 3 0 0 0 -1 -1
572
+L 28500 38411 28400 38411 3 0 0 0 -1 -1
573
+L 28300 38300 28300 38400 3 0 0 0 -1 -1
574
+L 28300 38100 28300 38200 3 0 0 0 -1 -1
575
+L 28500 38300 28100 38300 3 0 0 0 -1 -1
576
+P 28300 37900 28300 38100 1 0 0
577
+{
578
+T 28350 38100 5 8 0 1 270 0 1
579
+pinnumber=2
580
+T 28350 38100 5 8 0 0 270 0 1
581
+pinseq=2
582
+T 28300 37900 5 10 0 0 270 0 1
583
+pintype=pas
584
+}
585
+P 28300 38600 28300 38400 1 0 0
586
+{
587
+T 28350 38500 5 8 0 1 270 0 1
588
+pinnumber=1
589
+T 28350 38500 5 8 0 0 270 0 1
590
+pinseq=1
591
+T 28300 38600 5 10 0 0 270 0 1
592
+pintype=pas
593
+}
594
+]
595
+{
596
+T 28500 38300 5 10 0 0 270 0 1
597
+device=polarized capacitor
598
+T 28400 38500 5 10 1 1 0 0 1
599
+refdes=C1
600
+T 28400 38100 5 10 1 1 0 2 1
601
+value=100uF
602
+}
603
+C 29800 37100 1 0 0 EMBEDDEDgnd.sym
604
+[
605
+T 30000 37200 8 10 0 1 0 5 1
606
+value=GND
607
+T 30100 37150 8 10 0 0 0 0 1
608
+net=GND:1
609
+L 29900 37300 30100 37300 3 10 0 0 -1 -1
610
+P 30000 37300 30000 37500 1 0 1
611
+{
612
+T 30058 37361 5 4 0 1 0 0 1
613
+pinnumber=1
614
+T 30058 37361 5 4 0 0 0 0 1
615
+pinseq=1
616
+T 30000 37300 5 10 0 0 0 0 1
617
+pintype=pas
618
+}
619
+]
620
+{
621
+T 30000 37200 5 10 1 1 0 5 1
622
+value=GND
623
+}
624
+C 31500 39000 1 0 0 EMBEDDEDvdd5.sym
625
+[
626
+T 31700 39300 8 10 0 1 0 3 1
627
+value=VDD5
628
+T 31800 39050 8 10 0 0 0 0 1
629
+net=VDD5:1
630
+L 31700 39150 31700 39100 3 0 0 0 -1 -1
631
+V 31700 39200 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
632
+P 31700 39100 31700 39000 1 0 1
633
+{
634
+T 31700 39200 3 6 0 1 0 0 1
635
+pinnumber=1
636
+T 31700 39200 3 6 0 0 0 0 1
637
+pinseq=1
638
+T 31700 39100 5 10 0 0 0 0 1
639
+pintype=pas
640
+}
641
+]
642
+{
643
+T 31700 39300 5 10 1 1 0 3 1
644
+value=VDD5
645
+}
646
+C 27400 38500 1 0 0 EMBEDDEDdiode.sym
647
+[
648
+T 27750 38600 8 10 0 1 0 5 1
649
+value=???
650
+T 27750 39000 8 10 0 1 0 3 1
651
+refdes=D?
652
+T 28000 39500 5 10 0 0 0 0 1
653
+device=diode
654
+L 27700 38800 27600 38800 3 0 0 0 -1 -1
655
+L 27800 38800 27900 38800 3 0 0 0 -1 -1
656
+L 27800 38900 27800 38700 3 0 0 0 -1 -1
657
+L 27700 38900 27700 38700 3 0 0 0 -1 -1
658
+L 27800 38800 27700 38700 3 0 0 0 -1 -1
659
+L 27700 38900 27800 38800 3 0 0 0 -1 -1
660
+P 28100 38800 27900 38800 1 0 0
661
+{
662
+T 27900 38850 5 8 0 1 0 0 1
663
+pinnumber=1
664
+T 27900 38850 5 8 0 0 0 0 1
665
+pinseq=1
666
+T 28100 38800 5 10 0 0 0 0 1
667
+pintype=pas
668
+}
669
+P 27400 38800 27600 38800 1 0 0
670
+{
671
+T 27500 38850 5 8 0 1 0 0 1
672
+pinnumber=2
673
+T 27500 38850 5 8 0 0 0 0 1
674
+pinseq=2
675
+T 27400 38800 5 10 0 0 0 0 1
676
+pintype=pas
677
+}
678
+]
679
+{
680
+T 28000 39500 5 10 0 0 0 0 1
681
+device=diode
682
+T 27750 39000 5 10 1 1 0 3 1
683
+refdes=D1
684
+T 27750 38600 5 10 1 1 0 5 1
685
+value=1N4004
686
+}
687
+N 28100 38800 29300 38800 4
688
+N 29100 38800 29100 38600 4
689
+N 28300 38600 28300 38800 4
690
+N 27400 38800 27000 38800 4
691
+N 28300 37900 28300 37700 4
692
+N 27200 37700 30000 37700 4
693
+N 30000 37500 30000 38100 4
694
+N 29100 37900 29100 37700 4
695
+C 30500 38700 1 270 0 EMBEDDEDcap.sym
696
+[
697
+T 30800 38100 8 10 0 1 270 2 1
698
+value=?F
699
+T 30800 38400 8 10 0 1 270 8 1
700
+refdes=C?
701
+T 31100 38400 5 10 0 0 270 0 1
702
+device=capacitor
703
+L 30900 38300 30900 38400 3 0 0 0 -1 -1
704
+L 30900 38100 30900 38200 3 0 0 0 -1 -1
705
+L 31100 38200 30700 38200 3 0 0 0 -1 -1
706
+L 31100 38300 30700 38300 3 0 0 0 -1 -1
707
+P 30900 37900 30900 38100 1 0 0
708
+{
709
+T 30950 38100 5 8 0 1 270 0 1
710
+pinnumber=2
711
+T 30950 38100 5 8 0 0 270 0 1
712
+pinseq=2
713
+T 30900 37900 5 10 0 0 270 0 1
714
+pintype=pas
715
+}
716
+P 30900 38600 30900 38400 1 0 0
717
+{
718
+T 30950 38500 5 8 0 1 270 0 1
719
+pinnumber=1
720
+T 30950 38500 5 8 0 0 270 0 1
721
+pinseq=1
722
+T 30900 38600 5 10 0 0 270 0 1
723
+pintype=pas
724
+}
725
+]
726
+{
727
+T 31100 38400 5 10 0 0 270 0 1
728
+device=capacitor
729
+T 31000 38400 5 10 1 1 0 0 1
730
+refdes=C3
731
+T 31000 38100 5 10 1 1 0 2 1
732
+value=100nF
733
+}
734
+C 31300 38700 1 270 0 EMBEDDEDcap_pol.sym
735
+[
736
+T 31600 38100 8 10 0 1 270 2 1
737
+value=?F
738
+T 31600 38400 8 10 0 1 270 8 1
739
+refdes=C?
740
+T 31900 38300 5 10 0 0 270 0 1
741
+device=polarized capacitor
742
+L 31900 38200 31500 38200 3 0 0 0 -1 -1
743
+L 31849 38360 31849 38460 3 0 0 0 -1 -1
744
+L 31900 38411 31800 38411 3 0 0 0 -1 -1
745
+L 31700 38300 31700 38400 3 0 0 0 -1 -1
746
+L 31700 38100 31700 38200 3 0 0 0 -1 -1
747
+L 31900 38300 31500 38300 3 0 0 0 -1 -1
748
+P 31700 37900 31700 38100 1 0 0
749
+{
750
+T 31750 38100 5 8 0 1 270 0 1
751
+pinnumber=2
752
+T 31750 38100 5 8 0 0 270 0 1
753
+pinseq=2
754
+T 31700 37900 5 10 0 0 270 0 1
755
+pintype=pas
756
+}
757
+P 31700 38600 31700 38400 1 0 0
758
+{
759
+T 31750 38500 5 8 0 1 270 0 1
760
+pinnumber=1
761
+T 31750 38500 5 8 0 0 270 0 1
762
+pinseq=1
763
+T 31700 38600 5 10 0 0 270 0 1
764
+pintype=pas
765
+}
766
+]
767
+{
768
+T 31900 38300 5 10 0 0 270 0 1
769
+device=polarized capacitor
770
+T 31800 38500 5 10 1 1 0 0 1
771
+refdes=C4
772
+T 31800 38100 5 10 1 1 0 2 1
773
+value=100uF
774
+}
775
+N 30000 37700 31700 37700 4
776
+N 30900 37700 30900 37900 4
777
+N 31700 37900 31700 37700 4
778
+N 30700 38800 31700 38800 4
779
+N 31700 39000 31700 38600 4
780
+N 30900 38600 30900 38800 4
781
+T 26000 41000 9 10 1 0 0 0 4
782
+time trigger for Olympus camera
783
+Copyright (C) 2013 Stefan Schuermans <stefan@blinkenarea.org>
784
+Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
785
+a BlinkenArea project - http://www.blinkenarea.org/
786
+C 29400 35500 1 270 0 EMBEDDEDcap.sym
787
+[
788
+T 29700 34900 8 10 0 1 270 2 1
789
+value=?F
790
+T 29700 35200 8 10 0 1 270 8 1
791
+refdes=C?
792
+T 30000 35200 5 10 0 0 270 0 1
793
+device=capacitor
794
+L 29800 35100 29800 35200 3 0 0 0 -1 -1
795
+L 29800 34900 29800 35000 3 0 0 0 -1 -1
796
+L 30000 35000 29600 35000 3 0 0 0 -1 -1
797
+L 30000 35100 29600 35100 3 0 0 0 -1 -1
798
+P 29800 34700 29800 34900 1 0 0
799
+{
800
+T 29850 34900 5 8 0 1 270 0 1
801
+pinnumber=2
802
+T 29850 34900 5 8 0 0 270 0 1
803
+pinseq=2
804
+T 29800 34700 5 10 0 0 270 0 1
805
+pintype=pas
806
+}
807
+P 29800 35400 29800 35200 1 0 0
808
+{
809
+T 29850 35300 5 8 0 1 270 0 1
810
+pinnumber=1
811
+T 29850 35300 5 8 0 0 270 0 1
812
+pinseq=1
813
+T 29800 35400 5 10 0 0 270 0 1
814
+pintype=pas
815
+}
816
+]
817
+{
818
+T 30000 35200 5 10 0 0 270 0 1
819
+device=capacitor
820
+T 29900 35200 5 10 1 1 0 0 1
821
+refdes=C5
822
+T 29900 34900 5 10 1 1 0 2 1
823
+value=100nF
824
+}
825
+N 30900 34900 30700 34900 4
826
+N 30700 34900 30700 36400 4
827
+N 30700 35300 30900 35300 4
828
+C 30500 33500 1 0 0 EMBEDDEDgnd.sym
829
+[
830
+T 30700 33600 8 10 0 1 0 5 1
831
+value=GND
832
+T 30800 33550 8 10 0 0 0 0 1
833
+net=GND:1
834
+L 30600 33700 30800 33700 3 10 0 0 -1 -1
835
+P 30700 33700 30700 33900 1 0 1
836
+{
837
+T 30758 33761 5 4 0 1 0 0 1
838
+pinnumber=1
839
+T 30758 33761 5 4 0 0 0 0 1
840
+pinseq=1
841
+T 30700 33700 5 10 0 0 0 0 1
842
+pintype=pas
843
+}
844
+]
845
+{
846
+T 30700 33600 5 10 1 1 0 5 1
847
+value=GND
848
+}
849
+N 30700 33900 30700 34100 4
850
+N 29800 34100 30900 34100 4
851
+N 29800 34100 29800 34700 4
852
+C 29600 35600 1 0 0 EMBEDDEDvdd5.sym
853
+[
854
+T 29800 35900 8 10 0 1 0 3 1
855
+value=VDD5
856
+T 29900 35650 8 10 0 0 0 0 1
857
+net=VDD5:1
858
+L 29800 35750 29800 35700 3 0 0 0 -1 -1
859
+V 29800 35800 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
860
+P 29800 35700 29800 35600 1 0 1
861
+{
862
+T 29800 35800 3 6 0 1 0 0 1
863
+pinnumber=1
864
+T 29800 35800 3 6 0 0 0 0 1
865
+pinseq=1
866
+T 29800 35700 5 10 0 0 0 0 1
867
+pintype=pas
868
+}
869
+]
870
+{
871
+T 29800 35900 5 10 1 1 0 3 1
872
+value=VDD5
873
+}
874
+N 29800 35600 29800 35400 4
875
+C 33400 35500 1 0 0 EMBEDDEDvdd5.sym
876
+[
877
+T 33600 35800 8 10 0 1 0 3 1
878
+value=VDD5
879
+T 33700 35550 8 10 0 0 0 0 1
880
+net=VDD5:1
881
+L 33600 35650 33600 35600 3 0 0 0 -1 -1
882
+V 33600 35700 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
883
+P 33600 35600 33600 35500 1 0 1
884
+{
885
+T 33600 35700 3 6 0 1 0 0 1
886
+pinnumber=1
887
+T 33600 35700 3 6 0 0 0 0 1
888
+pinseq=1
889
+T 33600 35600 5 10 0 0 0 0 1
890
+pintype=pas
891
+}
892
+]
893
+{
894
+T 33600 35800 5 10 1 1 0 3 1
895
+value=VDD5
896
+}
897
+N 33600 35500 33600 35300 4
898
+N 33600 35300 33400 35300 4
899
+N 28500 34500 30900 34500 4
900
+C 34300 36000 1 0 0 EMBEDDEDcap.sym
901
+[
902
+T 34900 36300 8 10 0 1 0 2 1
903
+value=?F
904
+T 34600 36300 8 10 0 1 0 8 1
905
+refdes=C?
906
+T 34600 36600 5 10 0 0 0 0 1
907
+device=capacitor
908
+L 34700 36400 34600 36400 3 0 0 0 -1 -1
909
+L 34900 36400 34800 36400 3 0 0 0 -1 -1
910
+L 34800 36600 34800 36200 3 0 0 0 -1 -1
911
+L 34700 36600 34700 36200 3 0 0 0 -1 -1
912
+P 35100 36400 34900 36400 1 0 0
913
+{
914
+T 34900 36450 5 8 0 1 0 0 1
915
+pinnumber=2
916
+T 34900 36450 5 8 0 0 0 0 1
917
+pinseq=2
918
+T 35100 36400 5 10 0 0 0 0 1
919
+pintype=pas
920
+}
921
+P 34400 36400 34600 36400 1 0 0
922
+{
923
+T 34500 36450 5 8 0 1 0 0 1
924
+pinnumber=1
925
+T 34500 36450 5 8 0 0 0 0 1
926
+pinseq=1
927
+T 34400 36400 5 10 0 0 0 0 1
928
+pintype=pas
929
+}
930
+]
931
+{
932
+T 34600 36600 5 10 0 0 0 0 1
933
+device=capacitor
934
+T 34600 36300 5 10 1 1 0 8 1
935
+refdes=C6
936
+T 34900 36300 5 10 1 1 0 2 1
937
+value=10uF
938
+}
939
+C 32600 36100 1 0 0 EMBEDDEDres.sym
940
+[
941
+T 33600 36300 8 10 0 1 0 2 1
942
+value=?E
943
+T 32900 36300 8 10 0 1 0 8 1
944
+refdes=R?
945
+T 33000 36450 5 10 0 0 0 0 1
946
+device=resistor
947
+B 32950 36300 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
948
+P 32800 36400 32952 36400 1 0 0
949
+{
950
+T 32900 36450 5 8 0 1 0 0 1
951
+pinnumber=1
952
+T 32900 36450 5 8 0 0 0 0 1
953
+pinseq=1
954
+T 32800 36400 5 10 0 0 0 0 1
955
+pintype=pas
956
+}
957
+P 33700 36400 33550 36400 1 0 0
958
+{
959
+T 33600 36450 5 8 0 1 0 0 1
960
+pinnumber=2
961
+T 33600 36450 5 8 0 0 0 0 1
962
+pinseq=2
963
+T 33700 36400 5 10 0 0 0 0 1
964
+pintype=pas
965
+}
966
+]
967
+{
968
+T 33000 36450 5 10 0 0 0 0 1
969
+device=resistor
970
+T 32900 36300 5 10 1 1 0 8 1
971
+refdes=R2
972
+T 33600 36300 5 10 1 1 0 2 1
973
+value=1kE
974
+}
975
+C 26700 34300 1 270 0 EMBEDDEDled.sym
976
+[
977
+T 26800 33950 8 10 0 1 270 5 1
978
+value=???
979
+T 27200 33950 8 10 0 1 270 3 1
980
+refdes=LED?
981
+T 27700 33700 5 10 0 0 270 0 1
982
+device=LED
983
+L 27150 33900 27100 33950 3 0 0 0 -1 -1
984
+L 27175 33925 27125 33975 3 0 0 0 -1 -1
985
+L 27125 33900 27175 33900 3 0 0 0 -1 -1
986
+L 27175 33950 27175 33900 3 0 0 0 -1 -1
987
+L 27000 34000 27000 34100 3 0 0 0 -1 -1
988
+L 27000 33900 27000 33800 3 0 0 0 -1 -1
989
+L 27100 33900 26900 33900 3 0 0 0 -1 -1
990
+L 27100 34000 26900 34000 3 0 0 0 -1 -1
991
+L 27000 33900 26900 34000 3 0 0 0 -1 -1
992
+L 27100 34000 27000 33900 3 0 0 0 -1 -1
993
+P 27000 33600 27000 33800 1 0 0
994
+{
995
+T 27050 33800 5 8 0 1 270 0 1
996
+pinnumber=1
997
+T 27050 33800 5 8 0 0 270 0 1
998
+pinseq=1
999
+T 27000 33600 5 10 0 0 270 0 1
1000
+pintype=pas
1001
+}
1002
+P 27000 34300 27000 34100 1 0 0
1003
+{
1004
+T 27050 34200 5 8 0 1 270 0 1
1005
+pinnumber=2
1006
+T 27050 34200 5 8 0 0 270 0 1
1007
+pinseq=2
1008
+T 27000 34300 5 10 0 0 270 0 1
1009
+pintype=pas
1010
+}
1011
+]
1012
+{
1013
+T 27700 33700 5 10 0 0 270 0 1
1014
+device=LED
1015
+T 26850 34100 5 10 1 1 0 6 1
1016
+refdes=LED1
1017
+T 26850 33800 5 10 1 1 0 8 1
1018
+value=SFH415
1019
+}
1020
+C 28800 34300 1 90 1 EMBEDDEDled.sym
1021
+[
1022
+T 28700 33950 8 10 0 1 270 3 1
1023
+value=???
1024
+T 28300 33950 8 10 0 1 270 5 1
1025
+refdes=LED?
1026
+T 27800 33700 5 10 0 0 270 2 1
1027
+device=LED
1028
+L 28350 33900 28400 33950 3 0 0 0 -1 -1
1029
+L 28325 33925 28375 33975 3 0 0 0 -1 -1
1030
+L 28375 33900 28325 33900 3 0 0 0 -1 -1
1031
+L 28325 33950 28325 33900 3 0 0 0 -1 -1
1032
+L 28500 34000 28500 34100 3 0 0 0 -1 -1
1033
+L 28500 33900 28500 33800 3 0 0 0 -1 -1
1034
+L 28400 33900 28600 33900 3 0 0 0 -1 -1
1035
+L 28400 34000 28600 34000 3 0 0 0 -1 -1
1036
+L 28500 33900 28600 34000 3 0 0 0 -1 -1
1037
+L 28400 34000 28500 33900 3 0 0 0 -1 -1
1038
+P 28500 33600 28500 33800 1 0 0
1039
+{
1040
+T 28450 33800 5 8 0 1 270 2 1
1041
+pinnumber=1
1042
+T 28450 33800 5 8 0 0 270 2 1
1043
+pinseq=1
1044
+T 28500 33600 5 10 0 0 270 2 1
1045
+pintype=pas
1046
+}
1047
+P 28500 34300 28500 34100 1 0 0
1048
+{
1049
+T 28450 34200 5 8 0 1 270 2 1
1050
+pinnumber=2
1051
+T 28450 34200 5 8 0 0 270 2 1
1052
+pinseq=2
1053
+T 28500 34300 5 10 0 0 270 2 1
1054
+pintype=pas
1055
+}
1056
+]
1057
+{
1058
+T 27800 33700 5 10 0 0 270 2 1
1059
+device=LED
1060
+T 28550 34100 5 10 1 1 0 0 1
1061
+refdes=LED2
1062
+T 28650 33800 5 10 1 1 0 2 1
1063
+value=SFH415
1064
+}
1065
+N 28500 34500 28500 34300 4
1066
+C 28300 33000 1 0 0 EMBEDDEDgnd.sym
1067
+[
1068
+T 28500 33100 8 10 0 1 0 5 1
1069
+value=GND
1070
+T 28600 33050 8 10 0 0 0 0 1
1071
+net=GND:1
1072
+L 28400 33200 28600 33200 3 10 0 0 -1 -1
1073
+P 28500 33200 28500 33400 1 0 1
1074
+{
1075
+T 28558 33261 5 4 0 1 0 0 1
1076
+pinnumber=1
1077
+T 28558 33261 5 4 0 0 0 0 1
1078
+pinseq=1
1079
+T 28500 33200 5 10 0 0 0 0 1
1080
+pintype=pas
1081
+}
1082
+]
1083
+{
1084
+T 28500 33100 5 10 1 1 0 5 1
1085
+value=GND
1086
+}
1087
+N 28500 33400 28500 33600 4
1088
+C 26800 33000 1 0 0 EMBEDDEDgnd.sym
1089
+[
1090
+T 27000 33100 8 10 0 1 0 5 1
1091
+value=GND
1092
+T 27100 33050 8 10 0 0 0 0 1
1093
+net=GND:1
1094
+L 26900 33200 27100 33200 3 10 0 0 -1 -1
1095
+P 27000 33200 27000 33400 1 0 1
1096
+{
1097
+T 27058 33261 5 4 0 1 0 0 1
1098
+pinnumber=1
1099
+T 27058 33261 5 4 0 0 0 0 1
1100
+pinseq=1
1101
+T 27000 33200 5 10 0 0 0 0 1
1102
+pintype=pas
1103
+}
1104
+]
1105
+{
1106
+T 27000 33100 5 10 1 1 0 5 1
1107
+value=GND
1108
+}
1109
+N 27000 33400 27000 33600 4
1110
+C 27300 35600 1 90 1 EMBEDDEDres.sym
1111
+[
1112
+T 27100 34600 8 10 0 1 270 0 1
1113
+value=?E
1114
+T 27100 35300 8 10 0 1 270 6 1
1115
+refdes=R?
1116
+T 26950 35200 5 10 0 0 270 2 1
1117
+device=resistor
1118
+B 26900 34650 200 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1119
+P 27000 35400 27000 35248 1 0 0
1120
+{
1121
+T 26950 35300 5 8 0 1 270 2 1
1122
+pinnumber=1
1123
+T 26950 35300 5 8 0 0 270 2 1
1124
+pinseq=1
1125
+T 27000 35400 5 10 0 0 270 2 1
1126
+pintype=pas
1127
+}
1128
+P 27000 34500 27000 34650 1 0 0
1129
+{
1130
+T 26950 34600 5 8 0 1 270 2 1
1131
+pinnumber=2
1132
+T 26950 34600 5 8 0 0 270 2 1
1133
+pinseq=2
1134
+T 27000 34500 5 10 0 0 270 2 1
1135
+pintype=pas
1136
+}
1137
+]
1138
+{
1139
+T 26950 35200 5 10 0 0 270 2 1
1140
+device=resistor
1141
+T 26800 35000 5 10 1 1 0 6 1
1142
+refdes=R1
1143
+T 26800 34900 5 10 1 1 0 8 1
1144
+value=100E
1145
+}
1146
+N 27000 34500 27000 34300 4
1147
+C 26800 35600 1 0 0 EMBEDDEDvdd5.sym
1148
+[
1149
+T 27000 35900 8 10 0 1 0 3 1
1150
+value=VDD5
1151
+T 27100 35650 8 10 0 0 0 0 1
1152
+net=VDD5:1
1153
+L 27000 35750 27000 35700 3 0 0 0 -1 -1
1154
+V 27000 35800 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
1155
+P 27000 35700 27000 35600 1 0 1
1156
+{
1157
+T 27000 35800 3 6 0 1 0 0 1
1158
+pinnumber=1
1159
+T 27000 35800 3 6 0 0 0 0 1
1160
+pinseq=1
1161
+T 27000 35700 5 10 0 0 0 0 1
1162
+pintype=pas
1163
+}
1164
+]
1165
+{
1166
+T 27000 35900 5 10 1 1 0 3 1
1167
+value=VDD5
1168
+}
1169
+N 27000 35600 27000 35400 4
1170
+L 27400 33900 28100 33900 3 0 0 0 -1 -1
1171
+L 27400 34000 28100 34000 3 0 0 0 -1 -1
1172
+L 27900 34200 28100 34000 3 0 0 0 -1 -1
1173
+L 28100 33900 27900 33700 3 0 0 0 -1 -1
1174
+N 34400 36400 33700 36400 4
1175
+N 32800 36400 30700 36400 4
1176
+N 33400 34500 35500 34500 4
1177
+N 35500 34500 35500 36400 4
1178
+N 35500 36400 35100 36400 4
1179
+C 34000 34600 1 0 0 EMBEDDEDres.sym
1180
+[
1181
+T 35000 34800 8 10 0 1 0 2 1
1182
+value=?E
1183
+T 34300 34800 8 10 0 1 0 8 1
1184
+refdes=R?
1185
+T 34400 34950 5 10 0 0 0 0 1
1186
+device=resistor
1187
+B 34350 34800 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1188
+P 34200 34900 34352 34900 1 0 0
1189
+{
1190
+T 34300 34950 5 8 0 1 0 0 1
1191
+pinnumber=1
1192
+T 34300 34950 5 8 0 0 0 0 1
1193
+pinseq=1
1194
+T 34200 34900 5 10 0 0 0 0 1
1195
+pintype=pas
1196
+}
1197
+P 35100 34900 34950 34900 1 0 0
1198
+{
1199
+T 35000 34950 5 8 0 1 0 0 1
1200
+pinnumber=2
1201
+T 35000 34950 5 8 0 0 0 0 1
1202
+pinseq=2
1203
+T 35100 34900 5 10 0 0 0 0 1
1204
+pintype=pas
1205
+}
1206
+]
1207
+{
1208
+T 34400 34950 5 10 0 0 0 0 1
1209
+device=resistor
1210
+T 34300 34800 5 10 1 1 0 8 1
1211
+refdes=R3
1212
+T 35000 34800 5 10 1 1 0 2 1
1213
+value=100kE
1214
+}
1215
+N 35500 34900 35100 34900 4
1216
+C 34200 35000 1 0 0 EMBEDDEDcap.sym
1217
+[
1218
+T 34800 35300 8 10 0 1 0 2 1
1219
+value=?F
1220
+T 34500 35300 8 10 0 1 0 8 1
1221
+refdes=C?
1222
+T 34500 35600 5 10 0 0 0 0 1
1223
+device=capacitor
1224
+L 34600 35400 34500 35400 3 0 0 0 -1 -1
1225
+L 34800 35400 34700 35400 3 0 0 0 -1 -1
1226
+L 34700 35600 34700 35200 3 0 0 0 -1 -1
1227
+L 34600 35600 34600 35200 3 0 0 0 -1 -1
1228
+P 35000 35400 34800 35400 1 0 0
1229
+{
1230
+T 34800 35450 5 8 0 1 0 0 1
1231
+pinnumber=2
1232
+T 34800 35450 5 8 0 0 0 0 1
1233
+pinseq=2
1234
+T 35000 35400 5 10 0 0 0 0 1
1235
+pintype=pas
1236
+}
1237
+P 34300 35400 34500 35400 1 0 0
1238
+{
1239
+T 34400 35450 5 8 0 1 0 0 1
1240
+pinnumber=1
1241
+T 34400 35450 5 8 0 0 0 0 1
1242
+pinseq=1
1243
+T 34300 35400 5 10 0 0 0 0 1
1244
+pintype=pas
1245
+}
1246
+]
1247
+{
1248
+T 34500 35600 5 10 0 0 0 0 1
1249
+device=capacitor
1250
+T 34500 35300 5 10 1 1 0 8 1
1251
+refdes=C7
1252
+T 34800 35300 5 10 1 1 0 2 1
1253
+value=1nF
1254
+}
1255
+N 35000 35400 35500 35400 4
1256
+N 34300 35400 34000 35400 4
1257
+N 34000 34900 34000 36000 4
1258
+N 34200 34900 33400 34900 4
1259
+C 36200 35400 1 270 0 EMBEDDEDres.sym
1260
+[
1261
+T 36400 34400 8 10 0 1 270 2 1
1262
+value=?E
1263
+T 36400 35100 8 10 0 1 270 8 1
1264
+refdes=R?
1265
+T 36550 35000 5 10 0 0 270 0 1
1266
+device=resistor
1267
+B 36400 34450 200 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1268
+P 36500 35200 36500 35048 1 0 0
1269
+{
1270
+T 36550 35100 5 8 0 1 270 0 1
1271
+pinnumber=1
1272
+T 36550 35100 5 8 0 0 270 0 1
1273
+pinseq=1
1274
+T 36500 35200 5 10 0 0 270 0 1
1275
+pintype=pas
1276
+}
1277
+P 36500 34300 36500 34450 1 0 0
1278
+{
1279
+T 36550 34400 5 8 0 1 270 0 1
1280
+pinnumber=2
1281
+T 36550 34400 5 8 0 0 270 0 1
1282
+pinseq=2
1283
+T 36500 34300 5 10 0 0 270 0 1
1284
+pintype=pas
1285
+}
1286
+]
1287
+{
1288
+T 36550 35000 5 10 0 0 270 0 1
1289
+device=resistor
1290
+T 36700 34800 5 10 1 1 0 0 1
1291
+refdes=R4
1292
+T 36700 34700 5 10 1 1 0 2 1
1293
+value=4.7kE
1294
+}
1295
+C 36200 34100 1 270 0 EMBEDDEDres.sym
1296
+[
1297
+T 36400 33100 8 10 0 1 270 2 1
1298
+value=?E
1299
+T 36400 33800 8 10 0 1 270 8 1
1300
+refdes=R?
1301
+T 36550 33700 5 10 0 0 270 0 1
1302
+device=resistor
1303
+B 36400 33150 200 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1304
+P 36500 33900 36500 33748 1 0 0
1305
+{
1306
+T 36550 33800 5 8 0 1 270 0 1
1307
+pinnumber=1
1308
+T 36550 33800 5 8 0 0 270 0 1
1309
+pinseq=1
1310
+T 36500 33900 5 10 0 0 270 0 1
1311
+pintype=pas
1312
+}
1313
+P 36500 33000 36500 33150 1 0 0
1314
+{
1315
+T 36550 33100 5 8 0 1 270 0 1
1316
+pinnumber=2
1317
+T 36550 33100 5 8 0 0 270 0 1
1318
+pinseq=2
1319
+T 36500 33000 5 10 0 0 270 0 1
1320
+pintype=pas
1321
+}
1322
+]
1323
+{
1324
+T 36550 33700 5 10 0 0 270 0 1
1325
+device=resistor
1326
+T 36700 33500 5 10 1 1 0 0 1
1327
+refdes=R5
1328
+T 36700 33400 5 10 1 1 0 2 1
1329
+value=4.7kE
1330
+}
1331
+C 36300 32400 1 0 0 EMBEDDEDgnd.sym
1332
+[
1333
+T 36500 32500 8 10 0 1 0 5 1
1334
+value=GND
1335
+T 36600 32450 8 10 0 0 0 0 1
1336
+net=GND:1
1337
+L 36400 32600 36600 32600 3 10 0 0 -1 -1
1338
+P 36500 32600 36500 32800 1 0 1
1339
+{
1340
+T 36558 32661 5 4 0 1 0 0 1
1341
+pinnumber=1
1342
+T 36558 32661 5 4 0 0 0 0 1
1343
+pinseq=1
1344
+T 36500 32600 5 10 0 0 0 0 1
1345
+pintype=pas
1346
+}
1347
+]
1348
+{
1349
+T 36500 32500 5 10 1 1 0 5 1
1350
+value=GND
1351
+}
1352
+N 36500 32800 36500 33000 4
1353
+C 36300 35400 1 0 0 EMBEDDEDvdd5.sym
1354
+[
1355
+T 36500 35700 8 10 0 1 0 3 1
1356
+value=VDD5
1357
+T 36600 35450 8 10 0 0 0 0 1
1358
+net=VDD5:1
1359
+L 36500 35550 36500 35500 3 0 0 0 -1 -1
1360
+V 36500 35600 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
1361
+P 36500 35500 36500 35400 1 0 1
1362
+{
1363
+T 36500 35600 3 6 0 1 0 0 1
1364
+pinnumber=1
1365
+T 36500 35600 3 6 0 0 0 0 1
1366
+pinseq=1
1367
+T 36500 35500 5 10 0 0 0 0 1
1368
+pintype=pas
1369
+}
1370
+]
1371
+{
1372
+T 36500 35700 5 10 1 1 0 3 1
1373
+value=VDD5
1374
+}
1375
+N 36500 35200 36500 35400 4
1376
+N 36500 33900 36500 34300 4
1377
+N 36500 34100 33400 34100 4
1378
+N 34000 36000 39200 36000 4
1379
+C 33600 39100 1 270 0 EMBEDDEDcap.sym
1380
+[
1381
+T 33900 38500 8 10 0 1 270 2 1
1382
+value=?F
1383
+T 33900 38800 8 10 0 1 270 8 1
1384
+refdes=C?
1385
+T 34200 38800 5 10 0 0 270 0 1
1386
+device=capacitor
1387
+L 34000 38700 34000 38800 3 0 0 0 -1 -1
1388
+L 34000 38500 34000 38600 3 0 0 0 -1 -1
1389
+L 34200 38600 33800 38600 3 0 0 0 -1 -1
1390
+L 34200 38700 33800 38700 3 0 0 0 -1 -1
1391
+P 34000 38300 34000 38500 1 0 0
1392
+{
1393
+T 34050 38500 5 8 0 1 270 0 1
1394
+pinnumber=2
1395
+T 34050 38500 5 8 0 0 270 0 1
1396
+pinseq=2
1397
+T 34000 38300 5 10 0 0 270 0 1
1398
+pintype=pas
1399
+}
1400
+P 34000 39000 34000 38800 1 0 0
1401
+{
1402
+T 34050 38900 5 8 0 1 270 0 1
1403
+pinnumber=1
1404
+T 34050 38900 5 8 0 0 270 0 1
1405
+pinseq=1
1406
+T 34000 39000 5 10 0 0 270 0 1
1407
+pintype=pas
1408
+}
1409
+]
1410
+{
1411
+T 34200 38800 5 10 0 0 270 0 1
1412
+device=capacitor
1413
+T 34100 38800 5 10 1 1 0 0 1
1414
+refdes=C10
1415
+T 34100 38500 5 10 1 1 0 2 1
1416
+value=100nF
1417
+}
1418
+N 35000 39200 34000 39200 4
1419
+N 34000 39200 34000 39000 4
1420
+C 33800 37400 1 0 0 EMBEDDEDgnd.sym
1421
+[
1422
+T 34000 37500 8 10 0 1 0 5 1
1423
+value=GND
1424
+T 34100 37450 8 10 0 0 0 0 1
1425
+net=GND:1
1426
+L 33900 37600 34100 37600 3 10 0 0 -1 -1
1427
+P 34000 37600 34000 37800 1 0 1
1428
+{
1429
+T 34058 37661 5 4 0 1 0 0 1
1430
+pinnumber=1
1431
+T 34058 37661 5 4 0 0 0 0 1
1432
+pinseq=1
1433
+T 34000 37600 5 10 0 0 0 0 1
1434
+pintype=pas
1435
+}
1436
+]
1437
+{
1438
+T 34000 37500 5 10 1 1 0 5 1
1439
+value=GND
1440
+}
1441
+N 34000 37800 34000 38300 4
1442
+N 35000 38200 34800 38200 4
1443
+N 34800 38400 34800 38000 4
1444
+N 34800 38000 34000 38000 4
1445
+N 34800 38400 35000 38400 4
1446
+C 33800 41900 1 270 0 EMBEDDEDcap.sym
1447
+[
1448
+T 34100 41300 8 10 0 1 270 2 1
1449
+value=?F
1450
+T 34100 41600 8 10 0 1 270 8 1
1451
+refdes=C?
1452
+T 34400 41600 5 10 0 0 270 0 1
1453
+device=capacitor
1454
+L 34200 41500 34200 41600 3 0 0 0 -1 -1
1455
+L 34200 41300 34200 41400 3 0 0 0 -1 -1
1456
+L 34400 41400 34000 41400 3 0 0 0 -1 -1
1457
+L 34400 41500 34000 41500 3 0 0 0 -1 -1
1458
+P 34200 41100 34200 41300 1 0 0
1459
+{
1460
+T 34250 41300 5 8 0 1 270 0 1
1461
+pinnumber=2
1462
+T 34250 41300 5 8 0 0 270 0 1
1463
+pinseq=2
1464
+T 34200 41100 5 10 0 0 270 0 1
1465
+pintype=pas
1466
+}
1467
+P 34200 41800 34200 41600 1 0 0
1468
+{
1469
+T 34250 41700 5 8 0 1 270 0 1
1470
+pinnumber=1
1471
+T 34250 41700 5 8 0 0 270 0 1
1472
+pinseq=1
1473
+T 34200 41800 5 10 0 0 270 0 1
1474
+pintype=pas
1475
+}
1476
+]
1477
+{
1478
+T 34400 41600 5 10 0 0 270 0 1
1479
+device=capacitor
1480
+T 34300 41600 5 10 1 1 0 0 1
1481
+refdes=C8
1482
+T 34300 41300 5 10 1 1 0 2 1
1483
+value=100nF
1484
+}
1485
+C 33100 41900 1 270 0 EMBEDDEDcap.sym
1486
+[
1487
+T 33400 41300 8 10 0 1 270 2 1
1488
+value=?F
1489
+T 33400 41600 8 10 0 1 270 8 1
1490
+refdes=C?
1491
+T 33700 41600 5 10 0 0 270 0 1
1492
+device=capacitor
1493
+L 33500 41500 33500 41600 3 0 0 0 -1 -1
1494
+L 33500 41300 33500 41400 3 0 0 0 -1 -1
1495
+L 33700 41400 33300 41400 3 0 0 0 -1 -1
1496
+L 33700 41500 33300 41500 3 0 0 0 -1 -1
1497
+P 33500 41100 33500 41300 1 0 0
1498
+{
1499
+T 33550 41300 5 8 0 1 270 0 1
1500
+pinnumber=2
1501
+T 33550 41300 5 8 0 0 270 0 1
1502
+pinseq=2
1503
+T 33500 41100 5 10 0 0 270 0 1
1504
+pintype=pas
1505
+}
1506
+P 33500 41800 33500 41600 1 0 0
1507
+{
1508
+T 33550 41700 5 8 0 1 270 0 1
1509
+pinnumber=1
1510
+T 33550 41700 5 8 0 0 270 0 1
1511
+pinseq=1
1512
+T 33500 41800 5 10 0 0 270 0 1
1513
+pintype=pas
1514
+}
1515
+]
1516
+{
1517
+T 33700 41600 5 10 0 0 270 0 1
1518
+device=capacitor
1519
+T 33600 41600 5 10 1 1 0 0 1
1520
+refdes=C9
1521
+T 33600 41300 5 10 1 1 0 2 1
1522
+value=100nF
1523
+}
1524
+N 34200 40900 33500 40900 4
1525
+N 33500 40900 33500 41100 4
1526
+N 34200 40700 34200 41100 4
1527
+N 35000 42400 33500 42400 4
1528
+N 33500 42600 33500 41800 4
1529
+N 34200 41800 34200 42600 4
1530
+N 34200 42000 35000 42000 4
1531
+N 35000 41400 34800 41400 4
1532
+N 34800 41400 34800 42000 4
1533
+C 34000 40300 1 0 0 EMBEDDEDgnd.sym
1534
+[
1535
+T 34200 40400 8 10 0 1 0 5 1
1536
+value=GND
1537
+T 34300 40350 8 10 0 0 0 0 1
1538
+net=GND:1
1539
+L 34100 40500 34300 40500 3 10 0 0 -1 -1
1540
+P 34200 40500 34200 40700 1 0 1
1541
+{
1542
+T 34258 40561 5 4 0 1 0 0 1
1543
+pinnumber=1
1544
+T 34258 40561 5 4 0 0 0 0 1
1545
+pinseq=1
1546
+T 34200 40500 5 10 0 0 0 0 1
1547
+pintype=pas
1548
+}
1549
+]
1550
+{
1551
+T 34200 40400 5 10 1 1 0 5 1
1552
+value=GND
1553
+}
1554
+N 39200 36000 39200 39400 4
1555
+N 39200 39400 38800 39400 4
1556
+C 39700 37300 1 270 0 EMBEDDEDres.sym
1557
+[
1558
+T 39900 36300 8 10 0 1 270 2 1
1559
+value=?E
1560
+T 39900 37000 8 10 0 1 270 8 1
1561
+refdes=R?
1562
+T 40050 36900 5 10 0 0 270 0 1
1563
+device=resistor
1564
+B 39900 36350 200 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1565
+P 40000 37100 40000 36948 1 0 0
1566
+{
1567
+T 40050 37000 5 8 0 1 270 0 1
1568
+pinnumber=1
1569
+T 40050 37000 5 8 0 0 270 0 1
1570
+pinseq=1
1571
+T 40000 37100 5 10 0 0 270 0 1
1572
+pintype=pas
1573
+}
1574
+P 40000 36200 40000 36350 1 0 0
1575
+{
1576
+T 40050 36300 5 8 0 1 270 0 1
1577
+pinnumber=2
1578
+T 40050 36300 5 8 0 0 270 0 1
1579
+pinseq=2
1580
+T 40000 36200 5 10 0 0 270 0 1
1581
+pintype=pas
1582
+}
1583
+]
1584
+{
1585
+T 40050 36900 5 10 0 0 270 0 1
1586
+device=resistor
1587
+T 40200 36700 5 10 1 1 0 0 1
1588
+refdes=R6
1589
+T 40200 36600 5 10 1 1 0 2 1
1590
+value=4.7kE
1591
+}
1592
+C 39700 36000 1 270 0 EMBEDDEDres.sym
1593
+[
1594
+T 39900 35000 8 10 0 1 270 2 1
1595
+value=?E
1596
+T 39900 35700 8 10 0 1 270 8 1
1597
+refdes=R?
1598
+T 40050 35600 5 10 0 0 270 0 1
1599
+device=resistor
1600
+B 39900 35050 200 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1601
+P 40000 35800 40000 35648 1 0 0
1602
+{
1603
+T 40050 35700 5 8 0 1 270 0 1
1604
+pinnumber=1
1605
+T 40050 35700 5 8 0 0 270 0 1
1606
+pinseq=1
1607
+T 40000 35800 5 10 0 0 270 0 1
1608
+pintype=pas
1609
+}
1610
+P 40000 34900 40000 35050 1 0 0
1611
+{
1612
+T 40050 35000 5 8 0 1 270 0 1
1613
+pinnumber=2
1614
+T 40050 35000 5 8 0 0 270 0 1
1615
+pinseq=2
1616
+T 40000 34900 5 10 0 0 270 0 1
1617
+pintype=pas
1618
+}
1619
+]
1620
+{
1621
+T 40050 35600 5 10 0 0 270 0 1
1622
+device=resistor
1623
+T 40200 35400 5 10 1 1 0 0 1
1624
+refdes=R7
1625
+T 40200 35300 5 10 1 1 0 2 1
1626
+value=10kE
1627
+}
1628
+C 39800 34300 1 0 0 EMBEDDEDgnd.sym
1629
+[
1630
+T 40000 34400 8 10 0 1 0 5 1
1631
+value=GND
1632
+T 40100 34350 8 10 0 0 0 0 1
1633
+net=GND:1
1634
+L 39900 34500 40100 34500 3 10 0 0 -1 -1
1635
+P 40000 34500 40000 34700 1 0 1
1636
+{
1637
+T 40058 34561 5 4 0 1 0 0 1
1638
+pinnumber=1
1639
+T 40058 34561 5 4 0 0 0 0 1
1640
+pinseq=1
1641
+T 40000 34500 5 10 0 0 0 0 1
1642
+pintype=pas
1643
+}
1644
+]
1645
+{
1646
+T 40000 34400 5 10 1 1 0 5 1
1647
+value=GND
1648
+}
1649
+N 40000 34700 40000 34900 4
1650
+C 39800 37300 1 0 0 EMBEDDEDvdd5.sym
1651
+[
1652
+T 40000 37600 8 10 0 1 0 3 1
1653
+value=VDD5
1654
+T 40100 37350 8 10 0 0 0 0 1
1655
+net=VDD5:1
1656
+L 40000 37450 40000 37400 3 0 0 0 -1 -1
1657
+V 40000 37500 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
1658
+P 40000 37400 40000 37300 1 0 1
1659
+{
1660
+T 40000 37500 3 6 0 1 0 0 1
1661
+pinnumber=1
1662
+T 40000 37500 3 6 0 0 0 0 1
1663
+pinseq=1
1664
+T 40000 37400 5 10 0 0 0 0 1
1665
+pintype=pas
1666
+}
1667
+]
1668
+{
1669
+T 40000 37600 5 10 1 1 0 3 1
1670
+value=VDD5
1671
+}
1672
+N 40000 37100 40000 37300 4
1673
+N 40000 35800 40000 36200 4
1674
+C 41300 38700 1 270 0 EMBEDDEDres_pot.sym
1675
+[
1676
+T 41550 37850 9 8 1 0 270 8 1
1677
+R
1678
+T 41550 38550 9 8 1 0 270 2 1
1679
+L
1680
+T 41900 38200 8 10 0 1 270 3 1
1681
+value=?E
1682
+T 42100 38200 8 10 0 1 270 3 1
1683
+refdes=R?
1684
+T 41650 38300 5 10 0 0 270 0 1
1685
+device=resistor_potentiometer
1686
+L 41600 38200 41550 38150 3 0 0 0 -1 -1
1687
+L 41600 38200 41550 38250 3 0 0 0 -1 -1
1688
+L 41450 38200 41600 38200 3 0 0 0 -1 -1
1689
+P 41300 38200 41450 38200 1 0 0
1690
+{
1691
+T 41350 38250 5 8 0 1 0 6 1
1692
+pinnumber=2
1693
+T 41400 38150 5 8 0 0 180 0 1
1694
+pinseq=2
1695
+T 41300 38200 5 10 0 0 180 0 1
1696
+pintype=pas
1697
+}
1698
+B 41600 37850 200 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1699
+P 41700 38700 41700 38548 1 0 0
1700
+{
1701
+T 41750 38600 5 8 0 1 270 0 1
1702
+pinnumber=1
1703
+T 41750 38600 5 8 0 0 270 0 1
1704
+pinseq=1
1705
+T 41700 38700 5 10 0 0 270 0 1
1706
+pintype=pas
1707
+}
1708
+P 41700 37700 41700 37850 1 0 0
1709
+{
1710
+T 41750 37800 5 8 0 1 270 0 1
1711
+pinnumber=3
1712
+T 41750 37800 5 8 0 0 270 0 1
1713
+pinseq=3
1714
+T 41700 37700 5 10 0 0 270 0 1
1715
+pintype=pas
1716
+}
1717
+]
1718
+{
1719
+T 41650 38300 5 10 0 0 270 0 1
1720
+device=resistor_potentiometer
1721
+T 41900 38300 5 10 1 1 0 0 1
1722
+refdes=R8
1723
+T 41900 38200 5 10 1 1 0 2 1
1724
+value=10kE
1725
+}
1726
+C 40900 42900 1 0 0 EMBEDDEDnpn_bec.sym
1727
+[
1728
+T 41450 43050 9 10 1 0 0 7 1
1729
+E
1730
+T 41450 43750 9 10 1 0 0 7 1
1731
+C
1732
+T 41100 43500 9 10 1 0 0 3 1
1733
+B
1734
+T 41650 43200 8 10 0 1 0 0 1
1735
+value=???
1736
+T 41650 43500 8 10 0 1 0 0 1
1737
+refdes=T?
1738
+T 41300 43250 5 10 0 0 0 0 1
1739
+device=npn_bec
1740
+L 41400 43300 41350 43300 3 0 0 0 -1 -1
1741
+L 41400 43300 41400 43350 3 0 0 0 -1 -1
1742
+L 41500 43600 41300 43400 3 0 0 0 -1 -1
1743
+L 41500 43200 41300 43400 3 0 0 0 -1 -1
1744
+L 41500 43750 41500 43600 3 0 0 0 -1 -1
1745
+L 41500 43050 41500 43200 3 0 0 0 -1 -1
1746
+L 41300 43200 41300 43600 3 0 0 0 -1 -1
1747
+L 41050 43400 41300 43400 3 0 0 0 -1 -1
1748
+P 41500 42900 41500 43050 1 0 0
1749
+{
1750
+T 41550 43000 5 8 0 1 270 0 1
1751
+pinnumber=2
1752
+T 41550 43000 5 8 0 0 270 0 1
1753
+pinseq=2
1754
+T 41500 42900 5 10 0 0 270 0 1
1755
+pintype=pas
1756
+}
1757
+P 40900 43400 41052 43400 1 0 0
1758
+{
1759
+T 41000 43450 5 8 0 1 0 0 1
1760
+pinnumber=1
1761
+T 41000 43450 5 8 0 0 0 0 1
1762
+pinseq=1
1763
+T 40900 43400 5 10 0 0 0 0 1
1764
+pintype=pas
1765
+}
1766
+P 41500 43900 41500 43750 1 0 0
1767
+{
1768
+T 41450 43800 5 8 0 1 90 0 1
1769
+pinnumber=3
1770
+T 41450 43800 5 8 0 0 90 0 1
1771
+pinseq=3
1772
+T 41500 43900 5 10 0 0 90 0 1
1773
+pintype=pas
1774
+}
1775
+]
1776
+{
1777
+T 41300 43250 5 10 0 0 0 0 1
1778
+device=npn_bec
1779
+T 41650 43500 5 10 1 1 0 0 1
1780
+refdes=T1
1781
+T 41650 43200 5 10 1 1 0 0 1
1782
+value=BC547
1783
+}
1784
+N 40000 36000 39400 36000 4
1785
+N 38800 39600 39400 39600 4
1786
+N 39400 39600 39400 36000 4
1787
+C 41500 38900 1 0 0 EMBEDDEDvdd5.sym
1788
+[
1789
+L 41700 39050 41700 39000 3 0 0 0 -1 -1
1790
+V 41700 39100 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
1791
+P 41700 39000 41700 38900 1 0 1
1792
+{
1793
+T 41700 39000 5 10 0 0 0 0 1
1794
+pintype=pas
1795
+T 41700 39100 3 6 0 0 0 0 1
1796
+pinseq=1
1797
+T 41700 39100 3 6 0 1 0 0 1
1798
+pinnumber=1
1799
+}
1800
+T 41700 39200 8 10 0 1 0 3 1
1801
+value=VDD5
1802
+T 41800 38950 8 10 0 0 0 0 1
1803
+net=VDD5:1
1804
+]
1805
+{
1806
+T 41700 39200 5 10 1 1 0 3 1
1807
+value=VDD5
1808
+}
1809
+N 41700 38700 41700 38900 4
1810
+C 41500 36500 1 0 0 EMBEDDEDgnd.sym
1811
+[
1812
+L 41600 36700 41800 36700 3 10 0 0 -1 -1
1813
+P 41700 36700 41700 36900 1 0 1
1814
+{
1815
+T 41700 36700 5 10 0 0 0 0 1
1816
+pintype=pas
1817
+T 41758 36761 5 4 0 0 0 0 1
1818
+pinseq=1
1819
+T 41758 36761 5 4 0 1 0 0 1
1820
+pinnumber=1
1821
+}
1822
+T 41700 36600 8 10 0 1 0 5 1
1823
+value=GND
1824
+T 41800 36550 8 10 0 0 0 0 1
1825
+net=GND:1
1826
+]
1827
+{
1828
+T 41700 36600 5 10 1 1 0 5 1
1829
+value=GND
1830
+}
1831
+N 41700 36900 41700 37700 4
1832
+C 39600 43100 1 0 0 EMBEDDEDres.sym
1833
+[
1834
+B 39950 43300 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1835
+P 39800 43400 39952 43400 1 0 0
1836
+{
1837
+T 39800 43400 5 10 0 0 0 0 1
1838
+pintype=pas
1839
+T 39900 43450 5 8 0 0 0 0 1
1840
+pinseq=1
1841
+T 39900 43450 5 8 0 1 0 0 1
1842
+pinnumber=1
1843
+}
1844
+P 40700 43400 40550 43400 1 0 0
1845
+{
1846
+T 40700 43400 5 10 0 0 0 0 1
1847
+pintype=pas
1848
+T 40600 43450 5 8 0 0 0 0 1
1849
+pinseq=2
1850
+T 40600 43450 5 8 0 1 0 0 1
1851
+pinnumber=2
1852
+}
1853
+T 40600 43300 8 10 0 1 0 2 1
1854
+value=?E
1855
+T 39900 43300 8 10 0 1 0 8 1
1856
+refdes=R?
1857
+T 40000 43450 5 10 0 0 0 0 1
1858
+device=resistor
1859
+]
1860
+{
1861
+T 40000 43450 5 10 0 0 0 0 1
1862
+device=resistor
1863
+T 39900 43300 5 10 1 1 0 8 1
1864
+refdes=R11
1865
+T 40600 43300 5 10 1 1 0 2 1
1866
+value=1kE
1867
+}
1868
+N 40900 43400 40700 43400 4
1869
+C 41300 42100 1 0 0 EMBEDDEDgnd.sym
1870
+[
1871
+L 41400 42300 41600 42300 3 10 0 0 -1 -1
1872
+P 41500 42300 41500 42500 1 0 1
1873
+{
1874
+T 41500 42300 5 10 0 0 0 0 1
1875
+pintype=pas
1876
+T 41558 42361 5 4 0 0 0 0 1
1877
+pinseq=1
1878
+T 41558 42361 5 4 0 1 0 0 1
1879
+pinnumber=1
1880
+}
1881
+T 41500 42200 8 10 0 1 0 5 1
1882
+value=GND
1883
+T 41600 42150 8 10 0 0 0 0 1
1884
+net=GND:1
1885
+]
1886
+{
1887
+T 41500 42200 5 10 1 1 0 5 1
1888
+value=GND
1889
+}
1890
+N 41500 42500 41500 42900 4
1891
+C 43300 43300 1 0 1 EMBEDDEDcon3.sym
1892
+[
1893
+P 42800 43900 42500 43900 1 0 1
1894
+{
1895
+T 42900 43900 5 8 1 1 0 1 1
1896
+pinnumber=2
1897
+T 43950 43850 5 8 0 0 0 6 1
1898
+pinseq=2
1899
+T 42800 43900 5 10 0 0 0 6 1
1900
+pintype=pas
1901
+}
1902
+P 42800 44100 42500 44100 1 0 1
1903
+{
1904
+T 42900 44100 5 8 1 1 0 1 1
1905
+pinnumber=1
1906
+T 43950 44050 5 8 0 0 0 6 1
1907
+pinseq=1
1908
+T 42800 44100 5 10 0 0 0 6 1
1909
+pintype=pas
1910
+}
1911
+P 42800 43700 42500 43700 1 0 1
1912
+{
1913
+T 42900 43700 5 8 1 1 0 1 1
1914
+pinnumber=3
1915
+T 43950 43650 5 8 0 0 0 6 1
1916
+pinseq=3
1917
+T 42800 43700 5 10 0 0 0 6 1
1918
+pintype=pas
1919
+}
1920
+B 42800 43500 500 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1921
+T 41400 46300 5 10 0 0 0 6 1
1922
+device=3 pin connector
1923
+T 43300 44400 8 10 0 1 0 6 1
1924
+refdes=CON?
1925
+T 43300 43400 8 10 0 1 0 8 1
1926
+value=???
1927
+]
1928
+{
1929
+T 41400 46300 5 10 0 0 0 6 1
1930
+device=3 pin connector
1931
+T 43300 44400 5 10 1 1 0 6 1
1932
+refdes=CON2
1933
+T 43300 43400 5 10 1 1 0 8 1
1934
+value=CAMERA
1935
+}
1936
+N 42500 43900 42300 43900 4
1937
+N 41500 44100 41500 43900 4
1938
+N 41500 44100 42500 44100 4
1939
+N 42300 43900 42300 44100 4
1940
+N 41500 42700 42300 42700 4
1941
+C 26200 38200 1 0 0 EMBEDDEDcon2.sym
1942
+[
1943
+T 26200 38300 8 10 0 1 0 2 1
1944
+value=???
1945
+T 26200 39100 8 10 0 1 0 0 1
1946
+refdes=CON?
1947
+T 28100 41200 5 10 0 0 0 0 1
1948
+device=2 pin connector
1949
+B 26200 38400 500 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1950
+P 26700 38800 27000 38800 1 0 1
1951
+{
1952
+T 26600 38800 5 8 1 1 0 7 1
1953
+pinnumber=1
1954
+T 25550 38750 5 8 0 0 0 0 1
1955
+pinseq=1
1956
+T 26700 38800 5 10 0 0 0 0 1
1957
+pintype=pas
1958
+}
1959
+P 26700 38600 27000 38600 1 0 1
1960
+{
1961
+T 26600 38600 5 8 1 1 0 7 1
1962
+pinnumber=2
1963
+T 25550 38550 5 8 0 0 0 0 1
1964
+pinseq=2
1965
+T 26700 38600 5 10 0 0 0 0 1
1966
+pintype=pas
1967
+}
1968
+]
1969
+{
1970
+T 28100 41200 5 10 0 0 0 0 1
1971
+device=2 pin connector
1972
+T 26200 39100 5 10 1 1 0 0 1
1973
+refdes=CON1
1974
+T 26200 38300 5 10 1 1 0 2 1
1975
+value=POWER
1976
+}
1977
+N 27200 37700 27200 38600 4
1978
+N 27200 38600 27000 38600 4
1979
+N 41300 38200 39800 38200 4
1980
+N 39800 38200 39800 40000 4
1981
+N 39800 40000 38800 40000 4
1982
+C 39800 41300 1 0 0 EMBEDDEDres.sym
1983
+[
1984
+B 40150 41500 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
1985
+P 40000 41600 40152 41600 1 0 0
1986
+{
1987
+T 40100 41650 5 8 0 1 0 0 1
1988
+pinnumber=1
1989
+T 40100 41650 5 8 0 0 0 0 1
1990
+pinseq=1
1991
+T 40000 41600 5 10 0 0 0 0 1
1992
+pintype=pas
1993
+}
1994
+P 40900 41600 40750 41600 1 0 0
1995
+{
1996
+T 40800 41650 5 8 0 1 0 0 1
1997
+pinnumber=2
1998
+T 40800 41650 5 8 0 0 0 0 1
1999
+pinseq=2
2000
+T 40900 41600 5 10 0 0 0 0 1
2001
+pintype=pas
2002
+}
2003
+T 40800 41500 8 10 0 1 0 2 1
2004
+value=?E
2005
+T 40100 41500 8 10 0 1 0 8 1
2006
+refdes=R?
2007
+T 40200 41650 5 10 0 0 0 0 1
2008
+device=resistor
2009
+]
2010
+{
2011
+T 40200 41650 5 10 0 0 0 0 1
2012
+device=resistor
2013
+T 40100 41500 5 10 1 1 0 8 1
2014
+refdes=R10
2015
+T 40800 41500 5 10 1 1 0 2 1
2016
+value=1kE
2017
+}
2018
+C 41800 40100 1 0 0 EMBEDDEDgnd.sym
2019
+[
2020
+L 41900 40300 42100 40300 3 10 0 0 -1 -1
2021
+P 42000 40300 42000 40500 1 0 1
2022
+{
2023
+T 42058 40361 5 4 0 1 0 0 1
2024
+pinnumber=1
2025
+T 42058 40361 5 4 0 0 0 0 1
2026
+pinseq=1
2027
+T 42000 40300 5 10 0 0 0 0 1
2028
+pintype=pas
2029
+}
2030
+T 42000 40200 8 10 0 1 0 5 1
2031
+value=GND
2032
+T 42100 40150 8 10 0 0 0 0 1
2033
+net=GND:1
2034
+]
2035
+{
2036
+T 42000 40200 5 10 1 1 0 5 1
2037
+value=GND
2038
+}
2039
+C 41700 41400 1 270 0 EMBEDDEDled.sym
2040
+[
2041
+L 42150 41000 42100 41050 3 0 0 0 -1 -1
2042
+L 42175 41025 42125 41075 3 0 0 0 -1 -1
2043
+L 42125 41000 42175 41000 3 0 0 0 -1 -1
2044
+L 42175 41050 42175 41000 3 0 0 0 -1 -1
2045
+L 42000 41100 42000 41200 3 0 0 0 -1 -1
2046
+L 42000 41000 42000 40900 3 0 0 0 -1 -1
2047
+L 42100 41000 41900 41000 3 0 0 0 -1 -1
2048
+L 42100 41100 41900 41100 3 0 0 0 -1 -1
2049
+L 42000 41000 41900 41100 3 0 0 0 -1 -1
2050
+L 42100 41100 42000 41000 3 0 0 0 -1 -1
2051
+P 42000 40700 42000 40900 1 0 0
2052
+{
2053
+T 42000 40700 5 10 0 0 270 0 1
2054
+pintype=pas
2055
+T 42050 40900 5 8 0 0 270 0 1
2056
+pinseq=1
2057
+T 42050 40900 5 8 0 1 270 0 1
2058
+pinnumber=1
2059
+}
2060
+P 42000 41400 42000 41200 1 0 0
2061
+{
2062
+T 42000 41400 5 10 0 0 270 0 1
2063
+pintype=pas
2064
+T 42050 41300 5 8 0 0 270 0 1
2065
+pinseq=2
2066
+T 42050 41300 5 8 0 1 270 0 1
2067
+pinnumber=2
2068
+}
2069
+T 41800 41050 8 10 0 1 270 5 1
2070
+value=???
2071
+T 42200 41050 8 10 0 1 270 3 1
2072
+refdes=LED?
2073
+T 42700 40800 5 10 0 0 270 0 1
2074
+device=LED
2075
+]
2076
+{
2077
+T 42700 40800 5 10 0 0 270 0 1
2078
+device=LED
2079
+T 41850 41200 5 10 1 1 0 6 1
2080
+refdes=LED3
2081
+T 41850 40900 5 10 1 1 0 8 1
2082
+value=red 2mA
2083
+}
2084
+N 42000 40500 42000 40700 4
2085
+N 42000 41400 42000 41600 4
2086
+N 42000 41600 40900 41600 4
2087
+N 38800 41600 40000 41600 4
2088
+C 30300 39500 1 0 1 EMBEDDEDdiode.sym
2089
+[
2090
+T 29950 39600 8 10 0 1 0 5 1
2091
+value=???
2092
+T 29950 40000 8 10 0 1 0 3 1
2093
+refdes=D?
2094
+T 29700 40500 5 10 0 0 0 6 1
2095
+device=diode
2096
+L 30000 39800 30100 39800 3 0 0 0 -1 -1
2097
+L 29900 39800 29800 39800 3 0 0 0 -1 -1
2098
+L 29900 39900 29900 39700 3 0 0 0 -1 -1
2099
+L 30000 39900 30000 39700 3 0 0 0 -1 -1
2100
+L 29900 39800 30000 39700 3 0 0 0 -1 -1
2101
+L 30000 39900 29900 39800 3 0 0 0 -1 -1
2102
+P 29600 39800 29800 39800 1 0 0
2103
+{
2104
+T 29600 39800 5 10 0 0 0 6 1
2105
+pintype=pas
2106
+T 29800 39850 5 8 0 0 0 6 1
2107
+pinseq=1
2108
+T 29800 39850 5 8 0 1 0 6 1
2109
+pinnumber=1
2110
+}
2111
+P 30300 39800 30100 39800 1 0 0
2112
+{
2113
+T 30300 39800 5 10 0 0 0 6 1
2114
+pintype=pas
2115
+T 30200 39850 5 8 0 0 0 6 1
2116
+pinseq=2
2117
+T 30200 39850 5 8 0 1 0 6 1
2118
+pinnumber=2
2119
+}
2120
+]
2121
+{
2122
+T 29700 40500 5 10 0 0 0 6 1
2123
+device=diode
2124
+T 29950 40000 5 10 1 1 0 3 1
2125
+refdes=D2
2126
+T 29950 39600 5 10 1 1 0 5 1
2127
+value=1N4004
2128
+}
2129
+N 29100 38800 29100 39800 4
2130
+N 29100 39800 29600 39800 4
2131
+N 30300 39800 30900 39800 4
2132
+N 30900 39800 30900 38800 4
2133
+C 33300 42600 1 0 0 EMBEDDEDvdd5.sym
2134
+[
2135
+T 33500 42900 8 10 0 1 0 3 1
2136
+value=VDD5
2137
+T 33600 42650 8 10 0 0 0 0 1
2138
+net=VDD5:1
2139
+L 33500 42750 33500 42700 3 0 0 0 -1 -1
2140
+V 33500 42800 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
2141
+P 33500 42700 33500 42600 1 0 1
2142
+{
2143
+T 33500 42700 5 10 0 0 0 0 1
2144
+pintype=pas
2145
+T 33500 42800 3 6 0 0 0 0 1
2146
+pinseq=1
2147
+T 33500 42800 3 6 0 1 0 0 1
2148
+pinnumber=1
2149
+}
2150
+]
2151
+{
2152
+T 33500 42900 5 10 1 1 0 3 1
2153
+value=VDD5
2154
+}
2155
+C 34000 42600 1 0 0 EMBEDDEDvdd5.sym
2156
+[
2157
+T 34200 42900 8 10 0 1 0 3 1
2158
+value=VDD5
2159
+T 34300 42650 8 10 0 0 0 0 1
2160
+net=VDD5:1
2161
+L 34200 42750 34200 42700 3 0 0 0 -1 -1
2162
+V 34200 42800 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
2163
+P 34200 42700 34200 42600 1 0 1
2164
+{
2165
+T 34200 42700 5 10 0 0 0 0 1
2166
+pintype=pas
2167
+T 34200 42800 3 6 0 0 0 0 1
2168
+pinseq=1
2169
+T 34200 42800 3 6 0 1 0 0 1
2170
+pinnumber=1
2171
+}
2172
+]
2173
+{
2174
+T 34200 42900 5 10 1 1 0 3 1
2175
+value=VDD5
2176
+}
2177
+C 40300 38100 1 270 0 EMBEDDEDcap.sym
2178
+[
2179
+L 40700 37700 40700 37800 3 0 0 0 -1 -1
2180
+L 40700 37500 40700 37600 3 0 0 0 -1 -1
2181
+L 40900 37600 40500 37600 3 0 0 0 -1 -1
2182
+L 40900 37700 40500 37700 3 0 0 0 -1 -1
2183
+P 40700 37300 40700 37500 1 0 0
2184
+{
2185
+T 40700 37300 5 10 0 0 270 0 1
2186
+pintype=pas
2187
+T 40750 37500 5 8 0 0 270 0 1
2188
+pinseq=2
2189
+T 40750 37500 5 8 0 1 270 0 1
2190
+pinnumber=2
2191
+}
2192
+P 40700 38000 40700 37800 1 0 0
2193
+{
2194
+T 40700 38000 5 10 0 0 270 0 1
2195
+pintype=pas
2196
+T 40750 37900 5 8 0 0 270 0 1
2197
+pinseq=1
2198
+T 40750 37900 5 8 0 1 270 0 1
2199
+pinnumber=1
2200
+}
2201
+T 40600 37500 8 10 0 1 270 2 1
2202
+value=?F
2203
+T 40600 37800 8 10 0 1 270 8 1
2204
+refdes=C?
2205
+T 40900 37800 5 10 0 0 270 0 1
2206
+device=capacitor
2207
+]
2208
+{
2209
+T 40900 37800 5 10 0 0 270 0 1
2210
+device=capacitor
2211
+T 40800 37800 5 10 1 1 0 0 1
2212
+refdes=C11
2213
+T 40800 37500 5 10 1 1 0 2 1
2214
+value=10nF
2215
+}
2216
+N 40700 38000 40700 38200 4
2217
+N 41700 37100 40700 37100 4
2218
+N 40700 37100 40700 37300 4
2219
+N 38800 41800 39300 41800 4
2220
+N 39300 41800 39300 43400 4
2221
+N 39300 43400 39800 43400 4
2222
+N 42300 42700 42300 43700 4
2223
+N 42300 43700 42500 43700 4
2224
+C 43300 40000 1 270 0 EMBEDDEDres_pot.sym
2225
+[
2226
+L 43600 39500 43550 39450 3 0 0 0 -1 -1
2227
+L 43600 39500 43550 39550 3 0 0 0 -1 -1
2228
+L 43450 39500 43600 39500 3 0 0 0 -1 -1
2229
+P 43300 39500 43450 39500 1 0 0
2230
+{
2231
+T 43300 39500 5 10 0 0 180 0 1
2232
+pintype=pas
2233
+T 43400 39450 5 8 0 0 180 0 1
2234
+pinseq=2
2235
+T 43350 39550 5 8 0 1 0 6 1
2236
+pinnumber=2
2237
+}
2238
+B 43600 39150 200 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
2239
+P 43700 40000 43700 39848 1 0 0
2240
+{
2241
+T 43700 40000 5 10 0 0 270 0 1
2242
+pintype=pas
2243
+T 43750 39900 5 8 0 0 270 0 1
2244
+pinseq=1
2245
+T 43750 39900 5 8 0 1 270 0 1
2246
+pinnumber=1
2247
+}
2248
+P 43700 39000 43700 39150 1 0 0
2249
+{
2250
+T 43700 39000 5 10 0 0 270 0 1
2251
+pintype=pas
2252
+T 43750 39100 5 8 0 0 270 0 1
2253
+pinseq=3
2254
+T 43750 39100 5 8 0 1 270 0 1
2255
+pinnumber=3
2256
+}
2257
+T 43550 39150 9 8 1 0 270 8 1
2258
+R
2259
+T 43550 39850 9 8 1 0 270 2 1
2260
+L
2261
+T 43900 39500 8 10 0 1 270 3 1
2262
+value=?E
2263
+T 44100 39500 8 10 0 1 270 3 1
2264
+refdes=R?
2265
+T 43650 39600 5 10 0 0 270 0 1
2266
+device=resistor_potentiometer
2267
+]
2268
+{
2269
+T 43650 39600 5 10 0 0 270 0 1
2270
+device=resistor_potentiometer
2271
+T 43900 39600 5 10 1 1 0 0 1
2272
+refdes=R9
2273
+T 43900 39500 5 10 1 1 0 2 1
2274
+value=10kE
2275
+}
2276
+C 43500 40200 1 0 0 EMBEDDEDvdd5.sym
2277
+[
2278
+L 43700 40350 43700 40300 3 0 0 0 -1 -1
2279
+V 43700 40400 50 3 5 0 0 -1 -1 0 -1 -1 -1 -1 -1
2280
+P 43700 40300 43700 40200 1 0 1
2281
+{
2282
+T 43700 40400 3 6 0 1 0 0 1
2283
+pinnumber=1
2284
+T 43700 40400 3 6 0 0 0 0 1
2285
+pinseq=1
2286
+T 43700 40300 5 10 0 0 0 0 1
2287
+pintype=pas
2288
+}
2289
+T 43700 40500 8 10 0 1 0 3 1
2290
+value=VDD5
2291
+T 43800 40250 8 10 0 0 0 0 1
2292
+net=VDD5:1
2293
+]
2294
+{
2295
+T 43700 40500 5 10 1 1 0 3 1
2296
+value=VDD5
2297
+}
2298
+N 43700 40000 43700 40200 4
2299
+C 43500 37800 1 0 0 EMBEDDEDgnd.sym
2300
+[
2301
+L 43600 38000 43800 38000 3 10 0 0 -1 -1
2302
+P 43700 38000 43700 38200 1 0 1
2303
+{
2304
+T 43758 38061 5 4 0 1 0 0 1
2305
+pinnumber=1
2306
+T 43758 38061 5 4 0 0 0 0 1
2307
+pinseq=1
2308
+T 43700 38000 5 10 0 0 0 0 1
2309
+pintype=pas
2310
+}
2311
+T 43700 37900 8 10 0 1 0 5 1
2312
+value=GND
2313
+T 43800 37850 8 10 0 0 0 0 1
2314
+net=GND:1
2315
+]
2316
+{
2317
+T 43700 37900 5 10 1 1 0 5 1
2318
+value=GND
2319
+}
2320
+N 43700 38200 43700 39000 4
2321
+N 42700 39300 42700 39500 4
2322
+N 43700 38400 42700 38400 4
2323
+N 42700 38400 42700 38600 4
2324
+C 42300 39400 1 270 0 EMBEDDEDcap.sym
2325
+[
2326
+L 42700 39000 42700 39100 3 0 0 0 -1 -1
2327
+L 42700 38800 42700 38900 3 0 0 0 -1 -1
2328
+L 42900 38900 42500 38900 3 0 0 0 -1 -1
2329
+L 42900 39000 42500 39000 3 0 0 0 -1 -1
2330
+P 42700 38600 42700 38800 1 0 0
2331
+{
2332
+T 42750 38800 5 8 0 1 270 0 1
2333
+pinnumber=2
2334
+T 42750 38800 5 8 0 0 270 0 1
2335
+pinseq=2
2336
+T 42700 38600 5 10 0 0 270 0 1
2337
+pintype=pas
2338
+}
2339
+P 42700 39300 42700 39100 1 0 0
2340
+{
2341
+T 42750 39200 5 8 0 1 270 0 1
2342
+pinnumber=1
2343
+T 42750 39200 5 8 0 0 270 0 1
2344
+pinseq=1
2345
+T 42700 39300 5 10 0 0 270 0 1
2346
+pintype=pas
2347
+}
2348
+T 42600 38800 8 10 0 1 270 2 1
2349
+value=?F
2350
+T 42600 39100 8 10 0 1 270 8 1
2351
+refdes=C?
2352
+T 42900 39100 5 10 0 0 270 0 1
2353
+device=capacitor
2354
+]
2355
+{
2356
+T 42800 39100 5 10 1 1 0 0 1
2357
+refdes=C12
2358
+T 42800 38800 5 10 1 1 0 2 1
2359
+value=10nF
2360
+T 42900 39100 5 10 0 0 270 0 1
2361
+device=capacitor
2362
+}
2363
+N 43300 39500 40000 39500 4
2364
+N 40000 39500 40000 40200 4
2365
+N 40000 40200 38800 40200 4
2366
+T 43500 43600 9 10 1 0 0 0 1
2367
+GROUND
2368
+T 43500 44000 9 10 1 0 0 0 1
2369
+FOCUS
2370
+T 43500 43800 9 10 1 0 0 0 1
2371
+SHUTTER
2372
+T 41900 37500 9 10 1 0 0 0 2
2373
+COARSE
2374
+GRAINED
2375
+T 43900 38800 9 10 1 0 0 0 2
2376
+FINE
2377
+GRAINED
... ...
@@ -0,0 +1,4 @@
1
+*.cof
2
+*.hex
3
+*.lst
4
+*.obj
... ...
@@ -0,0 +1,50 @@
1
+# time trigger for Olympus camera
2
+# Copyright (C) 2013 Stefan Schuermans <stefan@blinkenarea.org>
3
+# Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
4
+# a BlinkenArea project - http://www.blinkenarea.org/
5
+
6
+NAME = time_trigger
7
+DEVICE = m8
8
+INC = m8def
9
+LFUSE = 0xE1
10
+HFUSE = 0xD9
11
+LOCK = 0xC0
12
+
13
+PROGRAMMER = avrisp2
14
+PROGRAMMER_PORT = usb
15
+#PROGRAMMER = stk200
16
+#PROGRAMMER_PORT = /dev/parport0
17
+
18
+BLINKENCONV = BlinkenConv
19
+AVRA = avra
20
+AVRDUDE = avrdude
21
+
22
+AVRDUDE_CALL = $(AVRDUDE) -c $(PROGRAMMER) -P $(PROGRAMMER_PORT) -p $(DEVICE)
23
+
24
+DATE = $(shell date +%Y-%m-%d)
25
+YEAR = $(shell date +%Y)
26
+PACKFILES = $(NAME).asm m8def.inc bml2inc.pl sig2inc.pl default.bml ChangeLog Makefile
27
+FIRMWARE = $(NAME)-firmware-$(VER)_$(DATE)
28
+PROG = $(NAME)-prog-$(VER)_$(DATE)
29
+
30
+.PHONY: all prog prog_fuses prog clean
31
+.SUFFIXES:
32
+.SECONDARY:
33
+
34
+all: $(NAME).hex
35
+
36
+$(NAME).hex: $(NAME).asm Makefile
37
+	$(AVRA) -l $(NAME).lst $(NAME).asm
38
+
39
+prog_fuses: Makefile
40
+	$(AVRDUDE_CALL) -u -e
41
+	$(AVRDUDE_CALL) -u -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m
42
+
43
+prog: $(NAME).hex Makefile
44
+	$(AVRDUDE_CALL) -u -e
45
+	$(AVRDUDE_CALL) -u -U flash:w:$(NAME).hex
46
+	$(AVRDUDE_CALL) -u -V -U lock:w:$(LOCK):m
47
+
48
+clean:
49
+	rm -f $(addprefix $(NAME)., lst obj cof hex eep.hex)
50
+
... ...
@@ -0,0 +1,499 @@
1
+;***************************************************************************
2
+;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
3
+;* 
4
+;* Number				:AVR000
5
+;* File Name			:"m8def.inc"
6
+;* Title				:Register/Bit Definitions for the ATmega8
7
+;* Date                 :07.09.2001
8
+;* Version              :1.00
9
+;* Support telephone	:+47 72 88 43 88 (ATMEL Norway)
10
+;* Support fax			:+47 72 88 43 99 (ATMEL Norway)
11
+;* Support E-mail		:avr@atmel.no
12
+;* Target MCU			:ATmega8
13
+;*
14
+;* DESCRIPTION
15
+;* When including this file in the assembly program file, all I/O register	
16
+;* names and I/O register bit names appearing in the data book can be used.
17
+;* In addition, the six registers forming the three data pointers X, Y and
18
+;* Z have been assigned names XL - ZH. Highest RAM address for Internal 
19
+;* SRAM is also defined 
20
+;*
21
+;* The Register names are represented by their hexadecimal address.
22
+;* 
23
+;* The Register Bit names are represented by their bit number (0-7).
24
+;* 
25
+;* Please observe the difference in using the bit names with instructions
26
+;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" 
27
+;* (skip if bit in register set/cleared). The following example illustrates
28
+;* this:
29
+;* 
30
+;* in	r16,PORTB				;read PORTB latch
31
+;* sbr	r16,(1<<PB6)+(1<<PB5)	;set PB6 and PB5 (use masks, not bit#)
32
+;* out  PORTB,r16				;output to PORTB
33
+;*
34
+;* in	r16,TIFR				;read the Timer Interrupt Flag Register
35
+;* sbrc	r16,TOV0				;test the overflow flag (use bit#)
36
+;* rjmp	TOV0_is_set				;jump if set
37
+;* ...							;otherwise do something else
38
+;***************************************************************************
39
+
40
+;***** Specify Device
41
+.device ATmega8
42
+
43
+;***** I/O Register Definitions
44
+.equ	SREG	=$3f
45
+.equ	SPH		=$3e
46
+.equ	SPL		=$3d
47
+.equ	GIMSK	=$3b
48
+.equ	GICR	=$3b		; new name for GIMSK
49
+.equ	GIFR	=$3a
50
+.equ	TIMSK	=$39
51
+.equ	TIFR	=$38
52
+.equ	SPMCR	=$37
53
+.equ    I2CR    =$36
54
+.equ    TWCR    =$36
55
+.equ    MCUCR   =$35
56
+.equ    MCUSR   =$34		; For compatibility, 
57
+.equ    MCUCSR  =$34		; keep both names until further
58
+.equ	TCCR0	=$33
59
+.equ	TCNT0	=$32
60
+.equ    OSCCAL  =$31
61
+.equ    SFIOR   =$30
62
+.equ	TCCR1A	=$2f
63
+.equ	TCCR1B	=$2e
64
+.equ	TCNT1H	=$2d
65
+.equ	TCNT1L	=$2c
66
+.equ	OCR1AH	=$2b
67
+.equ	OCR1AL	=$2a
68
+.equ	OCR1BH	=$29
69
+.equ	OCR1BL	=$28
70
+.equ	ICR1H	=$27
71
+.equ	ICR1L	=$26
72
+.equ	TCCR2	=$25
73
+.equ	TCNT2	=$24
74
+.equ	OCR2	=$23
75
+.equ	ASSR	=$22
76
+.equ	WDTCR	=$21
77
+.equ    UBRRH   =$20		;  Note! UCSRC equals UBRRH
78
+.equ	EEARH	=$1f
79
+.equ	EEARL	=$1e
80
+.equ	EEDR	=$1d
81
+.equ	EECR	=$1c
82
+.equ	PORTB	=$18
83
+.equ	DDRB	=$17
84
+.equ	PINB	=$16
85
+.equ	PORTC	=$15
86
+.equ	DDRC	=$14
87
+.equ	PINC	=$13
88
+.equ	PORTD	=$12
89
+.equ	DDRD	=$11
90
+.equ	PIND	=$10
91
+.equ	SPDR	=$0f
92
+.equ	SPSR	=$0e
93
+.equ	SPCR	=$0d
94
+.equ	UDR	=$0c
95
+.equ	UCSRA	=$0b
96
+.equ	UCSRB	=$0a
97
+.equ	UCSRC	=$20		;  Note! UCSRC equals UBRRH
98
+.equ	UBRRL	=$09
99
+.equ	ACSR	=$08
100
+.equ    ADMUX   =$07
101
+.equ    ADCSRA  =$06
102
+.equ    ADCH    =$05
103
+.equ    ADCL    =$04
104
+.equ    I2DR    =$03
105
+.equ    I2AR    =$02
106
+.equ    I2SR    =$01
107
+.equ    I2BR    =$00
108
+.equ    TWDR    =$03
109
+.equ    TWAR    =$02
110
+.equ    TWSR    =$01
111
+.equ    TWBR    =$00
112
+
113
+
114
+
115
+;***** Bit Definitions
116
+;GICR  (former GIMSK)
117
+.equ	INT1	=7
118
+.equ	INT0	=6
119
+.equ	IVSEL	=1		; interrupt vector select
120
+.equ	IVCE	=0		; interrupt vector change enable
121
+
122
+;GIFR
123
+.equ	INTF1	=7
124
+.equ	INTF0	=6
125
+
126
+;TIMSK
127
+.equ    TOIE0   =0
128
+.equ    TOIE1   =2
129
+.equ    OCIE1B  =3
130
+.equ    OCIE1A  =4
131
+.equ    TICIE1  =5
132
+.equ    TOIE2   =6
133
+.equ    OCIE2   =7
134
+
135
+;TIFR
136
+.equ    TOV0    =0
137
+.equ    TOV1    =2
138
+.equ    OCF1B   =3
139
+.equ    OCF1A   =4
140
+.equ    ICF1    =5
141
+.equ    TOV2    =6
142
+.equ    OCF2    =7
143
+
144
+;SPMCR
145
+.equ	SPMIE	=7
146
+.equ	RWWSB	=6
147
+.equ	RWWSRE	=4
148
+.equ	BLBSET	=3
149
+.equ	PGWRT	=2
150
+.equ	PGERS	=1
151
+.equ	SPMEN	=0
152
+
153
+;MCUCR
154
+.equ    SE      =7
155
+.equ    SM2     =6
156
+.equ    SM1     =5
157
+.equ    SM0     =4
158
+.equ    ISC11   =3
159
+.equ    ISC10   =2
160
+.equ    ISC01   =1
161
+.equ    ISC00   =0
162
+
163
+;MCUCSR
164
+.equ    WDRF    =3
165
+.equ    BORF    =2
166
+.equ    EXTRF   =1
167
+.equ    PORF    =0
168
+
169
+;TCCR0
170
+.equ	CS02	=2
171
+.equ	CS01	=1
172
+.equ	CS00	=0
173
+
174
+;TCCR1A
175
+.equ	COM1A1	=7
176
+.equ	COM1A0	=6
177
+.equ	COM1B1	=5
178
+.equ	COM1B0	=4
179
+.equ	FOC1A	=3
180
+.equ	FOC1B	=2
181
+.equ	PWM11	=1	; OBSOLETE! Use WGM11
182
+.equ	PWM10	=0	; OBSOLETE! Use WGM10
183
+.equ	WGM11	=1
184
+.equ	WGM10	=0
185
+;TCCR1B
186
+.equ	ICNC1	=7
187
+.equ	ICES1	=6
188
+.equ	CTC11	=4	; OBSOLETE! Use WGM13
189
+.equ	CTC10	=3	; OBSOLETE! Use WGM12
190
+.equ	WGM13	=4
191
+.equ	WGM12	=3	
192
+.equ	CTC1	=3		; Obsolete - Included for backward compatibility
193
+.equ	CS12	=2
194
+.equ	CS11	=1
195
+.equ	CS10	=0
196
+
197
+;TCCR2
198
+.equ	FOC2	=7
199
+.equ    PWM2    =6	; OBSOLETE! Use WGM20
200
+.equ	WGM20	=6	
201
+.equ    COM21   =5
202
+.equ    COM20   =4
203
+.equ    CTC2    =3	; OBSOLETE! Use WGM21
204
+.equ	WGM21	=3	
205
+.equ    CS22    =2
206
+.equ    CS21    =1
207
+.equ    CS20    =0
208
+
209
+;SFIOR
210
+.equ    ADHSM   =4
211
+.equ    ACME    =3
212
+.equ    PUD     =2
213
+.equ	PSR2	=1
214
+.equ	PSR10	=0
215
+
216
+;WDTCR
217
+.equ	WDCE	=4
218
+.equ	WDTOE	=4
219
+.equ	WDE	=3
220
+.equ	WDP2	=2
221
+.equ	WDP1	=1
222
+.equ	WDP0	=0
223
+
224
+;EECR
225
+.equ    EERIE   =3
226
+.equ	EEMWE	=2
227
+.equ	EEWE	=1
228
+.equ	EERE	=0
229
+
230
+;PORTB
231
+.equ	PB7	=7
232
+.equ	PB6	=6
233
+.equ	PB5	=5
234
+.equ	PB4	=4
235
+.equ	PB3	=3
236
+.equ	PB2	=2
237
+.equ	PB1	=1
238
+.equ	PB0	=0
239
+
240
+;DDRB
241
+.equ	DDB7	=7
242
+.equ	DDB6	=6
243
+.equ	DDB5	=5
244
+.equ	DDB4	=4
245
+.equ	DDB3	=3
246
+.equ	DDB2	=2
247
+.equ	DDB1	=1
248
+.equ	DDB0	=0
249
+
250
+;PINB
251
+.equ	PINB7	=7
252
+.equ	PINB6	=6
253
+.equ	PINB5	=5
254
+.equ	PINB4	=4
255
+.equ	PINB3	=3
256
+.equ	PINB2	=2
257
+.equ	PINB1	=1
258
+.equ	PINB0	=0
259
+
260
+;PORTC
261
+.equ	PC6	=6
262
+.equ	PC5	=5
263
+.equ	PC4	=4
264
+.equ	PC3	=3
265
+.equ	PC2	=2
266
+.equ	PC1	=1
267
+.equ	PC0	=0
268
+
269
+;DDRC
270
+.equ	DDC6	=6
271
+.equ	DDC5	=5
272
+.equ	DDC4	=4
273
+.equ	DDC3	=3
274
+.equ	DDC2	=2
275
+.equ	DDC1	=1
276
+.equ	DDC0	=0
277
+
278
+;PINC
279
+.equ	PINC6	=6
280
+.equ	PINC5	=5
281
+.equ	PINC4	=4
282
+.equ	PINC3	=3
283
+.equ	PINC2	=2
284
+.equ	PINC1	=1
285
+.equ	PINC0	=0
286
+
287
+;PORTD
288
+.equ	PD7	=7
289
+.equ	PD6	=6
290
+.equ	PD5	=5
291
+.equ	PD4	=4
292
+.equ	PD3	=3
293
+.equ	PD2	=2
294
+.equ	PD1	=1
295
+.equ	PD0	=0
296
+
297
+;DDRD
298
+.equ	DDD7	=7
299
+.equ	DDD6	=6
300
+.equ	DDD5	=5
301
+.equ	DDD4	=4
302
+.equ	DDD3	=3
303
+.equ	DDD2	=2
304
+.equ	DDD1	=1
305
+.equ	DDD0	=0
306
+
307
+;PIND
308
+.equ	PIND7	=7
309
+.equ	PIND6	=6
310
+.equ	PIND5	=5
311
+.equ	PIND4	=4
312
+.equ	PIND3	=3
313
+.equ	PIND2	=2
314
+.equ	PIND1	=1
315
+.equ	PIND0	=0
316
+
317
+;UCSRA
318
+.equ	RXC	=7
319
+.equ	TXC	=6
320
+.equ	UDRE	=5
321
+.equ	FE	=4
322
+;.equ    OR      =3              ; old name kept for compatibilty
323
+.equ	DOR	=3
324
+.equ	UPE	=2
325
+.equ	PE	=2
326
+.equ	U2X	=1
327
+.equ	MPCM	=0
328
+
329
+;UCSRB
330
+.equ	RXCIE	=7
331
+.equ	TXCIE	=6
332
+.equ	UDRIE	=5
333
+.equ	RXEN	=4
334
+.equ	TXEN	=3
335
+.equ	CHR9	=2		; old name kept for compatibilty
336
+.equ	UCSZ2	=2
337
+.equ	RXB8	=1
338
+.equ	TXB8	=0
339
+
340
+;UCSRC
341
+.equ	URSEL	=7
342
+.equ	UMSEL	=6
343
+.equ	UPM1	=5
344
+.equ	UPM0	=4
345
+.equ	USBS	=3
346
+.equ	UCSZ1	=2
347
+.equ	UCSZ0	=1
348
+.equ	UCPOL	=0
349
+		
350
+;SPCR
351
+.equ	SPIE	=7
352
+.equ	SPE	=6
353
+.equ	DORD	=5
354
+.equ	MSTR	=4
355
+.equ	CPOL	=3
356
+.equ	CPHA	=2
357
+.equ	SPR1	=1
358
+.equ	SPR0	=0
359
+
360
+;SPSR
361
+.equ	SPIF	=7
362
+.equ	WCOL	=6
363
+.equ	SPI2X	=0
364
+
365
+;ACSR
366
+.equ	ACD	=7
367
+.equ    ACBG    =6
368
+.equ	ACO	=5
369
+.equ	ACI	=4
370
+.equ	ACIE	=3
371
+.equ	ACIC	=2
372
+.equ	ACIS1	=1
373
+.equ	ACIS0	=0
374
+
375
+;ADMUX
376
+.equ    REFS1   =7
377
+.equ    REFS0   =6
378
+.equ    ADLAR   =5
379
+.equ    MUX3    =3
380
+.equ    MUX2    =2
381
+.equ    MUX1    =1
382
+.equ    MUX0    =0
383
+
384
+;ADCSR
385
+.equ    ADEN    =7
386
+.equ    ADSC    =6
387
+.equ    ADFR    =5
388
+.equ    ADIF    =4
389
+.equ    ADIE    =3
390
+.equ    ADPS2   =2
391
+.equ    ADPS1   =1
392
+.equ    ADPS0   =0
393
+
394
+; TWCR
395
+.equ    TWINT   =7
396
+.equ    TWEA    =6
397
+.equ    TWSTA   =5
398
+.equ    TWSTO   =4
399
+.equ    TWWC    =3
400
+.equ    TWEN    =2
401
+
402
+.equ    TWIE    =0
403
+
404
+; TWAR
405
+.equ    TWA6    =7
406
+.equ    TWA5    =6
407
+.equ    TWA4    =5
408
+.equ    TWA3    =4
409
+.equ    TWA2    =3
410
+.equ    TWA1    =2
411
+.equ    TWA0    =1
412
+.equ    TWGCE   =0
413
+
414
+; TWSR
415
+.equ    TWS7    =7
416
+.equ    TWS6    =6
417
+.equ    TWS5    =5
418
+.equ    TWS4    =4
419
+.equ    TWS3    =3
420
+.equ	TWPS1	=1
421
+.equ	TWPS0	=0
422
+
423
+;ASSR
424
+.equ    AS2     =3
425
+.equ    TCN2UB  =2
426
+.equ    OCR2UB  =1
427
+.equ    TCR2UB  =0
428
+
429
+.def	XL	=r26
430
+.def	XH	=r27
431
+.def	YL	=r28
432
+.def	YH	=r29
433
+.def	ZL	=r30
434
+.def	ZH	=r31
435
+
436
+.equ 	RAMEND =$45F
437
+.equ	FLASHEND =$FFF
438
+
439
+						;  byte groups
440
+						;  /\/--\/--\/--\ 
441
+.equ 	SMALLBOOTSTART	=0b00111110000000  ;($0F80) smallest boot block is 256
442
+.equ 	SECONDBOOTSTART	=0b00111100000000  ;($0F00) 2'nd boot block size is 512
443
+.equ 	THIRDBOOTSTART	=0b00111000000000  ;($0E00) third boot block size is 1K
444
+.equ 	LARGEBOOTSTART	=0b00110000000000  ;($0C00) largest boot block is 2K
445
+.equ 	BOOTSTART		=THIRDBOOTSTART  ;OBSOLETE!!! kept for compatibility
446
+.equ	PAGESIZE		=32     ;number of WORDS in a page
447
+
448
+.equ	INT0addr=$001	; External Interrupt0 Vector Address
449
+.equ	INT1addr=$002	; External Interrupt1 Vector Address
450
+.equ	OC2addr =$003	; Output Compare2 Interrupt Vector Address
451
+.equ	OVF2addr=$004	; Overflow2 Interrupt Vector Address
452
+.equ	ICP1addr=$005	; Input Capture1 Interrupt Vector Address
453
+.equ	OC1Aaddr=$006	; Output Compare1A Interrupt Vector Address
454
+.equ	OC1Baddr=$007	; Output Compare1B Interrupt Vector Address
455
+.equ	OVF1addr=$008	; Overflow1 Interrupt Vector Address
456
+.equ	OVF0addr=$009	; Overflow0 Interrupt Vector Address
457
+.equ	SPIaddr =$00a	; SPI Interrupt Vector Address
458
+.equ	URXCaddr=$00b	; USART Receive Complete Interrupt Vector Address
459
+.equ	UDREaddr=$00c	; USART Data Register Empty Interrupt Vector Address
460
+.equ	UTXCaddr=$00d	; USART Transmit Complete Interrupt Vector Address
461
+.equ	ADCCaddr=$00e	; ADC Interrupt Vector Address
462
+.equ	ERDYaddr=$00f	; EEPROM Interrupt Vector Address
463
+.equ	ACIaddr =$010	; Analog Comparator Interrupt Vector Address
464
+.equ    TWIaddr =$011   ; Irq. vector address for Two-Wire Interface
465
+.equ	SPMaddr =$012	; SPM complete Interrupt Vector Address
466
+.equ	SPMRaddr =$012	; SPM complete Interrupt Vector Address
467
+
468
+
469
+; constants for TWSR status
470
+.equ TW_STATUS_MASK = 0xF8
471
+.equ TW_START = 0x08 ; start condition transmitted
472
+.equ TW_REP_START = 0x10 ; repeated start condition transmitted
473
+.equ TW_MT_SLA_ACK = 0x18 ; SLA+W transmitted, ACK received
474
+.equ TW_MT_SLA_NACK = 0x20 ; SLA+W transmitted, NACK received
475
+.equ TW_MT_DATA_ACK = 0x28 ; data transmitted, ACK received
476
+.equ TW_MT_DATA_NACK = 0x30 ; data transmitted, NACK received
477
+.equ TW_MT_ARB_LOST = 0x38 ; arbitration lost in SLA+W or data
478
+.equ TW_MR_ARB_LOST = 0x38 ; arbitration lost in SLA+R or NACK
479
+.equ TW_MR_SLA_ACK = 0x40 ; SLA+R transmitted, ACK received
480
+.equ TW_MR_SLA_NACK = 0x48 ; SLA+R transmitted, NACK received
481
+.equ TW_MR_DATA_ACK = 0x50 ; data received, ACK returned
482
+.equ TW_MR_DATA_NACK = 0x58 ; data received, NACK returned
483
+.equ TW_ST_SLA_ACK = 0xA8 ; SLA+R received, ACK returned
484
+.equ TW_ST_ARB_LOST_SLA_ACK = 0xB0 ; arbitration lost in SLA+RW, SLA+R received, ACK returned
485
+.equ TW_ST_DATA_ACK = 0xB8 ; data transmitted, ACK received
486
+.equ TW_ST_DATA_NACK = 0xC0 ; data transmitted, NACK received
487
+.equ TW_ST_LAST_DATA = 0xC8 ; last data byte transmitted, ACK received
488
+.equ TW_SR_SLA_ACK = 0x60 ; SLA+W received, ACK returned
489
+.equ TW_SR_ARB_LOST_SLA_ACK = 0x68 ; arbitration lost in SLA+RW, SLA+W received, ACK returned
490
+.equ TW_SR_GCALL_ACK = 0x70 ; general call received, ACK returned
491
+.equ TW_SR_ARB_LOST_GCALL_ACK = 0x78 ; arbitration lost in SLA+RW, general call received, ACK returned
492
+.equ TW_SR_DATA_ACK = 0x80 ; data received, ACK returned
493
+.equ TW_SR_DATA_NACK = 0x88 ; data received, NACK returned
494
+.equ TW_SR_GCALL_DATA_ACK = 0x90 ; general call data received, ACK returned
495
+.equ TW_SR_GCALL_DATA_NACK = 0x98 ; general call data received, NACK returned
496
+.equ TW_SR_STOP = 0xA0 ; stop or repeated start condition received while selected
497
+.equ TW_NO_INFO = 0xF8 ; no state information available
498
+.equ TW_BUS_ERROR = 0x00 ; illegal start or stop condition
499
+
... ...
@@ -0,0 +1,224 @@
1
+; time trigger for Olympus camera
2
+; Copyright (C) 2013 Stefan Schuermans <stefan@blinkenarea.org>
3
+; Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
4
+; a BlinkenArea project - http://www.blinkenarea.org/
5
+
6
+
7
+
8
+; 1 MHz internal RC oscillator
9
+
10
+
11
+
12
+.INCLUDE        "m8def.inc"
13
+
14
+
15
+
16
+; IO pins
17
+.equ    PORT_LED        =       PORTB
18
+.equ    BIT_LED         =       1
19
+.equ    PORT_CAM        =       PORTB
20
+.equ    BIT_CAM         =       2
21
+
22
+
23
+
24
+; multiplication results
25
+.def    MUL_RES_L       =       r0
26
+.def    MUL_RES_H       =       r1
27
+
28
+
29
+
30
+; general purpose registers
31
+.def    DATA_L          =       r16
32
+.def    DATA_H          =       r17
33
+.def    TMP             =       r18
34
+.def    CNT             =       r19
35
+
36
+
37
+
38
+.DSEG
39
+.ORG    0x060
40
+
41
+
42
+
43
+.CSEG
44
+.ORG    0x000
45
+        rjmp    ENTRY                           ; RESET
46
+        reti                                    ; INT0
47
+        reti                                    ; INT1
48
+        reti                                    ; TIMER2_COMP
49
+        reti                                    ; TIMER2_OVF
50
+        reti                                    ; TIMER1_CAPT
51
+        reti                                    ; TIMER1_COMPA
52
+        reti                                    ; TIMER1_COMPB
53
+        reti                                    ; TIMER1_OVF
54
+        reti                                    ; TIMER0_OVF
55
+        reti                                    ; SPI_STC
56
+        reti                                    ; USART_RXC
57
+        reti                                    ; USART_UDRE
58
+        reti                                    ; USART_TXC
59
+        reti                                    ; ADC
60
+        reti                                    ; EE_RDY
61
+        reti                                    ; ANA_COMP
62
+        reti                                    ; TWI
63
+        reti                                    ; SPM_RDY
64
+
65
+
66
+
67
+; code entry point
68
+ENTRY:
69
+; initialize stack pointer
70
+        ldi     TMP,HIGH(RAMEND)
71
+        out     SPH,TMP
72
+        ldi     TMP,LOW(RAMEND)
73
+        out     SPL,TMP
74
+; enable watchdog (64ms)
75
+        wdr
76
+        ldi     TMP,1<<WDCE|1<<WDE
77
+        out     WDTCR,TMP
78
+        ldi     TMP,1<<WDE|1<<WDP1
79
+        out     WDTCR,TMP
80
+        wdr
81
+; setup I/O pins
82
+;   o = output, low
83
+;   O = output, high
84
+;   i = input, pull-up disabled
85
+;   I = input, pull-up enabled
86
+;   . = pin not available
87
+        ldi     TMP,0xE0                        ; PB: IIIooooo
88
+        out     PORTB,TMP
89
+        ldi     TMP,0x1F
90
+        out     DDRB,TMP
91
+        ldi     TMP,0x00                        ; PC: ..ooooii
92
+        out     PORTC,TMP
93
+        ldi     TMP,0x3C
94
+        out     DDRC,TMP
95
+        ldi     TMP,0x00                        ; PD: iioooooo
96
+        out     PORTD,TMP
97
+        ldi     TMP,0x3F
98
+        out     DDRD,TMP
99
+; enable analog comparator
100
+        ldi     TMP,0                           ; positive input: AIN0
101
+        out     ACSR,TMP
102
+        in      TMP,SFIOR                       ; negative input: AIN1
103
+        cbr     TMP,1<<ACME
104
+        out     SFIOR,TMP
105
+; enable analaog to digital converter
106
+        ldi     TMP,1<<REFS0                    ; AREF = AVCC, select ADC0
107
+        out     ADMUX,TMP
108
+        ldi     TMP,1<<ADEN|1<<ADPS1|1<<ADPS0   ; enable, clock 1:8
109
+        out     ADCSRA,TMP
110
+; jump to main program
111
+        rjmp    MAIN
112
+
113
+
114
+
115
+; wait CNT milliseconds (CNT = 0 -> wait 256ms)
116
+WAIT_MS:
117
+        ldi     TMP,250                         ; wait 1ms
118
+WAIT_MS_INNER:
119
+        wdr
120
+        dec     TMP
121
+        brne    WAIT_MS_INNER                   ; wait 1ms - bottom
122
+        dec     CNT
123
+        brne    WAIT_MS                         ; outer loop bottom
124
+        ret                                     ; done
125
+
126
+
127
+
128
+; wait CNT * 25us (CNT = 0 -> wait 6400us)
129
+WAIT_25US:
130
+        ldi     TMP,5                           ; wait 25us
131
+WAIT_25US_INNER:
132
+        wdr
133
+        dec     TMP
134
+        brne    WAIT_25US_INNER                 ; wait 25us - bottom
135
+        dec     CNT
136
+        brne    WAIT_25US                       ; outer loop bottom
137
+        ret                                     ; done
138
+
139
+
140
+
141
+; main program - initialization
142
+MAIN:
143
+        wdr                                     ; watchdog reset
144
+        cbi     PORT_LED,BIT_LED                ; LED off
145
+        cbi     PORT_CAM,BIT_CAM                ; camera trigger off
146
+
147
+; main program - main loop
148
+MAIN_LOOP:
149
+
150
+; wait for trigger
151
+MAIN_WAIT_LOW:                                  ; wait for comperator out low
152
+        wdr
153
+        sbic    ACSR,ACO
154
+        rjmp    MAIN_WAIT_LOW
155
+MAIN_WAIT_HIGH:                                 ; wait for comperator out high
156
+        wdr
157
+        sbis    ACSR,ACO
158
+        rjmp    MAIN_WAIT_HIGH
159
+
160
+; read configured coarse-grained time
161
+        ldi     TMP,1<<REFS0                    ; AREF = AVCC, select ADC0
162
+        out     ADMUX,TMP
163
+        sbi     ADCSRA,ADSC                     ; start A/D conversion
164
+MAIN_C_WAIT_ADC:                                ; wait for A/C conv to finish
165
+        sbic    ADCSRA,ADSC
166
+        rjmp    MAIN_C_WAIT_ADC
167
+
168
+; LED on
169
+        sbi     PORT_LED,BIT_LED
170
+
171
+; wait for configured coarse-grained time
172
+        in      DATA_L,ADCL                     ; read ADC
173
+        in      DATA_H,ADCH
174
+MAIN_C_WAIT_H:                                  ; wait ADCH * 256ms
175
+        cpi     DATA_H,0                        ;   check if high part 0
176
+        breq    MAIN_C_WAIT_H_END
177
+        ldi     CNT,0                           ;   wait 256ms
178
+        rcall   WAIT_MS
179
+        dec     DATA_H                          ;   decrement high part
180
+        rjmp    MAIN_C_WAIT_H                   ;   bottom of loop
181
+MAIN_C_WAIT_H_END:                              ; wait ADCL * 1ms
182
+        cpi     DATA_L,0                        ;   check if low part 0
183
+        breq    MAIN_C_WAIT_L_END
184
+        mov     CNT,DATA_L
185
+        rcall   WAIT_MS
186
+MAIN_C_WAIT_L_END:
187
+
188
+; read configured fine-grained time
189
+        ldi     TMP,1<<REFS0|1<<MUX0            ; AREF = AVCC, select ADC1
190
+        out     ADMUX,TMP
191
+        sbi     ADCSRA,ADSC                     ; start A/D conversion
192
+MAIN_F_WAIT_ADC:                                ; wait for A/C conv to finish
193
+        sbic    ADCSRA,ADSC
194
+        rjmp    MAIN_F_WAIT_ADC
195
+
196
+; wait for configured fine-grained time
197
+        in      DATA_L,ADCL                     ; read ADC
198
+        in      DATA_H,ADCH
199
+MAIN_F_WAIT_H:                                  ; wait ADCH * 6400us
200
+        cpi     DATA_H,0                        ;   check if high part 0
201
+        breq    MAIN_F_WAIT_H_END
202
+        ldi     CNT,0                           ;   wait 256ms
203
+        rcall   WAIT_25US
204
+        dec     DATA_H                          ;   decrement high part
205
+        rjmp    MAIN_F_WAIT_H                   ;   bottom of loop
206
+MAIN_F_WAIT_H_END:                              ; wait ADCL * 25us
207
+        cpi     DATA_L,0                        ;   check if low part 0
208
+        breq    MAIN_F_WAIT_L_END
209
+        mov     CNT,DATA_L
210
+        rcall   WAIT_25US
211
+MAIN_F_WAIT_L_END:
212
+
213
+; LED off
214
+        cbi     PORT_LED,BIT_LED
215
+
216
+; output camera trigger
217
+        sbi     PORT_CAM,BIT_CAM                ; camera trigger on
218
+        ldi     CNT,200                         ; wait 200ms
219
+        rcall   WAIT_MS
220
+        cbi     PORT_CAM,BIT_CAM                ; camera trigger off
221
+
222
+; bottom of main loop
223
+        rjmp    MAIN_LOOP
224
+
0 225