├── README.md
├── Si4010
├── eagle
│ ├── OpenChargeport_Si4010.brd
│ └── OpenChargeport_Si4010.sch
└── source
│ ├── keyfob_demo.h
│ └── keyfob_demo_main.c
├── eagle
├── OpenChargeport.brd
└── OpenChargeport.sch
└── sourcecode
├── OpenChargeport.HEX
├── OpenChargeport.asm
├── OpenChargeport_10F200.HEX
└── OpenChargeport_10F200.asm
/README.md:
--------------------------------------------------------------------------------
1 | Open ChargePort
2 | ===============
3 |
4 | What is it?
5 | As the name suggests, it's a transmitter that will open the charge port of a Model S.
6 |
7 | When I received my EU spec model S, i charged a few times with the cable Tesla supplies with the car.
8 | The button to open the Charge port door, really is a nice feature.
9 | As there is no such thing on a standard Type 2 charge cable, i now have to open the car door, touch the battery icon, and select open charge port. Not very convenient.
10 |
11 | Therefore i wanted to make my own transmitter that opens the chargeport.
12 |
13 | Credits to Banahogg who documented his attempts to analyze the RF data here
14 | which helped me finish this project in a few days.
15 |
16 | The components needed:
17 |
18 | I used a 433 Mhz module connected to a PIC microcontroller. (US model S, requires a 315Mhz module)
19 | Only a few other components are required.
20 |
21 | 1x PIC12F1822 or PIC10F200 microcontroller
22 | 1x TX-SAW MID/3V
23 | 1x Lithium cell, 3V
24 | 2x 100nf capacitor
25 | 1x 10uf capacitor
26 | 1x pushbutton
27 |
28 | Please note that the PCB layout in /eagle was designed for the PIC10F200 microcontroller.
29 |
30 | =======================================================================================
31 |
32 | There is now a new version, based on the same chip Tesla uses in it's Charging Cable.
33 |
34 | The chip is a Silabs Si4010, only one external component (capacitor) is required.
35 | I converted the Tesla specific bitstream for use with this microcontroller.
36 | As Silabs also provided a PCB layout file for 5 buttons, but only one button is needed, these files were modified.
37 | The PCB layout fit's the Polycase FB-20 keyfob housing.
38 |
39 | All files for this version can be found in the /Si4010 folder.
40 |
--------------------------------------------------------------------------------
/Si4010/eagle/OpenChargeport_Si4010.brd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 | Possible positions of PCB edge TABs!
119 | www.stegen.com/ocp
120 | Open Chargeport
121 | GND
122 | C2CK
123 | C2D
124 | VCC
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 | >NAME
286 |
287 |
288 |
289 |
290 | SOIC-14, Texas Instruments - Logic Gates
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 | >NAME
313 | >VALUE
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 | <b>Ceramic Chip Capacitor KEMET 0805 reflow solder</b><p>
335 | Metric Code Size 2012
336 |
337 |
338 |
339 |
340 | >NAME
341 | >VALUE
342 |
343 |
344 |
345 |
346 | <b>Ceramic Chip Capacitor KEMET 0603 reflow solder</b><p>
347 | Metric Code Size 1608
348 |
349 |
350 |
351 |
352 | >NAME
353 | >VALUE
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 | >NAME
371 | >VALUE
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 | <b>EAGLE Design Rules</b>
389 | <p>
390 | Die Standard-Design-Rules sind so gewählt, dass sie für
391 | die meisten Anwendungen passen. Sollte ihre Platine
392 | besondere Anforderungen haben, treffen Sie die erforderlichen
393 | Einstellungen hier und speichern die Design Rules unter
394 | einem neuen Namen ab.
395 | <b>EAGLE Design Rules</b>
396 | <p>
397 | The default Design Rules have been set to cover
398 | a wide range of applications. Your particular design
399 | may have different requirements, so please make the
400 | necessary adjustments and save your customized
401 | design rules under a new name.
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 |
794 |
795 |
796 |
797 |
798 |
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 |
807 |
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 |
830 |
831 |
832 |
833 |
834 |
835 |
836 |
837 |
838 |
839 |
840 |
841 |
842 |
843 |
844 |
845 |
846 |
847 |
848 |
849 |
850 |
851 |
852 |
853 |
854 |
855 |
856 |
857 |
858 |
859 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
867 |
868 |
869 |
870 |
871 |
872 |
873 |
874 |
875 |
876 |
877 |
878 |
879 |
880 |
881 |
882 |
883 |
884 |
885 |
886 |
887 |
888 |
889 |
890 |
891 |
892 |
893 |
894 |
895 |
896 |
897 |
898 |
899 |
900 |
901 |
902 |
903 |
904 |
905 |
906 |
907 |
908 |
909 |
910 |
911 |
912 |
913 |
914 |
915 |
916 |
917 |
918 |
919 |
920 |
921 |
922 |
923 |
924 |
925 |
926 |
927 |
928 |
929 |
930 |
931 |
932 |
933 |
934 |
935 |
936 |
937 |
938 |
939 |
940 |
941 |
942 |
943 |
944 |
945 |
946 |
947 |
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 |
956 |
957 |
958 |
959 |
960 |
961 |
--------------------------------------------------------------------------------
/Si4010/source/keyfob_demo.h:
--------------------------------------------------------------------------------
1 | /*------------------------------------------------------------------------------
2 | * Silicon Laboratories, Inc.
3 | * Copyright 2010
4 | * CONFIDENTIAL & PROPRIETARY
5 | *------------------------------------------------------------------------------
6 | *
7 | * FILE: keyfob_demo.h
8 | * TARGET: Si4010
9 | * TOOLCHAIN: Keil
10 | * RELEASE: 1.1 ; ROM version 02.00
11 | * AUTHOR: Miklos Lukacs
12 | * DATE: Jun 07, 2010
13 | *
14 | *------------------------------------------------------------------------------
15 | *
16 | * DESCRIPTION:
17 | * Header file for the keyfob_demo module.
18 | *
19 | *------------------------------------------------------------------------------*/
20 | #ifndef _KEYFOB_DEMO_H
21 | #define _KEYFOB_DEMO_H
22 |
23 |
24 | /*------------------------------------------------------------------------------
25 | *
26 | * INCLUDES:
27 | */
28 | #include "si4010_types.h"
29 |
30 | /*------------------------------------------------------------------------------
31 | *
32 | * Definitions:
33 | */
34 |
35 | #define bRke_EncodeNoneNrz_c 0 /* No encoding */
36 | #define bRke_EncodeManchester_c 1 /* Manchester encoding */
37 | #define bRke_Encode4b5b_c 2 /* 4b-5b encoding */
38 |
39 | #define bRke_OokMod_c (0x00)
40 | #define bRke_FskMod_c (0x01)
41 |
42 | // button 'identifiers'
43 | #define bButton1_c 0x01
44 | #define bButton2_c 0x02
45 | #define bButton3_c 0x04
46 | #define bButton4_c 0x08
47 | #define bButton5_c 0x10
48 |
49 | // definition of the RF packet lenght
50 | #define bFrameSize_c 42
51 |
52 | // RF packet fields
53 | #define lFramePreamble_c 0x555555
54 |
55 |
56 | // Amount of time (x32ms), the application will wait after boot without
57 | // getting a qualified button push before giving up and shutting the chip down.
58 | // Sets the maximum wait time for push as 1.6s; the variable is unit in 32ms.
59 | #define bMaxWaitForPush_c 50
60 |
61 | // This specifies the number of times that the RTC ISR is called between
62 | // each call to the button service routine. The actual time between
63 | // calls is dependent on the setting of RTC_CTRL.RTC_DIV which dictates how
64 | // often the RTC ISR is called.
65 | #define bDebounceInterval_c 8
66 |
67 | // Sets target frequency to 433.92MHz
68 | #define fOperatingFrequency 433920000
69 |
70 | // Sets FSK deviation ~60kHz
71 | //#define bFskDeviation 104
72 |
73 | // The time of packet transmission for the demo:
74 | // Here set the packet interval about (40 * 3) +15 = 130 ms.
75 | #define wRepeatInterval 135+25
76 |
77 | // Repeat packet 4 times for each button packet transmission.
78 | #define bRepeatCount_c 4
79 |
80 |
81 |
82 |
83 | /*------------------------------------------------------------------------------
84 | *
85 | * VARIABLES:
86 | */
87 |
88 | // Packet transmit repeat counter
89 | BYTE xdata bRepeatCount;
90 |
91 | LWORD xdata lTimestamp;
92 |
93 | // storing the button which is under processing
94 | BYTE xdata bAp_ButtonState;
95 |
96 | // Pointer to the head of the frame to be sent out.
97 | // the vStl_SingleTxLoop() API function expects a pointer residing in the Data memory
98 | BYTE xdata *pbRke_FrameHead;
99 |
100 | // Structure for setting up the ODS .. must be in XDATA //
101 | tOds_Setup xdata rOdsSetup;
102 |
103 | // Structure for setting up the PA .. must be in XDATA //
104 | tPa_Setup xdata rPaSetup;
105 |
106 | // Battery measurement .. delete if battery measurement is not used //
107 | int iBatteryMv;
108 | BYTE bBatteryWait; // Wait time after loading in 17us increment //
109 |
110 | // BSR control structure //
111 | tBsr_Setup xdata rBsrSetup;
112 | BYTE xdata abBsrPtsPlaceHolder [20] = {0};
113 |
114 | // setup structure for external crystal oscilator //
115 | tFCast_XoSetup rFCast_XoSetup;
116 |
117 | BYTE bIsr_DebounceCount;
118 | BYTE bdata bPrevBtn = 0;
119 |
120 | // array for storing the TX packet
121 | // needs to be present in the global variable area because it is used in more
122 | // than one Overly Module
123 | BYTE xdata abButtonFrame[bFrameSize_c];
124 |
125 | // storing the payload of the RF packet, and used as a return status of the
126 | // vPacketAssemble() function
127 | LWORD xdata lPayLoad;
128 |
129 |
130 |
131 | /*-------------------------------------------------------------------------
132 | *
133 | * FUNCTION PROTOTYPES:
134 | */
135 |
136 | void vAppInitial(void);
137 |
138 | void vButtonCheck(void);
139 |
140 | void vPacketAssemble(void);
141 |
142 | void vButtonCheck(void);
143 |
144 | void vRtl_RepeatTxLoop(void);
145 |
146 |
147 |
148 | #endif /* _KEYFOB_DEMO_H */
149 |
--------------------------------------------------------------------------------
/Si4010/source/keyfob_demo_main.c:
--------------------------------------------------------------------------------
1 | /*------------------------------------------------------------------------------
2 | * Silicon Laboratories, Inc.
3 | * http://www.silabs.com
4 | * Copyright 2010
5 | *------------------------------------------------------------------------------
6 | *
7 | * FILE: keyfob_demo_main.c
8 | * TARGET: Si4010
9 | * TOOLCHAIN: Keil
10 | * RELEASE: 1.1 ; ROM version 02.00
11 | * AUTHOR: Miklos Lukacs,
12 | * modified by Michael Stegen for use as Open Chargeport
13 | * DATE: October 07, 2013
14 | *
15 | *------------------------------------------------------------------------------
16 | *
17 | * DESCRIPTION:
18 | * This file contains the main function for the Keil toolchain
19 | * sample keyfob_demo project.
20 | *
21 | * BL51 linker directives for building this application:
22 | *
23 | * BL51: PL(68) PW(78) IXREF RS(256)
24 | * CODE (0x0-0x08FF)
25 | * DATA (0x40)
26 | * IDATA (0x80)
27 | * XDATA (0x0900-0x107F)
28 | * STACK (?STACK(0x8A))
29 | *
30 | *------------------------------------------------------------------------------
31 | *
32 | * INCLUDES:
33 | */
34 | #include
35 | #include "si4010.h"
36 | #include "si4010_api_rom.h"
37 |
38 | /* Demo header */
39 | #include "keyfob_demo.h"
40 |
41 | /*------------------------------------------------------------------------------
42 | *
43 | * FUNCTION DESCRIPTION:
44 | * This function tunes the si4010 for transmission and transmits frames.
45 | * It consists of two fundamental phases, setup and the transmission loop.
46 | *
47 | * Setup Phase:
48 | * The Setup Phase calls all setup function for the need API modules.
49 | * These functions are to be called once per boot of the chip.
50 | * vSys_Setup
51 | * vPa_Setup
52 | * vOds_Setup
53 | * vStl_EncodeSetup
54 | * vFCast_Setup
55 | *
56 | * Transmission Loop Phase:
57 | * The Transmission Loop Phase is a loop which transmits the proper frame
58 | * once a button is pushed. Frequency casting, FSK adjustment
59 | * and PA tuning are all performed between each transmission.
60 | *
61 | *------------------------------------------------------------------------------
62 | */
63 | void main(void)
64 | {
65 | /*------------------------------------------------------------------------------
66 | * SETUP PHASE
67 | *------------------------------------------------------------------------------
68 | */
69 | //Set DMD interrupt to high priority,
70 | // any other interrupts have to stay low priority
71 | PDMD=1;
72 |
73 | // Parameters Initialization.
74 | vAppInitial();
75 |
76 |
77 | // Call the system setup. This just for initialization.
78 | // Argument of 1 just configures the SYS module such that the
79 | // bandgap can be turned off if needed.
80 | vSys_Setup( 1 );
81 |
82 | // Setup the bandgap for working with the temperature sensor here
83 | vSys_BandGapLdo( 1 );
84 |
85 | // Setup the BSR
86 | vBsr_Setup( &rBsrSetup );
87 |
88 | // Setup the RTC to tick every 5ms and clear it. Keep it disabled.
89 | RTC_CTRL = (0x07 << B_RTC_DIV) | M_RTC_CLR;
90 |
91 | // Enable the RTC
92 | RTC_CTRL |= M_RTC_ENA;
93 |
94 | // Enable the RTC interrupt and global interrupt enable
95 | ERTC = 1;
96 | EA = 1;
97 |
98 | // Setup the PA
99 | vPa_Setup( &rPaSetup );
100 |
101 | // ODS setup
102 | vOds_Setup( &rOdsSetup );
103 |
104 | // Setup the STL encoding to NoneNrz code. we
105 | // leave the pointer at NULL.
106 | // vStl_EncodeSetup( bEnc_Manchester_c, NULL );
107 | vStl_EncodeSetup( bEnc_NoneNrz_c, NULL );
108 |
109 |
110 | // Setup frequency casting .. needed to be called once per boot
111 | vFCast_Setup();
112 |
113 |
114 |
115 | /*------------------------------------------------------------------------------
116 | * TRANSMISSION LOOP PHASE
117 | *------------------------------------------------------------------------------
118 | */
119 |
120 | // Application loop, including push button state analyzation and transmission.
121 | while(1)
122 | {
123 | // Buttons analyzation and update task flag.
124 | vButtonCheck();
125 |
126 | if (bAp_ButtonState)
127 | {
128 | // Set frame size and frame header pointer
129 | vPacketAssemble();
130 | if (lPayLoad)
131 | {
132 | // Start to transmit
133 | vRtl_RepeatTxLoop();
134 | }
135 | }
136 | else if( (lSys_GetMasterTime() >> 5) > bMaxWaitForPush_c )
137 | {
138 | // Shutdown if timeout, currently after about 1.6s,
139 | // For debugging with IDE, comment it out since it does not support boot.
140 | vSys_Shutdown();
141 | }
142 | }
143 | }
144 |
145 |
146 | /*------------------------------------------------------------------------------
147 | *
148 | * FUNCTION DESCRIPTION:
149 | * Initialization of Application parameters.
150 | *
151 | *------------------------------------------------------------------------------
152 | */
153 | void vAppInitial(void)
154 | {
155 | // Disable the Matrix and Roff modes on GPIO[3:1]
156 | PORT_CTRL &= ~(M_PORT_MATRIX | M_PORT_ROFF | M_PORT_STROBE);
157 | PORT_CTRL |= M_PORT_STROBE;
158 | PORT_CTRL &= (~M_PORT_STROBE);
159 |
160 | // Turn LED control off
161 | GPIO_LED = 0;
162 | // Set LED intensity .. acceptable values are 0 (off) or 1, 2, and 3
163 | vSys_LedIntensity( 0 );
164 |
165 | // Initial debouce time.
166 | bIsr_DebounceCount = 0;
167 | // debounce time definition, the unit is defined by the RTC interrupt time
168 | //(5ms in the demo).It means that the interval between calls to the
169 | // vBsr_Service() function is 5*8=40ms.
170 | // BSR parameters initialization
171 | rBsrSetup.bButtonMask = 0x1F; // GPIO0 only
172 | rBsrSetup.pbPtsReserveHead = abBsrPtsPlaceHolder;
173 | rBsrSetup.bPtsSize = 10;
174 | rBsrSetup.bPushQualThresh = 3;
175 |
176 | // Setup the PA.
177 | // fAlpha and fBeta has to be set based on antenna configuration.
178 | // Chose a PA level and nominal cap. Both values come from
179 | // the calculation spreadsheet.
180 | rPaSetup.fAlpha = 0.0;
181 | rPaSetup.fBeta = 0.3593;
182 | rPaSetup.bLevel = 0;
183 | rPaSetup.wNominalCap = 10;
184 | rPaSetup.bMaxDrv = 0;
185 |
186 | // Setup the ODS
187 | rOdsSetup.bModulationType = bRke_OokMod_c; // Use OOK
188 | // rOdsSetup.bModulationType = bRke_FskMod_c; // Use FSK
189 | rOdsSetup.bClkDiv = 5;
190 | rOdsSetup.bEdgeRate = 0;
191 |
192 | // Set group width to 7, which means 8 bits/encoded byte to be transmitted.
193 | // The value must match the output width of the data encoding function
194 | // set by the vStl_EncodeSetup() below!
195 | rOdsSetup.bGroupWidth = 7;
196 | // 24MHz / (bClkDiv+1) / 9.6kbps = 417
197 | rOdsSetup.wBitRate = 1600; // 1,25kbps
198 |
199 | // Configure the warm up intervals LC: 8, DIV: 4, PA: 4
200 | rOdsSetup.bLcWarmInt = 8;
201 | rOdsSetup.bDivWarmInt = 5;
202 | rOdsSetup.bPaWarmInt = 4;
203 |
204 | // Set external crystal oscillator parameters - 10MHz, 12pF
205 | // currently XO is not used in this example
206 | rFCast_XoSetup.fXoFreq = 10000000;//12729633;
207 | rFCast_XoSetup.bLowCap = 1;
208 |
209 | return;
210 | }
211 |
212 | /*------------------------------------------------------------------------------
213 | *
214 | * FUNCTION DESCRIPTION:
215 | * This function contains the loop which consists of three procedures,
216 | * tx setup, tx loop and tx shutdown in the application.
217 | * During waiting for repeat transmission, check button state.
218 | * Once any new push button is detected, then transmit the new packet
219 | * instead of the current packet.
220 | *
221 | *------------------------------------------------------------------------------
222 | */
223 | void vRtl_RepeatTxLoop(void)
224 |
225 | {
226 |
227 | // Repeat packet 8 times for each button packet transmission.
228 | bRepeatCount = bRepeatCount_c;
229 |
230 |
231 |
232 | do
233 | {
234 | // Setup the bandgap
235 | vSys_BandGapLdo( 1 );
236 |
237 | // Save current timestamp for repeat transmission interval checking later.
238 | lTimestamp = lSys_GetMasterTime();
239 |
240 | // Run at 433.92 MHz (frequency).Input is in [Hz].
241 | // The function also calculates necessary data to be used by the single Tx loop
242 | // main function, vStl_SingleTxLoop(), for fine frequency correction during TX
243 | vFCast_Tune( fOperatingFrequency );
244 |
245 | // bFskDeviation comes from the calculation spreadsheet.
246 | // vFCast_FskAdj( bFskDeviation );
247 |
248 | // Now wait until there is a temperature value
249 | while ( 0 == bDmdTs_GetSamplesTaken() ){}
250 |
251 | // Tune the PA with the current temperature as an argument
252 | vPa_Tune( iDmdTs_GetLatestTemp());
253 |
254 | // Sets up the temperature sensor and demodulator,
255 | // enable ODS before entering the single tx loop.
256 | vStl_PreLoop();
257 |
258 | // Then assign the first address of the frame buffer to
259 | // the packet pointer used for transmission.
260 | pbRke_FrameHead = abButtonFrame;
261 |
262 | // call the single tx loop function
263 | vStl_SingleTxLoop(pbRke_FrameHead,
264 | bFrameSize_c);
265 |
266 | // Disable the temperature sensor and ODS
267 | vStl_PostLoop();
268 |
269 | // Disable Bandgap and LDO
270 | vSys_BandGapLdo(0);
271 |
272 |
273 | //turn LED on
274 | GPIO_LED = 1;
275 |
276 | // Wait repeat interval.
277 | while ( (lSys_GetMasterTime() - lTimestamp) < wRepeatInterval );
278 |
279 | //turn LED off
280 | GPIO_LED = 0;
281 | }while(--bRepeatCount);
282 |
283 | // After repeat transmission, clear all tasks flag.
284 | bAp_ButtonState = 0;
285 |
286 | // Clear time value for next button push detecting.
287 | vSys_SetMasterTime(0);
288 | return;
289 | }
290 |
291 | /*
292 | *------------------------------------------------------------------------------
293 | *
294 | * FUNCTION DESCRIPTION:
295 | * Update the master time by 5, every time this isr is run, and call the
296 | * Button Service Routine
297 | *
298 | */
299 |
300 | void isr_rtc (void) interrupt INTERRUPT_RTC using 1
301 |
302 | {
303 |
304 | // clear the RTC_INT
305 | RTC_CTRL &= ~M_RTC_INT;
306 | vSys_IncMasterTime(5);
307 | bIsr_DebounceCount ++;
308 | if ((bIsr_DebounceCount % bDebounceInterval_c) == 0)
309 | {
310 | vBsr_Service();
311 | }
312 | return;
313 | }
314 |
315 | /*
316 | *------------------------------------------------------------------------------
317 | *
318 | * FUNCTION DESCRIPTION:
319 | * Update bAp_ButtonState which indicates what to be transmitted.
320 | * Check the elements on PTS (push tracking strcture) to see if any GPIO
321 | * has been pressed or released.
322 | * If any new pressed button has detected, the corresponding flag will be set and
323 | * the associated information will be transmitted in the application loop procedure.
324 | *
325 | *------------------------------------------------------------------------------
326 | */
327 | void vButtonCheck( void)
328 | {
329 | ERTC = 0; // Disable RTC interrupt, otherwise button state might be corrupted.
330 | bAp_ButtonState = 0;
331 | if (bBsr_GetPtsItemCnt())
332 | { // GPIO status have been changed.
333 | // Some buttons may have been pressed or released.
334 | bAp_ButtonState = wBsr_Pop() & 0xFF;
335 | if (bPrevBtn)
336 | {
337 | bPrevBtn = bAp_ButtonState;
338 | bAp_ButtonState = 0;
339 | }
340 | else
341 | {
342 | bPrevBtn = bAp_ButtonState;
343 | }
344 | }
345 | ERTC = 1; // Enable RTC interrupt
346 | return;
347 | }
348 |
349 | /*------------------------------------------------------------------------------
350 | *
351 | * FUNCTION DESCRIPTION:
352 | * This function is used to update the packet for transmission,
353 | * it is called after vAp_AnalyzeButton(), according to the
354 | * the result of buttons analyzation to decide which packet
355 | * to be transmited.
356 | *
357 | *------------------------------------------------------------------------------
358 | */
359 | void vPacketAssemble ( void)
360 | {
361 | /* Normal packet transmission mode, send the associated packet
362 | *
363 | * Note that Output Data Serializer (ODS) is in little endian fashion,
364 | * bit 0 first and inverted. So each byte of the packet data should be
365 | * converted properly before writing into frame buffer.
366 | */
367 |
368 | /* switch (bAp_ButtonState)
369 | {
370 | case bButton1_c:
371 | lPayLoad = lFramePayLoad1_c;
372 | break;
373 | case bButton2_c:
374 | lPayLoad = lFramePayLoad2_c;
375 | break;
376 | case bButton3_c:
377 | lPayLoad = lFramePayLoad3_c;
378 | break;
379 | case bButton4_c:
380 | lPayLoad = lFramePayLoad4_c;
381 | break;
382 | case bButton5_c:
383 | lPayLoad = lFramePayLoad5_c;
384 | break;
385 | default:
386 | lPayLoad = 0;
387 | break;
388 | }
389 | */
390 | // Fill frame buffer with the corresponding button data.
391 | abButtonFrame[0] = 0x55;
392 | abButtonFrame[1] = 0x55;
393 | abButtonFrame[2] = 0x55;
394 |
395 | abButtonFrame[3] = 0x51; // Tesla specific data
396 | abButtonFrame[4] = 0xd3;
397 | abButtonFrame[5] = 0x4c;
398 | abButtonFrame[6] = 0x33;
399 | abButtonFrame[7] = 0x33;
400 | abButtonFrame[8] = 0xd3;
401 | abButtonFrame[9] = 0xb2;
402 | abButtonFrame[10] = 0xb4;
403 | abButtonFrame[11] = 0x52;
404 | abButtonFrame[12] = 0xcb;
405 | abButtonFrame[13] = 0x32;
406 | abButtonFrame[14] = 0xd5;
407 | abButtonFrame[15] = 0xd2;
408 |
409 | abButtonFrame[16] = 0xA8;
410 | abButtonFrame[17] = 0x69;
411 | abButtonFrame[18] = 0xa6;
412 | abButtonFrame[19] = 0x99;
413 | abButtonFrame[20] = 0x99;
414 | abButtonFrame[21] = 0x69;
415 | abButtonFrame[22] = 0x59;
416 | abButtonFrame[23] = 0x5a;
417 | abButtonFrame[24] = 0xa9;
418 | abButtonFrame[25] = 0x65;
419 | abButtonFrame[26] = 0x99;
420 | abButtonFrame[27] = 0x6a;
421 | abButtonFrame[28] = 0x69;
422 |
423 | abButtonFrame[29] = 0xd4;
424 | abButtonFrame[30] = 0x34;
425 | abButtonFrame[31] = 0xd3;
426 | abButtonFrame[32] = 0xcc;
427 | abButtonFrame[33] = 0xcc;
428 | abButtonFrame[34] = 0xb4;
429 | abButtonFrame[35] = 0x2c;
430 | abButtonFrame[36] = 0xad;
431 | abButtonFrame[37] = 0xd4;
432 | abButtonFrame[38] = 0xb2;
433 | abButtonFrame[39] = 0x4c;
434 | abButtonFrame[40] = 0xb5;
435 | abButtonFrame[41] = 0x34;
436 |
437 |
438 |
439 |
440 | return;
441 | }
--------------------------------------------------------------------------------
/eagle/OpenChargeport.brd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 | Open Chargeport
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 | *
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 | *
131 | >NAME
132 | >VALUE
133 |
134 |
135 |
136 |
137 | <b>Lithium Batteries and NC Accus</b><p>
138 | <author>Created by librarian@cadsoft.de</author>
139 |
140 |
141 | <b>LI BATTERY</b> Varta
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 | >NAME
161 | >VALUE
162 | Lit.3V
163 |
164 |
165 |
166 |
167 |
168 | <b>Resistors, Capacitors, Inductors</b><p>
169 | Based on the previous libraries:
170 | <ul>
171 | <li>r.lbr
172 | <li>cap.lbr
173 | <li>cap-fe.lbr
174 | <li>captant.lbr
175 | <li>polcap.lbr
176 | <li>ipc-smd.lbr
177 | </ul>
178 | All SMD packages are defined according to the IPC specifications and CECC<p>
179 | <author>Created by librarian@cadsoft.de</author><p>
180 | <p>
181 | for Electrolyt Capacitors see also :<p>
182 | www.bccomponents.com <p>
183 | www.panasonic.com<p>
184 | www.kemet.com<p>
185 | http://www.secc.co.jp/pdf/os_e/2004/e_os_all.pdf <b>(SANYO)</b>
186 | <p>
187 | for trimmer refence see : <u>www.electrospec-inc.com/cross_references/trimpotcrossref.asp</u><p>
188 |
189 | <table border=0 cellspacing=0 cellpadding=0 width="100%" cellpaddding=0>
190 | <tr valign="top">
191 |
192 | <! <td width="10"> </td>
193 | <td width="90%">
194 |
195 | <b><font color="#0000FF" size="4">TRIM-POT CROSS REFERENCE</font></b>
196 | <P>
197 | <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2>
198 | <TR>
199 | <TD COLSPAN=8>
200 | <FONT SIZE=3 FACE=ARIAL><B>RECTANGULAR MULTI-TURN</B></FONT>
201 | </TD>
202 | </TR>
203 | <TR>
204 | <TD ALIGN=CENTER>
205 | <B>
206 | <FONT SIZE=3 FACE=ARIAL color="#FF0000">BOURNS</FONT>
207 | </B>
208 | </TD>
209 | <TD ALIGN=CENTER>
210 | <B>
211 | <FONT SIZE=3 FACE=ARIAL color="#FF0000">BI TECH</FONT>
212 | </B>
213 | </TD>
214 | <TD ALIGN=CENTER>
215 | <B>
216 | <FONT SIZE=3 FACE=ARIAL color="#FF0000">DALE-VISHAY</FONT>
217 | </B>
218 | </TD>
219 | <TD ALIGN=CENTER>
220 | <B>
221 | <FONT SIZE=3 FACE=ARIAL color="#FF0000">PHILIPS/MEPCO</FONT>
222 | </B>
223 | </TD>
224 | <TD ALIGN=CENTER>
225 | <B>
226 | <FONT SIZE=3 FACE=ARIAL color="#FF0000">MURATA</FONT>
227 | </B>
228 | </TD>
229 | <TD ALIGN=CENTER>
230 | <B>
231 | <FONT SIZE=3 FACE=ARIAL color="#FF0000">PANASONIC</FONT>
232 | </B>
233 | </TD>
234 | <TD ALIGN=CENTER>
235 | <B>
236 | <FONT SIZE=3 FACE=ARIAL color="#FF0000">SPECTROL</FONT>
237 | </B>
238 | </TD>
239 | <TD ALIGN=CENTER>
240 | <B>
241 | <FONT SIZE=3 FACE=ARIAL color="#FF0000">MILSPEC</FONT>
242 | </B>
243 | </TD><TD> </TD>
244 | </TR>
245 | <TR>
246 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3 >
247 | 3005P<BR>
248 | 3006P<BR>
249 | 3006W<BR>
250 | 3006Y<BR>
251 | 3009P<BR>
252 | 3009W<BR>
253 | 3009Y<BR>
254 | 3057J<BR>
255 | 3057L<BR>
256 | 3057P<BR>
257 | 3057Y<BR>
258 | 3059J<BR>
259 | 3059L<BR>
260 | 3059P<BR>
261 | 3059Y<BR></FONT>
262 | </TD>
263 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
264 | -<BR>
265 | 89P<BR>
266 | 89W<BR>
267 | 89X<BR>
268 | 89PH<BR>
269 | 76P<BR>
270 | 89XH<BR>
271 | 78SLT<BR>
272 | 78L ALT<BR>
273 | 56P ALT<BR>
274 | 78P ALT<BR>
275 | T8S<BR>
276 | 78L<BR>
277 | 56P<BR>
278 | 78P<BR></FONT>
279 | </TD>
280 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
281 | -<BR>
282 | T18/784<BR>
283 | 783<BR>
284 | 781<BR>
285 | -<BR>
286 | -<BR>
287 | -<BR>
288 | 2199<BR>
289 | 1697/1897<BR>
290 | 1680/1880<BR>
291 | 2187<BR>
292 | -<BR>
293 | -<BR>
294 | -<BR>
295 | -<BR></FONT>
296 | </TD>
297 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
298 | -<BR>
299 | 8035EKP/CT20/RJ-20P<BR>
300 | -<BR>
301 | RJ-20X<BR>
302 | -<BR>
303 | -<BR>
304 | -<BR>
305 | 1211L<BR>
306 | 8012EKQ ALT<BR>
307 | 8012EKR ALT<BR>
308 | 1211P<BR>
309 | 8012EKJ<BR>
310 | 8012EKL<BR>
311 | 8012EKQ<BR>
312 | 8012EKR<BR></FONT>
313 | </TD>
314 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
315 | -<BR>
316 | 2101P<BR>
317 | 2101W<BR>
318 | 2101Y<BR>
319 | -<BR>
320 | -<BR>
321 | -<BR>
322 | -<BR>
323 | -<BR>
324 | -<BR>
325 | -<BR>
326 | -<BR>
327 | 2102L<BR>
328 | 2102S<BR>
329 | 2102Y<BR></FONT>
330 | </TD>
331 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
332 | -<BR>
333 | EVMCOG<BR>
334 | -<BR>
335 | -<BR>
336 | -<BR>
337 | -<BR>
338 | -<BR>
339 | -<BR>
340 | -<BR>
341 | -<BR>
342 | -<BR>
343 | -<BR>
344 | -<BR>
345 | -<BR>
346 | -<BR></FONT>
347 | </TD>
348 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
349 | -<BR>
350 | 43P<BR>
351 | 43W<BR>
352 | 43Y<BR>
353 | -<BR>
354 | -<BR>
355 | -<BR>
356 | -<BR>
357 | 40L<BR>
358 | 40P<BR>
359 | 40Y<BR>
360 | 70Y-T602<BR>
361 | 70L<BR>
362 | 70P<BR>
363 | 70Y<BR></FONT>
364 | </TD>
365 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
366 | -<BR>
367 | -<BR>
368 | -<BR>
369 | -<BR>
370 | -<BR>
371 | -<BR>
372 | -<BR>
373 | -<BR>
374 | RT/RTR12<BR>
375 | RT/RTR12<BR>
376 | RT/RTR12<BR>
377 | -<BR>
378 | RJ/RJR12<BR>
379 | RJ/RJR12<BR>
380 | RJ/RJR12<BR></FONT>
381 | </TD>
382 | </TR>
383 | <TR>
384 | <TD COLSPAN=8>
385 | </TD>
386 | </TR>
387 | <TR>
388 | <TD COLSPAN=8>
389 | <FONT SIZE=4 FACE=ARIAL><B>SQUARE MULTI-TURN</B></FONT>
390 | </TD>
391 | </TR>
392 | <TR>
393 | <TD ALIGN=CENTER>
394 | <FONT SIZE=3 FACE=ARIAL><B>BOURN</B></FONT>
395 | </TD>
396 | <TD ALIGN=CENTER>
397 | <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
398 | </TD>
399 | <TD ALIGN=CENTER>
400 | <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
401 | </TD>
402 | <TD ALIGN=CENTER>
403 | <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
404 | </TD>
405 | <TD ALIGN=CENTER>
406 | <FONT SIZE=3 FACE=ARIAL><B>MURATA</B></FONT>
407 | </TD>
408 | <TD ALIGN=CENTER>
409 | <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
410 | </TD>
411 | <TD ALIGN=CENTER>
412 | <FONT SIZE=3 FACE=ARIAL><B>SPECTROL</B></FONT>
413 | </TD>
414 | <TD ALIGN=CENTER>
415 | <FONT SIZE=3 FACE=ARIAL><B>MILSPEC</B></FONT>
416 | </TD>
417 | </TR>
418 | <TR>
419 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
420 | 3250L<BR>
421 | 3250P<BR>
422 | 3250W<BR>
423 | 3250X<BR>
424 | 3252P<BR>
425 | 3252W<BR>
426 | 3252X<BR>
427 | 3260P<BR>
428 | 3260W<BR>
429 | 3260X<BR>
430 | 3262P<BR>
431 | 3262W<BR>
432 | 3262X<BR>
433 | 3266P<BR>
434 | 3266W<BR>
435 | 3266X<BR>
436 | 3290H<BR>
437 | 3290P<BR>
438 | 3290W<BR>
439 | 3292P<BR>
440 | 3292W<BR>
441 | 3292X<BR>
442 | 3296P<BR>
443 | 3296W<BR>
444 | 3296X<BR>
445 | 3296Y<BR>
446 | 3296Z<BR>
447 | 3299P<BR>
448 | 3299W<BR>
449 | 3299X<BR>
450 | 3299Y<BR>
451 | 3299Z<BR></FONT>
452 | </TD>
453 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
454 | -<BR>
455 | 66P ALT<BR>
456 | 66W ALT<BR>
457 | 66X ALT<BR>
458 | 66P ALT<BR>
459 | 66W ALT<BR>
460 | 66X ALT<BR>
461 | -<BR>
462 | 64W ALT<BR>
463 | -<BR>
464 | 64P ALT<BR>
465 | 64W ALT<BR>
466 | 64X ALT<BR>
467 | 64P<BR>
468 | 64W<BR>
469 | 64X<BR>
470 | 66X ALT<BR>
471 | 66P ALT<BR>
472 | 66W ALT<BR>
473 | 66P<BR>
474 | 66W<BR>
475 | 66X<BR>
476 | 67P<BR>
477 | 67W<BR>
478 | 67X<BR>
479 | 67Y<BR>
480 | 67Z<BR>
481 | 68P<BR>
482 | 68W<BR>
483 | 68X<BR>
484 | 67Y ALT<BR>
485 | 67Z ALT<BR></FONT>
486 | </TD>
487 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
488 | 5050<BR>
489 | 5091<BR>
490 | 5080<BR>
491 | 5087<BR>
492 | -<BR>
493 | -<BR>
494 | -<BR>
495 | -<BR>
496 | -<BR>
497 | -<BR>
498 | -<BR>
499 | T63YB<BR>
500 | T63XB<BR>
501 | -<BR>
502 | -<BR>
503 | -<BR>
504 | 5887<BR>
505 | 5891<BR>
506 | 5880<BR>
507 | -<BR>
508 | -<BR>
509 | -<BR>
510 | T93Z<BR>
511 | T93YA<BR>
512 | T93XA<BR>
513 | T93YB<BR>
514 | T93XB<BR>
515 | -<BR>
516 | -<BR>
517 | -<BR>
518 | -<BR>
519 | -<BR></FONT>
520 | </TD>
521 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
522 | -<BR>
523 | -<BR>
524 | -<BR>
525 | -<BR>
526 | -<BR>
527 | -<BR>
528 | -<BR>
529 | -<BR>
530 | -<BR>
531 | -<BR>
532 | 8026EKP<BR>
533 | 8026EKW<BR>
534 | 8026EKM<BR>
535 | 8026EKP<BR>
536 | 8026EKB<BR>
537 | 8026EKM<BR>
538 | 1309X<BR>
539 | 1309P<BR>
540 | 1309W<BR>
541 | 8024EKP<BR>
542 | 8024EKW<BR>
543 | 8024EKN<BR>
544 | RJ-9P/CT9P<BR>
545 | RJ-9W<BR>
546 | RJ-9X<BR>
547 | -<BR>
548 | -<BR>
549 | -<BR>
550 | -<BR>
551 | -<BR>
552 | -<BR>
553 | -<BR></FONT>
554 | </TD>
555 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
556 | -<BR>
557 | -<BR>
558 | -<BR>
559 | -<BR>
560 | -<BR>
561 | -<BR>
562 | -<BR>
563 | -<BR>
564 | -<BR>
565 | -<BR>
566 | 3103P<BR>
567 | 3103Y<BR>
568 | 3103Z<BR>
569 | 3103P<BR>
570 | 3103Y<BR>
571 | 3103Z<BR>
572 | -<BR>
573 | -<BR>
574 | -<BR>
575 | -<BR>
576 | -<BR>
577 | -<BR>
578 | 3105P/3106P<BR>
579 | 3105W/3106W<BR>
580 | 3105X/3106X<BR>
581 | 3105Y/3106Y<BR>
582 | 3105Z/3105Z<BR>
583 | 3102P<BR>
584 | 3102W<BR>
585 | 3102X<BR>
586 | 3102Y<BR>
587 | 3102Z<BR></FONT>
588 | </TD>
589 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
590 | -<BR>
591 | -<BR>
592 | -<BR>
593 | -<BR>
594 | -<BR>
595 | -<BR>
596 | -<BR>
597 | -<BR>
598 | -<BR>
599 | -<BR>
600 | -<BR>
601 | -<BR>
602 | -<BR>
603 | -<BR>
604 | -<BR>
605 | -<BR>
606 | -<BR>
607 | -<BR>
608 | -<BR>
609 | -<BR>
610 | -<BR>
611 | -<BR>
612 | EVMCBG<BR>
613 | EVMCCG<BR>
614 | -<BR>
615 | -<BR>
616 | -<BR>
617 | -<BR>
618 | -<BR>
619 | -<BR>
620 | -<BR>
621 | -<BR></FONT>
622 | </TD>
623 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
624 | 55-1-X<BR>
625 | 55-4-X<BR>
626 | 55-3-X<BR>
627 | 55-2-X<BR>
628 | -<BR>
629 | -<BR>
630 | -<BR>
631 | -<BR>
632 | -<BR>
633 | -<BR>
634 | -<BR>
635 | -<BR>
636 | -<BR>
637 | -<BR>
638 | -<BR>
639 | -<BR>
640 | 50-2-X<BR>
641 | 50-4-X<BR>
642 | 50-3-X<BR>
643 | -<BR>
644 | -<BR>
645 | -<BR>
646 | 64P<BR>
647 | 64W<BR>
648 | 64X<BR>
649 | 64Y<BR>
650 | 64Z<BR>
651 | -<BR>
652 | -<BR>
653 | -<BR>
654 | -<BR>
655 | -<BR></FONT>
656 | </TD>
657 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
658 | RT/RTR22<BR>
659 | RT/RTR22<BR>
660 | RT/RTR22<BR>
661 | RT/RTR22<BR>
662 | RJ/RJR22<BR>
663 | RJ/RJR22<BR>
664 | RJ/RJR22<BR>
665 | RT/RTR26<BR>
666 | RT/RTR26<BR>
667 | RT/RTR26<BR>
668 | RJ/RJR26<BR>
669 | RJ/RJR26<BR>
670 | RJ/RJR26<BR>
671 | RJ/RJR26<BR>
672 | RJ/RJR26<BR>
673 | RJ/RJR26<BR>
674 | RT/RTR24<BR>
675 | RT/RTR24<BR>
676 | RT/RTR24<BR>
677 | RJ/RJR24<BR>
678 | RJ/RJR24<BR>
679 | RJ/RJR24<BR>
680 | RJ/RJR24<BR>
681 | RJ/RJR24<BR>
682 | RJ/RJR24<BR>
683 | -<BR>
684 | -<BR>
685 | -<BR>
686 | -<BR>
687 | -<BR>
688 | -<BR>
689 | -<BR></FONT>
690 | </TD>
691 | </TR>
692 | <TR>
693 | <TD COLSPAN=8>
694 | </TD>
695 | </TR>
696 | <TR>
697 | <TD COLSPAN=8>
698 | <FONT SIZE=4 FACE=ARIAL><B>SINGLE TURN</B></FONT>
699 | </TD>
700 | </TR>
701 | <TR>
702 | <TD ALIGN=CENTER>
703 | <FONT SIZE=3 FACE=ARIAL><B>BOURN</B></FONT>
704 | </TD>
705 | <TD ALIGN=CENTER>
706 | <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
707 | </TD>
708 | <TD ALIGN=CENTER>
709 | <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
710 | </TD>
711 | <TD ALIGN=CENTER>
712 | <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
713 | </TD>
714 | <TD ALIGN=CENTER>
715 | <FONT SIZE=3 FACE=ARIAL><B>MURATA</B></FONT>
716 | </TD>
717 | <TD ALIGN=CENTER>
718 | <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
719 | </TD>
720 | <TD ALIGN=CENTER>
721 | <FONT SIZE=3 FACE=ARIAL><B>SPECTROL</B></FONT>
722 | </TD>
723 | <TD ALIGN=CENTER>
724 | <FONT SIZE=3 FACE=ARIAL><B>MILSPEC</B></FONT>
725 | </TD>
726 | </TR>
727 | <TR>
728 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
729 | 3323P<BR>
730 | 3323S<BR>
731 | 3323W<BR>
732 | 3329H<BR>
733 | 3329P<BR>
734 | 3329W<BR>
735 | 3339H<BR>
736 | 3339P<BR>
737 | 3339W<BR>
738 | 3352E<BR>
739 | 3352H<BR>
740 | 3352K<BR>
741 | 3352P<BR>
742 | 3352T<BR>
743 | 3352V<BR>
744 | 3352W<BR>
745 | 3362H<BR>
746 | 3362M<BR>
747 | 3362P<BR>
748 | 3362R<BR>
749 | 3362S<BR>
750 | 3362U<BR>
751 | 3362W<BR>
752 | 3362X<BR>
753 | 3386B<BR>
754 | 3386C<BR>
755 | 3386F<BR>
756 | 3386H<BR>
757 | 3386K<BR>
758 | 3386M<BR>
759 | 3386P<BR>
760 | 3386S<BR>
761 | 3386W<BR>
762 | 3386X<BR></FONT>
763 | </TD>
764 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
765 | 25P<BR>
766 | 25S<BR>
767 | 25RX<BR>
768 | 82P<BR>
769 | 82M<BR>
770 | 82PA<BR>
771 | -<BR>
772 | -<BR>
773 | -<BR>
774 | 91E<BR>
775 | 91X<BR>
776 | 91T<BR>
777 | 91B<BR>
778 | 91A<BR>
779 | 91V<BR>
780 | 91W<BR>
781 | 25W<BR>
782 | 25V<BR>
783 | 25P<BR>
784 | -<BR>
785 | 25S<BR>
786 | 25U<BR>
787 | 25RX<BR>
788 | 25X<BR>
789 | 72XW<BR>
790 | 72XL<BR>
791 | 72PM<BR>
792 | 72RX<BR>
793 | -<BR>
794 | 72PX<BR>
795 | 72P<BR>
796 | 72RXW<BR>
797 | 72RXL<BR>
798 | 72X<BR></FONT>
799 | </TD>
800 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
801 | -<BR>
802 | -<BR>
803 | -<BR>
804 | T7YB<BR>
805 | T7YA<BR>
806 | -<BR>
807 | -<BR>
808 | -<BR>
809 | -<BR>
810 | -<BR>
811 | -<BR>
812 | -<BR>
813 | -<BR>
814 | -<BR>
815 | -<BR>
816 | -<BR>
817 | -<BR>
818 | TXD<BR>
819 | TYA<BR>
820 | TYP<BR>
821 | -<BR>
822 | TYD<BR>
823 | TX<BR>
824 | -<BR>
825 | 150SX<BR>
826 | 100SX<BR>
827 | 102T<BR>
828 | 101S<BR>
829 | 190T<BR>
830 | 150TX<BR>
831 | 101<BR>
832 | -<BR>
833 | -<BR>
834 | 101SX<BR></FONT>
835 | </TD>
836 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
837 | ET6P<BR>
838 | ET6S<BR>
839 | ET6X<BR>
840 | RJ-6W/8014EMW<BR>
841 | RJ-6P/8014EMP<BR>
842 | RJ-6X/8014EMX<BR>
843 | TM7W<BR>
844 | TM7P<BR>
845 | TM7X<BR>
846 | -<BR>
847 | 8017SMS<BR>
848 | -<BR>
849 | 8017SMB<BR>
850 | 8017SMA<BR>
851 | -<BR>
852 | -<BR>
853 | CT-6W<BR>
854 | CT-6H<BR>
855 | CT-6P<BR>
856 | CT-6R<BR>
857 | -<BR>
858 | CT-6V<BR>
859 | CT-6X<BR>
860 | -<BR>
861 | -<BR>
862 | 8038EKV<BR>
863 | -<BR>
864 | 8038EKX<BR>
865 | -<BR>
866 | -<BR>
867 | 8038EKP<BR>
868 | 8038EKZ<BR>
869 | 8038EKW<BR>
870 | -<BR></FONT>
871 | </TD>
872 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
873 | -<BR>
874 | -<BR>
875 | -<BR>
876 | 3321H<BR>
877 | 3321P<BR>
878 | 3321N<BR>
879 | 1102H<BR>
880 | 1102P<BR>
881 | 1102T<BR>
882 | RVA0911V304A<BR>
883 | -<BR>
884 | RVA0911H413A<BR>
885 | RVG0707V100A<BR>
886 | RVA0607V(H)306A<BR>
887 | RVA1214H213A<BR>
888 | -<BR>
889 | -<BR>
890 | -<BR>
891 | -<BR>
892 | -<BR>
893 | -<BR>
894 | -<BR>
895 | -<BR>
896 | -<BR>
897 | 3104B<BR>
898 | 3104C<BR>
899 | 3104F<BR>
900 | 3104H<BR>
901 | -<BR>
902 | 3104M<BR>
903 | 3104P<BR>
904 | 3104S<BR>
905 | 3104W<BR>
906 | 3104X<BR></FONT>
907 | </TD>
908 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
909 | EVMQ0G<BR>
910 | EVMQIG<BR>
911 | EVMQ3G<BR>
912 | EVMS0G<BR>
913 | EVMQ0G<BR>
914 | EVMG0G<BR>
915 | -<BR>
916 | -<BR>
917 | -<BR>
918 | EVMK4GA00B<BR>
919 | EVM30GA00B<BR>
920 | EVMK0GA00B<BR>
921 | EVM38GA00B<BR>
922 | EVMB6<BR>
923 | EVLQ0<BR>
924 | -<BR>
925 | EVMMSG<BR>
926 | EVMMBG<BR>
927 | EVMMAG<BR>
928 | -<BR>
929 | -<BR>
930 | EVMMCS<BR>
931 | -<BR>
932 | -<BR>
933 | -<BR>
934 | -<BR>
935 | -<BR>
936 | EVMM1<BR>
937 | -<BR>
938 | -<BR>
939 | EVMM0<BR>
940 | -<BR>
941 | -<BR>
942 | EVMM3<BR></FONT>
943 | </TD>
944 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
945 | -<BR>
946 | -<BR>
947 | -<BR>
948 | 62-3-1<BR>
949 | 62-1-2<BR>
950 | -<BR>
951 | -<BR>
952 | -<BR>
953 | -<BR>
954 | -<BR>
955 | -<BR>
956 | -<BR>
957 | -<BR>
958 | -<BR>
959 | -<BR>
960 | -<BR>
961 | 67R<BR>
962 | -<BR>
963 | 67P<BR>
964 | -<BR>
965 | -<BR>
966 | -<BR>
967 | -<BR>
968 | 67X<BR>
969 | 63V<BR>
970 | 63S<BR>
971 | 63M<BR>
972 | -<BR>
973 | -<BR>
974 | 63H<BR>
975 | 63P<BR>
976 | -<BR>
977 | -<BR>
978 | 63X<BR></FONT>
979 | </TD>
980 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
981 | -<BR>
982 | -<BR>
983 | -<BR>
984 | RJ/RJR50<BR>
985 | RJ/RJR50<BR>
986 | RJ/RJR50<BR>
987 | -<BR>
988 | -<BR>
989 | -<BR>
990 | -<BR>
991 | -<BR>
992 | -<BR>
993 | -<BR>
994 | -<BR>
995 | -<BR>
996 | -<BR>
997 | -<BR>
998 | -<BR>
999 | -<BR>
1000 | -<BR>
1001 | -<BR>
1002 | -<BR>
1003 | -<BR>
1004 | -<BR>
1005 | -<BR>
1006 | -<BR>
1007 | -<BR>
1008 | -<BR>
1009 | -<BR>
1010 | -<BR>
1011 | -<BR>
1012 | -<BR>
1013 | -<BR>
1014 | -<BR></FONT>
1015 | </TD>
1016 | </TR>
1017 | </TABLE>
1018 | <P> <P>
1019 | <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=3>
1020 | <TR>
1021 | <TD COLSPAN=7>
1022 | <FONT color="#0000FF" SIZE=4 FACE=ARIAL><B>SMD TRIM-POT CROSS REFERENCE</B></FONT>
1023 | <P>
1024 | <FONT SIZE=4 FACE=ARIAL><B>MULTI-TURN</B></FONT>
1025 | </TD>
1026 | </TR>
1027 | <TR>
1028 | <TD>
1029 | <FONT SIZE=3 FACE=ARIAL><B>BOURNS</B></FONT>
1030 | </TD>
1031 | <TD>
1032 | <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
1033 | </TD>
1034 | <TD>
1035 | <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
1036 | </TD>
1037 | <TD>
1038 | <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
1039 | </TD>
1040 | <TD>
1041 | <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
1042 | </TD>
1043 | <TD>
1044 | <FONT SIZE=3 FACE=ARIAL><B>TOCOS</B></FONT>
1045 | </TD>
1046 | <TD>
1047 | <FONT SIZE=3 FACE=ARIAL><B>AUX/KYOCERA</B></FONT>
1048 | </TD>
1049 | </TR>
1050 | <TR>
1051 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1052 | 3224G<BR>
1053 | 3224J<BR>
1054 | 3224W<BR>
1055 | 3269P<BR>
1056 | 3269W<BR>
1057 | 3269X<BR></FONT>
1058 | </TD>
1059 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1060 | 44G<BR>
1061 | 44J<BR>
1062 | 44W<BR>
1063 | 84P<BR>
1064 | 84W<BR>
1065 | 84X<BR></FONT>
1066 | </TD>
1067 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1068 | -<BR>
1069 | -<BR>
1070 | -<BR>
1071 | ST63Z<BR>
1072 | ST63Y<BR>
1073 | -<BR></FONT>
1074 | </TD>
1075 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1076 | -<BR>
1077 | -<BR>
1078 | -<BR>
1079 | ST5P<BR>
1080 | ST5W<BR>
1081 | ST5X<BR></FONT>
1082 | </TD>
1083 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1084 | -<BR>
1085 | -<BR>
1086 | -<BR>
1087 | -<BR>
1088 | -<BR>
1089 | -<BR></FONT>
1090 | </TD>
1091 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1092 | -<BR>
1093 | -<BR>
1094 | -<BR>
1095 | -<BR>
1096 | -<BR>
1097 | -<BR></FONT>
1098 | </TD>
1099 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1100 | -<BR>
1101 | -<BR>
1102 | -<BR>
1103 | -<BR>
1104 | -<BR>
1105 | -<BR></FONT>
1106 | </TD>
1107 | </TR>
1108 | <TR>
1109 | <TD COLSPAN=7>
1110 | </TD>
1111 | </TR>
1112 | <TR>
1113 | <TD COLSPAN=7>
1114 | <FONT SIZE=4 FACE=ARIAL><B>SINGLE TURN</B></FONT>
1115 | </TD>
1116 | </TR>
1117 | <TR>
1118 | <TD>
1119 | <FONT SIZE=3 FACE=ARIAL><B>BOURNS</B></FONT>
1120 | </TD>
1121 | <TD>
1122 | <FONT SIZE=3 FACE=ARIAL><B>BI TECH</B></FONT>
1123 | </TD>
1124 | <TD>
1125 | <FONT SIZE=3 FACE=ARIAL><B>DALE-VISHAY</B></FONT>
1126 | </TD>
1127 | <TD>
1128 | <FONT SIZE=3 FACE=ARIAL><B>PHILIPS/MEPCO</B></FONT>
1129 | </TD>
1130 | <TD>
1131 | <FONT SIZE=3 FACE=ARIAL><B>PANASONIC</B></FONT>
1132 | </TD>
1133 | <TD>
1134 | <FONT SIZE=3 FACE=ARIAL><B>TOCOS</B></FONT>
1135 | </TD>
1136 | <TD>
1137 | <FONT SIZE=3 FACE=ARIAL><B>AUX/KYOCERA</B></FONT>
1138 | </TD>
1139 | </TR>
1140 | <TR>
1141 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1142 | 3314G<BR>
1143 | 3314J<BR>
1144 | 3364A/B<BR>
1145 | 3364C/D<BR>
1146 | 3364W/X<BR>
1147 | 3313G<BR>
1148 | 3313J<BR></FONT>
1149 | </TD>
1150 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1151 | 23B<BR>
1152 | 23A<BR>
1153 | 21X<BR>
1154 | 21W<BR>
1155 | -<BR>
1156 | 22B<BR>
1157 | 22A<BR></FONT>
1158 | </TD>
1159 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1160 | ST5YL/ST53YL<BR>
1161 | ST5YJ/5T53YJ<BR>
1162 | ST-23A<BR>
1163 | ST-22B<BR>
1164 | ST-22<BR>
1165 | -<BR>
1166 | -<BR></FONT>
1167 | </TD>
1168 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1169 | ST-4B<BR>
1170 | ST-4A<BR>
1171 | -<BR>
1172 | -<BR>
1173 | -<BR>
1174 | ST-3B<BR>
1175 | ST-3A<BR></FONT>
1176 | </TD>
1177 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1178 | -<BR>
1179 | EVM-6YS<BR>
1180 | EVM-1E<BR>
1181 | EVM-1G<BR>
1182 | EVM-1D<BR>
1183 | -<BR>
1184 | -<BR></FONT>
1185 | </TD>
1186 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1187 | G4B<BR>
1188 | G4A<BR>
1189 | TR04-3S1<BR>
1190 | TRG04-2S1<BR>
1191 | -<BR>
1192 | -<BR>
1193 | -<BR></FONT>
1194 | </TD>
1195 | <TD BGCOLOR="#cccccc" ALIGN=CENTER><FONT FACE=ARIAL SIZE=3>
1196 | -<BR>
1197 | -<BR>
1198 | DVR-43A<BR>
1199 | CVR-42C<BR>
1200 | CVR-42A/C<BR>
1201 | -<BR>
1202 | -<BR></FONT>
1203 | </TD>
1204 | </TR>
1205 | </TABLE>
1206 | <P>
1207 | <FONT SIZE=4 FACE=ARIAL><B>ALT = ALTERNATE</B></FONT>
1208 | <P>
1209 |
1210 |
1211 | <P>
1212 | </td>
1213 | </tr>
1214 | </table>
1215 |
1216 |
1217 | <b>ELECTROLYTIC CAPACITOR</b><p>
1218 | grid 2.54 mm, diameter 5 mm
1219 |
1220 |
1221 |
1222 |
1223 |
1224 |
1225 |
1226 |
1227 |
1228 |
1229 |
1230 |
1231 |
1232 |
1233 | >NAME
1234 | >VALUE
1235 |
1236 |
1237 |
1238 | <b>CAPACITOR</b><p>
1239 | grid 2.5 mm, outline 2.5 x 5 mm
1240 |
1241 |
1242 |
1243 |
1244 |
1245 |
1246 |
1247 |
1248 |
1249 |
1250 |
1251 |
1252 |
1253 |
1254 |
1255 |
1256 |
1257 |
1258 | >NAME
1259 | >VALUE
1260 |
1261 |
1262 |
1263 |
1264 | <b>Omron Switches</b><p>
1265 | <author>Created by librarian@cadsoft.de</author>
1266 |
1267 |
1268 | <b>OMRON SWITCH</b>
1269 |
1270 |
1271 |
1272 |
1273 |
1274 |
1275 |
1276 |
1277 |
1278 |
1279 |
1280 |
1281 |
1282 |
1283 |
1284 |
1285 |
1286 |
1287 |
1288 |
1289 |
1290 |
1291 |
1292 |
1293 |
1294 |
1295 |
1296 |
1297 |
1298 |
1299 |
1300 |
1301 |
1302 |
1303 |
1304 |
1305 |
1306 |
1307 |
1308 |
1309 |
1310 |
1311 |
1312 |
1313 |
1314 |
1315 |
1316 |
1317 |
1318 |
1319 |
1320 |
1321 |
1322 |
1323 | >NAME
1324 | >VALUE
1325 | 1
1326 | 2
1327 | 3
1328 | 4
1329 |
1330 |
1331 |
1332 |
1333 | <b>Solder Pads/Test Points</b><p>
1334 | <author>Created by librarian@cadsoft.de</author>
1335 |
1336 |
1337 | <b>SOLDER PAD</b><p>
1338 | drill 1.0 mm
1339 |
1340 |
1341 |
1342 |
1343 |
1344 |
1345 |
1346 |
1347 |
1348 |
1349 |
1350 |
1351 |
1352 |
1353 |
1354 | >NAME
1355 | >VALUE
1356 |
1357 |
1358 |
1359 |
1360 |
1361 |
1362 |
1363 |
1364 |
1365 |
1366 |
1367 |
1368 |
1369 | <b>EAGLE Design Rules</b>
1370 | <p>
1371 | Die Standard-Design-Rules sind so gewählt, dass sie für
1372 | die meisten Anwendungen passen. Sollte ihre Platine
1373 | besondere Anforderungen haben, treffen Sie die erforderlichen
1374 | Einstellungen hier und speichern die Design Rules unter
1375 | einem neuen Namen ab.
1376 | <b>EAGLE Design Rules</b>
1377 | <p>
1378 | The default Design Rules have been set to cover
1379 | a wide range of applications. Your particular design
1380 | may have different requirements, so please make the
1381 | necessary adjustments and save your customized
1382 | design rules under a new name.
1383 |
1384 |
1385 |
1386 |
1387 |
1388 |
1389 |
1390 |
1391 |
1392 |
1393 |
1394 |
1395 |
1396 |
1397 |
1398 |
1399 |
1400 |
1401 |
1402 |
1403 |
1404 |
1405 |
1406 |
1407 |
1408 |
1409 |
1410 |
1411 |
1412 |
1413 |
1414 |
1415 |
1416 |
1417 |
1418 |
1419 |
1420 |
1421 |
1422 |
1423 |
1424 |
1425 |
1426 |
1427 |
1428 |
1429 |
1430 |
1431 |
1432 |
1433 |
1434 |
1435 |
1436 |
1437 |
1438 |
1439 |
1440 |
1441 |
1442 |
1443 |
1444 |
1445 |
1446 |
1447 |
1448 |
1449 |
1450 |
1451 |
1452 |
1453 |
1454 |
1455 |
1456 |
1457 |
1458 |
1459 |
1460 |
1461 |
1462 |
1463 |
1464 |
1465 |
1466 |
1467 |
1468 |
1469 |
1470 |
1471 |
1472 |
1473 |
1474 |
1475 |
1476 |
1477 |
1478 |
1479 |
1480 |
1481 |
1482 |
1483 |
1484 |
1485 |
1486 |
1487 |
1488 |
1489 |
1490 |
1491 |
1492 |
1493 |
1494 |
1495 |
1496 |
1497 |
1498 |
1499 |
1500 |
1501 |
1502 |
1503 |
1504 |
1505 |
1506 |
1507 |
1508 |
1509 |
1510 |
1511 |
1512 |
1513 |
1514 |
1515 |
1516 |
1517 |
1518 |
1519 |
1520 |
1521 |
1522 |
1523 |
1524 |
1525 |
1526 |
1527 |
1528 |
1529 |
1530 |
1531 |
1532 |
1533 |
1534 |
1535 |
1536 |
1537 |
1538 |
1539 |
1540 |
1541 |
1542 |
1543 |
1544 |
1545 |
1546 |
1547 |
1548 |
1549 |
1550 |
1551 |
1552 |
1553 |
1554 |
1555 |
1556 |
1557 |
1558 |
1559 |
1560 |
1561 |
1562 |
1563 |
1564 |
1565 |
1566 |
1567 |
1568 |
1569 |
1570 |
1571 |
1572 |
1573 |
1574 |
1575 |
1576 |
1577 |
1578 |
1579 |
1580 |
1581 |
1582 |
1583 |
1584 |
1585 |
1586 |
1587 |
1588 |
1589 |
1590 |
1591 |
1592 |
1593 |
1594 |
1595 |
1596 |
1597 |
1598 |
1599 |
1600 |
1601 |
1602 |
1603 |
1604 |
1605 |
1606 |
1607 |
1608 |
1609 |
1610 |
1611 |
1612 |
1613 |
1614 |
1615 |
1616 |
1617 |
1618 |
1619 |
1620 |
1621 |
1622 |
1623 |
1624 |
1625 |
1626 |
1627 |
1628 |
1629 |
1630 |
1631 |
1632 |
1633 |
1634 |
1635 |
1636 |
1637 |
1638 |
1639 |
1640 |
1641 |
1642 |
1643 |
1644 |
1645 |
1646 |
1647 |
1648 |
1649 |
1650 |
1651 |
1652 |
1653 |
1654 |
1655 |
1656 |
1657 |
1658 |
1659 |
1660 |
1661 |
1662 |
1663 |
1664 |
1665 |
1666 |
1667 |
1668 |
1669 |
1670 |
1671 |
--------------------------------------------------------------------------------
/sourcecode/OpenChargeport.HEX:
--------------------------------------------------------------------------------
1 | :020000040000FA
2 | :100000003A28F3000330F2000828F3000830F20029
3 | :100010009501F31F0C10F31B0C141508193A031D5E
4 | :100020000D28F31B0C10F31F0C141508323A031D96
5 | :100030001528F30DF20B0828080020000D30F200FF
6 | :1000400095010C141508193A031D22280C101508E7
7 | :10005000323A031D2728F20B2028080095011508C5
8 | :10006000193A031D2F2808003E30F2002E20F20B13
9 | :10007000362808002100C6309500F0309900200095
10 | :100080008C0122008C0123008C0121003E308C0069
11 | :100090001D200330F1002E20123005209530052060
12 | :1000A00053300520673005201B30052043300520E4
13 | :0C00B00020300120F10B4B2834204828A0
14 | :020000040001F9
15 | :02000E0004C824
16 | :02001000FFDC13
17 | :00000001FF
18 |
--------------------------------------------------------------------------------
/sourcecode/OpenChargeport.asm:
--------------------------------------------------------------------------------
1 | ;******************************************************************************
2 | ; Open Chargeport *
3 | ; For use with Tesla Model S *
4 | ;******************************************************************************
5 | ; *
6 | ; Filename: OpenChargeport.asm *
7 | ; Date: 4-9-13 *
8 | ; File Version: 1.00 *
9 | ; *
10 | ; Author: M. Stegen *
11 | ; Company: Stegen Electronics *
12 | ; *
13 | ; *
14 | ;******************************************************************************
15 | ; *
16 | ; *
17 | ; *
18 | ;
19 | ; *
20 | ;******************************************************************************
21 | ; *
22 | ; Revision History: *
23 | ; 1.00 initial release *
24 | ; *
25 | ;******************************************************************************
26 | ;
27 | ;
28 | ;
29 | ; +----_----+
30 | ; VDD --| 1 8 |-- GND
31 | ; NC --| 2 7 |-- TX Out
32 | ; NC --| 3 6 |-- NC
33 | ; NC --| 4 5 |-- NC
34 | ; +---------+
35 | ;
36 | ;
37 | ;*****************************************************************************
38 |
39 |
40 |
41 | list p=12F1822 ; list directive to define processor
42 | #include ; processor specific variable definitions
43 |
44 | ;------------------------------------------------------------------------------
45 | ;
46 | ; CONFIGURATION WORD SETUP
47 | ;
48 | ; The 'CONFIG' directive is used to embed the configuration word within the
49 | ; .asm file. The lables following the directive are located in the respective
50 | ; .inc file. See the data sheet for additional information on configuration
51 | ; word settings.
52 | ;
53 | ;------------------------------------------------------------------------------
54 |
55 | __CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_ON & _CPD_ON& _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
56 | __CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF
57 |
58 |
59 |
60 | ;------------------------------------------------------------------------------
61 | ; VARIABLE DEFINITIONS
62 | ;
63 | ; Available Data Memory divided into Bank 0-15. Each Bank may contain
64 | ; Special Function Registers, General Purpose Registers, and Access RAM
65 | ;
66 | ;------------------------------------------------------------------------------
67 |
68 | ; RAM-Variables
69 |
70 |
71 | Mcount EQU 0x71
72 | Count EQU 0x72
73 | Serdata EQU 0x73
74 |
75 | TX EQU 0 ; pin 7 TX output
76 |
77 | ;------------------------------------------------------------------------------
78 | ; RESET VECTOR
79 | ;------------------------------------------------------------------------------
80 |
81 | ORG 0x0000 ; processor reset vector
82 |
83 | goto INIT ; When using debug header, first inst.
84 | ; may be passed over by ICD2.
85 |
86 | ;-------------------------------------------------------------------------
87 | ; Send 3 bits (in W) (MSB)
88 |
89 | MC_TX3
90 | movwf Serdata
91 | MOVLW 3
92 | MOVWF Count ; 3 BITS TO send
93 | goto MC_TXLOOP
94 |
95 | ;-------------------------------------------------------------------------
96 | ; Send one byte (in W)
97 | MC_TX
98 | movwf Serdata
99 | MOVLW 8
100 | MOVWF Count ; 8 BITS TO send
101 |
102 | MC_TXLOOP
103 | CLRF TMR0
104 |
105 | BTFSS Serdata,7 ; check MSB
106 | BCF PORTA,TX ; Signal LOW => 01
107 | BTFSC Serdata,7 ; check MSB
108 | BSF PORTA,TX ; Signal HIGH => 10
109 | MC1_400us
110 | MOVF TMR0,W
111 | XORLW .25 ; 0.000016 * 25= 400 uS
112 | BTFSS STATUS,Z
113 | GOTO MC1_400us
114 |
115 | BTFSC Serdata,7 ; check MSB
116 | BCF PORTA,TX ; Signal LOW => 01
117 | BTFSS Serdata,7 ; check MSB
118 | BSF PORTA,TX ; Signal HIGH => 10
119 |
120 | MC2_400us
121 | MOVF TMR0,W
122 | XORLW .50 ; 0.000016 * 50= 800 uS total
123 | BTFSS STATUS,Z
124 | GOTO MC2_400us
125 |
126 | RLF Serdata,F
127 | decfsz Count,F
128 | goto MC_TXLOOP
129 | return
130 |
131 |
132 | ;------------------------------------------------------------------------------
133 | ;
134 | SEND_SYNC
135 | BANKSEL PORTA
136 |
137 | movlw .13
138 | movwf Count
139 | sync_loop
140 | CLRF TMR0
141 | BSF PORTA,TX ; High
142 | high_400
143 | MOVF TMR0,W
144 | XORLW .25 ; 0.000016 * 25= 400us
145 | BTFSS STATUS,Z
146 | GOTO high_400
147 |
148 | BCF PORTA,TX ; Low
149 | low_400
150 | MOVF TMR0,W
151 | XORLW .50 ; 0.000016 * 50= 800us
152 | BTFSS STATUS,Z
153 | GOTO low_400
154 | decfsz Count,F ; repeat
155 | goto sync_loop
156 | return
157 |
158 | ;------------------------------------------------------------------------------
159 | ;
160 | delay400us
161 | CLRF TMR0
162 | dly400us
163 | MOVF TMR0,W
164 | XORLW .25 ; 0.000016 * 25= 400 uS
165 | BTFSS STATUS,Z
166 | GOTO dly400us
167 | return
168 |
169 | delay25ms
170 | movlw .62
171 | movwf Count
172 | dly25ms
173 | call delay400us
174 | decfsz Count,F
175 | goto dly25ms
176 | return
177 |
178 |
179 | ;------------------------------------------------------------------------------
180 | ; INITIALIZE all REGISTERS
181 | ;------------------------------------------------------------------------------
182 |
183 | INIT
184 | BANKSEL OPTION_REG
185 | movlw B'11000110'
186 | movwf OPTION_REG ; prescaler 1:128, Weak pull-ups disabled
187 | ; same bank
188 | movlw b'11110000'
189 | movwf OSCCON ; setup 32Mhz internal oscillator
190 |
191 | BANKSEL PORTA
192 | CLRF PORTA ; Init PORTA
193 | BANKSEL LATA ; Data Latch
194 | CLRF LATA
195 | BANKSEL ANSELA
196 | CLRF ANSELA ; digital I/O
197 | BANKSEL TRISA
198 | MOVLW B'00111110' ; set pin 7 as output (TX)
199 | MOVWF TRISA ; the rest as input
200 |
201 |
202 |
203 | MAIN
204 | call SEND_SYNC ; send 13 sync bits
205 | movlw .3
206 | movwf Mcount
207 | Mloop
208 | call delay400us
209 | movlw 0x12
210 | call MC_TX
211 | movlw 0x95
212 | call MC_TX
213 | movlw 0x53
214 | call MC_TX
215 | movlw 0x67
216 | call MC_TX
217 | movlw 0x1B
218 | call MC_TX
219 | movlw 0x43
220 | call MC_TX
221 | movlw 0x20
222 | call MC_TX3
223 | decfsz Mcount,F
224 | goto Mloop
225 |
226 | call delay25ms
227 |
228 | goto MAIN ; loop forever
229 |
230 |
231 |
232 | END
--------------------------------------------------------------------------------
/sourcecode/OpenChargeport_10F200.HEX:
--------------------------------------------------------------------------------
1 | :020000040000FA
2 | :10000000390A3200030C3100080A3200080C3100B2
3 | :100010006100F2070604F20606050102190F430704
4 | :100020000D0AF2060604F20706050102320F430725
5 | :10003000150A7203F102080A00080D0C3100610074
6 | :1000400006050102190F4307210A06040102320FB7
7 | :100050004307260AF1021F0A000861000102190F76
8 | :1000600043072E0A00083E0C31002D09F102350A23
9 | :1000700000082500C30C0200670066000E0C060095
10 | :100080001D09030C30002D09120C0509950C0509FA
11 | :10009000530C0509670C05091B0C0509430C0509E0
12 | :0C00A000200C0109F002430A3309400A59
13 | :021FFE00EB0FE7
14 | :00000001FF
15 |
--------------------------------------------------------------------------------
/sourcecode/OpenChargeport_10F200.asm:
--------------------------------------------------------------------------------
1 | ;******************************************************************************
2 | ; Open Chargeport *
3 | ; For use with Tesla Model S *
4 | ;******************************************************************************
5 | ; *
6 | ; Filename: OpenChargeport.asm *
7 | ; Date: 10-9-13 *
8 | ; File Version: 1.01 *
9 | ; *
10 | ; Author: M. Stegen *
11 | ; Company: Stegen Electronics *
12 | ; *
13 | ; *
14 | ;******************************************************************************
15 | ; *
16 | ;******************************************************************************
17 | ; *
18 | ; Revision History: *
19 | ; 1.00 initial release *
20 | ; 1.01 version for PIC 10F200/202/204/206 *
21 | ; *
22 | ;******************************************************************************
23 | ;
24 | ; PIC 10F200/202/204/206
25 | ;
26 | ; PDIP pinout:
27 | ; +----_----+
28 | ; NC --| 1 8 |-- NC
29 | ; VCC --| 2 7 |-- GND
30 | ; NC --| 3 6 |-- NC
31 | ; NC --| 4 5 |-- TX out
32 | ; +---------+
33 | ;
34 | ; SOT23 pinout:
35 | ; +------+
36 | ; TXout --|*1 6 |-- NC
37 | ; GND --| 2 5 |-- VCC
38 | ; NC --| 3 4 |-- NC
39 | ; +------+
40 | ;
41 | ;*****************************************************************************
42 |
43 |
44 |
45 | list p=10F204 ; list directive to define processor
46 | #include ; processor specific variable definitions
47 |
48 | ;------------------------------------------------------------------------------
49 | ;
50 | ; CONFIGURATION WORD SETUP
51 | ;
52 | ; The 'CONFIG' directive is used to embed the configuration word within the
53 | ; .asm file. The lables following the directive are located in the respective
54 | ; .inc file. See the data sheet for additional information on configuration
55 | ; word settings.
56 | ;
57 | ;------------------------------------------------------------------------------
58 |
59 | __CONFIG _WDT_OFF & _MCLRE_OFF & _CP_OFF
60 |
61 | ;------------------------------------------------------------------------------
62 | ; RAM-Variables
63 |
64 |
65 | Mcount EQU 0x10
66 | Count EQU 0x11
67 | Serdata EQU 0x12
68 |
69 | TX EQU 0 ; TX output
70 |
71 | ;------------------------------------------------------------------------------
72 | ; RESET VECTOR
73 | ;------------------------------------------------------------------------------
74 |
75 | ORG 0x0000 ; processor reset vector
76 |
77 | goto INIT ; When using debug header, first inst.
78 | ; may be passed over by ICD2.
79 |
80 | ;-------------------------------------------------------------------------
81 | ; Send 3 bits (in W) (MSB)
82 |
83 | MC_TX3
84 | movwf Serdata
85 | MOVLW 3
86 | MOVWF Count ; 3 BITS TO send
87 | goto MC_TXLOOP
88 |
89 | ;-------------------------------------------------------------------------
90 | ; Send one byte (in W)
91 | MC_TX
92 | movwf Serdata
93 | MOVLW 8
94 | MOVWF Count ; 8 BITS TO send
95 |
96 | MC_TXLOOP
97 | CLRF TMR0
98 |
99 | BTFSS Serdata,7 ; check MSB
100 | BCF GPIO,TX ; Signal LOW => 01
101 | BTFSC Serdata,7 ; check MSB
102 | BSF GPIO,TX ; Signal HIGH => 10
103 | MC1_400us
104 | MOVF TMR0,W
105 | XORLW .25 ; 0.000016 * 25= 400 uS
106 | BTFSS STATUS,Z
107 | GOTO MC1_400us
108 |
109 | BTFSC Serdata,7 ; check MSB
110 | BCF GPIO,TX ; Signal LOW => 01
111 | BTFSS Serdata,7 ; check MSB
112 | BSF GPIO,TX ; Signal HIGH => 10
113 |
114 | MC2_400us
115 | MOVF TMR0,W
116 | XORLW .50 ; 0.000016 * 50= 800 uS total
117 | BTFSS STATUS,Z
118 | GOTO MC2_400us
119 |
120 | RLF Serdata,F
121 | decfsz Count,F
122 | goto MC_TXLOOP
123 | retlw 0x00
124 |
125 |
126 | ;------------------------------------------------------------------------------
127 | ;
128 | SEND_SYNC
129 |
130 | movlw .13
131 | movwf Count
132 | sync_loop
133 | CLRF TMR0
134 | BSF GPIO,TX ; High
135 | high_400
136 | MOVF TMR0,W
137 | XORLW .25 ; 0.000016 * 25= 400us
138 | BTFSS STATUS,Z
139 | GOTO high_400
140 |
141 | BCF GPIO,TX ; Low
142 | low_400
143 | MOVF TMR0,W
144 | XORLW .50 ; 0.000016 * 50= 800us
145 | BTFSS STATUS,Z
146 | GOTO low_400
147 | decfsz Count,F ; repeat
148 | goto sync_loop
149 | retlw 0x00
150 |
151 | ;------------------------------------------------------------------------------
152 | ;
153 | delay400us
154 | CLRF TMR0
155 | dly400us
156 | MOVF TMR0,W
157 | XORLW .25 ; 0.000016 * 25= 400 uS
158 | BTFSS STATUS,Z
159 | GOTO dly400us
160 | retlw 0x00
161 |
162 | delay25ms
163 | movlw .62
164 | movwf Count
165 | dly25ms
166 | call delay400us
167 | decfsz Count,F
168 | goto dly25ms
169 | retlw 0x00
170 |
171 |
172 | ;------------------------------------------------------------------------------
173 | ; INITIALIZE all REGISTERS
174 | ;------------------------------------------------------------------------------
175 |
176 | INIT
177 |
178 | movwf OSCCAL ; calibrate internal oscillator
179 | movlw B'11000011'
180 | OPTION ; prescaler 1:16, Weak pull-ups disabled
181 |
182 | CLRF CMCON0 ; disable comperator (PIC10F204/206 only)
183 | CLRF GPIO ; Init GPIO
184 | movlw B'00001110' ; set I/O
185 | TRIS GPIO
186 |
187 | MAIN
188 | call SEND_SYNC ; send 13 sync bits
189 | movlw .3
190 | movwf Mcount
191 | Mloop
192 | call delay400us
193 | movlw 0x12
194 | call MC_TX
195 | movlw 0x95
196 | call MC_TX
197 | movlw 0x53
198 | call MC_TX
199 | movlw 0x67
200 | call MC_TX
201 | movlw 0x1B
202 | call MC_TX
203 | movlw 0x43
204 | call MC_TX
205 | movlw 0x20
206 | call MC_TX3
207 | decfsz Mcount,F
208 | goto Mloop
209 |
210 | call delay25ms
211 |
212 | goto MAIN ; loop forever
213 |
214 |
215 |
216 | END
--------------------------------------------------------------------------------